コード例 #1
0
 public function update()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     if (!$this->user->canModify('listing_grid/attribute')) {
         $error = new AError('');
         return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'listing_grid/attribute'), 'reset_value' => true));
     }
     switch ($this->request->post['oper']) {
         case 'del':
             $ids = explode(',', $this->request->post['id']);
             if (!empty($ids)) {
                 foreach ($ids as $id) {
                     $err = $this->validateDelete($id);
                     if (!empty($err)) {
                         $error = new AError('');
                         return $error->toJSONResponse('VALIDATION_ERROR_406', array('error_text' => $err));
                     }
                     $this->attribute_manager->deleteAttribute($id);
                 }
             }
             break;
         case 'save':
             $fields = array('name', 'attribute_type_id', 'sort_order', 'status');
             $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 $id) {
                 foreach ($fields as $f) {
                     if (isset($this->request->post[$f][$id])) {
                         $err = $this->_validateField($f, $this->request->post[$f][$id]);
                         if (!empty($err)) {
                             $error = new AError('');
                             return $error->toJSONResponse('VALIDATION_ERROR_406', array('error_text' => $err));
                         }
                         $this->attribute_manager->updateAttribute($id, array($f => $this->request->post[$f][$id]));
                     }
                 }
             }
             break;
         default:
     }
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
コード例 #2
0
 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__);
 }
コード例 #3
0
ファイル: category.php プロジェクト: harshzalavadiya/fatak
 public function update()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadModel('catalog/product');
     $this->loadModel('catalog/category');
     $this->loadLanguage('catalog/category');
     if (!$this->user->canModify('listing_grid/category')) {
         $error = new AError('');
         return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'listing_grid/category'), 'reset_value' => true));
     }
     switch ($this->request->post['oper']) {
         case 'del':
             $ids = explode(',', $this->request->post['id']);
             if (!empty($ids)) {
                 foreach ($ids as $id) {
                     $this->model_catalog_category->deleteCategory($id);
                 }
             }
             break;
         case 'save':
             $allowedFields = array('category_description', 'sort_order', 'status');
             $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 $id) {
                     foreach ($allowedFields as $field) {
                         $this->model_catalog_category->editCategory($id, array($field => $this->request->post[$field][$id]));
                     }
                 }
             }
             break;
         default:
     }
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
コード例 #4
0
 public function update()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadLanguage('design/content');
     $this->acm = new AContentManager();
     if (!$this->user->canModify('listing_grid/content')) {
         $error = new AError('');
         return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'listing_grid/content'), 'reset_value' => true));
     }
     switch ($this->request->post['oper']) {
         case 'del':
             $ids = explode(',', $this->request->post['id']);
             if (!empty($ids)) {
                 foreach ($ids as $id) {
                     if (is_int(strpos($id, '_'))) {
                         list($parent_content_id, $content_id) = explode('_', $id);
                     } else {
                         $content_id = $id;
                     }
                     if ($this->config->get('config_account_id') == $content_id) {
                         $this->response->setOutput($this->language->get('error_account'));
                         return null;
                     }
                     if ($this->config->get('config_checkout_id') == $content_id) {
                         $this->response->setOutput($this->language->get('error_checkout'));
                         return null;
                     }
                     $this->acm->deleteContent($content_id);
                 }
             }
             break;
         case 'save':
             $allowedFields = array('sort_order', 'status');
             $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 $id) {
                 $parent_content_id = null;
                 if (is_int(strpos($id, '_'))) {
                     list($parent_content_id, $content_id) = explode('_', $id);
                 } else {
                     $content_id = $id;
                 }
                 foreach ($allowedFields as $field) {
                     $this->acm->editContentField($content_id, $field, $this->request->post[$field][$id], $parent_content_id);
                 }
             }
             break;
         default:
     }
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
コード例 #5
0
ファイル: language.php プロジェクト: harshzalavadiya/fatak
 public function update()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     if (!$this->user->canModify('listing_grid/language')) {
         $error = new AError('');
         return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'listing_grid/language'), 'reset_value' => true));
     }
     $this->loadLanguage('localisation/language');
     $this->loadModel('localisation/language');
     $this->loadModel('setting/store');
     $this->loadModel('sale/order');
     switch ($this->request->post['oper']) {
         case 'del':
             $ids = explode(',', $this->request->post['id']);
             if (!empty($ids)) {
                 foreach ($ids as $id) {
                     $language_info = $this->model_localisation_language->getLanguage($id);
                     if ($language_info) {
                         if ($this->config->get('config_storefront_language') == $language_info['code']) {
                             $this->response->setOutput($this->language->get('error_default'));
                             return;
                         }
                         if ($this->config->get('admin_language') == $language_info['code']) {
                             $this->response->setOutput($this->language->get('error_admin'));
                             return;
                         }
                         $store_total = $this->model_setting_store->getTotalStoresByLanguage($language_info['code']);
                         if ($store_total) {
                             $this->response->setOutput(sprintf($this->language->get('error_store'), $store_total));
                             return;
                         }
                     }
                     $order_total = $this->model_sale_order->getTotalOrdersByLanguageId($id);
                     if ($order_total) {
                         $this->response->setOutput(sprintf($this->language->get('error_order'), $order_total));
                         return;
                     }
                     $this->model_localisation_language->deleteLanguage($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 $id) {
                 $data = array('name' => $this->request->post['name'][$id], 'code' => $this->request->post['code'][$id], 'sort_order' => $this->request->post['sort_order'][$id], 'status' => $this->request->post['status'][$id]);
                 $this->model_localisation_language->editLanguage($id, $data);
             }
             break;
         default:
             //print_r($this->request->post);
     }
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }