private function _postProcess() { print_r($_POST); $errors = array(); /* Process Slide status */ if (Tools::isSubmit('changeStatus') && Tools::isSubmit('id_sizechart')) { $sizechart = new CategorySizeChart((int) Tools::getValue('id_sizechart')); if ($sizechart->active == 0) { $sizechart->active = 1; } else { $sizechart->active = 0; } $res = $sizechart->update(); $this->clearCache(); $this->_html .= $res ? $this->displayConfirmation($this->l('Configuration updated')) : $this->displayError($this->l('The configuration could not be updated.')); } elseif (Tools::isSubmit('submitSizechart')) { /* Sets ID if needed */ if (Tools::getValue('id_sizechart')) { $sizechart = new CategorySizeChart((int) Tools::getValue('id_sizechart')); if (!Validate::isLoadedObject($sizechart)) { $this->_html .= $this->displayError($this->l('Invalid id_sizechart')); return; } } else { $sizechart = new CategorySizeChart(); } /* Sets position */ $sizechart->position = (int) Tools::getValue('position'); /* Sets active */ $sizechart->active = (int) Tools::getValue('active_sizechart'); $sizechart->id_category = (int) Tools::getValue('id_category'); /* Sets each langue fields */ $languages = Language::getLanguages(false); foreach ($languages as $language) { //$sizechart->url[$language['id_lang']] = Tools::getValue('url_'.$language['id_lang']); /* Uploads image and sets sizechart */ $type = strtolower(substr(strrchr($_FILES['image_' . $language['id_lang']]['name'], '.'), 1)); $imagesize = array(); $imagesize = @getimagesize($_FILES['image_' . $language['id_lang']]['tmp_name']); if (isset($_FILES['image_' . $language['id_lang']]) && isset($_FILES['image_' . $language['id_lang']]['tmp_name']) && !empty($_FILES['image_' . $language['id_lang']]['tmp_name']) && !empty($imagesize) && in_array(strtolower(substr(strrchr($imagesize['mime'], '/'), 1)), array('jpg', 'gif', 'jpeg', 'png')) && in_array($type, array('jpg', 'gif', 'jpeg', 'png'))) { $temp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS'); $salt = sha1(microtime()); if ($error = ImageManager::validateUpload($_FILES['image_' . $language['id_lang']])) { $errors[] = $error; } elseif (!$temp_name || !move_uploaded_file($_FILES['image_' . $language['id_lang']]['tmp_name'], $temp_name)) { return false; } elseif (!ImageManager::resize($temp_name, dirname(__FILE__) . '/images/' . Tools::encrypt($_FILES['image_' . $language['id_lang']]['name'] . $salt) . '.' . $type, null, null, $type)) { $errors[] = $this->displayError($this->l('An error occurred during the image upload process.')); } if (isset($temp_name)) { @unlink($temp_name); } $sizechart->image[$language['id_lang']] = Tools::encrypt($_FILES['image_' . $language['id_lang']]['name'] . $salt) . '.' . $type; } elseif (Tools::getValue('image_old_' . $language['id_lang']) != '') { $sizechart->image[$language['id_lang']] = Tools::getValue('image_old_' . $language['id_lang']); } } /* Processes if no errors */ if (!$errors) { /* Adds */ if (!Tools::getValue('id_sizechart')) { if (!$sizechart->add()) { $errors[] = $this->displayError($this->l('The sizechart could not be added.')); } } elseif (!$sizechart->update()) { $errors[] = $this->displayError($this->l('The sizechart could not be updated.')); } $this->clearCache(); } } elseif (Tools::isSubmit('delete_id_sizechart')) { $sizechart = new CategorySizeChart((int) Tools::getValue('delete_id_sizechart')); $res = $sizechart->delete(); $this->clearCache(); if (!$res) { $this->_html .= $this->displayError('Could not delete'); } else { $this->_html .= $this->displayConfirmation($this->l('Slide deleted')); } } /* Display errors if needed */ if (count($errors)) { $this->_html .= $this->displayError(implode('<br />', $errors)); } elseif (Tools::isSubmit('submitSizechart') && Tools::getValue('id_sizechart')) { $this->_html .= $this->displayConfirmation($this->l('Slide updated')); } elseif (Tools::isSubmit('submitSizechart')) { $this->_html .= $this->displayConfirmation($this->l('Slide added')); } }
public function reOrderPositions() { $id_sizechart = $this->id; $context = Context::getContext(); $id_shop = $context->shop->id; $max = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT MAX(csc.`position`) as position FROM `' . _DB_PREFIX_ . 'category_sizechart` csc, `' . _DB_PREFIX_ . 'categorysizechart_shop` cs WHERE csc.`id_category_sizechart` = cs.`id_category_sizechart` AND cs.`id_shop` = ' . (int) $id_shop); if ((int) $max == (int) $id_sizechart) { return true; } $rows = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT csc.`position` as position, csc.`id_category_sizechart` as id_sizechart FROM `' . _DB_PREFIX_ . 'category_sizechart` csc LEFT JOIN `' . _DB_PREFIX_ . 'categorysizechart_shop` cs ON (csc.`id_category_sizechart` = cs.`id_category_sizechart`) WHERE cs.`id_shop` = ' . (int) $id_shop . ' AND csc.`position` > ' . (int) $this->position); foreach ($rows as $row) { $current_sizechart = new CategorySizeChart($row['id_sizechart']); --$current_sizechart->position; $current_sizechart->update(); unset($current_sizechart); } return true; }