Index: trunk/kernel/parser.php =================================================================== diff -u -r1443 -r1450 --- trunk/kernel/parser.php (.../parser.php) (revision 1443) +++ trunk/kernel/parser.php (.../parser.php) (revision 1450) @@ -3548,16 +3548,19 @@ @attrib: _MainItemTemplate:tpl: Item template for Top level category @attrib: _SubCatItemTemplate:tpl: Item template for Sub categories @attrib: _MaxDepth:: Max Depth, default all, minimum 2 + @attrib: _MaxCats:: Maximum number of Categories for each Module, default 300 */ function m_sitemap($attribs = array()) { - global $objModules; + global $objModules, $objConfig; $html_attribs = ExtraAttributes($attribs); $mod_name = getArrayValue($attribs, "_modulename"); $StartCatId = getArrayValue($attribs, "_catid"); $MaxDepth = (int)getArrayValue($attribs, "_maxdepth"); + $MaxCats = !empty(getArrayValue($attribs, "_maxcats"))? (int)getArrayValue($attribs, "_maxcats") : 300; + if ($MaxDepth == 0) unset($MaxDepth); elseif ($MaxDepth < 2) @@ -3615,7 +3618,8 @@ $_C_objCat = new clsCatList(); $_Where = GetTablePrefix()."Category.ParentId=$_RootCat AND Status=1"; - $_C_catList = $_C_objCat->LoadCategories($_Where, "", false); + $_OrderBy = " ORDER BY Category.Priority DESC "; + $_C_catList = $_C_objCat->LoadCategories($_Where, $_OrderBy, false); ## getting TOP level categories if (is_array($_C_catList) && count($_C_catList)) @@ -3661,8 +3665,12 @@ $_Where = GetTablePrefix()."Category.ParentPath LIKE '$ParentPath' AND ".GetTablePrefix()."Category.CategoryId!=$val AND Status=1"; $_OrderBy = " ORDER BY ".GetTablePrefix()."Category.ParentPath ASC, ".GetTablePrefix()."Category.Name ASC"; - $SubCats = $_C_objCatSubs->LoadCategories($_Where, $_OrderBy); + $old_value = $objConfig->Get($_C_objCatSubs->PerPageVar); + $objConfig->Set($_C_objCatSubs->PerPageVar, (int)$MaxCats); + $objConfig->Set($_C_objCatSubs->PerPageVar, $old_value); + $SubCats = $_C_objCatSubs->LoadCategories($_Where, $_OrderBy, false); + if (is_array($SubCats) && count($SubCats)) { foreach ($SubCats as $subcat)