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