public function __construct() { parent::__construct(); // Set main (tested) model: $this->SetPdkModel('RubriqueCurrencyModel', pdk_load_class('RubriqueCurrencyModel', 'classes')); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; }
function balise_ECATALOGUE_COMPOSITE_QUANTITY_dyn($id_composite, $id_article) { if (!($id_composite = intval($id_composite)) || !($id_article = intval($id_article))) { return false; } include_spip('functions/pdk_common.php'); $cart = pdk_load_class('Alohacart', 'classes'); // If some exceptions are thrown - return empty value try { // If user changed number of this product, we will use this value if (!($quantity = $cart->GetCompositeProduct($id_composite, $id_article))) { //var_Dump($quantity); $composite_article_mdl = pdk_load_class('CompositeArticleModel', 'classes'); $row = $composite_article_mdl->select("id_composite=" . $id_composite . " AND id_article=" . $id_article); if (isset($row[0]) && isset($row[0]["quantity"])) { $quantity = $row[0]["quantity"]; } else { $quantity = ''; } } } catch (Exception $e) { $quantity = ''; } //$product = $cart->GetProduct($id_composite); //if ($product) // $quantity = $quantity * $product; return array('balise/ecatalogue_composite_quantity', 0, array('quantity' => $quantity)); }
function formulaires_ecatalogue_composite_charger_dist($id_article) { $valeurs = array(); $p_mdl = pdk_load_class('ProductModel', 'classes'); $valeurs = $p_mdl->select_by_id($id_article); //$valeurs['length2'] = $valeurs['length']; return $valeurs; }
/** * Processing function */ function formulaires_ecatalogue_product_excel_download_traiter_dist() { //require_once(_DIR_PLUGIN_ECATALOGUE.'classes/class.ProductExcel.php'); $prd_ex = pdk_load_class('ProductExcel', 'classes'); if (_request('download_rubriques')) { $prd_ex->DownloadRubriques = picker_selected(_request('download_rubriques'), 'rubrique'); } if (_request('id_mot')) { $prd_ex->DownloadIdMot = _request('id_mot'); } $prd_ex->OutputExcel(); }
/** * Processing function */ function formulaires_ecatalogue_product_excel_price_update_traiter_dist() { $result = array(); try { $prd_ex = pdk_load_class('ProductExcel', 'classes'); $prd_ex->UpdatePriceExcel(_request('primary_key')); $result['message_ok'] = _T('ecatalogue:excel_products_updated'); } catch (Exception $e) { $exception_message = $e->getMessage(); $result['message_erreur'] = $exception_message ? $exception_message : _T('ecatalogue:form_error'); } return $result; }
public function __construct() { include_spip('functions/pdk_common'); include_spip('formulaires/selecteur/generique_fonctions'); $this->product_mdl = pdk_load_class('ProductModel', 'classes/'); $this->article_mdl = pdk_load_class('PdkArticleModel', 'classes/models'); $this->rubrique_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $this->rubrique_mdl2 = pdk_load_class('RubriqueModel', 'classes'); $this->mot_lien_mdl = pdk_load_class('PdkMotLienModel', 'classes/models'); require_once _DIR_PLUGIN_EXCEL . "pear/Spreadsheet/Excel/Writer.php"; $this->UpdateStatus = lire_config('ecatalogue/excel_update_status'); $this->DownloadRubriques = picker_selected(lire_config('ecatalogue/branches'), 'rubrique'); }
public function __construct() { parent::__construct(); $this->config_model(); include_spip('functions/pdk_common'); $this->rub_cur_mdl = pdk_load_class('RubriqueCurrencyModel', 'classes'); $this->rub_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $this->art_mdl = pdk_load_class('PdkArticleModel', 'classes/models'); include_spip('classes/class.EcatalogueException'); $this->config_currencies(); $this->price_precision = lire_config('ecatalogue/price_pricision'); if (!$this->price_precision) { $this->price_precision = 2; } }
public function __construct() { parent::__construct(); // Define all additional models: $pdk_models = array(); $this->prod_mdl = pdk_load_class('ProductModel', 'classes'); $pdk_models['ProductModel'] = $this->prod_mdl; $this->rub_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $pdk_models['PdkRubriqueModel'] = $this->rub_mdl; $this->art_mdl = pdk_load_class('PdkArticleModel', 'classes/models'); $pdk_models['PdkArticleModel'] = $this->art_mdl; $this->mot_lien_mdl = pdk_load_class('PdkMotLienModel', 'classes/models'); $pdk_models['PdkMotLienModel'] = $this->mot_lien_mdl; $this->AddPdkModels($pdk_models); $this->p_ex = pdk_load_class('ProductExcel', 'classes'); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; }
public function __construct() { parent::__construct(); $pdk_models = array(); $this->product_mdl = pdk_load_class('ProductModel', 'classes'); $pdk_models['ProductModel'] = $this->product_mdl; $this->rub_cur_mdl = pdk_load_class('RubriqueCurrencyModel', 'classes'); $pdk_models['RubriqueCurrencyModel'] = $this->rub_cur_mdl; $this->rub_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $pdk_models['PdkRubriqueModel'] = $this->rub_mdl; $this->currency_mdl = pdk_load_class('CurrencyModel', 'classes'); $pdk_models['CurrencyModel'] = $this->currency_mdl; $this->article_mdl = pdk_load_class('PdkArticleModel', 'classes'); $pdk_models['PdkArticleModel'] = $this->article_mdl; $this->AddPdkModels($pdk_models); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; }
public function __construct() { parent::__construct(); // Define all additional models: $pdk_models = array(); $this->product_mdl = pdk_load_class('ProductModel', 'classes'); $pdk_models['ProductModel'] = $this->product_mdl; $this->rubrique_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $pdk_models['PdkRubriqueModel'] = $this->rubrique_mdl; $this->article_mdl = pdk_load_class('PdkArticleModel', 'classes/models'); $pdk_models['PdkArticleModel'] = $this->article_mdl; $this->AddPdkModels($pdk_models); $this->ecatalogue = pdk_load_class('Ecatalogue', 'classes'); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; // Remember ecatalogue rubriques $this->ecatalogue_branches = lire_config('ecatalogue/branches'); }
function formulaires_ecatalogue_maintenance_traiter_dist() { $result = array(); include_spip('functions/pdk_common'); $ecatalogue = pdk_load_class('Ecatalogue', 'classes'); if ($ecatalogue->PerformMaintenance($log)) { $result['message_ok'] = _T('ecatalogue:maintenance_ok'); } else { $result['message_erreur'] = _T('ecatalogue:maintenance_error'); } $log_text = ''; if ($log) { foreach ($log as $log_item) { $log_text .= $log_item . '<br/>'; } } set_request('ecatalogue_maintenance_log', $log_text); return $result; }
function formulaires_ecatalogue_article_similar_traiter_dist($id_article) { $result = array(); $mdl = pdk_load_class('EcatArticleSimilarModel', 'classes'); try { if ($selected_articles = _request('selected_articles')) { if (lire_config('ecatalogue/articles_select') == 'enhanced') { include_spip('formulaires/selecteur/generique_fonctions'); $selected_articles = picker_selected(_request('selected_articles'), 'article'); } if ($selected_articles) { $data = array('id_article' => $id_article); foreach ($selected_articles as $id_similar) { if ($id_similar == $id_article) { continue; } $data['id_similar'] = $id_similar; $where = array('id_article=' . $data['id_article'], 'id_similar=' . $data['id_similar']); // If such link doesn't exist yet, create it if ($mdl->get_total($where) == 0) { $mdl->insert($data); } if ($mdl->get_total($where) == 0) { throw new Exception("Insert article similar fail!"); } } } } if ($id_similar_delete = _request('id_similar_delete')) { $where = array('id_article=' . $id_article, 'id_similar=' . $id_similar_delete); $mdl->delete($where); if ($mdl->get_total($where) != 0) { throw new Exception("Delete article similar fail!"); } } $result['message_ok'] = _T('ecatalogue:form_saved'); } catch (Exception $e) { $result['message_erreur'] = _T('ecatalogue:form_error'); } set_request('id_similar_delete'); return $result; }
function balise_ECATALOGUE_PRODUCT_PRICE_dyn($id_article, $currency_code = false, $type = 'price', $qnty = 1) { include_spip('functions/pdk_common.php'); $product_mdl = pdk_load_class('ProductModel', 'classes/'); $currency_mdl = pdk_load_class('CurrencyModel', 'classes/'); if ($currency_code == 'CURRENT') { $currency_code = $currency_mdl->GetCurrentCurrencyCode(); } // If some exceptions are thrown - return empty value try { $price = $product_mdl->GetProductPrice($id_article, $currency_code, $type); } catch (Exception $e) { $price = ''; } if ($price == 0) { $price = ''; } $price = $price * $qnty; return array('balise/ecatalogue_product_price', 0, array('price' => $price)); }
public function __construct() { parent::__construct(); // Remember curent currency ID @session_start(); $this->session_current_currency_id = $_SESSION["current_currency_id"]; // Define all additional models: $pdk_models = array(); $this->rub_cur_mdl = pdk_load_class('RubriqueCurrencyModel', 'classes'); $pdk_models['RubriqueCurrencyModel'] = $this->rub_cur_mdl; $this->rub_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $pdk_models['PdkRubriqueModel'] = $this->rub_mdl; $this->art_mdl = pdk_load_class('PdkArticleModel', 'classes/models'); $pdk_models['PdkArticleModel'] = $this->art_mdl; $this->AddPdkModels($pdk_models); // Set main (tested) model: $this->SetPdkModel('CurrencyModel', pdk_load_class('CurrencyModel', 'classes')); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; // Задаем вручную валюту по умолчанию, по той же причине, по которой не кактит тест в функции Test_CurrentCurrency $this->model->SetCurrentCurrencyId(2); }
public function __construct() { parent::__construct(); // Define all additional models: $pdk_models = array(); $this->rub_cur_mdl = pdk_load_class('RubriqueCurrencyModel', 'classes'); $pdk_models['RubriqueCurrencyModel'] = $this->rub_cur_mdl; $this->rub_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models'); $pdk_models['PdkRubriqueModel'] = $this->rub_mdl; $this->art_mdl = pdk_load_class('PdkArticleModel', 'classes/models'); $pdk_models['PdkArticleModel'] = $this->art_mdl; $this->currency_mdl = pdk_load_class('CurrencyModel', 'classes'); $pdk_models['CurrencyModel'] = $this->currency_mdl; $this->composite_art_mdl = pdk_load_class('CompositeArticleModel', 'classes'); $pdk_models['CompositeArticleModel'] = $this->composite_art_mdl; $this->AddPdkModels($pdk_models); // Set main (tested) model: $this->SetPdkModel('ProductModel', pdk_load_class('ProductModel', 'classes')); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; // Remember current currency ID $this->current_currency_id = $this->currency_mdl->GetCurrentCurrencyId(); }
function formulaires_ecatalogue_product_traiter_dist($id_article) { $_REQUEST['length'] = _request('length2'); // Solve problem in Opera (doesn't work properly when input has id and name="length") $result = array(); $p_mdl = pdk_load_class('ProductModel', 'classes'); $comp_mdl = pdk_load_class('CompositeArticleModel', 'classes'); try { $data = $p_mdl->form_data_from_array($_REQUEST); if (!$data['sold_in_packages']) { $data['sold_in_packages '] = 0; } if (!$p_mdl->update_by_id($id_article, $data, true)) { throw new Exception("Product save fail!"); } $result['message_ok'] = _T('ecatalogue:form_saved'); } catch (Exception $e) { $result['message_erreur'] = _T('ecatalogue:form_error'); } set_request('id_component_delete'); return $result; }
* EcataloguE * * @author Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com) * @license GNU/GPL * @package plugins * @subpackage ecatalogue * @copyright (c) Aleksey Yaroshchuk 2011-2012 * @link http://www.spip-contrib.net/EcataloguE */ /** * ArticleAccessoireModel class * * @author Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com) */ //include_spip('classes/pdk_model'); pdk_load_class('pdk_model', 'classes/'); class ArticleAccessoireModel extends pdk_Model { public function __construct() { parent::__construct(); $this->config_model(); } function config_model() { // Define main table: $this->main_table = 'spip_ecatalogue_articles_accessoires'; // Define primary key: $this->primary_key = 'id_article'; // Define main table fields: $this->main_fields['id_article'] = 'id_article';
function formulaires_ecatalogue_composite_traiter_dist($id_article) { $result = array(); $p_mdl = pdk_load_class('ProductModel', 'classes'); $comp_mdl = pdk_load_class('CompositeArticleModel', 'classes'); try { $data = $p_mdl->form_data_from_array($_REQUEST); if (!$data['is_separate']) { $data['is_separate'] = 0; } else { $data['is_separate'] = 1; } // This is needed for is_separate to be set in 0 when checkbox isn't checked if (!$data['is_composite']) { $data['is_composite'] = 0; } else { $data['is_composite'] = 1; } if (!$p_mdl->update_by_id($id_article, $data, true)) { throw new Exception("Product save fail!"); } // Add components if ($selected_articles = _request('selected_articles')) { if (lire_config('ecatalogue/articles_select') == 'enhanced') { include_spip('formulaires/selecteur/generique_fonctions'); $selected_articles = picker_selected(_request('selected_articles'), 'article'); } if ($selected_articles) { $data = array('id_composite' => $id_article); foreach ($selected_articles as $id_component) { if ($id_component == $id_article) { continue; } $data['id_article'] = $id_component; $where = array('id_composite=' . $data['id_composite'], 'id_article=' . $data['id_article']); // If such link doesn't exist yet, create it if ($comp_mdl->get_total($where) == 0) { $comp_mdl->insert($data); } if ($comp_mdl->get_total($where) == 0) { throw new Exception("Insert component article fail!"); } } } } // Delete components if ($id_component_delete = _request('id_component_delete')) { $where = array('id_composite=' . $id_article, 'id_article=' . $id_component_delete); $comp_mdl->delete($where); if ($comp_mdl->get_total($where) != 0) { throw new Exception("Delete component article fail!"); } } // Update components if (_request('comp_arts') && is_array(_request('comp_arts'))) { foreach (_request('comp_arts') as $comp_art) { if ($comp_art['quantity'] > 0) { $comp_mdl->update(array('id_composite=' . $id_article, 'id_article=' . intval($comp_art['id_article'])), array('quantity' => intval($comp_art['quantity']))); } else { $comp_mdl->delete(array('id_composite=' . $id_article, 'id_article=' . intval($comp_art['id_article']))); } } } $result['message_ok'] = _T('ecatalogue:form_saved'); } catch (Exception $e) { $result['message_erreur'] = _T('ecatalogue:form_error'); } set_request('id_component_delete'); return $result; }
public function __construct() { $this->product_mdl = pdk_load_class('ProductModel', 'classes'); $this->article_mdl = pdk_load_class('PdkArticleModel', 'classes'); }
function balise_EC_PRICE_dyn($id_article, $item_quantity = 1, $currency = 'UAH') { // //$cart = pdk_load_class('Alohacart','classes'); $product = pdk_load_class('ProductModel', 'classes'); //$products = $cart->GetProducts(); $price_article = $product->GetProductPrice($id_article, $currency); /*$cart_quantity = 0; if (is_array($products)) foreach ($products as $value) { $cart_quantity+=$value[1]; } $cart_price = $cart->CountPrice(); $cart = array('quantity'=>$cart_quantity,'price'=>$cart_price); //Get info about user $visiteur = isset($GLOBALS["visiteur_session"]["statut"])?($GLOBALS["visiteur_session"]["statut"]):''; $action = get_discount_action($id_article,$cart,$visiteur); //ppr($id_article); //ppr($action); if (is_array($action)&&isset($action['action'])) { switch ($action['action']) { case 'get_price': // Getting price $id_group = isset($action['value'])?$action['value']:0; $sql_s = 'SELECT * from spip_ecatalogue_prices p where id_article='.$id_article.' and id_group = '.$id_group ; $res_s = sql_query($sql_s); //ppr($sql_s); $price_record = sql_fetch_all($res_s); //ppr($price_record); if (is_array($price_record)&&(!empty($price_record))) { $price_article = isset($price_record[0]['price'])?$price_record[0]['price']:0; } break; case 'set_discount': // Set DISCOUNT $id_group = 1; $discount = isset($action['value'])?$action['value']:0; $sql_s = 'SELECT * from spip_ecatalogue_prices p where id_article='.$id_article.' and id_group = '.$id_group ; $res_s = sql_query($sql_s); $price_record = sql_fetch_all($res_s); if (is_array($price_record)&&(!empty($price_record))) { $price_article = isset($price_record[0]['price'])?$price_record[0]['price']:0; $price_article = $price_article - (($price_article/100)*$discount); } break; default: // echo '<h1>Default</h1>'; $id_group = 1; $sql_s = 'SELECT * from spip_ecatalogue_prices p where id_article='.$id_article.' and id_group = '.$id_group ; //ppr($sql_s); $res_s = sql_query($sql_s); $price_record = sql_fetch_all($res_s); //ppr($price_record); if (is_array($price_record)&&(!empty($price_record))) { $price_article = isset($price_record[0]['price'])?$price_record[0]['price']:0; } break; } } */ $price_article = $price_article * $item_quantity; return array('balise/ec_price', 0, array('price' => $price_article, 'products' => $products)); }
public function __construct() { parent::__construct(); $this->SetPdkModel('EcatArticleSimilarModel', pdk_load_class('EcatArticleSimilarModel', 'classes')); $this->dropTestTables = ECATALOGUE_TESTS_DROP_TEST_TABLES; }
public function GetProductPrice($id_article, $currency = 'UAH') { $price_article = $this->_GetProductPrice($id_article); $cart = pdk_load_class('Alohacart', 'classes'); if ($cart) { $products = $cart->GetProducts(); $cart_quantity = 0; if (is_array($products)) { foreach ($products as $value) { $cart_quantity += $value[1]; } } $cart_price = $cart->CartRetailPrice(); $cart = array('quantity' => $cart_quantity, 'price' => $cart_price); } else { $cart = array('quantity' => 0, 'price' => 0); } //Get info about user $visiteur = isset($GLOBALS["visiteur_session"]["statut"]) ? $GLOBALS["visiteur_session"]["statut"] : ''; // Get actions $action = $this->get_discount_action($id_article, $cart, $visiteur); // Get price from action if (is_array($action) && isset($action['action'])) { switch ($action['action']) { case 'get_price': // Getting price $id_group = isset($action['value']) ? $action['value'] : 0; $sql_s = 'SELECT * from spip_ecatalogue_prices p where id_article=' . $id_article . ' and id_group = ' . $id_group; //spip_log("S:".$sql_s, 'sql_log.'._LOG_ERREUR); $res_s = sql_query($sql_s); $price_record = sql_fetch_all($res_s); if (is_array($price_record) && !empty($price_record)) { $price_article = isset($price_record[0]['price']) ? $price_record[0]['price'] : 0; } break; case 'set_discount': // Set DISCOUNT $id_group = 1; $discount = isset($action['value']) ? $action['value'] : 0; $sql_s = 'SELECT * from spip_ecatalogue_prices p where id_article=' . $id_article . ' and id_group = ' . $id_group; $res_s = sql_query($sql_s); $price_record = sql_fetch_all($res_s); if (is_array($price_record) && !empty($price_record)) { $price_article = isset($price_record[0]['price']) ? $price_record[0]['price'] : 0; $price_article = $price_article - $price_article / 100 * $discount; } break; default: // echo '<h1>Default</h1>'; $id_group = 1; $sql_s = 'SELECT * from spip_ecatalogue_prices p where id_article=' . $id_article . ' and id_group = ' . $id_group; $res_s = sql_query($sql_s); $price_record = sql_fetch_all($res_s); if (is_array($price_record) && !empty($price_record)) { $price_article = isset($price_record[0]['price']) ? $price_record[0]['price'] : 0; } break; } } return $price_article; }