Exemple #1
0
 public static function getMenuRegions($rid = '0', $show_count = '1')
 {
     $regions_main = DJClassifiedsRegion::getRegionsMain();
     $regions_sort = DJClassifiedsRegion::getRegionsSortParent();
     $sort_regs = DJClassifiedsRegion::getListAll($regions_main, $regions_sort);
     $sort_regs = DJClassifiedsRegion::getListAll($regs, $regs);
     if ($show_count) {
         $max_level = '0';
         foreach ($sort_regs as $r) {
             if ($r->level > $max_level) {
                 $max_level = $r->level;
             }
         }
         for ($level = $max_level; $level > -1; $level--) {
             $parent_value = 0;
             for ($r = count($sort_regs); $r > 0; $r--) {
                 if ($parent_value > 0 && $level > $sort_regs[$r - 1]->level) {
                     $sort_regs[$r - 1]->items_count = $sort_regs[$r - 1]->items_count + $parent_value;
                     $parent_value = 0;
                 }
                 if ($level == $sort_regs[$r - 1]->level) {
                     $parent_value = $parent_value + $sort_regs[$r - 1]->items_count;
                 }
             }
         }
     }
     $reg_path = ',' . $rid . ',';
     if ($rid > 0) {
         $reg_id = $rid;
         while ($reg_id != 0) {
             foreach ($sort_regs as $r) {
                 if ($r->id == $reg_id) {
                     $reg_id = $r->parent_id;
                     $reg_path .= $reg_id . ',';
                     break;
                 }
             }
         }
     }
     $menu_regs = array();
     for ($i = 0; $i < count($sort_regs); $i++) {
         if (strstr($reg_path, ',' . $sort_regs[$i]->id . ',') || strstr($reg_path, ',' . $sort_regs[$i]->parent_id . ',')) {
             $menu_regs[] = $sort_regs[$i];
         }
     }
     $ret = array();
     $ret[] = $menu_regs;
     $ret[] = $reg_path;
     return $ret;
 }