public function actionElement($param) { if (SiteModuleSettings::model()->find('site_module_id = 11 AND `status`=0')) { throw new CHttpException(404, 'The page can not be found.'); } $paramArr = explode("/", $param); $paramArr = array_pop($paramArr); $paramArr = strtolower($paramArr); $root = PhotoRubrics::getRoot(new PhotoRubrics()); $menu_top = array(); //2 $root = PhotoRubrics::model()->find('url LIKE "' . $paramArr . '"'); $param_model = $root->descendants(1, 1)->findAll($root->id); //Титл и SEO $this->setSEO(Yii::app()->request->requestUri, 'Фотогалерея', $root->level > 1 ? $root : null); foreach ($param_model as $data) { $menu_top[$data->id]['name'] = $data->name; $menu_top[$data->id]['url'] = $data->url; $menu_top[$data->id]['image'] = $data->id . "." . $data->image; } $page = array(); foreach ($root->ancestors()->findAll() as $data) { if ($data->level == 1) { continue; } $page[] = $data->name; } $page[] = $root->name; $model["title"] = $root->name; //implode(' / ', $page); $param = $root; $model['catalogs'] = array(); $model['elements'] = array(); $category = PhotoRubrics::model()->findByPk($param->id); $tmp_model = $category->descendants(1, 1)->findAll(); if ($tmp_model = $category->descendants(1, 1)->findAll()) { //3 Категорий нет - получаю картинки в раздела //$model['catalogs'] = $tmp_model; } else { //3 Категорий нет - получаю картинки в раздела $model['elements'] = PhotoElements::model()->findAll('parent_id=' . $param->id . ' AND `status`=1'); } //ФОТОГАЛЕРЕЯ //$this->title_page = 'ФОТОГАЛЕРЕЯ'.'<span>'.$page.'</span>'; $this->render('index', array('model' => $model, 'param' => $param, 'menu_top' => $menu_top)); }
/** * Manages all models. */ public function actionIndex($id = null) { $this->breadcrumbs = array('Фотогалерея' => array('/photo/photorubrics/index')); set_time_limit(0); //получаем URL $base_patch = SITE_NAME_FULL . '/photo_rubrics'; if (!empty($id)) { $model = PhotoRubrics::model()->findByPk((int) $id); if ($model) { $i = (int) $id; $array = array(); do { $model = PhotoRubrics::model()->findByPk((int) $i); if (isset($model->id)) { $array[] = $model->id; } $i = (int) $model->parent_id; } while ($i != 0); $array = array_reverse($array); unset($array[0]); foreach ($array as $value) { $base_patch .= '/' . PhotoRubrics::model()->findByPk((int) $value)->url; } } } if (!empty($id)) { $model = PhotoRubrics::model()->findByPk((int) $id); $root = PhotoRubrics::getRoot($model); $category = PhotoRubrics::model()->findByPk((int) $id); //Получаем нужный узел $descendants = $category->descendants(1)->findAll(); $param[] = 'left_key > ' . $model->left_key . ' AND right_key < ' . $model->right_key; } else { $model = new PhotoRubrics(); $category = PhotoRubrics::getRoot($model); $category = PhotoRubrics::model()->findByPk($category->id); $descendants = $category->descendants(1)->findAll(); $root = ""; $param[] = 'level > 1'; } $model = new PhotoRubrics(); $param = implode(" AND ", $param); $data = array('criteria' => array('condition' => $param)); $data['sort'] = array('defaultOrder' => 'left_key ASC'); if ($settingsModel = SiteModuleSettings::model()->find('site_module_id = 11')) { $data['Pagination'] = array('PageSize' => (int) $settingsModel->elements_page_admin > 0 ? $settingsModel->elements_page_admin : 100); } $provider = new CActiveDataProvider('PhotoRubrics', $data); $provider->criteria = $model->search($param); $this->render('list', array('model' => $model, 'provider' => $provider, 'root' => $root, 'categories' => $descendants, 'base_patch' => $base_patch)); }
/** * Manages all models. */ public function actionIndex() { $this->breadcrumbs = array('Список альбомов' => array('/photo/photorubrics/index'), 'Просмотр альбома'); $model = new PhotoElements('search'); $model->attachBehavior('dateComparator', array('class' => 'DateComparator')); $model->unsetAttributes(); // clear any default values $parent_id = 0; // set attributes from get if (isset($_GET['PhotoElements'])) { $model->attributes = $_GET['PhotoElements']; $parent_id = $_GET['PhotoElements']['parent_id']; } $dmp = var_export($_POST, true); file_put_contents($_SERVER["DOCUMENT_ROOT"] . "/log.txt", $dmp); // если это мультизагрузка, значит должен быть файл... if (isset($_POST['ASPSESSID'])) { file_put_contents($_SERVER["DOCUMENT_ROOT"] . "/log.txt", "request"); $model_el = new PhotoElements(); $root = PhotoRubrics::getRoot(new PhotoRubrics()); $catalog = $root->descendants()->findAll($root->id); // set attributes from get if (isset($_GET['PhotoElements'])) { $model_el->attributes = $_GET['PhotoElements']; } $model_el->attributes = $_POST['PhotoElements']; $model_el->imagefile = CUploadedFile::getInstance($model_el, 'Filedata'); if (isset($model_el->imagefile)) { $ext = pathinfo($model_el->imagefile); $model_el->image = $ext['extension']; } if ($model_el->save()) { if (isset($model_el->imagefile) && ($modelSettings = SiteModuleSettings::model()->find('site_module_id = 11'))) { $filename = $model_el->id . '.' . $model_el->image; $filepatch = '/../uploads/filestorage/photo/elements/'; $model_el->imagefile->saveAs(YiiBase::getPathOfAlias('webroot') . $filepatch . $filename); //Обработка изображения SiteModuleSettings::model()->chgImgModel($modelSettings, 'GD', 2, $model_el->id); } } } $param = array(); $data['sort'] = array('defaultOrder' => 'id DESC'); $data['Pagination'] = array('PageSize' => 100); if ($settingsModel = SiteModuleSettings::model()->find('site_module_id = 11')) { $data['Pagination'] = array('PageSize' => (int) $settingsModel->elements_page_admin > 0 ? $settingsModel->elements_page_admin : 100); } $provider = new CActiveDataProvider('PhotoElements', $data); $param = implode(" AND ", $param); $provider->criteria = $model->search($param); $root = PhotoRubrics::getRoot(new PhotoRubrics()); $catalog = $root->descendants()->findAll($root->id); $this->render('list', array('model' => $model, 'provider' => $provider, 'root' => $root, 'parent_id' => $parent_id, 'catalog' => $catalog)); }