"); SDV($McatBlockEnd, ""); SDV($McatCSSStyle, " div.category { border: 1px solid #666; padding: 0.5em; background-color: #EEE; } "); SDV($McatShowCategoryLinksAsTitles, false); SDV($McatShowCategoriesOnIncludedPages, false); Markup('multicat_preprocess',' function ($m) { return ''; }, )); } $mcategories = array(); function Multicat($t) { global $McatLabelS, $McatLabelP, $McatSep; global $McatBlockStart, $McatBlockEnd; global $HTMLStylesFmt, $McatCSSStyle; global $mcategories; $t = preg_replace_callback('/\[\[(!)\\s*(.*?)\]\]/mx', '_MulticatCallback', $t); if (empty($mcategories)) return $t; sort($mcategories); $label = (count($mcategories) > 1) ? $McatLabelP : $McatLabelS; $input = implode($McatSep, $mcategories); $HTMLStylesFmt[] = $McatCSSStyle; $mcats = "$McatBlockStart $label $input $McatBlockEnd"; $t .= $mcats; return $t; } function _MulticatCallback($m) { if ($m[2] == '') return ''; // OW_log($m); global $CategoryGroup, $mcategories, $McatShowCategoryLinksAsTitles; $cat = $McatShowCategoryLinksAsTitles ? "[[(Category.){$m[2]}|+]]" : "[[(Category.){$m[2]}]]"; if (!in_array($cat, $mcategories)) $mcategories[] = $cat; return ''; }