/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { if (!isset($_SESSION['filemanager'])) { $_SESSION['filemanager'] = true; } $_SESSION['currentFolder'] = 'advertisement/'; $path = Yii::getPathOfAlias('webroot') . '/themes/backend/templateDetails.xml'; $positions = Yii::app()->extraFunctions->getPositionFromXML($path); // $tree = Yii::app()->extraFunctions->parseTree(Menu::model()->getListMenu(Yii::app()->language, 'main_menu', 1, '1, 2')); $tree = MenuLanguage::model()->getListMenuLanguage(Yii::app()->language, NULL, '1,2'); $model = new Advertisement('create'); // $model->params = array( // 'image' => array( // 'width' => '', // 'height' => '', // ), // 'flash' => array( // 'width' => '', // 'height' => '', // 'quality' => '', // 'scale' => '', // ), // 'html' => array( // 'HTML_CODE' => '', // ), // ); if (isset($_POST['Advertisement'])) { $imageArray = explode('/', $_POST['Advertisement']['image']); $imageName = $imageArray[count($imageArray) - 1]; // $params = $model->params; $model->attributes = $_POST['Advertisement']; $model->params = NULL; $model->imgExtension = pathinfo($imageName, PATHINFO_EXTENSION); $model->image = $imageName; $validateArray = array('title', 'alt', 'image', 'is_banner', 'url', 'numDays', 'language_id', 'ordering', 'position', 'type', 'status'); if (!empty($model->imgExtension)) { array_push($validateArray, 'imgExtension'); } if ($model->type !== 'html') { $path = rawurldecode(Yii::getPathOfAlias('webroot') . '/images/advertisement/' . $model->image); if (!is_file($path)) { $model->image = NULL; } } if ($model->validate($validateArray)) { $model->start_date = !empty($model->numDays) && !empty($_POST['Advertisement']['start_date']) ? Yii::app()->extraFunctions->setFormatDate($_POST['Advertisement']['start_date']) : NULL; $model->end_date = !empty($model->numDays) && !empty($_POST['Advertisement']['start_date']) ? Yii::app()->extraFunctions->getEndTime($_POST['Advertisement']['start_date'], $model->numDays) : NULL; $model->create_date = date('Y-m-d H:i:s'); $params = array(); // foreach ($model->params as $type => $param) // { // if ($type === $_POST['Advertisement']['type']) // { // foreach ($param as $key => $val) // { // $params[$type][$key] = $_POST[$type][$key]; // } // } // } if ($_POST['Advertisement']['params']['menu_checkbox'] == 1) { $params['menu_id'] = $_POST['Advertisement']['params']['menu_id']; } $model->params = CJSON::encode($params); if ($model->insert()) { Yii::app()->user->setFlash('success', Yii::t('advertisement', 'Add advertisement successfully.')); } else { Yii::app()->user->setFlash('error', Yii::t('advertisement', 'Add advertisement failed. Please try it later.')); } $this->redirect(array('/' . backend . '/advertisement/admin')); } } $this->render(strtolower($this->action->Id), array('model' => $model, 'positions' => $positions, 'tree' => $tree)); }