Esempio n. 1
0
 /**
  *
  * Execute le plugin dans la partie public
  */
 public function run()
 {
     if (magixcjquery_filter_request::isSession('key_cart')) {
         $session_key = $_SESSION['key_cart'];
     } else {
         $session_key = null;
     }
     if (isset($this->module)) {
         $this->activeMods = $this->module->load_module(false);
     }
     //Chargement des données de traduction
     $this->_loadConfigVars();
     $create = frontend_controller_plugins::create();
     $header = new magixglobal_model_header();
     if (isset($this->mod) && isset($this->action)) {
         $cartMod = $this->activeMods[$this->mod];
         $params = array('params' => $_GET['params'], 'controller' => $this->template);
         call_user_func(array($cartMod, $this->action), $params);
     } elseif (isset($this->add_cart)) {
         $this->add_item_cart($_POST, $session_key);
     } elseif (isset($this->delete_item)) {
         $this->delete_item_cart($this->item_to_delete, $create);
     } elseif (isset($this->json_cart)) {
         $this->template->assign('getDataConfig', $this->getConfigData());
         $header->head_expires("Mon, 26 Jul 1997 05:00:00 GMT");
         $header->head_last_modified(gmdate("D, d M Y H:i:s") . "GMT");
         $header->pragma();
         $header->cache_control("nocache");
         $header->getStatus('200');
         $header->html_header("UTF-8");
         //$this->load_cart_ajax($this->json_cart);
         $cartData = $this->getItemCartData($this->json_cart);
         $this->template->assign('getItemCartData', $cartData);
         if (!empty($cartData)) {
             $this->template->assign('getItemPriceData', $this->getItemPriceData($this->json_cart));
             $this->template->assign('setParamsData', array('remove' => 'true', 'editQuantity' => 'true'));
             $this->template->display('loop/cart.tpl');
         } else {
             return false;
         }
     } elseif (isset($this->get_nbr_items)) {
         $this->load_cart_nbr_item($session_key);
     } elseif (isset($this->get_price_items)) {
         $this->load_cart_price_item($session_key);
     } elseif (isset($this->get_amount_to_pay)) {
         $prices = $this->load_cart_amount($this->get_amount_to_pay);
         $header->head_expires("Mon, 26 Jul 1997 05:00:00 GMT");
         $header->head_last_modified(gmdate("D, d M Y H:i:s") . "GMT");
         $header->pragma();
         $header->cache_control("nocache");
         $header->getStatus('200');
         $header->html_header("UTF-8");
         print $prices['amount_to_pay'];
     } elseif (isset($this->pstring1)) {
         $this->template->assign('getDataConfig', $this->getConfigData());
         if ($this->pstring2 == 'process') {
             $this->getProcessOrder($create);
         } elseif (isset($this->pstring2)) {
             if ($this->pstring2 == 'success') {
                 unset($_SESSION['key_cart']);
                 $this->getNotify('success', false);
             } elseif ($this->pstring2 == 'refused') {
                 unset($_SESSION['key_cart']);
                 $this->getNotify('refused', false);
             } elseif ($this->pstring2 == 'cancel') {
                 unset($_SESSION['key_cart']);
                 $this->getNotify('cancel', false);
             } elseif ($this->pstring2 == 'exception') {
                 unset($_SESSION['key_cart']);
                 $this->getNotify('exception', false);
             }
             $create->display('payment_statut.tpl');
         } else {
             if (isset($this->id_cart_to_send)) {
                 $this->validate_cart($this->id_cart_to_send, $create);
                 $this->load_cart_data($session_key, $create);
                 $create->assign('getItemCartData', $this->getItemCartData($this->id_cart_to_send));
                 $create->assign('getItemPriceData', $this->getItemPriceData($this->id_cart_to_send));
                 $create->assign('setParamsData', array('remove' => 'false', 'editQuantity' => 'false'));
                 $create->display('payment_resume.tpl');
             } else {
                 $this->load_cart_data($session_key, $create);
                 $create->assign('getItemCartData', $this->getItemCartData($this->id_cart_to_send));
                 $create->assign('getItemPriceData', $this->getItemPriceData($this->id_cart_to_send));
                 $create->assign('setParamsData', array('remove' => 'false', 'editQuantity' => 'false'));
                 $create->display('payment_resume.tpl');
             }
         }
     } else {
         if (magixcjquery_filter_request::isSession('key_cart')) {
             if (isset($this->devis_to_send)) {
                 //$this->validate_cart($this->id_cart_to_send,$create);
                 $dataCart = $this->getItemPriceData($this->id_cart_to_send);
                 parent::i_cart_order($this->id_cart_to_send, magixglobal_model_cryptrsa::uuid_generator(), $dataCart['amount_products'], $dataCart['shipping_ttc'], 'EUR', 'bank_wire');
                 $this->sendOrder($this->id_cart_to_send, $create, false);
                 parent::u_transmission_cart($this->id_cart_to_send, 1);
                 $this->getNotify('success', true);
                 //Supprime la session du panier après envoi du mail si le système de devis est activé
                 unset($_SESSION['key_cart']);
                 //return;
             } elseif (isset($this->quantity_qty)) {
                 $this->update_quantity_item();
             } elseif (isset($this->attr)) {
                 $this->update_attr_item();
             } elseif (isset($_GET['testmail'])) {
                 $cart = 1;
                 if (!empty($_GET['testmail'])) {
                     $testmail = intval($_GET['testmail']);
                     $cart = is_int($testmail) ? $testmail : 1;
                 }
                 $this->sendOrder($cart, $create, true);
             } else {
                 $this->modelSystem = new magixglobal_model_system();
                 frontend_model_template::addConfigFile(array($this->modelSystem->base_path() . 'plugins/cartpay/i18n/tools'), array('country_'), false);
                 $data_cart = parent::s_cart_session($session_key);
                 $id_cart = $data_cart['id_cart'];
                 $this->load_cart_data($session_key, $create);
                 $create->assign('getItemCartData', $this->getItemCartData($id_cart));
                 $create->assign('getItemPriceData', $this->getItemPriceData($id_cart));
                 $create->assign('setParamsData', array('remove' => 'true', 'editQuantity' => 'true'));
                 // getDataConfig
                 $getDataConfig = $this->getConfigData();
                 if ($getDataConfig['online_payment'] === '1') {
                     $create->assign('setPaymentType', 'secure');
                 } else {
                     $create->assign('setPaymentType', 'devis');
                 }
                 $this->template->assign('getDataConfig', $getDataConfig);
                 $this->template->assign('getItemsCountryData', $this->getItemsTvaData(array('fetch' => 'all', 'context' => 'country')));
                 $moduleJS = array();
                 $dynamicForm = false;
                 if (!empty($this->activeMods)) {
                     foreach ($this->activeMods as $name => $mod) {
                         if (property_exists($mod, 'js_impact')) {
                             if ($mod->js_impact) {
                                 $moduleJS[] = $name;
                             }
                         }
                         if ($name == 'profil' && $getDataConfig['profil'] || $name != 'profil') {
                             if (property_exists($mod, 'dynamicForm')) {
                                 if ($mod->dynamicForm) {
                                     $confdir = magixglobal_model_system::base_path() . 'plugins/' . $name . '/i18n/';
                                     $lang = frontend_model_template::getLanguage();
                                     if (file_exists($confdir)) {
                                         $translate = !empty($lang) ? $lang : 'fr';
                                         frontend_model_smarty::getInstance()->configLoad($confdir . 'public_local_' . $translate . '.conf', null);
                                         $dynamicForm = $this->template->fetch('forms/order.tpl', $name);
                                     }
                                 }
                             }
                         }
                     }
                 }
                 $this->template->assign('moduleJS', $moduleJS);
                 $this->template->assign('dynamicForm', $dynamicForm);
                 $create->display('index.tpl');
             }
         }
     }
 }
