public function getList4($id, $mpage_id, $maxlevel = 1, $level = 1, $param_list = false) { if ($level > $maxlevel) { return NULL; } /*//$modulelist4 = new ModuleList4(); //$val = $modulelist4->findByAttributes(array('id' => $id, 'mpage_id' => $mpage_id)); //if (is_null($val)) return NULL; $val = (object) array('id'=>$id); //$list4 = $val->getAttributes(); $list4 = array('id'=>$id);*/ $modulelist4 = new ModuleList4(); $val = $modulelist4->findByAttributes(array('id' => $id, 'mpage_id' => $mpage_id)); if (is_null($val)) { return NULL; } $list4 = $val->getAttributes(); if ($param_list !== false) { $params = ModuleList4Params::model()->findAllByAttributes(array('mpage_id' => $mpage_id, 'code' => $param_list)); } else { $params = ModuleList4Params::model()->findAllByAttributes(array('mpage_id' => $mpage_id)); } foreach ($params as $param) { $list4['params'][$param->id] = $param->getAttributes(); $list4['params'][$param->id]['settings'] = unserialize($list4['params'][$param->id]['settings']); switch ($param->data_type_id) { case '1': case '2': case '3': case '4': $values = ModuleList4Values::model()->findAllByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; /* case '3': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; case '4': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; */ /* case '3': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; case '4': $values = ModuleList4Values::model()->findAllByAttributes( array( 'param_id' => $param->id, 'item_id' => $val->id, ) ); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $value->value; $j++; } break; */ case '5': $values = ModuleList4Values::model()->findAllByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $j = 0; foreach ($values as $value) { $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = ModuleList4ParamsValues::model()->findByPk($value->value)->title; $tmp_value = ModuleList4ParamsValues::model()->findByPk($value->value); if ($tmp_value) { $tmp_value_id = $tmp_value->id; $list4['params'][$param->id]['values'][$j]['value_id'] = $tmp_value_id; } // $list4['params'][$param->id]['values'][$j]['value_id'] = ModuleList4ParamsValues::model()-> // findByPk($value->value)->id; $j++; } break; // $values = ModuleList4Values::model()->with('list4paramsvalues')->findAllByAttributes( // array( // 't.param_id' => $param->id, // 't.item_id' => $val->id, // ) // ); // $j = 0; // foreach ($values as $value) { // $list4['params'][$param->id]['values'][$j] = $value->getAttributes(); // $list4['params'][$param->id]['values'][$j]['value'] = $value->list4paramsvalues->title; // $j++; // } break; case '8': $value = ModuleList4Values::model()->findByAttributes(array('param_id' => $param->id, 'item_id' => $val->id)); $photos = array(); // $gId = $list4['params'][$param->id]['value'] = '1234123412';//$value->value; $gId = $value->value; foreach (ModuleGalleryPhotos::model()->with('file')->findAllByAttributes(array('gallery_id' => $gId)) as $item) { $photos[] = $item->file->file_name; } $list4['params'][$param->id]['value'] = $photos; break; case '9': $linked_mpages = array(); foreach (ModuleList4ParamsList4::model()->findAllByAttributes(array('param_id' => $param->id)) as $link) { $linked_mpages[] = $link->mpage_id; } $j = 0; foreach ($linked_mpages as $linked_mpage) { $allowed = array(); foreach ($modulelist4->findAllByAttributes(array('mpage_id' => $linked_mpage)) as $v) { $allowed[] = $v->id; } $linkparams = ModuleList4List4::model()->findAllByAttributes(array('id_1' => $val->id, 'id_2' => $allowed)); foreach ($linkparams as $linkparam) { $list4['params'][$param->id]['values'][$j] = $linkparam->getAttributes(); $list4['params'][$param->id]['values'][$j]['value'] = $this->getList4($linkparam->id_2, $linked_mpage, $maxlevel, $level + 1, $param_list); $j++; } } break; default: break; } } return $list4; }