Ejemplo n.º 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;
	}
Ejemplo n.º 2
0
	function generateConfirm($payment_method) {
		$msc = oseRegistry::call('msc');
		$country = JRequest::getCmd('bill_country', null);
		$state = JRequest::getCmd('bill_state', null);
		$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->refreshSubTotal();
		$items = $cart->get('items');
		$item = $items[0];
		$msc_id = oseMscPublic::getEntryMscID($item);
		$msc_option = oseObject::getValue($item, 'msc_option');
		$payment_mode = $cart->getParams('payment_mode');
		$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 ($payment_mode == 'a') {
				$price = oseObject::getValue($item, 'second_price') . ' for every ' . oseObject::getValue($item, 'standard_recurrence');
				if (oseObject::getValue($item, 'has_trial')) {
					$price .= ' (' . oseObject::getValue($item, 'first_price') . ' in the first ' . oseObject::getValue($item, 'trial_recurrence') . ')';
				}
				$paymentPre = 'Automatic Billing ';
			} else {
				if (oseObject::getValue($item, 'eternal')) {
					$price = oseObject::getValue($item, 'second_price') . ' for lifetime';
				} else {
					$price = oseObject::getValue($item, 'second_price') . ' for every ' . oseObject::getValue($item, 'standard_recurrence');
				}
				$paymentPre = 'Manual Billing ';
			}
			$array['price'] = $draw->drawPrice('Billing Plan: ' . $price);
			$array['payment_preference'] = '<div id="ose-confirm-preference">Payment Preference: ' . $paymentPre . '</div>';
			if ($payment_method == 'authorize' || $payment_method == 'paypal_cc' || $payment_method == 'eway') {
				$array['payment_method'] = '<div id="ose-confirm-method">Payment Method: Credit Card</div>';
				;
			} else {
				$array['payment_method'] = '<div id="ose-confirm-method">Payment Method: ' . JText::_(ucfirst($payment_method)) . '</div>';
			}
			$array['subtotal'] = '<div id="osetotalcosts"><div class="items">Subtotal: ' . $osePaymentCurrency . ' ' . $subtotal . '</div>';
			$array['discount'] = '<div class="items">Discount: ' . $osePaymentCurrency . ' ' . $discount . '</div>';
			$array['tax'] = '<div class="items">Tax: ' . $osePaymentCurrency . ' ' . $cart->getTaxParams('amount', '0.00') . '</div>';
			$array['total'] = '<div class="items" id ="osegradntotal">Grand 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;
	}
Ejemplo n.º 3
0
	private function toPaymentOS() {
		$model = $this->getModel('register');
		$post = JRequest::get('POST');
		$post['payment_method'] = $payment_method = oseMscPublic::getPaymentMethod();
		$cart = oseMscPublic::getCart();
		$items = $cart->get('items');
		$item = $items[0];
		$payment_mode = $cart->getParams('payment_mode');
		$msc_id = oseMscPublic::getEntryMscID($item);
		$allow_to_join = $this->checkJoiningControl($msc_id);
		if ($allow_to_join == false) {
			$result['success'] = false;
			$result['title'] = JText::_('Error');
			$result['content'] = JText::_('Permission denied, this membership is for members only!');
			$result = oseJson::encode($result);
			oseExit($result);
		}
		$msc_option = JRequest::getCmd('msc_option', null);
		if (empty($payment_mode)) {
			$result['success'] = false;
			$result['title'] = JText::_('Error!');
			$result['content'] = JText::_('Fail Paying...');
			return $result;
		}
		if (empty($msc_id)) {
			$result['success'] = false;
			$result['title'] = JText::_('Error!');
			$result['content'] = JText::_('Fail Paying...');
			return $result;
		}
		$list = oseMscAddon::getAddonList('registerOS_body', false, 1, 'obj');
		$list = oseMscPublic::filter($list, array('juser'), false);
		foreach ($list as $addon) {
			$action_name = oseMscAddon::getActionName($addon, 'formValidate', 'register');
			$updated = oseMscAddon::runAction($action_name, array('inner' => true));
			if (!$updated['success']) {
				return $updated;
			}
		}
		$user = oseMscPublic::getUser();
		$params['member_id'] = $user->id;
		$params['payment_method'] = $payment_method;
		oseRegistry::call('msc')->runAddonAction('member.billinginfo.save');
		oseRegistry::call('msc')->runAddonAction('register.profile.save', $params);
		$order = oseRegistry::call('msc')->runAddonAction('register.payment.save', $params);
		$order_id = $order['order_id'];
		if ($order_id) {
			$updated = $model->processPayment($order_id, $post, $msc_option);
			$result = $updated;
			if (is_array($result)) {
				$result['order_id'] = $order_id;
			}
		} else {
			$result['success'] = false;
			$result['title'] = JText::_('Error!');
			$result['content'] = JText::_('Fail Creating Order...');
		}
		return $result;
	}
Ejemplo n.º 4
0
	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);
	}
Ejemplo n.º 5
0
	function getPaymentMsc() {
		$session = JFactory::getSession();
		$items = oseMscPublic::getCartItems();
		$oseMscPayment = $items[0];
		$model = $this->getModel('payment');
		$msc_id = oseMscPublic::getEntryMscID($oseMscPayment);
		$item = $model->getPaymentMsc($msc_id, oseObject::getValue($oseMscPayment, 'msc_option'));
		$result = array();
		if (!empty($item)) {
			$result['total'] = 1;
			$result['results'] = $item;
		} else {
			$result['total'] = 0;
			$result['results'] = array();
		}
		$result = oseJson::encode($result);
		oseExit($result);
	}