/**
  * Create or update new category
  * @param boolean $new
  */
 public function actionUpdate($new = false)
 {
     if ($new === true) {
         $model = new PageCategory();
     } else {
         $model = PageCategory::model()->language($_GET)->findByPk($_GET['id']);
     }
     if (!$model) {
         throw new CHttpException(400, 'Bad request.');
     }
     $form = new STabbedForm('application.modules.pages.views.admin.category.categoryForm', $model);
     if (Yii::app()->request->isPostRequest) {
         $model->attributes = $_POST['PageCategory'];
         if ($model->isNewRecord) {
             $model->created = date('Y-m-d H:i:s');
         }
         $model->updated = date('Y-m-d H:i:s');
         if ($model->validate()) {
             $model->save();
             $tree = new PageCategoryTree();
             $tree->rebuildFullUrl();
             $this->setFlashMessage(Yii::t('PagesModule.core', 'Изменения успешно сохранены'));
             if (isset($_POST['REDIRECT'])) {
                 $this->smartRedirect($model);
             } else {
                 $this->redirect(array('index'));
             }
         }
     }
     $this->render('update', array('model' => $model, 'form' => $form));
 }
Exemple #2
0
 /**
  * Get all categories list to display in dropdown.
  * @param type $excludeId Exclude self model
  * @return array id=>name
  */
 public static function keyValueList()
 {
     $models = PageCategory::model()->findAll();
     $tree = new PageCategoryTree($models);
     return CHtml::listData($tree->buildTree(), 'id', 'nameWithLevel');
 }