public function actionCreate() { $model = new Category(); $description = new CategoryDescription(); $image = new XUploadForm(); $this->performAjaxValidation($model, 'category-form'); $userImages = array(); if (!isset($_POST[$this->modelName])) { Yii::app()->user->setState('images', NULL); } if (isset($_POST[$this->modelName])) { $model->setAttributes($_POST[$this->modelName]); $description->setAttributes($_POST[$this->modelName . 'Description']); $suc = Yii::t('info', 'The record was successfully created'); $err = Yii::t('info', 'The record could not be created'); $userImages = Yii::app()->user->getState('images'); if (Yii::app()->user->hasState('images')) { $description->category_id = 0; $description->locale_code = Yii::app()->getLanguage(); //$description->link = str_replace(' ','-',trim(strtolower(str_replace('_','-',preg_replace('/(?<![A-Z])[A-Z]/', '\0', $description->name))))); $description->link = strtolower(str_replace(' ', '-', preg_replace('!\\s+!', ' ', trim(preg_replace("/[^A-Za-z ]/", ' ', $description->name))))); if ($model->validate() && $description->validate()) { if ($model->save()) { $description->category_id = $model->id; $description->save(); $this->addImages($model->id, 'Image', 'images', 'Category'); Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, $suc); if (Yii::app()->getRequest()->getIsAjaxRequest()) { $this->renderPartial('_view', array('model' => $model), false, true); Yii::app()->end(); } else { $this->redirect(array('view', 'id' => $model->id)); } } else { Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_ERROR, $err); } } else { $description->validate(); } } else { Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_ERROR, Yii::t('info', 'Please upload an image')); } } if (Yii::app()->getRequest()->getIsAjaxRequest()) { $this->renderPartial('_form', array('model' => $model, 'description' => $description, 'image' => $image, 'userImages' => $userImages), false, true); Yii::app()->end(); } $this->render('create', array('model' => $model, 'description' => $description, 'image' => $image, 'userImages' => $userImages)); }