// normalization / minor fix in php upgrader files

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@12519 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
mMarinetti
2012-01-18 10:02:57 +00:00
parent f0ca064723
commit 8e32a164b2
39 changed files with 583 additions and 224 deletions
+19 -1
View File
@@ -27,5 +27,23 @@
function generate_ntree()
{
Category::regenerateEntireNtree();
$categories = Db::getInstance()->ExecuteS('SELECT id_category, id_parent FROM '._DB_PREFIX_.'category ORDER BY id_parent ASC, position ASC');
$categoriesArray = array();
foreach ($categories AS $category)
$categoriesArray[(int)$category['id_parent']]['subcategories'][(int)$category['id_category']] = 1;
$n = 1;
generate_ntree_subTree($categoriesArray, 1, $n);
}
function generate_ntree_subTree(&$categories, $id_category, &$n)
{
$left = (int)$n++;
if (isset($categories[(int)$id_category]['subcategories']))
foreach (array_keys($categories[(int)$id_category]['subcategories']) AS $id_subcategory)
generate_ntree_subTree($categories, (int)$id_subcategory, $n);
$right = (int)$n++;
Db::getInstance()->Execute('UPDATE '._DB_PREFIX_.'category
SET nleft = '.(int)$left.', nright = '.(int)$right.'
WHERE id_category = '.(int)$id_category.' LIMIT 1');
}