@@ 567-581 (lines=15) @@ | ||
564 | //// |
|
565 | // Return all subcategory IDs |
|
566 | // TABLES: categories |
|
567 | function tep_get_subcategories(&$subcategories_array, $parent_id = 0) { |
|
568 | $OSCOM_Db = Registry::get('Db'); |
|
569 | ||
570 | $Qsub = $OSCOM_Db->prepare('select categories_id from :table_categories where parent_id = :parent_id'); |
|
571 | $Qsub->bindInt(':parent_id', $parent_id); |
|
572 | $Qsub->execute(); |
|
573 | ||
574 | while ($Qsub->fetch()) { |
|
575 | $subcategories_array[sizeof($subcategories_array)] = $Qsub->valueInt('categories_id'); |
|
576 | ||
577 | if ($Qsub->valueInt('categories_id') != $parent_id) { |
|
578 | tep_get_subcategories($subcategories_array, $Qsub->valueInt('categories_id')); |
|
579 | } |
|
580 | } |
|
581 | } |
|
582 | ||
583 | //// |
|
584 | // Parse search string into indivual objects |
|
@@ 870-886 (lines=17) @@ | ||
867 | //// |
|
868 | // Recursively go through the categories and retreive all parent categories IDs |
|
869 | // TABLES: categories |
|
870 | function tep_get_parent_categories(&$categories, $categories_id) { |
|
871 | $OSCOM_Db = Registry::get('Db'); |
|
872 | ||
873 | $Qparent = $OSCOM_Db->prepare('select parent_id from :table_categories where categories_id = :categories_id'); |
|
874 | $Qparent->bindInt(':categories_id', $categories_id); |
|
875 | $Qparent->execute(); |
|
876 | ||
877 | while ($Qparent->fetch()) { |
|
878 | if ($Qparent->valueInt('parent_id') == 0) return true; |
|
879 | ||
880 | $categories[sizeof($categories)] = $Qparent->valueInt('parent_id'); |
|
881 | ||
882 | if ($Qparent->valueInt('parent_id') != $categories_id) { |
|
883 | tep_get_parent_categories($categories, $Qparent->valueInt('parent_id')); |
|
884 | } |
|
885 | } |
|
886 | } |
|
887 | ||
888 | //// |
|
889 | // Construct a category path to the product |