function addToCart($msc_id, $msc_option) { $cart = oseRegistry::Call('payment')->getInstance('Cart'); $payment_mode = oseMscPublic::getPaymentMode(); $item = array('entry_id' => $msc_id, 'entry_type' => 'msc', 'msc_option' => $msc_option); $cart->addItem($item['entry_id'], $item['entry_type'], $item); $cart->updateParams('payment_mode', $payment_mode); $cart->update(); }
function savePaymentMode() { $cart = oseMscPublic::getCart(); $payment_mode = oseMscPublic::getPaymentMode(); $config = oseMscPublic::getConfig('global', 'obj'); if ($config->payment_mode != 'b') { $payment_mode = $config->payment_mode; } $register_form = oseRegistry::call('msc')->getConfig('register', 'obj')->register_form; // force to m if (empty($register_form) || $register_form == 'default') { $payment_mode = 'm'; } else { $items = $cart->get('items'); $msc = oseRegistry::call('msc'); foreach ($items as $item) { if (oseObject::getValue($item, 'recurrence_mode', 'period') == 'fixed') { $payment_mode = 'm'; } if (oseObject::getValue($item, 'entry_type', 'msc') == 'license') { $payment_mode = 'm'; } else { $extItem = $msc->getExtInfoItem(self::getEntryMscID($item), 'paymentAdv', 'obj'); $advItems = oseJson::decode(oseObject::getvalue($extItem, 'params', '{}'), true); $advItems = empty($advItems) ? array() : $advItems; $advOption = isset($advItems[oseObject::getvalue($item, 'msc_option')]) ? $advItems[oseObject::getvalue($item, 'msc_option')] : array(); if (oseObject::getValue($advOption, 'payment_mode', 'b') != 'b') { $payment_mode = $advOption['payment_mode']; } } $payment_method = oseMscPublic::getPaymentMethod(); if ($payment_method == 'paypal') { if (oseObject::getValue($item, 'p3', 0) >= 2 && strtolower(oseObject::getValue($item, 't3', 'day')) == 'year') { $payment_mode = 'm'; } if (oseObject::getValue($item, 'p3', 0) >= 24 && strtolower(oseObject::getValue($item, 't3', 'day')) == 'month') { $payment_mode = 'm'; } } } } if ($cart->get('total') <= 0 && $cart->get('next_total') <= 0) { $payment_mode = 'm'; } $cart->updateParams('payment_mode', $payment_mode); $cart->update(); return $payment_mode; }
function add() { $db = oseDB::instance(); $coupon_code = JRequest::getCmd('coupon_code',null); $result = array(); if(empty($coupon_code)) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_IS_INVALID'); } else { $config = oseMscConfig::getConfig('coupon','obj'); if(oseObject::getValue($config,'wildcard_enabled',false)) { $white_pass_minlength = oseObject::getValue($config,'wildcard_minlength',10); if(strlen($coupon_code) < $white_pass_minlength) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE COUPON CODE MINIMUM LENGTH IS').' '.$white_pass_minlength; $result = oseJson::encode($result); oseExit($result); } $code = $db->Quote($coupon_code); $query = " SELECT * FROM `#__osemsc_coupon`" ." WHERE {$code} LIKE CONCAT('%',`code`)" ; } else { $code = $db->Quote($coupon_code); $query = " SELECT * FROM `#__osemsc_coupon`" ." WHERE code = {$code}" ; } $db->setQuery($query); $item = oseDB::loadItem('obj'); $couponParams = oseJson::decode(oseObject::getValue($item,'params','{}')); if(empty($item) ) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_IS_INVALID'); } else { $user = oseMscPublic::getUser(); $cart = oseMscPublic::getCart(); // check range 1 if(!$user->guest) { $query = " SELECT COUNT(*) FROM `#__osemsc_member`" ." WHERE `member_id` = '{$user->id}'" ; $db->setQuery($query); $hasMsc = $db->loadResult(); $itemParams = oseJson::decode($item->params); if($hasMsc > 0 && $itemParams->range == 'new_member_only') { $cart->updateParams('coupon',null); $cart->update(); $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('COUPON_RANGE_NOT_MATCH'); return $result; } } // check range 2 $items= $cart->get('items'); foreach ($items as $tmpitem) { $cartitem= $tmpitem; break; } if(!empty($cartitem)) { $params = oseJson::decode($item->params); $msc_id = oseMscPublic :: getEntryMscID($cartitem); $mscs = $params->msc_ids; if($mscs != 'all') { if(!is_array($mscs)) { $mscs = explode(',',$mscs); } if(!in_array($msc_id,$mscs)) { $cart->updateParams('coupon',null); $cart->update(); $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_IS_INVALID'); return $result; } } $coupon_currencies = explode(",", oseObject::getValue($couponParams,'currencies','')); $session =& JFactory::getSession(); $currency = $session->get('osePaymentCurrency',oseRegistry::call('msc')->getConfig('currency','obj')->primary_currency); if(empty($coupon_currencies)) { } else { if(!in_array('all',$coupon_currencies) && !in_array($currency, $coupon_currencies)) { $allowCurrencies = implode("OR", $coupon_currencies); $cart->updateParams('coupon',null); $cart->update(); $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('THE_COUPON_CANNOT_BE_APPLIED_IN_THIS_CURRENCY').$allowCurrencies; return $result; } } } // check amount $query = " SELECT COUNT(*) FROM `#__osemsc_coupon_user`" ." WHERE `coupon_id` = '{$item->id}' AND `paid` = '1'" ; $db->setQuery($query); $used = $db->loadResult(); if($item->amount_infinity != 1 && $used >= $item->amount) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('COUPON_USED_OUT'); return $result; } $result['success'] = true; $result['title'] = JText::_('SUCCEED'); $result['content'] = JText::_('COUPON_DISCOUNT_APPLIED'); $result['is_free_manual'] = false; //check the total amount $query = "SELECT frontend_enabled FROM `#__osemsc_addon` WHERE `name` = 'payment_mode'"; $db->setQuery($query); $enabled = $db->loadResult(); if($enabled) { $payment_mode = $cart->getParams('payment_mode'); }else { $payment_mode = oseMscPublic::getPaymentMode('payment_payment_mode'); $payment_mode = oseMscPublic::savePaymentMode(); $payment_mode = $cart->getParams('payment_mode'); } if($payment_mode == 'm') { if($item->discount_type == 'rate' && $item->discount == 100) { $result['is_free_manual'] = true; }else{ $items= $cart->get('items'); $cartitem= $items[0]; $price = oseObject :: getValue($cartitem, 'standard_raw_price'); if($price <= $item->discount) { $result['is_free_manual'] = true; } } } $cart->updateParams('coupon_range',oseObject::getValue($couponParams,'range','all')); $cart->updateParams('coupon_range2',oseObject::getValue($couponParams,'range2','first')); $cart->updateParams('coupon_discount',$item->discount); $cart->updateParams('coupon_discount_type',$item->discount_type); $cart->updateParams('coupon_currencies',oseObject::getValue($couponParams,'currencies','all')); $couponParams = oseJson::decode($item->params); $couponNumber = $cart->getParams('coupon_number'); if($coupon_code == $cart->getParams('coupon')) { // $cart->updateParams('coupon_msc_ids',$couponParams->msc_ids); } else { $cart->updateParams('coupon',$coupon_code); $cart->updateParams('coupon_id',$item->id); if($user->guest) { $cart->updateParams('coupon_number',uniqid('guest_')); } else { $cart->updateParams('coupon_number',uniqid($user->id.'_')); } $cart->updateParams('coupon_msc_ids',$couponParams->msc_ids); } $updated = $this->updateCoupon($item,$cart->getParams('coupon_number')); if($updated) { $cart->updateParams('coupon_user_id',$updated); } //$cart->cart['params'] = array(); $cart->update(); } } $result = oseJson::encode($result); oseExit($result); }
function jomsocialRegRedirect() { require_once(JPATH_SITE.DS.'components'.DS.'com_osemsc'.DS.'init.php'); require_once(JPATH_SITE.DS.'components'.DS.'com_osemsc'.DS.'helpers'.DS.'oseMscPublic.php'); $uri = &JFactory::getURI(); $vars['task'] = $uri->getVar( 'task' ); $vars['view'] = $uri->getVar( 'view' ); if(empty($vars['task'])) { $vars['task'] = JRequest::getCmd('task'); } if(empty($vars['view'])) { $vars['view'] = JRequest::getCmd('view'); } $session =& JFactory::getSession(); if(isset($_SESSION['__XIPT']['SELECTED_PROFILETYPE_ID'])) { $session->set('pid',$_SESSION['__XIPT']['SELECTED_PROFILETYPE_ID']); } $vars['joms_regs'] = ($vars['view'] == 'register' && ( $vars['task'] == 'registerSucess' )); if($vars['joms_regs']) { //$pid = $_SESSION['__XIPT']['SELECTED_PROFILETYPE_ID']; $pid = $session->get('pid',null); $db= oseDB :: instance(); $query = "SELECT * FROM `#__osemsc_ext` WHERE `type` = 'jspt'"; $db->setQuery($query); $objs = $db->loadObjectList(); if(!empty($objs)) { foreach($objs as $obj) { $data = oseJson::decode($obj->params); if($data->enable && $pid == $data->jspt_id) { $msc_id = $obj->id; break; } } } $redirect = false; if(!empty($msc_id)) { JRequest::setVar('msc_id',$msc_id); $msc = oseRegistry::call('msc'); $opts = $msc->runAddonAction('panel.payment.getOptions',array(),true,true); $options = $opts['results']; if(!empty($options)) { foreach($options as $option) { if(!$option['isFree'] && $option['a3']>0) { $msc_option = $option['id']; $redirect =true; break; } } } } if($redirect) { $cart = oseRegistry::Call('payment')->getInstance('Cart'); $payment_mode = oseMscPublic::getPaymentMode(); $item = array('entry_id'=>$msc_id,'entry_type'=>'msc','msc_option'=>$msc_option); $cart->addItem($item['entry_id'],$item['entry_type'],$item); //oseExit($cart); $cart->updateParams('payment_mode',$payment_mode); $cart->update(); $session = JFactory::getSession(); $session->set('ose_reg_step','cart'); $app = JFactory::getApplication(); $app->redirect( 'index.php?option=com_osemsc&view=register'); } } }
function addToCart($exit = true) { $cart = oseRegistry::Call('payment')->getInstance('Cart'); $msc_id = JRequest::getInt('msc_id', 0); $msc_option = JRequest::getCmd('msc_option', null); $payment_mode = oseMscPublic::getPaymentMode(); $item = array('entry_id' => $msc_id, 'entry_type' => 'msc', 'msc_option' => $msc_option); $cart->addItem($item['entry_id'], $item['entry_type'], $item); $cart->updateParams('payment_mode', $payment_mode); $cart->update(); $session = JFactory::getSession(); $session->set('ose_reg_step', 'cart'); $result = array(); $result['success'] = true; $result['title'] = 'Done'; $result['content'] = JText::_('Added to Cart!'); $Itemid = JRequest::getInt('Itemid'); $Itemid = (!empty($Itemid)) ? "&Itemid=" . $Itemid : ""; $result['link'] = str_replace("&", "&", JRoute::_('index.php?option=com_osemsc&view=register' . $Itemid)); $result = oseJson::encode($result); if ($exit == true) { oseExit($result); } }
function toPaymentPage() { $model = $this->getModel('payment'); $updated = $model->toPaymentPage(); $result = array(); if (!$updated) { $result['success'] = false; $result['title'] = JText::_('Notice'); $result['content'] = JText::_('You don\'t need to renew the membership'); } else { $payment_mode = oseMscPublic::getPaymentMode('payment_mode'); $msc_id = JRequest::getInt('msc_id', 0); $msc_option = JRequest::getCmd('msc_option', null); $session = JFactory::getSession(); $session->set('ose_reg_step', 'cart'); if (empty($payment_mode)) { $result['success'] = false; $result['title'] = JText::_('Error!'); $result['content'] = JText::_('Have Not Selected Payment Method'); $result = oseJson::encode($result); oseExit($result); } if (!empty($msc_id)) { $cart = oseMscPublic::getCart(); $item = array('entry_id' => $msc_id, 'entry_type' => 'msc', 'msc_option' => $msc_option); $cart->addItem($item['entry_id'], $item['entry_type'], $item); $cart->updateParams('payment_mode', $payment_mode); $cart->update(); } $result['success'] = true; $result['title'] = JText::_('Done'); $result['content'] = JText::_('Done'); $result['link'] = JRoute::_('index.php?option=com_osemsc&view=payment'); } $result = oseJson::encode($result); oseExit($result); }