function saveProduct($values, $id_node) { $collums = Tools::getCollum('module_product'); foreach ($values as $k => $v) { if (!in_array($k, $collums)) { unset($values[$k]); } } $newname = ""; $name = $values['title']; $i = 0; while ($i < 50) { if ($i == 0) { $newname = $name; } else { $newname = NStrings::webalize($name . $i); } $s = dibi::fetchSingle("SELECT COUNT(id_node) FROM [module_product] WHERE url_identifier=%s", $newname, " AND id_node!=%i", $id_node); if ($s == 0) { break; } else { $i++; } } $values['url_identifier'] = $newname; dibi::query("UPDATE [module_product] SET ", $values, " WHERE id_node=%i", $id_node); Log::addLog($this, "Uprava produktu", "Menil:" . NEnvironment::getSession('Authentication')->login_form, $values['title'], $id_node); }
public function getProductParamRows() { $rows = Tools::getCollum('product_param'); //vymazat zakazane polia - aby tam neslo id_product_param a podobne $disable_rows = array("id_product_param", "id_product", 'sequence', 'price'); foreach ($rows as $k => $l) { if (in_array($l, $disable_rows)) { unset($rows[$k]); } } return $rows; }
private function changeMenuItem() { if ($_POST['slug'] == "" or @$_POST['autoChangeUrl'] == 1) { $_POST['slug'] = $this->url_identifier($_POST['name'], $_GET['id_menu_item']); } else { $_POST['slug'] = $this->url_identifier($_POST['slug'], $_GET['id_menu_item']); } $values = $_POST; $collums = Tools::getCollum('menu_item'); foreach ($values as $k => $v) { if (!in_array($k, $collums)) { unset($values[$k]); } } dibi::query("UPDATE menu_item\tSET ", $values, " WHERE id_menu_item=%i", $_GET['id_menu_item']); $this->repairUrls(); $this->pageModel->invalidateCache(); Log::addLog($this, "Uprava polozky v menu", $_GET['id_menu_item']); }
function save(NFORM $form) { $values = $form->getValues(); $langs = Setting::getLangs(); $id_product = $values['id_product']; $table_product_cols = Tools::getCollum('product'); $table_product_lang_cols = Tools::getCollum('product_lang'); //ulozenie jazuka foreach ($langs as $l) { $save_val = array(); foreach ($table_product_lang_cols as $k => $c) { if (isset($values[$c . CategoryFormControl::$_separator . $l['iso']])) { $save_val[$c] = $values[$c . CategoryFormControl::$_separator . $l['iso']]; } } //pridanie linky rewrite if ($save_val['link_rewrite'] == '') { $save_val['link_rewrite'] = NStrings::webalize($values['name' . CategoryFormControl::$_separator . $l['iso']]); } else { $save_val['link_rewrite'] = NStrings::webalize($save_val['link_rewrite']); } ProductModel::save($save_val, $id_product, $l['id_lang']); } //ulozenie zakladnych hodnot $save_val = array(); foreach ($table_product_cols as $p) { if (isset($values[$p])) { $save_val[$p] = $values[$p]; } } ProductModel::save($save_val, $id_product, $l['id_lang']); //ulozit param /* * Iba ak je product bez parametrov */ $val_product_param = Tools::getValuesForTable('product_param', $values); //prvy parameter $id_product_param = dibi::fetchSingle("SELECT id_product_param FROM [product_param] WHERE id_product = %i", $id_product, "ORDER BY sequence"); ProductModel::setProductParamValue($val_product_param, $id_product_param); ProductModel::saveProductAlternative($id_product, $values['product_alternative']); dibi::begin(); ProductModel::deleteProductFromCategories($id_product); ProductModel::addProductToCategory($values['id_categories'], $id_product); dibi::commit(); ProductModel::invalidateCache(); $this->flashMessage(_('Produkt bol uložený')); if ($form['btn_save']->isSubmittedBy()) { $s = NEnvironment::getSession("Admin_Eshop"); $back_url = $s['back_url']; if ($back_url != '') { $this->redirectUrl($back_url); } else { $this->redirect('Eshop:default'); } } else { $this->redirect('this'); } }
static function getProductParamDatasource($id_product) { //POZOR upravi cenu podla zadavania dane SHOW_PRICE_WITH_TAX $tax_coef = self::getTaxCoefForProduct($id_product); $product_param_cols = Tools::getCollum('product_param'); unset($product_param_cols['price']); // dump($product_param_cols);exit; return dibi::dataSource("\n\t\t\tSELECT \n\t\t\t%sql", implode(',', $product_param_cols), "\n\t\t\t, ROUND((price*" . $tax_coef . "),2) AS price\n\t\t\tFROM \n\t\t\t[product_param] \n\t\t\tWHERE %if", $id_product == null, " id_product IS NULL %else id_product = %i", $id_product); }