Esempio n. 2
0
 /**
  * run
  */
 public function run()
 {
     if ($this->install_tables()) {
         if (isset($this->module)) {
             $this->activeMods = $this->module->load_module(true);
         }
         if ($this->tab == 'config') {
             if (isset($this->action)) {
                 if ($this->action === 'update') {
                     $this->save($this->setPostConfig(), 'update');
                 }
             } else {
                 $this->template->assign('getDataConfig', $this->getConfigData());
                 $this->template->display('config.tpl');
             }
         } elseif ($this->tab == 'about') {
             $this->template->display('about.tpl');
         } elseif ($this->tab == 'tva') {
             if (isset($this->zone_tva_1) or isset($this->zone_tva_2)) {
                 $tvac1 = parent::fetchTva(array('fetch' => 'one', 'context' => 'config', 'zone_tva' => $this->zone_tva_1), 'admin');
                 $tvac2 = parent::fetchTva(array('fetch' => 'one', 'context' => 'config', 'zone_tva' => $this->zone_tva_2), 'admin');
                 if ($tvac1['idtvac'] != null) {
                     $this->save($this->setPostTvac($this->amount_tva_1, $this->zone_tva_1), 'update');
                 } else {
                     $this->save($this->setPostTvac($this->amount_tva_1, $this->zone_tva_1), 'add');
                 }
                 if ($tvac2['idtvac'] != null) {
                     $this->update($this->setPostTvac($this->amount_tva_2, $this->zone_tva_2));
                 } else {
                     $this->add($this->setPostTvac($this->amount_tva_2, $this->zone_tva_2));
                 }
                 /*$this->save(
                 			$this->setPostConfig(),
                 			'update'
                 		);*/
             } elseif ($this->action) {
                 if ($this->action === 'html') {
                     $this->header->head_expires("Mon, 26 Jul 1997 05:00:00 GMT");
                     $this->header->head_last_modified(gmdate("D, d M Y H:i:s") . "GMT");
                     $this->header->pragma();
                     $this->header->cache_control("nocache");
                     $this->header->getStatus('200');
                     $this->header->html_header("UTF-8");
                     $this->template->assign('getItemsTvaData', $this->getItemsTvaData());
                     $this->template->display('loop/tva.tpl');
                 } elseif ($this->action === 'remove') {
                     $this->removeTva($this->remove_tva);
                 } elseif ($this->action === 'add') {
                     $this->save($this->setPostTva($this->iso, $this->country, $this->idtvac), 'add');
                 }
             } else {
                 $this->translation->addConfigFile(array('country/tools'), array('country_iso_'), false);
                 $this->template->assign('countryTools', $this->country->setItemsData());
                 $this->template->assign('getConfDataTVA', $this->getTvaConfData());
                 $this->template->display('tva.tpl');
             }
         } else {
             $this->setOrderData(30);
             $this->template->display('list.tpl');
         }
     }
 }
Esempio n. 3
0
 /**
  * Get active modules and return a array of all active module instance
  *
  * the `extend_module` method should be executed before to ensure that
  * all compatible modules will be loaded
  *
  * @return array
  */
 public function load_module($parse_module)
 {
     if ($parse_module) {
         $this->extend_module();
     }
     $modules = parent::g_module();
     if ($parse_module) {
         $this->extend_module(array_map(function ($a) {
             return $a['module_name'];
         }, $modules));
     }
     $active_mods = array();
     foreach ($modules as $mod) {
         $modClass = 'plugins_' . $mod['module_name'] . '_cartpay';
         $active_mods[$mod['module_name']] = $this->get_call_class($modClass);
     }
     return $active_mods;
 }