コード例 #1
0
 public function actionCreate()
 {
     if (Yii::app()->request->isAjaxRequest) {
         $this->layout = '//layouts/empty';
     } else {
         $this->layout = '//layouts/main';
     }
     Yii::app()->clientScript->registerCSSFile(Yii::app()->request->getBaseUrl(false) . '/js/plugins/bootstrap-switch/static/stylesheets/bootstrap-switch-metro.css');
     Yii::app()->clientScript->registerScriptFile(Yii::app()->request->getBaseUrl(false) . '/js/plugins/bootstrap-switch/static/js/bootstrap-switch.min.js', CClientScript::POS_BEGIN);
     Yii::app()->clientScript->registerScriptFile(Yii::app()->request->getBaseUrl(false) . '/js/plugins/bootstrap-touchspin/bootstrap.touchspin.js', CClientScript::POS_END);
     Yii::app()->clientScript->registerScript('initTouchSpin', "FormComponents.initTouchSpin();", CClientScript::POS_END);
     $model = new MenuLinks();
     $sections = $this->getMainSections();
     $parents[0] = 'Нет родителя';
     foreach ($sections as $section) {
         $parents[$section['id']] = $section['title'];
     }
     if (isset($_POST['MenuLinks'])) {
         // TODO
         /*if(!Yii::app()->user->checkAccess('Ti_Update')) 
                     {
                         $msg = "Неавторизованная попытка создания пункта меню";
                         $msg .= '; Пользователь: ' . ((Yii::app()->user->isGuest) ? 'Гость' : Yii::app()->user->getName());
                         $msg .= ' (' . Yii::app()->request->userHostAddress . ')';
                         $type = "4";
                         $aMessage = array(
                             "FullDateTime" => date("Y-m-d H:i:s").'.000',
                             "txt" => htmlspecialchars (str_replace('\\', '/', $msg)),
                             "ModuleName" => "SEDWeb",
                             "type" => $type,
                             "DeviceID" => "0"
                         );
                         $message = json_encode($aMessage);
                         //$message = '{"FullDateTime":"'.date("Y-m-d H:i:s").'.000","txt":"'. htmlspecialchars ($msg) .'","ModuleName":"SEDWeb","type":"'.$type.'","DeviceID":"0"}';
                         $exName = 'RAS';
                         Yii::app()->amqp->declareExchange($exName, $type = 'fanout', $passive = false, $durable = true, $auto_delete = false);
                         Yii::app()->amqp->publish_message($message, $exName, $routingKey = '', $content_type = 'text/plain', $app_id = yii::app()->name);
                         Yii::app()->amqp->closeConnection();
         
                         //$this->renderPartial('//layouts/error', array('message'=>'Доступ ограничен!'));
                         if(Yii::app()->request->isAjaxRequest)
                             $this->renderPartial('//layouts/error', array('message'=>'Доступ ограничен!'));
                         else
                             $this->render('//layouts/error', array('message'=>'Доступ ограничен!'));
                         return;
                     }*/
         $model->attributes = $_POST['MenuLinks'];
         // TODO поправить баг
         $model->controller = $_POST['MenuLinks']['controller'];
         $model->url = $_POST['MenuLinks']['url'];
         $model->icon = $_POST['MenuLinks']['icon'];
         /*if(is_numeric($_POST['MenuLinks']['is_visible']))
           {
               $model->is_visible = (bool) $_POST['MenuLinks']['is_visible'];
           }
           else
           {
               $model->is_visible = $_POST['MenuLinks']['is_visible'];
           }*/
         if ($_POST['MenuLinks']['is_visible'] == "Да") {
             $model->is_visible = true;
         } else {
             if ($_POST['MenuLinks']['is_visible'] == "Нет") {
                 $model->is_visible = false;
             } else {
                 $model->is_visible = $_POST['MenuLinks']['is_visible'];
             }
         }
         if ($model->save()) {
             $this->redirect(array('index'));
         }
     }
     $this->render('create', array('model' => $model, 'sections' => $parents));
 }