Exemple #1
0
 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;
 }
Exemple #3
0
 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');
     }
 }
Exemple #5
0
 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);
 }