예제 #1
0
 public static function getListSubcat(&$lists, &$lists_const, $main_id = 0, $main_level = 0, $main_f = 0, &$option = array())
 {
     foreach ($lists as $list) {
         if (isset($list->level)) {
             $current_level = $list->level;
         } else {
             $current_level = 0;
         }
         if ($main_f == 1 && ($main_level > $current_level || $current_level == $main_level)) {
             break;
         }
         if ($main_id == $list->id) {
             $main_f = 1;
             $main_level = $current_level;
         }
         if ($main_f == 1 && $main_level < $current_level) {
             $cat_item = new CatItem();
             $cat_item->id = $list->id;
             $cat_item->name = $list->name;
             $cat_item->alias = $list->alias;
             $cat_item->price = $list->price;
             $cat_item->points = $list->points;
             $cat_item->description = $list->description;
             $cat_item->parent_id = $list->parent_id;
             $cat_item->parent_name = $list->parent_name;
             $cat_item->icon_url = $list->icon_url;
             $cat_item->ordering = $list->ordering;
             $cat_item->published = $list->published;
             $cat_item->autopublish = $list->autopublish;
             $cat_item->theme = $list->theme;
             $cat_item->access = $list->access;
             $cat_item->ads_disabled = $list->ads_disabled;
             $cat_item->items_count = $list->items_count;
             $cat_item->level = $current_level;
             $option[] = $cat_item;
         }
         $childs = array();
         if (isset($lists_const[$list->id])) {
             for ($i = 0; $i < count($lists_const[$list->id]); $i++) {
                 $child = new CatItem();
                 $child->id = $lists_const[$list->id][$i]->id;
                 $child->name = $lists_const[$list->id][$i]->name;
                 $child->alias = $lists_const[$list->id][$i]->alias;
                 $child->parent_id = $lists_const[$list->id][$i]->parent_id;
                 $child->price = $lists_const[$list->id][$i]->price;
                 $child->points = $lists_const[$list->id][$i]->points;
                 $child->description = $lists_const[$list->id][$i]->description;
                 $child->parent_id = $lists_const[$list->id][$i]->parent_id;
                 $child->parent_name = $lists_const[$list->id][$i]->parent_name;
                 $child->icon_url = $lists_const[$list->id][$i]->icon_url;
                 $child->ordering = $lists_const[$list->id][$i]->ordering;
                 $child->published = $lists_const[$list->id][$i]->published;
                 $child->autopublish = $lists_const[$list->id][$i]->autopublish;
                 $child->theme = $lists_const[$list->id][$i]->theme;
                 $child->access = $lists_const[$list->id][$i]->access;
                 $child->ads_disabled = $lists_const[$list->id][$i]->ads_disabled;
                 $child->items_count = $lists_const[$list->id][$i]->items_count;
                 if (isset($list->level)) {
                     $child->level = $list->level + 1;
                 } else {
                     $child->level = 1;
                 }
                 $childs[] = $child;
             }
             DJClassifiedsCategory::getListSubcat($childs, $lists_const, $main_id, $main_level, $main_f, $option);
             //echo count($lists_const).' ';
             unset($lists_const[$list->id]);
         }
     }
     return $option;
 }