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); }