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));
 }