Example #1
0
 public function updateMenu()
 {
     $request = ipRequest();
     $menuId = $request->getPost('id');
     $title = $request->getPost('title');
     $alias = $request->getPost('alias');
     $layout = $request->getPost('layout');
     $type = $request->getPost('type');
     if (empty($menuId) || empty($title) || empty($alias) || empty($layout) || empty($type)) {
         throw new \Ip\Exception('Missing required parameters');
     }
     // validate page alias
     $page = Model::getPage($menuId);
     $errors = array();
     if ($page['alias'] != $alias) {
         if (Model::getPageByAlias($page['languageCode'], $alias)) {
             $errors['alias'] = __('This alias is already occupied', 'Ip-admin');
         }
     }
     if ($errors) {
         return new \Ip\Response\Json(array('status' => 'error', 'errors' => $errors));
     }
     Service::updateMenu($menuId, $alias, $title, $layout, $type);
     $eventData = $request->getPost();
     ipEvent('ipFormUpdateMenuSubmitted', $eventData);
     $answer = array('status' => 'ok');
     return new \Ip\Response\Json($answer);
 }