public function LoadCategorys()
{
$this->categories = array();
$lv0 = array();
$lv1 = array();
$lv2 = array();
$lv3 = array();
$array = $this->GetCategoryList(null, null, array('cate_Order' => 'ASC'), null, null);
if (count($array) == 0) {
return false;
}
foreach ($array as $c) {
$this->categories[$c->ID] = $c;
}
foreach ($this->categories as $id => $c) {
$l = 'lv' . $c->Level;
${$l}[$c->ParentID][] = $id;
}
if (!is_array($lv0[0])) {
$lv0[0] = array();
}
foreach ($lv0[0] as $id0) {
$this->categoriesbyorder[$id0] =& $this->categories[$id0];
if (!isset($lv1[$id0])) {
continue;
}
foreach ($lv1[$id0] as $id1) {
if ($this->categories[$id1]->ParentID == $id0) {
$this->categories[$id0]->SubCategories[] = $this->categories[$id1];
$this->categories[$id0]->ChildrenCategories[] = $this->categories[$id1];
$this->categoriesbyorder[$id1] =& $this->categories[$id1];
if (!isset($lv2[$id1])) {
continue;
}
foreach ($lv2[$id1] as $id2) {
if ($this->categories[$id2]->ParentID == $id1) {
$this->categories[$id0]->ChildrenCategories[] = $this->categories[$id2];
$this->categories[$id1]->SubCategorys[] = $this->categories[$id2];
$this->categories[$id1]->ChildrenCategories[] = $this->categories[$id2];
$this->categoriesbyorder[$id2] =& $this->categories[$id2];
if (!isset($lv3[$id2])) {
continue;
}
foreach ($lv3[$id2] as $id3) {
if ($this->categories[$id3]->ParentID == $id2) {
$this->categories[$id0]->ChildrenCategories[] = $this->categories[$id3];
$this->categories[$id1]->ChildrenCategories[] = $this->categories[$id3];
$this->categories[$id2]->SubCategorys[] = $this->categories[$id3];
$this->categories[$id2]->ChildrenCategories[] = $this->categories[$id3];
$this->categoriesbyorder[$id3] =& $this->categories[$id3];
}
}
}
}
}
}
}
}