function step3(){ $this->_check(3); $jshopConfig = &JSFactory::getConfig(); $session =& JFactory::getSession(); $cart = &JModel::getInstance('cart', 'jshop'); $cart->load(); $user = &JFactory::getUser(); if ($user->id){ $adv_user = &JSFactory::getUserShop(); }else{ $adv_user = &JSFactory::getUserShopGuest(); } appendPathWay(_JSHOP_CHECKOUT_PAYMENT); $seo = &JTable::getInstance("seo", "jshop"); $seodata = $seo->loadData("checkout-payment"); if ($seodata->title==""){ $seodata->title = _JSHOP_CHECKOUT_PAYMENT; } setMetaData($seodata->title, $seodata->keyword, $seodata->description); $this->_showCheckoutNavigation(3); if ($jshopConfig->show_cart_all_step_checkout){ $this->_showSmallCart(3); } if ($jshopConfig->without_payment){ $this->_setMaxStep(4); $cart->setPaymentId(0); $cart->setPaymentParams(""); $cart->setPaymentPrice(0); $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step4',0,1,$jshopConfig->use_ssl)); return 0; } $paymentmethod = &JTable::getInstance('paymentmethod', 'jshop'); $all_payment_methods = jshopPaymentMethod::getAllPaymentMethods(); $i = 0; $paym = array(); foreach ($all_payment_methods as $pm) { if (file_exists($jshopConfig->path . 'payments/'.$pm->payment_class."/".$pm->payment_class.'.php')){ require_once ($jshopConfig->path . 'payments/'.$pm->payment_class."/".$pm->payment_class.'.php'); $paym[$i]->existentcheckform = 1; }else{ $paym[$i]->existentcheckform = 0; } $paym[$i]->name = $pm->name; $paym[$i]->payment_id = $pm->payment_id; $paym[$i]->payment_class = $pm->payment_class; $paym[$i]->payment_description = $pm->description; $paym[$i]->price_type = $pm->price_type; if ($pm->price_type==2){ $paym[$i]->calculeprice = $pm->price; }else{ $paym[$i]->calculeprice = getPriceCalcParamsTax($pm->price * $jshopConfig->currency_value, $pm->tax_id); } $s_payment_method_id = $cart->getPaymentId(); if ($s_payment_method_id == $pm->payment_id){ $params = $cart->getPaymentParams(); }else{ $params = array(); } $parseString = new parseString($pm->payment_params); $pmconfig = $parseString->parseStringToParams(); if ($paym[$i]->existentcheckform){ ob_start(); call_user_func(array($pm->payment_class, 'showPaymentForm'), $params, $pmconfig); $paym[$i]->form = ob_get_contents(); ob_get_clean(); }else{ $paym[$i]->form = ""; } $i++; } $s_payment_method_id = $cart->getPaymentId(); $active_payment = intval($s_payment_method_id); if (!$active_payment){ $list_payment_id = array(); foreach($paym as $v){ $list_payment_id[] = $v->payment_id; } if (in_array($adv_user->payment_id, $list_payment_id)) $active_payment = $adv_user->payment_id; } if (!$active_payment){ if (isset($paym[0])){ $active_payment = $paym[0]->payment_id; } } if ($jshopConfig->hide_payment_step){ $first_payment = $paym[0]->payment_class; if (!$first_payment){ JError::raiseWarning("", _JSHOP_ERROR_PAYMENT); return 0; } $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step3save&payment_method='.$first_payment,0,1,$jshopConfig->use_ssl)); return 0; } JPluginHelper::importPlugin('jshoppingcheckout'); $dispatcher =& JDispatcher::getInstance(); $dispatcher->trigger( 'onBeforeDisplayCheckoutStep3', array(&$adv_user, &$paym) ); $view_name = "checkout"; $view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name); $view = &$this->getView($view_name, 'html', '', $view_config); $view->setLayout("payments"); $view->assign('payment_methods', $paym); $view->assign('active_payment', $active_payment); $view->assign('action', SEFLink('index.php?option=com_jshopping&controller=checkout&task=step3save', 0, 0, $jshopConfig->use_ssl)); $view->display(); }
/** * Update Payment Type in table __jshopping_payment_method * */ private function updatePaymentType() { $db = JFactory::getDbo(); $query = $db->getQuery(true); $obj = new jshopPaymentMethod($db); $obj->class = 'pm_baokim'; $payment_id = $obj->getId(); if (isset($payment_id)) { if ($this->getPaymentTypeByID($payment_id) != 2) { $fields = array($db->quoteName('payment_type') . '=2'); $conditions = array($db->quoteName('payment_id') . '=' . $obj->getId()); $query->update($db->quoteName('#__jshopping_payment_method'))->set($fields)->where($conditions); $db->setQuery($query); $result = $db->query(); } } }