public static function getListSelect(&$lists, &$lists_const, &$option = array()) { foreach ($lists as $list) { $op = new DJOptionList(); $op->text = $list->name; $op->value = $list->id; $option[] = $op; $childs = array(); if (isset($lists_const[$list->id])) { for ($i = 0; $i < count($lists_const[$list->id]); $i++) { $child = new RegionItem(); $child->id = $lists_const[$list->id][$i]->id; $child->parent_id = $lists_const[$list->id][$i]->parent_id; if (isset($list->level)) { $child->level = $list->level + 1; } else { $child->level = 1; } $new_name = $lists_const[$list->id][$i]->name; for ($lev = 0; $lev < $child->level; $lev++) { $new_name = "- " . $new_name; } $child->name = $new_name; $childs[] = $child; } DJClassifiedsRegion::getListSelect($childs, $lists_const, $option); //echo count($lists_const).' '; unset($lists_const[$list->id]); } } return $option; }