Exemple #1
0
 public function savemenuAction()
 {
     if ($this->_request->isPost()) {
         $t = Model_Menu::getById($this->_getParam('idmenu'));
         if ($t->blockedit == $this->_getParam('blockedit') && $t->blockedit == 'block') {
             $this->_redirect('/admin/menu/item/' . $this->_getParam('idmenu'));
         }
         //var_dump($_POST);exit;
         $input = $this->menuvalid($_POST);
         if ($input->isValid()) {
             $res = Model_Menu::updatemenu($input);
             if ($res[0] > 0) {
                 // Якщо це створення нового обєкта та збережено з мовою по запиту,
                 // зберігаємо варіант для інших мов
                 //if ($_POST['idmenu'] == 'new') {
                 $ll = $input->lang;
                 foreach ($this->view->langs as $key) {
                     $t = Model_Menu::getById($this->_getParam('idmenu'), $key);
                     if (!is_null($t->idmenu)) {
                         continue;
                     }
                     if ($key !== $ll) {
                         $data = $_POST;
                         $data['idmenu'] = $res[1];
                         $data['lang'] = $key;
                         $input = $this->menuvalid($data);
                         Model_Menu::updatemenu($input);
                     }
                 }
                 //}
                 // Якщо ні просто переходимо до редактування обєкту
                 $this->_redirect('/admin/menu/item/' . $res[1] . '/lang/' . $_POST['lang']);
             } else {
                 if (count($res[1]) > 1) {
                     echo "Ошибка! " . $res[1];
                     exit;
                 } else {
                     echo "Редагування цього запису заблоковано.";
                     exit;
                 }
             }
         }
         $t = $input->getMessages();
         if (count($t) > 0) {
             echo "Ошибка! " . var_dump($t);
             exit;
         } else {
             echo "Редагування цього запису заблоковано2.";
             exit;
         }
     }
 }