Beispiel #1
0
 private function _validateForm()
 {
     if (!$this->user->canModify('design/menu')) {
         $this->error['warning'] = $this->language->get('error_permission');
     }
     if (!empty($this->request->post['item_id'])) {
         $ids = $this->menu->getItemIds();
         if (!ctype_alnum($this->request->post['item_id'])) {
             $this->error['item_id'] = $this->language->get('error_non_ascii');
         } else {
             if (in_array($this->request->post['item_id'], $ids)) {
                 $this->error['item_id'] = $this->language->get('error_non_unique');
             }
         }
     }
     if (empty($this->request->post['item_id']) && empty($this->request->get['item_id'])) {
         $this->error['item_id'] = $this->language->get('error_empty');
     }
     if (empty($this->request->post['item_text'][$this->session->data['content_language_id']])) {
         $this->error['item_text'] = $this->language->get('error_empty');
     }
     if (!$this->error) {
         return TRUE;
     } else {
         return FALSE;
     }
 }
Beispiel #2
0
 private function _validateForm()
 {
     if (!$this->user->canModify('design/menu')) {
         $this->error['warning'] = $this->language->get('error_permission');
     }
     $post = $this->request->post;
     if (!empty($post['item_id'])) {
         $ids = $this->menu->getItemIds();
         if (!ctype_alnum($post['item_id'])) {
             $this->error['item_id'] = $this->language->get('error_non_ascii');
         } else {
             if (in_array($post['item_id'], $ids)) {
                 $this->error['item_id'] = $this->language->get('error_non_unique');
             }
         }
     }
     if (empty($post['item_id']) && empty($this->request->get['item_id'])) {
         $this->error['item_id'] = $this->language->get('error_empty');
     }
     if (empty($post['item_text'][$this->language->getContentLanguageID()])) {
         $this->error['item_text'] = $this->language->get('error_empty');
     }
     $this->extensions->hk_ValidateData($this);
     if (!$this->error) {
         return true;
     } else {
         return false;
     }
 }
 public function update()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadLanguage('design/menu');
     if (!$this->user->canModify('listing_grid/menu')) {
         $error = new AError('');
         return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'listing_grid/menu'), 'reset_value' => true));
     }
     $menu = new AMenu_Storefront();
     $item_keys = array('item_text', 'item_url', 'parent_id', 'sort_order');
     switch ($this->request->post['oper']) {
         case 'del':
             $ids = explode(',', $this->request->post['id']);
             if (!empty($ids)) {
                 $all_menu_ids = $menu->getItemIds();
                 foreach ($ids as $item_id) {
                     if (in_array($item_id, $all_menu_ids)) {
                         $menu->deleteMenuItem($item_id);
                     }
                 }
             }
             break;
         case 'save':
             $ids = explode(',', $this->request->post['id']);
             if (!empty($ids)) {
                 //resort required.
                 if ($this->request->post['resort'] == 'yes') {
                     //get only ids we need
                     foreach ($ids as $id) {
                         $array[$id] = $this->request->post['sort_order'][$id];
                     }
                     $new_sort = build_sort_order($ids, min($array), max($array), $this->request->post['sort_direction']);
                     $this->request->post['sort_order'] = $new_sort;
                 }
                 foreach ($ids as $item_id) {
                     $item_values = array();
                     foreach ($item_keys as $key) {
                         if (isset($this->request->post[$key][$item_id])) {
                             $item_values[$key] = $this->request->post[$key][$item_id];
                         }
                     }
                     // if item already in menu dataset
                     if ($menu->getMenuItem($item_id)) {
                         $menu->updateMenuItem($item_id, $item_values);
                     }
                 }
             }
             break;
         default:
     }
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }