Пример #1
0
	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;
	}
Пример #2
0
	public static function getPaymentMode()
	{
		$msc_id = JRequest::getInt('msc_id',0);
		$msc_option = JRequest::getCmd('msc_option',null);
		
		$msc = oseRegistry::call('msc');
		
		$ext = $msc->getExtInfo($msc_id,'payment');
		$extAdv = $msc->getExtInfo($msc_id,'paymentAdv');
		
		$items = array();
		
		if(oseObject::getValue($ext[$msc_option],'payment_mode','b') == 'a')
		{
			$items[] = array('id'=>1,'value'=>'a','text'=> JText::_('AUTOMATIC_RENEWING'));
		}
		elseif(oseObject::getValue($ext[$msc_option],'payment_mode','b') == 'm')
		{
			$items[] = array('id'=>1,'value'=>'m','text'=> JText::_('MANUAL_RENEWING'));
		}
		else
		{
			if(oseObject::getValue($extAdv[$msc_option],'payment_mode','b') != 'b')
			{
				$itemValue = oseObject::getValue($extAdv[$msc_option],'payment_mode');
				if($itemValue == 'm')
				{
					$itemText = JText::_('MANUAL_RENEWING');
				}
				else
				{
					$itemText = JText::_('AUTOMATIC_RENEWING');
				}
				$items[] = array('id'=>1,'value'=>$itemValue,'text'=> $itemText);
			}
			else
			{
				$items[] = array('id'=>1,'value'=>'a','text'=> JText::_('AUTOMATIC_RENEWING'));
				$items[] = array('id'=>2,'value'=>'m','text'=> JText::_('MANUAL_RENEWING'));
			}
			
		}
		
		$config = oseMscPublic::getConfig('global', 'obj');
		if($config->payment_mode == 'a') 
		{
			$items = array();
			$items[] = array('id'=>1,'value'=>'a','text'=> JText::_('AUTOMATIC_RENEWING'));
		}
		elseif($config->payment_mode == 'm') 
		{
			$items = array();
			$items[] = array('id'=>1,'value'=>'m','text'=> JText::_('MANUAL_RENEWING'));
		}

		$result = array();
		
		if(empty($items))
		{
			$result['total'] = 0;
			$result['results'] = array();
		}
		else
		{
			$result['total'] = count($items);
			$result['results'] = $items;
		}
		
		return $result;
	}