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