示例#1
0
	function generateConfirm($payment_method) {
		$msc = oseRegistry::call('msc');
		$country = JRequest::getCmd('bill_country', null);
		$state = JRequest::getCmd('bill_state', 'all');
		$taxParams = oseMscPublic::getTax($country, $state);
		$cart = oseMscPublic::getCart();
		$cart->updateTaxParams('country', $country);
		$cart->updateTaxParams('state', $state);
		$cart->updateTaxParams('rate', $taxParams['rate']);
		$cart->updateTaxParams('file_control', $taxParams['file_control']);
		$cart->updateTaxParams('has_file_control', $taxParams['has_file_control']);
		$cart->updateTaxParams('vat_number', $taxParams['vat_number']);
		$cart->refreshSubTotal();

		$msc_id = JRequest::getInt('msc_id',0);
		$msc_option = JRequest::getCmd('msc_option',null);
		$item = array('entry_id'=>$msc_id,'entry_type'=>'msc','msc_option'=>$msc_option);
		$cart->addItem($item['entry_id'],$item['entry_type'],$item);
		$cart->update();
		$cart->refreshCartItems(); 

		$items = $cart->get('items');
		$item = $items[0];

		$msc_id = oseMscPublic::getEntryMscID($item);
		$msc_option = oseObject::getValue($item, 'msc_option');
		$payment_mode = oseMscPublic::getPaymentMode('payment_payment_mode');
		$payment_mode = oseMscPublic::savePaymentMode();
		$node = $msc->getInfo($msc_id, 'obj');
		$draw = new oseMscListDraw();
		$payment = oseRegistry::call('payment');
		$paymentView = $payment->getInstance('View');
		$items = $cart->get('items');
		$subtotal = oseMscPublic::getSubtotal();
		$total = $cart->get('total');
		$discount = $cart->get('discount');
		$osePaymentCurrency = $cart->get('currency');
		$item = $items[0];
		$array = array();
		$array['title'] = $draw->drawFirstTitle(oseObject::getValue($item, 'title'), oseObject::getValue($item, 'leaf'));
		if (oseObject::getValue($item, 'leaf')) {
			if (oseObject::getValue($item, 'recurrence_mode', 'period') == 'fixed') {
				$price = oseObject::getValue($item, 'second_price') . ' ' . oseObject::getValue($item, 'standard_recurrence');
				$paymentPre = JText::_('MANUAL_BILLING');
			} else {
				if ($payment_mode == 'a') {
					$price = oseObject::getValue($item, 'second_price') . ' ' . JText::_('FOR_EVERY') . ' ' . oseObject::getValue($item, 'standard_recurrence');
					if (oseObject::getValue($item, 'has_trial')) {
						$price .= ' (' . oseObject::getValue($item, 'first_price') . ' ' . JText::_('IN_THE_FIRST') . ' ' . oseObject::getValue($item, 'trial_recurrence') . ')';
					}
					$paymentPre = JText::_('AUTOMATIC_BILLING');
				} else {
					if (oseObject::getValue($item, 'eternal')) {
						$price = oseObject::getValue($item, 'second_price') . ' ' . JText::_('FOR_LIFETIME');
					} else {
						$price = oseObject::getValue($item, 'second_price') . ' ' . JText::_('FOR_EVERY') . ' ' . oseObject::getValue($item, 'standard_recurrence');
					}
					$paymentPre = JText::_('MANUAL_BILLING');
				}
			}
			$array['price'] = $draw->drawPrice(JText::_('BILLING_PLAN') . ': ' . $price);
			$array['payment_preference'] = '<div id="ose-confirm-preference">' . JText::_('PAYMENT_PREFERENCE') . ': ' . $paymentPre . '</div>';
			$gwInfo = oseRegistry::call('payment')->getInstance('GateWay')->getGWInfo($payment_method);
			if ($payment_method == 'oospay') {
				$payment_method = 'Garanti Bankası Güvenli Ödeme Noktası';
			}
			if (!empty($gwInfo) && $gwInfo->is_cc) {
				$array['payment_method'] = '<div id="ose-confirm-method">' . JText::_('PAYMENT_METHOD') . ': ' . JText::_('CREDIT_CARD') . '</div>';
				;
			} else {
				$array['payment_method'] = '<div id="ose-confirm-method">' . JText::_('PAYMENT_METHOD') . ': ' . JText::_(ucfirst($payment_method)) . '</div>';
			}
			$array['subtotal'] = '<div id="osetotalcosts"><div class="items">' . JText::_('SUBTOTAL') . ': ' . $osePaymentCurrency . ' ' . $subtotal . '</div>';
			$array['discount'] = '<div class="items">' . JText::_('DISCOUNT') . ': ' . $osePaymentCurrency . ' ' . $discount . '</div>';
			$array['tax'] = '<div class="items">' . JText::_('TAX') . ' (@' . $cart->getTaxParams('rate', '0') . '%): ' . $osePaymentCurrency . ' '
					. $cart->getTaxParams('amount', '0.00') . '</div>';
			if ($cart->getTaxParams('amount', 0) > 0) {
				if ($cart->getTaxParams('vat_number', false)) {
					$array['tax_vat_number'] = '<div class="items">' . JText::_('VAT_NUMBER') . ': ' . $cart->getTaxParams('vat_number') . '</div>';
				}
			}
			$array['total'] = '<div class="items" id ="osegradntotal">' . JText::_('GRANT_TOTAL') . ': ' . $osePaymentCurrency . ' ' . $total . '</div></div>';
		}
		if (is_array($array)) {
			$array = implode("\r\n", $array);
		}
		$divSelectedRow = $draw->drawDiv('ose-selected-row');
		$array = '<div class="ose-selected-heading">' . JText::_('SELECTED_MEMBERSHIP') . '</div>' . "\r\n" . $array;
		$html = sprintf($divSelectedRow, "\r\n" . $array . "\r\n");
		return $html;
	}
	private static function saveOS($params) {
		$result = array();
		$member_id = $params['member_id'];
		$payment_method = $params['payment_method'];
		JRequest::setVar('member_id', $member_id);
		if (empty($member_id)) {
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error1');
			return $result;
		}
		$params = array();
		$paymentCart = $cart = oseRegistry::call('payment')->getInstance('Cart');
		$paymentCart->refreshCartItems($paymentCart->get('items'), $paymentCart->get('currency'));
		$osePaymentCurrency = $paymentCart->get('currency');
		$payment_mode = $paymentCart->getParams('payment_mode');
		$subtotal = $paymentCart->getSubtotal();
		if (empty($payment_mode)) {
			$payment_mode = oseMscPublic::savePaymentMode();
		}
		$items = $paymentCart->get('items');
		$oneItem = $items[0];
		$payment = oseRegistry::call('payment');
		$keys = array_keys($items);
		$order_number = $payment->generateOrderNumber($member_id);
		$params['entry_type'] = 'msc_list';
		$params['payment_price'] = $paymentCart->get('total');
		$params['payment_currency'] = $osePaymentCurrency;
		$params['order_number'] = $order_number;
		$params['create_date'] = oseHTML::getDateTime();
		$params['payment_serial_number'] = substr($order_number, 0, 20);
		$params['payment_method'] = $payment_method;
		$params['payment_mode'] = $payment_mode;
		$params['payment_from'] = 'system_reg';
		$params['params'] = array();
		$params['params']['start_date'] = oseObject::getValue($oneItem, 'start_date', null);
		$params['params']['expired_date'] = oseObject::getValue($oneItem, 'expired_date', null);
		$params['params']['total'] = $paymentCart->get('total');
		$params['params']['next_total'] = $paymentCart->get('next_total');
		$params['params']['discount'] = $paymentCart->get('discount');
		$params['params']['subtotal'] = $subtotal;
		$params['params']['coupon_user_id'] = $paymentCart->getParams('coupon_user_id');
		$params['params']['gross_tax'] = $paymentCart->getTaxParams('amount');
		$params['params']['next_gross_tax'] = $paymentCart->getTaxParams('next_amount');
		$params['params']['vat_number'] = $paymentCart->getTaxParams('vat_number');
		$params['params']['timestamp'] = uniqid("{$member_id}_", true);
		$params['params']['returnUrl'] = $paymentCart->getParams('returnUrl');
		if ($payment_mode == 'a') {
			$params['params']['has_trial'] = oseObject::getValue($oneItem, 'has_trial', 0);
		} else {
			$params['params']['has_trial'] = 0;
		}
		$sisow_issuerid = JRequest::getVar('sisow_issuerid');
		if ($sisow_issuerid) {
			$params['params']['sisow_issuerid'] = $sisow_issuerid;
		}
		$sisow_payment = JRequest::getVar('sisow_payment');
		if ($sisow_payment) {
			$params['params']['sisow_payment'] = $sisow_payment;
		}
		$params['params']['a1'] = $paymentCart->get('total');
		$params['params']['p1'] = oseObject::getValue($oneItem, 'p1', 0);
		$params['params']['t1'] = oseObject::getValue($oneItem, 't1');
		$params['params']['a3'] = $paymentCart->get('next_total');
		$params['params']['p3'] = oseObject::getValue($oneItem, 'p3', 0);
		$params['params']['t3'] = oseObject::getValue($oneItem, 't3');
		$params['params'] = oseJSON::encode($params['params']);
		$list = oseMscAddon::getAddonList('register_order', false, 1, 'obj');
		foreach ($list as $addon) {
			$action_name = 'register_order.' . $addon->name . '.add';
			$params = oseMscAddon::runAction($action_name, $params);
		}
		$paymentOrder = $payment->getInstance('Order');
		$updated = $paymentOrder->generateOrder('', $member_id, $params);
		if ($updated) {
			$order_id = $updated;
			$result['order_id'] = $order_id;
			JRequest::setVar('order_id', $order_id);
		} else {
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error2');
			return $result;
		}
		foreach ($items as $item) {
			$itemParams = array();
			$entry_type = oseObject::getValue($item, 'entry_type');
			switch ($entry_type) {
			case ('license'):
				$license_id = oseObject::getValue($item, 'entry_id');
				$license = oseRegistry::call('lic')->getInstance(0);
				$licenseInfo = $license->getKeyInfo($license_id, 'obj');
				$licenseInfoParams = oseJson::decode($licenseInfo->params);
				$msc_id = $licenseInfoParams->msc_id;
				break;
			case ('msc'):
				$msc_id = oseObject::getValue($item, 'entry_id');
				break;
			}
			$msc_option = oseObject::getValue($item, 'msc_option');
			if (oseObject::getValue($item, 'eternal')) {
				$itemParams['payment_mode'] = 'm';
			} else {
				$itemParams['payment_mode'] = $payment_mode;
			}
			$price = oseObject::getValue($item, 'a3');
			if ($payment_mode == 'a') {
				if (oseObject::getValue($item, 'has_trial')) {
					$price = oseObject::getValue($item, 'a1');
				}
			}
			$itemParams['entry_type'] = oseObject::getValue($item, 'entry_type');
			$itemParams['payment_price'] = oseObject::getValue($item, 'first_raw_price');
			$itemParams['payment_currency'] = $osePaymentCurrency;
			$itemParams['create_date'] = oseHTML::getDateTime();
			$price_params = $payment->generateOrderParams($msc_id, $price, $payment_mode, $msc_option);
			$price_params['start_date'] = oseObject::getValue($item, 'start_date', null);
			$price_params['expired_date'] = oseObject::getValue($item, 'expired_date', null);
			$price_params['recurrence_mode'] = oseObject::getValue($item, 'recurrence_mode', 'period');
			$itemParams['params'] = oseJSON::encode($price_params);
			$paymentInfos = oseMscAddon::getExtInfo($msc_id, 'payment', 'obj');
			$paymentInfo = oseObject::getValue($paymentInfos, $msc_option);
			$updated = $paymentOrder->generateOrderItem($order_id, oseObject::getValue($item, 'entry_id'), $itemParams);
		}
		if ($updated) {
			$result['success'] = true;
			$result['title'] = JText::_('Done');
			$result['content'] = JText::_('Done');
		} else {
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Order Generate Error');
		}
		$emailConfig = oseMscConfig::getConfig('email', 'obj');
		if (!empty($emailConfig->order_notification)) {
			$db = oseDB::instance();
			$where = array();
			$where[] = '`order_id` = ' . $db->Quote($order_id);
			$orderInfo = $paymentOrder->getOrder($where, 'obj');
			$memEmail = oseRegistry::call('member')->getInstance('Email');
			$receipt = $memEmail->getOrderNotification($orderInfo);//print_r($receipt);exit;
			$memEmail->sendToAdminGroup($receipt, $emailConfig->admin_group);
		}
		return $result;
	}
	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);
	}
	private static function saveOS( $params )
	{
		$result = array();

    	//$post = JRequest::get('post');

    	$member_id = $params['member_id'];
		$payment_method = $params['payment_method'];


		//oseExit($params);
    	JRequest::setVar('member_id',$member_id);

    	if(empty($member_id))
    	{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText :: _('Error1');

			return $result;
    	}

    	$params = array();

    	//$paymentCart = oseMscPublic::getCart();
    	$paymentCart = $cart = oseRegistry::call('payment')->getInstance('Cart');
    	$paymentCart->refreshCartItems($paymentCart->get('items'),$paymentCart->get('currency'));

		$osePaymentCurrency = $paymentCart->get('currency');
		$payment_mode = $paymentCart->getParams('payment_mode');
		$subtotal = $paymentCart->getSubtotal();

		if(empty($payment_mode))
    	{
    		$payment_mode = oseMscPublic::savePaymentMode();
    	}

		$items = $paymentCart->get('items');

		$oneItem = $items[0];

		$payment = oseRegistry::call('payment');

		$keys = array_keys($items);
    	//$payment_mode = $paymentCart->getParams('payment_mode');

		$order_number = $payment->generateOrderNumber( $member_id );

		$params['entry_type'] = 'msc_list';
		$params['payment_price'] = $paymentCart->get('total');
		$params['payment_currency'] = $osePaymentCurrency;
        $params['order_number'] = $order_number;
        $params['create_date'] = oseHTML::getDateTime();//date("Y-m-d H:i:s");
		$params['payment_serial_number'] = substr($order_number,0,20);
		$params['payment_method'] = $payment_method;
		$params['payment_mode'] = $payment_mode;
		$params['payment_from'] = 'system_reg';

		$params['params'] = array();
		$params['params']['start_date'] = oseObject::getValue($oneItem,'start_date',null);
		$params['params']['expired_date'] = oseObject::getValue($oneItem,'expired_date',null);
		$params['params']['total'] = $paymentCart->get('total');
		if($paymentCart->getParams('coupon_range2') == 'all')
		{
			$params['params']['next_total'] = $params['params']['total'];
		}
		else
		{
			$params['params']['next_total'] = $paymentCart->get('next_total');
			//
		}
		
		//$params['params']['next_total'] = $params['params']['total'];//$paymentCart->get('next_total');
		$params['params']['discount'] = $paymentCart->get('discount');
		$params['params']['subtotal'] = $subtotal;
		$params['params']['coupon_user_id'] = $paymentCart->getParams('coupon_user_id');
		$params['params']['gross_tax'] = $paymentCart->getTaxParams('amount');
		$params['params']['next_gross_tax'] = $paymentCart->getTaxParams('next_amount');
		$params['params']['vat_number'] = $paymentCart->getTaxParams('vat_number');
		$params['params']['timestamp'] = uniqid("{$member_id}_",true);
		$params['params']['returnUrl'] = $paymentCart->getParams('returnUrl');
		if($payment_mode == 'a')
		{
			$params['params']['has_trial'] = oseObject::getValue($oneItem,'has_trial',0);
		}
		else
		{
			$params['params']['has_trial'] = 0;
		}

		$params['params']['a1'] = $paymentCart->get('total');
		$params['params']['p1'] = oseObject::getValue($oneItem,'p1',0);
		$params['params']['t1'] = oseObject::getValue($oneItem,'t1');
		$params['params']['a3'] = $paymentCart->get('next_total');
		$params['params']['p3'] = oseObject::getValue($oneItem,'p3',0);
		$params['params']['t3'] = oseObject::getValue($oneItem,'t3');
    	$params['params'] = oseJSON::encode($params['params']);

		$list = oseMscAddon :: getAddonList('register_order', false, 1, 'obj');
    	foreach($list as $addon) {
			$action_name= 'register_order.'.$addon->name.'.add';
			//echo $action_name;
			$params = oseMscAddon :: runAction($action_name, $params);
		}

		$paymentOrder = $payment->getInstance('Order');
		$updated = $paymentOrder->generateOrder('', $member_id, $params);

		if($updated)
		{
			$order_id = $updated;
			$result['order_id'] = $order_id;
			JRequest::setVar('order_id',$order_id);
		}
		else
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText :: _('Error2');

			return $result;
		}

		//$paymentOrder->__construct('#__osemsc_order_item');
		foreach($items as $item)
		{
			$itemParams = array();

			$entry_type = oseObject::getValue($item,'entry_type');

			switch($entry_type)
			{
				case('license'):
					$license_id = oseObject::getValue($item,'entry_id');

					$license = oseRegistry::call('lic')->getInstance(0);
					$licenseInfo = $license->getKeyInfo($license_id,'obj');
					//oseExit($item);
					$licenseInfoParams = oseJson::decode($licenseInfo->params);

					$msc_id = $licenseInfoParams->msc_id;
				break;

				case('msc'):
					$msc_id = oseObject::getValue($item,'entry_id');
				break;
			}
			$msc_option = oseObject::getValue($item,'msc_option');

			//$paymentInfos = oseRegistry::call('msc')->getExtInfo($msc_id,'payment','obj');
			//$paymentInfo = oseObject::getValue($paymentInfos,$msc_option);

			if ( oseObject::getValue($item,'eternal'))
	        {
	        	$itemParams['payment_mode'] = 'm';
	        }
	        else
	        {
	        	$itemParams['payment_mode'] = $payment_mode;
	        }

			$price = oseObject::getValue($item,'a3');
			if($payment_mode == 'a')
			{
				if(oseObject::getValue($item,'has_trial'))
				{
					$price = oseObject::getValue($item,'a1');
				}
			}

			//$price = $payment->pricing($price,$msc_id,$osePaymentCurrency);

			$itemParams['entry_type'] = oseObject::getValue($item,'entry_type');
			$itemParams['payment_price'] = oseObject::getValue($item,'first_raw_price');
			$itemParams['payment_currency'] = $osePaymentCurrency;
	        $itemParams['create_date'] = oseHTML::getDateTime();//date("Y-m-d H:i:s");

	        $price_params = $payment->generateOrderParams($msc_id,$price,$payment_mode,$msc_option);
	        $price_params['start_date'] = oseObject::getValue($item,'start_date',null);
			$price_params['expired_date'] = oseObject::getValue($item,'expired_date',null);
			$price_params['recurrence_mode'] = oseObject::getValue($item,'recurrence_mode','period');
	        $itemParams['params'] = oseJSON::encode($price_params);

	        $paymentInfos = oseMscAddon::getExtInfo($msc_id,'payment','obj');
	        $paymentInfo = oseObject::getValue($paymentInfos,$msc_option);

			$updated = $paymentOrder->generateOrderItem($order_id,oseObject::getValue($item,'entry_id'), $itemParams);
		}
		//$paymentOrder->__construct('#__osemsc_order');

		if($updated)
		{
			/*
			$vmorder=self::AddVmOrder($msc_id,$params,$order_number,$paymentInfo);
			if(!$vmorder['success'])
			{
				return $vmorder;
			}
			*/
			$result['success'] = true;
			$result['title'] = JText :: _('Done');
			$result['content'] = JText :: _('Done');
		}
		else
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText :: _('Order Generate Error');
		}

		return $result;

	}
示例#5
0
	function generateConfirmDialog() {
		$model = $this->getModel('register');
		$post = JRequest::get('post');
		$cart = oseMscPublic::getCart();
		$items = $cart->get('items');
		if (empty($items)) {
			$item = array('entry_id' => $post['msc_id'], 'entry_type' => 'msc', 'msc_option' => $post['msc_option']);
			$cart->addItem($item['entry_id'], $item['entry_type'], $item);
			$cart->update();
		}
		oseMscPublic::savePaymentMode();
		$register_form = oseRegistry::call('msc')->getConfig('register', 'obj')->register_form;
		$payment_method = oseMscPublic::getPaymentMethod();
		if (empty($register_form) || $register_form == 'default') {
			$html = $model->generateConfirmCart($payment_method);
		} else {
			$payment_mode = oseMscPublic::getPaymentMode('payment_mode');
			$html = $model->generateConfirm($payment_method);
		}
		oseExit($html);
	}