function generateDesc($order_id)
 {
     $title = null;
     $db = oseDB::instance();
     $query = "SELECT * FROM `#__osemsc_order_item` WHERE `order_id` = '{$order_id}'";
     $db->setQuery($query);
     $obj = $db->loadObject();
     $params = oseJson::decode($obj->params);
     $msc_id = $obj->entry_id;
     $query = "SELECT title FROM `#__osemsc_acl` WHERE `id` = " . (int) $msc_id;
     $db->setQuery($query);
     $msc_name = $db->loadResult();
     $msc_option = $params->msc_option;
     $query = "SELECT params FROM `#__osemsc_ext` WHERE `type` = 'payment' AND `id` = " . (int) $msc_id;
     $db->setQuery($query);
     $result = oseJson::decode($db->loadResult());
     foreach ($result as $key => $value) {
         if ($msc_option == $key) {
             if ($value->recurrence_mode == 'period') {
                 if ($value->eternal) {
                     $title = 'Life Time Membership';
                 } else {
                     $title = $value->recurrence_num . ' ' . ucfirst($value->recurrence_unit) . ' Membership';
                 }
             } else {
                 $start_date = date("l,d F Y", strtotime($value->start_date));
                 $expired_date = date("l,d F Y", strtotime($value->expired_date));
                 $title = $start_date . ' - ' . $expired_date . ' Membership';
             }
         }
     }
     $title = $msc_name . ' : ' . $title;
     return $title;
 }
	public static function add($params)
	{
		$result = array();
		$result['success'] = true;
		
		if(empty($params))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Register_Order.PAP');
			
			return $result;
		}
		//unset($params['allow_work']);
		if(!empty($_COOKIE['oseAffiliate']))
		{
			$orderParams = oseJson::decode($params['params']);
			$oseAffiliate = oseJSON::decode($_COOKIE['oseAffiliate']);
		
			
			$orderParams->oseaffiliateID = $oseAffiliate->oafid;
			$orderParams->osebannerID = $oseAffiliate->obid;
			$orderParams->first_ip = oseMscPublic::getIP();
			//$orderParams->first_ip = oseMscPublic::getIP();
			$params['params'] = oseJson::encode($orderParams);
			return $params;
		}
		else
		{
			return $params;
		}
	}
	public static function add($params)
	{
		$result = array();
		$result['success'] = true;
		
		if(empty($params))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Register_Order.PAP');
			
			return $result;
		}
		//unset($params['allow_work']);
		
		if(!empty($_COOKIE['PAPVisitorId']))
		{
			$orderParams = oseJson::decode($params['params']);
			
			$orderParams->pap_visitorid = $_COOKIE['PAPVisitorId'];
			$orderParams->first_ip = oseMscPublic::getIP();
			$params['params'] = oseJson::encode($orderParams);
			return $params;
		}
		else
		{
			return $params;
		}
	}
示例#4
0
 public static function getInstance($type)
 {
     static $instance;
     $className = "osePaymentSC{$type}";
     $arrayInstance = array();
     $arrayInstance['MscList'] = 'osePaymentMscList';
     $arrayInstance['View'] = 'osePaymentView';
     $arrayInstance['Price'] = 'osePaymentPrice';
     $arrayInstance['Tax'] = 'osePaymentTax';
     $arrayInstance['GateWay'] = 'osePaymentGateWay';
     if (isset($arrayInstance[$type])) {
         if (strtolower($type) == 'price') {
             $primaryCurrency = osePayment::getCurrencyInfo();
             $instance = new osePaymentPrice($primaryCurrency->value, oseJson::decode($primaryCurrency->default));
             return $instance;
         }
         $className = $arrayInstance[$type];
     } else {
         $className = "osePaymentSC{$type}";
     }
     if (!$instance instanceof $className) {
         $instance = new $className();
     }
     return $instance;
 }
示例#5
0
 public static function activate($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     //oseExit($params);
     $db = oseDB::instance();
     $post = JRequest::get('post');
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     if (empty($msc_id)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Renew Msc: No Msc ID");
         return $result;
     }
     // get the docman groups_id  of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'docman'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     if (empty($data->groups_id) || $data->groups_id == '-1') {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
     $docman_group_id = $data->groups_id;
     $query = "SELECT * FROM `#__docman_groups` WHERE `groups_id` = " . (int) $docman_group_id;
     $db->setQuery($query);
     $obj = $db->loadObject();
     if (!empty($obj)) {
         $newmembers[] = $member_id;
         if (!empty($obj->groups_members)) {
             $oldmembers = explode(",", $obj->groups_members);
             if (count($oldmembers) > 0) {
                 $newmembers = array_merge($oldmembers, $newmembers);
             }
         }
         $newmembers = array_unique($newmembers);
         $newmembers = implode(",", $newmembers);
         $query = "UPDATE `#__docman_groups` SET `groups_members` = '" . $newmembers . "' WHERE `groups_id` = " . (int) $docman_group_id;
         $db->setQuery($query);
         if (!$db->query()) {
             $result['success'] = false;
             $result['title'] = 'Error';
             $result['content'] = JText::_("Error");
             return $result;
         }
     }
     return $result;
 }
 public static function renew($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     //oseExit($params);
     $db = oseDB::instance();
     $post = JRequest::get('post');
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     if (empty($msc_id)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Renew Msc: No Msc ID");
         return $result;
     }
     // get the plan id of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'osecredit'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     if (empty($data->osecredit_id) || empty($data->enable)) {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
     $query = "SELECT credit_amount FROM `#__ose_credit_plan` WHERE `id` = '{$data->osecredit_id}'";
     $db->setQuery($query);
     $amount = $db->loadResult();
     $query = "SELECT * FROM `#__ose_credit_member` WHERE `member_id` = '{$member_id}'";
     $db->setQuery($query);
     $obj = $db->loadObject();
     if (empty($obj)) {
         $credit_params = oseJson::encode(array());
         $query = " INSERT INTO `#__ose_credit_member` (`member_id`, `credit_amount`, `params`)" . " VALUES" . " ('{$member_id}', '{$amount}', '{$credit_params}')";
     } else {
         $amount = $amount + $obj->credit_amount;
         $query = "UPDATE `#__ose_credit_member` SET `credit_amount` = '{$amount}' WHERE `id` = '{$obj->id}'";
     }
     $db->setQuery($query);
     if (!$db->query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
         return $result;
     }
     $result['success'] = true;
     $result['title'] = JText::_('Done');
     $result['content'] = JText::_("Done");
     return $result;
 }
示例#7
0
 function getItems()
 {
     // Get a storage key.
     $store = $this->getStoreId('getItems');
     // Try to load the data from internal storage.
     if (!empty($this->cache[$store])) {
         return $this->cache[$store];
     }
     $search = $this->getState('filter.search');
     $searchid = $this->getState('filter.searchid');
     $searchpe = $this->getState('filter.searchpe');
     // Load the list items.
     $items = parent::getItems();
     // If emtpy or an error, just return.
     if (empty($items)) {
         return array();
     }
     //oseExit($items);
     $db = oseDB::instance();
     // Inject the values back into the array.
     foreach ($items as $k => $item) {
         $order_id = null;
         if ($item->msc_id > 0) {
             $params = oseJson::decode($item->params);
             $order_id = oseGetValue($params, 'order_id', 0);
             $query = " SELECT `title` FROM `#__osemsc_acl`" . " WHERE `id` = '{$item->msc_id}'";
             $db->setQuery($query);
             $item->membership = $db->loadResult();
             $query = " SELECT *" . " FROM `#__osemsc_order_fix`" . " WHERE `member_id` = '{$item->id}'";
             $db->setQuery($query);
             $ofItem = oseDB::loadItem('obj');
             $item->paypal_email = oseObject::getValue($ofItem, 'email', $item->email);
         } else {
             $item->expired_date = null;
             $item->status = '';
         }
         if (empty($search) && empty($searchid) && empty($searchpe)) {
             //return array();
         } else {
             //$item->order_number = null;
             if (!empty($order_id)) {
                 $query = " SELECT `order_id`,`order_number`,`payment_serial_number`,`order_status`" . " FROM `#__osemsc_order`" . " WHERE `order_id` = '{$order_id}'";
                 $db->setQuery($query);
                 $oItem = oseDB::loadItem('obj');
                 $item->order_number = $oItem->order_number;
                 $item->order_id = $oItem->order_id;
                 $item->payment_serial_number = $oItem->payment_serial_number;
                 $item->order_status = $oItem->order_status;
             } else {
             }
         }
         $items[$k] = $item;
     }
     // Add the items to the internal cache.
     $this->cache[$store] = $items;
     return $this->cache[$store];
 }
 function PayFastOneOffPostForm($orderInfo, $params = array())
 {
     $pConfig = oseMscConfig::getConfig('payment', 'obj');
     $merchantId = $pConfig->payfast_merchant_id;
     $merchantKey = $pConfig->payfast_merchant_key;
     $html = array();
     $test_mode = $pConfig->payfast_testmode;
     if (!$test_mode) {
         if (empty($merchantId) || empty($merchantKey)) {
             $html['form'] = "";
             $html['url'] = "";
             return $html;
         }
     }
     if ($test_mode == true) {
         $merchantId = '10000100';
         $merchantKey = '46f0cd694581a';
         $url = "https://sandbox.payfast.co.za/eng/process";
     } else {
         $url = "https://www.payfast.co.za/eng/process";
     }
     $db = oseDB::instance();
     $member = oseRegistry::call('member');
     $member->instance($orderInfo->user_id);
     $payment = oseRegistry::call('payment');
     $paymentOrder = $payment->getInstance('Order');
     $billinginfo = $paymentOrder->getBillingInfo($orderInfo->user_id);
     $amount = $orderInfo->payment_price;
     $currency = $orderInfo->payment_currency;
     $order_id = $orderInfo->order_id;
     $order_number = $orderInfo->order_number;
     $user =& JFactory::getUser($orderInfo->user_id);
     $orderInfoParams = oseJson::decode($orderInfo->params);
     $cancelUrl = JURI::base() . "index.php";
     $notifyUrl = JURI::base() . "components/com_osemsc/ipn/payfast_notify.php";
     $returnUrl = urldecode(JROUTE::_(JURI::base() . "index.php?option=com_osemsc&view=thankyou&order_id=" . $orderInfo->order_id));
     $returnUrl = $returnUrl ? $returnUrl : JURI::base() . "index.php?option=com_osemsc&view=member&result=success&amount={$amount}&ordernumber={$order_number}";
     // Create description
     $description = '';
     $vendor_image_url = "";
     $app =& JFactory::getApplication();
     $currentSession = JSession::getInstance('none', array());
     $stores = $currentSession->getStores();
     $html['form'] = '<form action="' . $url . '" method="post">';
     // Construct variables for post
     $post_variables = array('merchant_id' => $merchantId, 'merchant_key' => $merchantKey, 'return_url' => $returnUrl, 'cancel_url' => $cancelUrl, 'notify_url' => $notifyUrl, 'name_first' => substr($billinginfo->firstname, 0, 100), 'name_last' => substr($billinginfo->lastname, 0, 100), 'email_address' => substr($billinginfo->email, 0, 255), 'item_name' => JText::_('Order ID: ') . $order_id, 'item_description' => $description, 'amount' => number_format($amount, 2, '.', ''), 'm_payment_id' => $order_id, 'currency_code' => $currency, 'custom_str1' => $order_number, 'user_agent' => 'Open Source Membership Control V5');
     $html['form'] .= '<input type="image" id="payfast_image" name="cartImage" src="' . "components/com_osemsc/assets/images/checkout.png" . '" alt="' . JText::_('Click to pay with PayFast') . '" />';
     // Process payment variables;
     $html['url'] = $url . "?";
     foreach ($post_variables as $name => $value) {
         $html['form'] .= '<input type="hidden" name="' . $name . '" value="' . htmlspecialchars($value) . '" />';
         $html['url'] .= $name . "=" . urlencode($value) . "&";
     }
     $html['form'] .= '</form>';
     return $html;
 }
 public static function renew($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     $db = oseDB::instance();
     //$post = JRequest::get('post');
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     if (empty($msc_id)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Join Msc: No Msc ID");
         return $result;
     }
     // get the sobi2 credit of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'sobi2credit'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     if (empty($data->credit)) {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
     $query = "SELECT * FROM `#__osemsc_credit` WHERE `member_id` = '{$member_id}'";
     $db->setQuery($query);
     $obj = $db->loadObject();
     if (empty($obj)) {
         $query = " INSERT INTO `#__osemsc_credit`" . " (`member_id`, `credit`, `recharge_times`, `total_consume_amout`)" . " VALUES" . " ('{$member_id}', '{$data->credit}', '0', '0')";
     } else {
         $credit = $obj->credit + $data->credit;
         $recharge_times = $obj->recharge_times + 1;
         $query = "UPDATE `#__osemsc_credit` SET `credit` = '{$credit}', `recharge_times` = '{$recharge_times}' WHERE `member_id` = '{$member_id}'";
     }
     $db->setQuery($query);
     if (!$db->query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
         return $result;
     }
     $result['success'] = true;
     $result['title'] = JText::_('Done');
     $result['content'] = JText::_("Done");
     return $result;
 }
示例#10
0
 public static function save($params)
 {
     $result = array();
     $result['success'] = true;
     //oseExit($params);
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error Join.Idev');
         return $result;
     }
     unset($params['allow_work']);
     if ($params['join_from'] != 'payment') {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_('Done Join.Order');
         return $result;
     }
     $oseMscConfig = oseRegistry::call('msc')->getConfig('thirdparty', 'obj');
     if (empty($oseMscConfig->idev_enable)) {
         return $result;
     }
     if (empty($oseMscConfig->idev_url)) {
         return $result;
     }
     $db = oseDB::instance();
     //$post = JRequest::get('post');
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     $order_id = $params['order_id'];
     $order_item_id = $params['order_item_id'];
     $where = array();
     $where[] = "order_id = {$order_id}";
     $payment = oseRegistry::call('payment');
     $curOrder = $payment->getOrder($where, 'obj');
     $curOrderParams = oseJson::decode($curOrder->params);
     $member = oseRegistry::call('member');
     $member->instance($member_id);
     $userInfo = $member->getUserInfo('obj');
     $memParams = $member->getMemberInfo($msc_id, 'obj')->memParams;
     $memParams = oseJSON::decode($memParams);
     $memParams->first_ip = $curOrderParams->first_ip;
     try {
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $oseMscConfig->idev_url . "/sale.php?profile=72198&idev_saleamt={$curOrder->payment_price}&idev_ordernum={$order_id}&ip_address={$memParams->first_ip}");
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
         curl_exec($ch);
         curl_close($ch);
         return $result;
     } catch (Exception $e) {
         return $result;
     }
 }
示例#11
0
 function setParams($item, $params)
 {
     $itemParams = oseGetValue($item, 'params', '{}');
     $itemParams = oseJson::decode($itemParams);
     if (!is_Array($params)) {
         $params = (array) $params;
     }
     foreach ($params as $key => $value) {
         $itemParams = oseSetValue($itemParams, $key, $value);
     }
     $itemParams = oseJson::encode($itemParams);
     $item = oseSetValue($item, 'params', $itemParams);
     return $item;
 }
 protected function init($item)
 {
     $item = empty($item) ? array() : (array) $item;
     foreach ($item as $key => $value) {
         if ($key == 'config') {
             $value = empty($value) ? '{}' : $value;
             $this->set($key, oseJson::decode($value));
         } elseif ($key == 'params') {
             $this->set($key, $this->getParams($item));
         } else {
             $this->set($key, $value);
         }
     }
 }
示例#13
0
 function getOrderMemInfo()
 {
     $order_id = JRequest::getInt('order_id', 0);
     $db = oseDB::instance();
     $where = array();
     $where[] = "`order_id` = " . $db->quote($order_id);
     $payment = oseRegistry::call('payment');
     $orderInfo = $payment->getOrder($where, 'obj');
     $orderInfoParams = oseJson::decode($orderInfo->params);
     $orderItems = $payment->getOrderItems($order_id, 'obj');
     $orderItem = $orderItems[0];
     $orderItemParams = oseJson::decode($orderItem->params);
     $msc_id = $orderItemParams->msc_id;
     $msc_option = $orderItemParams->msc_option;
     $msc = oseRegistry::call('msc');
     $mscInfo = $msc->getInfo($msc_id, 'obj');
     $paymentInfos = $msc->getExtInfo($msc_id, 'payment');
     $paymentInfo = $paymentInfos[$msc_option];
     if (!empty($paymentInfo['optionname'])) {
         $optionname = $paymentInfo['optionname'];
     } else {
         $optionname = $paymentInfo['recurrence_num'] . ' ' . $paymentInfo['recurrence_unit'] . ' membership';
     }
     $paymentOrder = $payment->getInstance('Order');
     $billinginfo = $paymentOrder->getBillingInfo($orderInfo->user_id);
     $query = " SELECT f.name,v.value FROM `#__osemsc_fields` AS f " . " INNER JOIN `#__osemsc_fields_values` AS v" . " ON f.`id` = v.`field_id`" . " WHERE `member_id` = " . $orderInfo->user_id;
     $db->setQuery($query);
     $profiles = $db->loadObjectList();
     echo "<div style=\"color: #238db4; font-weight: bold; font-size:12px;\">" . JText::_('MEMBERSHIP_INFORMATION') . ":</div>";
     echo "<div>" . JText::_('MEMBERSHIP') . " : " . $mscInfo->title . "</div>";
     echo "<div>" . JText::_('MEMBERSHIP_OPTION') . " : " . $optionname . "</div>";
     echo "</br>";
     echo "<div style=\"color: #238db4; font-weight: bold; font-size:12px;\">" . JText::_('BILLING_INFORMATION') . ":</div>";
     echo "<div>" . JText::_('FIRST_NAME') . " : " . $billinginfo->firstname . "</div>";
     echo "<div>" . JText::_('LAST_NAME') . " : " . $billinginfo->lastname . "</div>";
     echo "<div>" . JText::_('EMAIL') . " : " . $billinginfo->email . "</div>";
     echo "<div>" . JText::_('ADDRESS') . " : " . $billinginfo->addr1 . " " . $billinginfo->addr2 . "</div>";
     echo "<div>" . JText::_('CITY') . " : " . $billinginfo->city . "</div>";
     echo "<div>" . JText::_('STATE') . " : " . $billinginfo->state . "</div>";
     echo "<div>" . JText::_('COUNTRY') . " : " . $billinginfo->country . "</div>";
     echo "<div>" . JText::_('ZIP_POSTAL_CODE') . " : " . $billinginfo->postcode . "</div>";
     echo "<div>" . JText::_('PHONE') . " : " . $billinginfo->telephone . "</div>";
     echo "</br>";
     echo "<div style=\"color: #238db4; font-weight: bold; font-size:12px;\">" . JText::_('ADDITIONAL_INFORMATION') . ":</div>";
     foreach ($profiles as $profile) {
         echo "<div>" . $profile->name . " : " . $profile->value . "</div>";
     }
     oseExit();
 }
 public static function add($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error Register_Order.Idev');
         return $result;
     }
     $orderParams = oseJson::decode($params['params']);
     $orderParams->first_ip = oseMscPublic::getIP();
     $params['params'] = oseJson::encode($orderParams);
     return $params;
 }
示例#15
0
	public static function save($params)
	{
		$result = array();
		$result['success'] = true;
		//oseExit($params);
		if(empty($params['allow_work']))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Join.Order.1');
			
			return $result;
		}
		unset($params['allow_work']);
		
		if( $params['join_from'] != 'payment')
		{
			$result['success'] = true;
			$result['title'] = JText::_('Done');
			$result['content'] = JText::_('Done Join.Order');
			
			return $result;
		}
		
		$db = oseDB::instance();
		//$post = JRequest::get('post');
		$msc_id = $params['msc_id'];
		$member_id = $params['member_id'];
		
		$order_id = $params['order_id'];
		$order_item_id = $params['order_item_id'];
		
		$payment= oseRegistry :: call('payment');
		$orderInfo= $payment->getInstance('Order')->getOrder(array("order_id = {$order_id}"), 'obj');
		$orderInfoParams = oseJson::decode($orderInfo->params);
		
		$array = array();
		$array['id'] = $orderInfoParams->coupon_user_id;
		
		if(!empty($array['id']))
		{
			$array['paid'] = 1;
			$array['user_id'] = $member_id;
			$updated = oseDB::update('#__osemsc_coupon_user','id',$array);
		}
		
		return $result;
	}
示例#16
0
 public static function activate($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     //oseExit($params);
     $db = oseDB::instance();
     $post = JRequest::get('post');
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     if (empty($msc_id)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Renew Msc: No Msc ID");
         return $result;
     }
     // get the groupid of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'jgroup'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     if (empty($data->jgroup_id)) {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
     $user = JUser::getInstance($member_id);
     $group['groups'] = array_merge($user->groups, (array) $data->jgroup_id);
     $user->bind($group);
     if (!$user->save()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     $result['success'] = true;
     $result['title'] = JText::_('Done');
     $result['content'] = JText::_("Done");
     return $result;
 }
示例#17
0
	function display($tpl = null) {
		$tpl = null;
		$this->set('_layout', 'default');
		oseHTML::initCss();
		$com = OSECPU_PATH_JS . '/com_ose_cpu/extjs';
		oseHTML::initScript();
		oseHTML::script($com . '/ose/app.msg.js', '1.5');
		oseHTML::script($com . '/grid/expander.js', '1.5');
		oseHTML::script(OSEMSC_F_URL . '/libraries/init.js', '1.5');
		$config = oseMscConfig::getConfig('global', 'obj');
		oseHTML::stylesheet(OSEMSC_F_URL . '/assets/css/' . $config->frontend_style . '.css', (JOOMLA16) ? '1.6' : '1.5');
		$user = JFactory::getUser();
		$app = JFactory::getApplication('SITE');
		$session = JFactory::getSession();
		$db = oseDB::instance();
		$order_id = JRequest::getInt('order_id');
		$payment = oseRegistry::call('payment');
		$where = array();
		$where[] = "`order_id` = " . $db->quote($order_id);
		$order = $payment->getOrder($where, 'obj');
		$orderInfoParams = oseJson::decode($order->params);
		$redirectUrl = urldecode($orderInfoParams->returnUrl);
		$config = oseMscConfig::getConfig('thirdparty', 'obj');
		$account = oseObject::getValue($config, 'gag_account');
		$standard_type = oseObject::getValue($config, 'gag_domain_mode');
		$domain = oseObject::getValue($config, 'gag_domain');
		$htmlTrack = oseMscPublic::htmlTrack($account, $standard_type, $domain, $order_id);
		$code = oseMscPublic::ajaxOrderTrack($account, $order_id);
		if (empty($code)) {
			$code = false;
		} else {
			$code = implode("", $code);
		}
		$document = JFactory::getDocument();
		$document->addScriptDeclaration('var redirectUrl = "' . $redirectUrl . '";');
		$document->addScriptDeclaration($htmlTrack);
		$document->addScriptDeclaration($code);
		$this->assignRef('orderInfo', $order);
		$this->prepareDocument();
		parent::display($tpl);
	}
示例#18
0
 function getInfo($id)
 {
     $db = oseDB::instance();
     $query = " SELECT * FROM `#__osemsc_coupon` " . "WHERE `id` = " . $id;
     $db->setQuery($query);
     $item = oseDB::loadItem();
     $item['params'] = oseJson::decode($item['params']);
     $data = oseJson::decode($item['data'], true);
     if (empty($data)) {
         $data = array();
     }
     //$item['data'] = $this->generateTable($data);
     $where = array();
     $where[] = "c.`coupon_id` = " . (int) $id;
     $where = oseDB::implodeWhere($where);
     $query = " SELECT Count(*) FROM `#__osemsc_coupon_user` AS c WHERE c.`paid` = '1' AND c.`coupon_id` = " . (int) $id;
     $db->setQuery($query);
     $used = $db->loadResult();
     $item['amount_left'] = $item['amount'] >= $used ? $item['amount'] - $used : 0;
     return $item;
 }
示例#19
0
	function display($tpl = null) {
		$tpl = null;
		$this->set('_layout', 'default');
		oseHTML::initCss();
		$com = OSECPU_PATH_JS . '/com_ose_cpu/extjs';
		oseHTML::initScript();
		oseHTML::script($com . '/ose/app.msg.js', '1.5');
		oseHTML::script($com . '/grid/expander.js', '1.5');
		oseHTML::script(OSEMSC_F_URL . '/libraries/init.js', '1.5');
		$config = oseMscConfig::getConfig('global', 'obj');
		oseHTML::stylesheet(OSEMSC_F_URL . '/assets/css/' . $config->frontend_style . '.css', (JOOMLA16) ? '1.6' : '1.5');
		$user = JFactory::getUser();
		$app = JFactory::getApplication('SITE');
		$session = JFactory::getSession();
		$db = oseDB::instance();
		$token = (isset($_REQUEST['token'])) ? urlencode($_REQUEST['token']) : "";
		$payment = oseRegistry::call('payment');
		$payment_mode = JRequest::getVar('mode');
		$orderID = JRequest::getInt('orderID');
		if (empty($orderID) || !is_numeric($orderID)) {
			echo "Order data is interrupted, payment process is terminated.";
		}
		if ($payment_mode == 'm') {
			$orderInfo = $payment->PaypalAPIPay($orderID, $token);
		} else {
			$orderInfo = $payment->PaypalAPICreateProfile($orderID, $token);
		}
		$where = array();
		$where[] = "`order_id` = " . $db->quote($orderID);
		$order = $payment->getOrder($where, 'obj');
		$orderInfoParams = oseJson::decode($order->params);
		$redirectUrl = urldecode($orderInfoParams->returnUrl);
		$document = JFactory::getDocument();
		$document->addScriptDeclaration('var redirectUrl = "' . $redirectUrl . '";');
		$this->assignRef('orderInfo', $orderInfo);
		$this->prepareDocument();
		parent::display($tpl);
	}
示例#20
0
	public static function save($params)
	{
		$result = array();
		
		if(empty($params['allow_work']))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_("Error");
			return $result;
		}
		unset($params['allow_work']);
		//oseExit($params);
		$db = oseDB::instance();
		//$post = JRequest::get('post');
		$msc_id = $params['msc_id'];
		$member_id = $params['member_id'];
		
		/*
		if( $params['join_from'] != 'payment' )
		{
			$result['success'] = true;
			$result['title'] = JText::_('Done');
			$result['content'] = JText::_("Join Msc: No Msc ID");
			return $result;
		}
		*/
		if(empty($msc_id))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_("Join Msc: No Msc ID");
			return $result;
		}
		
		// get the jspt id of msc
    	$query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'jspt'";
        $db->setQuery($query);
        $data = $db->loadObject();
		$data = oseJson::decode($data->params);
		
		if(empty($data->jspt_id) || empty($data->enable))
	    {
	    	$result['success'] = true;
			$result['title'] = JText::_('Done');
			$result['content'] = JText::_("Done");
			return $result;
	    }
	    
		$query = " SELECT userid FROM `#__xipt_users` WHERE `userid` = '{$member_id}' ";
		$db->setQuery($query);
		$userid = $db->loadResult();
		        	
		if($userid > 0)
		{
			$query = "SELECT id from `#__community_fields` WHERE `type` = 'profiletypes'";
			$db->setQuery($query);
			$jsptid = $db->loadResult(); 
		        		
			$query = "UPDATE `#__community_fields_values`  SET `value` = '{$data->jspt_id}'  WHERE `user_id` = '{$member_id}' AND `field_id` = '{$jsptid}'";
			$db->setQuery($query);
			$db->query(); 
		        		 
		   	$query = "UPDATE `#__xipt_users`  SET `profiletype` = '{$data->jspt_id}'  WHERE `userid` = '{$member_id}'";
			
		    $db->setQuery($query);
		    if (!$db->query())
		    {
			    $result['success'] = false;
				$result['title'] = 'Error';
				$result['content'] = JText::_('Error');
				return $result;
			}
		}else{
			
			$query = " INSERT INTO `#__xipt_users` (`profiletype`, `userid`) "
					." VALUES ('{$data->jspt_id}','{$member_id}') "
					;
			$db->setQuery($query);
			if (!$db->query())
			{
				$result['success'] = false;
				$result['title'] = 'Error';
				$result['content'] = JText::_('Error');
				return $result;
			}
		}
		    
		//Jomsocial Sync
		if(!empty($data->jomsync))
		{
			$query = "SELECT * FROM `#__osemsc_billinginfo` WHERE `user_id` = ".$member_id;
			$db->setQuery($query);
			$obj = $db->loadObject();
			if(!empty($obj))
			{
				$query = "SELECT * FROM `#__osemsc_country` WHERE `country_3_code` = '{$obj->country}'";
				$db->setQuery($query);
				$country = $db->loadObject();
				$obj->country = $country->country_name;
				$query = "SELECT state_name FROM `#__osemsc_state` WHERE `state_2_code` = '{$obj->state}' AND `country_id` = '{$country->country_id}'";
				$db->setQuery($query);
				$obj->state = $db->loadResult();
				$array = array();
				$array['firstname'] = $obj->firstname; 
				$array['lastname'] = $obj->lastname; 
				$array['company'] = $obj->company; 
				$array['addr1'] = $obj->addr1; 
				$array['addr2'] = $obj->addr2; 
				$array['city'] = $obj->city; 
				$array['state'] = $obj->state;
				$array['country'] = $obj->country;
				$array['postcode'] = $obj->postcode;
				$array['telephone'] =  $obj->telephone;
				
				foreach($array as $key => $val)
				{
					$val = $db->Quote($val);
					if(empty($data->$key))
					{
						continue;
					}
					$fid = $data->$key;
					$query = "SELECT count(*) FROM `#__community_fields_values` WHERE `field_id` = '{$fid}' AND `user_id` = ".$member_id;
					$db->setQuery($query);
					$exist = $db->loadResult();
					if(empty($exist))
					{
						$query = "INSERT INTO `#__community_fields_values` (`user_id`, `field_id`, `value`) VALUES ('{$member_id}', '{$fid}', {$val})";
					}else{
						$query = "UPDATE `#__community_fields_values` SET `value` = {$val} WHERE `field_id` = '{$fid}' AND `user_id` = ".$member_id;
					}
					$db->setQuery($query);
					if (!$db->query())
					{
						$result['success'] = false;
						$result['title'] = 'Error';
						$result['content'] = JText::_('Error');
						return $result;
					}

				}
			}
		}
		$result['success'] = true;
		$result['title'] = JText::_('Done');
		$result['content'] = JText::_("Done");
			
		return $result;
		
	}
示例#21
0
 public static function renew($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     //oseExit($params);
     $db = oseDB::instance();
     $post = JRequest::get('post');
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     if (empty($msc_id)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Renew Msc: No Msc ID");
         return $result;
     }
     // get the vm shopper group id of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'vm2'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     if (!empty($data->sg_id)) {
         $vm_sg_id = $data->sg_id;
     } else {
         $query = "SELECT virtuemart_shoppergroup_id FROM `#__virtuemart_shoppergroups` WHERE `default` = '1'";
         $db->setQuery($query);
         $vm_sg_id = $db->loadResult();
     }
     $user_info_id = md5(uniqid($member_id));
     $query = "SELECT count(*) FROM `#__virtuemart_userinfos` WHERE `virtuemart_user_id` = " . (int) $member_id;
     $db->setQuery($query);
     $result = $db->loadResult();
     $option = JRequest::getVar('option');
     if (empty($result) && $option != 'com_virtuemart') {
         $query = "INSERT INTO `#__virtuemart_userinfos` (`virtuemart_userinfo_id`, `virtuemart_user_id`, `address_type`) VALUES ('{$user_info_id}', '{$member_id}', 'BT');";
         $db->setQuery($query);
         if (!$db->query()) {
             $result['success'] = false;
             $result['title'] = 'Error';
             $result['content'] = JText::_("Join VM User Info Error.");
             return $result;
         }
     }
     $query = "SELECT virtuemart_shoppergroup_id FROM `#__virtuemart_vmuser_shoppergroups` WHERE `virtuemart_user_id` = " . (int) $member_id;
     $db->setQuery($query);
     $result = $db->loadResult();
     if (!empty($result)) {
         $query = "UPDATE `#__virtuemart_vmuser_shoppergroups` SET `virtuemart_shoppergroup_id` =" . (int) $vm_sg_id . " WHERE `virtuemart_user_id` =" . (int) $member_id;
     } else {
         $query = "INSERT INTO `#__virtuemart_vmuser_shoppergroups` (`id` ,`virtuemart_user_id` ,`virtuemart_shoppergroup_id`)VALUES (NULL, '{$member_id}', '{$vm_sg_id}');";
     }
     $db->setQuery($query);
     if (!$db->query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Join VM User Info Error.");
         return $result;
     }
     //Update VM billing Info
     if ($data->update_billing) {
         $payment = oseRegistry::call('payment');
         $paymentOrder = $payment->getInstance('Order');
         $billinginfo = $paymentOrder->getBillingInfo($member_id);
         $user = JFactory::getUser($member_id);
         if (!empty($billinginfo)) {
             $query = "SELECT virtuemart_country_id FROM `#__virtuemart_countries` WHERE `country_3_code` = '{$billinginfo->country}'";
             $db->setQuery($query);
             $country_id = $db->loadResult();
             $query = "SELECT virtuemart_state_id FROM `#__virtuemart_states` WHERE `virtuemart_country_id` = '{$country_id}' AND `state_2_code` = '{$billinginfo->state}'";
             $db->setQuery($query);
             $state_id = $db->loadResult();
             $bill = array();
             $bill['company'] = empty($billinginfo->company) ? null : $billinginfo->company;
             $bill['first_name'] = empty($billinginfo->firstname) ? null : $billinginfo->firstname;
             $bill['last_name'] = empty($billinginfo->lastname) ? null : $billinginfo->lastname;
             $bill['name'] = $bill['first_name'] . ' ' . $bill['last_name'];
             $bill['phone_1'] = empty($billinginfo->telephone) ? null : $billinginfo->telephone;
             $bill['address_1'] = empty($billinginfo->addr1) ? null : $billinginfo->addr1;
             $bill['address_2'] = empty($billinginfo->addr2) ? null : $billinginfo->addr2;
             $bill['city'] = empty($billinginfo->city) ? null : $billinginfo->city;
             $bill['virtuemart_state_id'] = empty($state_id) ? null : $state_id;
             $bill['zip'] = empty($billinginfo->postcode) ? null : $billinginfo->postcode;
             //$bill['user_email'] = empty($user->email )?null:$user->email;
             $bill['virtuemart_country_id'] = empty($country_id) ? null : $country_id;
             $billinfo = array();
             foreach ($bill as $key => $value) {
                 if (!empty($value)) {
                     $billinfo[$key] = "`{$key}`=" . $db->Quote($value);
                 }
             }
             $values = implode(',', $billinfo);
             $query = " UPDATE `#__virtuemart_userinfos` SET {$values}" . " WHERE `virtuemart_user_id` ={$member_id} AND `address_type` = 'BT'";
             $db->setQuery($query);
             if (!$db->query()) {
                 $result['success'] = false;
                 $result['title'] = 'Error';
                 $result['content'] = JText::_("Join VM User Info Error.");
                 return $result;
             }
         }
     }
     $result['success'] = true;
     $result['title'] = JText::_('Done');
     $result['content'] = JText::_("Done");
     return $result;
 }
示例#22
0
 public static function cancel($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     $db = oseDB::instance();
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     // get the vm shopper group id of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'vm'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     $query = "SELECT shopper_group_id FROM #__vm_shopper_vendor_xref WHERE user_id=" . (int) $member_id;
     $db->setQuery($query);
     $gid = $db->loadResult();
     if ($data->sg_id != $gid) {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
     $query = "SELECT * FROM `#__osemsc_member` WHERE `member_id` = '{$member_id}' AND `status` = '1' ORDER BY `id` DESC";
     $db->setQuery($query);
     $Mems = $db->loadObjectList();
     if (!empty($Mems)) {
         $own_msc_id = $Mems[0]->msc_id;
         $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$own_msc_id}' AND `type` = 'vm'";
         $db->setQuery($query);
         $ext = $db->loadObject();
         $ext = oseJson::decode($ext->params);
         $vm_sg_id = $ext->sg_id;
     } else {
         $query = "SELECT shopper_group_id FROM `#__vm_shopper_group` WHERE `default` = '1'";
         $db->setQuery($query);
         $vm_sg_id = $db->loadResult();
     }
     $query = "UPDATE `#__vm_shopper_vendor_xref` SET `shopper_group_id` =" . (int) $vm_sg_id . " WHERE `user_id` =" . (int) $member_id;
     $db->setQuery($query);
     if (!$db->query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = $db->getErrorMsg();
         oseExit($result);
     } else {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
 }
示例#23
0
 function getEmailVariablesReceipt($order_id, $user_id = null)
 {
     $db = oseDB::instance();
     $content = array();
     // get Order Info
     $payment = oseRegistry::call('payment');
     $where = array();
     $where[] = "order_id = {$order_id}";
     $orderInfo = $payment->getOrder($where, 'obj');
     $orderInfoParams = oseJson::decode($orderInfo->params);
     $paymentInfo = oseMscAddon::getExtInfo($orderInfo->entry_id, 'payment', 'obj');
     $member = oseRegistry::call('member');
     $member->instance($orderInfo->user_id);
     $userInfo = $member->getBillingInfo('obj');
     $userInfo->email = $userInfo->user_email;
     $orderInfo->subtotal = $orderInfoParams->subtotal;
     $orderInfo->total = $orderInfoParams->recurrence_times > 1 ? $orderInfoParams->next_total : $orderInfoParams->total;
     $orderInfo->discount = isset($orderInfoParams->discount) ? $orderInfoParams->discount : 0;
     $gw = $payment->getInstance('GateWay');
     $gwInfo = $gw->getGWInfo($orderInfo->payment_method);
     if (!empty($gwInfo)) {
         if ($gwInfo->is_cc) {
             $orderInfo->payment_method = 'Credit Card';
         }
     }
     $orderInfo->itemlist = $this->generateOrderTable($order_id, $orderInfo->user_id);
     if ($orderInfo->payment_mode == 'm') {
         $orderInfo->payment_mode = JText::_('Manual Billing');
         $orderInfo->gross_tax = oseObject::getValue($orderInfoParams, 'gross_tax', '0.00');
         if ($orderInfo->gross_tax > 0) {
             $orderInfo->vat_number = oseObject::getValue($orderInfoParams, 'vat_number');
         }
     } else {
         $orderInfo->payment_mode = JText::_('Automatic Billing');
         $params = oseJson::decode($orderInfo->params);
         $price = null;
         if (oseObject::getValue($orderInfoParams, 'has_trial', 0)) {
             if (oseObject::getValue($orderInfoParams, 'recurrence_times', 0) <= 1) {
                 $orderInfo->gross_tax = oseObject::getValue($orderInfoParams, 'gross_tax', '0.00');
             } else {
                 $orderInfo->gross_tax = oseObject::getValue($orderInfoParams, 'next_gross_tax', '0.00');
             }
         } else {
             if (oseObject::getValue($orderInfoParams, 'recurrence_times', 0) <= 2) {
                 $orderInfo->gross_tax = oseObject::getValue($orderInfoParams, 'gross_tax', '0.00');
             } else {
                 $orderInfo->gross_tax = oseObject::getValue($orderInfoParams, 'next_gross_tax', '0.00');
             }
         }
         $orderInfo->vat_number = oseObject::getValue($orderInfoParams, 'vat_number');
         $orderInfo->recurring_price = $orderInfo->payment_currency . ' ' . $orderInfoParams->next_total;
         $orderInfo->recurring_frequency = $orderInfoParams->p3 . ' ' . $orderInfoParams->t3;
     }
     $query = "SELECT entry_id FROM `#__osemsc_order_item` WHERE `order_id` = " . $order_id;
     $db->setQuery($query);
     $msc_id = $db->loadResult();
     $query = " SELECT *,DATE_SUB(`expired_date`,INTERVAL 1 DAY) AS `real_expired_date` " . " FROM `#__osemsc_member`" . " WHERE member_id = {$orderInfo->user_id} AND msc_id={$msc_id}";
     $db->setQuery($query);
     $memberInfo = oseDB::loadItem('obj');
     $query = "SELECT * FROM `#__osemsc_acl` WHERE `id` = {$msc_id}";
     $db->setQuery($query);
     $mscInfo = oseDB::loadItem('obj');
     $memberInfo->msc_title = $mscInfo->title;
     $memberInfo->msc_des = $mscInfo->description;
     $orderInfo->current_date = oseHTML::getDateTime();
     $globalConfig = oseRegistry::call('msc')->getConfig('global', 'obj');
     if (!empty($globalConfig->DateFormat)) {
         $memberInfo->start_date = date($globalConfig->DateFormat, strtotime($memberInfo->start_date));
         $orderInfo->create_date = date($globalConfig->DateFormat, strtotime($orderInfo->create_date));
         $orderInfo->current_date = date($globalConfig->DateFormat, strtotime($orderInfo->current_date));
     }
     $content['user'] = $userInfo;
     $content['order'] = $orderInfo;
     $content['profile'] = $member->getProfile();
     $content['member'] = $memberInfo;
     return $content;
 }
示例#24
0
	public static function activate($params)
	{
		$result = array();
		$result['success'] = true;
		
		if(empty($params['allow_work']))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_("Error");
			return $result;
		}
		unset($params['allow_work']);
		
		//oseExit($params);
		$db = oseDB::instance();
		$post = JRequest::get('post');
		$msc_id = $params['msc_id'];
		$member_id = $params['member_id'];
		$order_id = $params['order_id'];
		$order_item_id = $params['order_item_id'];
		
		if(empty($msc_id))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_("Renew Msc: No Msc ID");
			return $result;
		}
		
		
		$where = array();
		$where[] = "order_item_id = {$order_item_id}";
		
		$payment = oseRegistry::call('payment');
		
		$curOrder = $payment->getOrderItem($where,'obj');
		
		$curOrderParams = oseJson::decode($curOrder->params);
		
		$msc = oseRegistry::call('msc');
		
		$exts = $msc->getExtInfo($msc_id,'payment','obj');
		$ext = $exts->{$curOrderParams->msc_option};
		
		if(empty($ext))
		{
			$result['success'] = false;
			$result['title'] = 'Done';
			$result['content'] = JText::_('Fail Renewing Membership.');
			
			return $result; 
		}
		
		$config = $msc->getConfig('global','obj');
		$manual_renew_mode = empty($ext->manual_renew_mode)?$config->manual_renew_mode:$ext->manual_renew_mode;
		$manual_to_automatic_mode = empty($ext->manual_to_automatic_mode)?$config->manual_to_automatic_mode:$ext->manual_to_automatic_mode;
		
		
		if($curOrder->payment_mode == 'm')
		{
			$updated = self::activateInManualMode($msc_id,$member_id,$curOrder,$ext);
		}
		else // current order payment mode is a!
		{
			$updated = self::activateInAutoMaticMode($msc_id,$member_id,$curOrder,$ext);
		}
		
		return $updated;
	}
 function refundOrder($order_id, $params = array())
 {
     $db = oseDB::instance();
     $this->updateOrder($order_id, "refunded", $params);
     $where = array();
     $where[] = '`order_id` = ' . $db->Quote($order_id);
     $orderInfo = $this->getOrder($where, 'obj');
     $user_id = $orderInfo->user_id;
     $query = " SELECT * FROM `#__osemsc_order_item`" . " WHERE `order_id` = '{$orderInfo->order_id}'";
     $db->setQuery($query);
     $items = oseDB::loadList('obj');
     foreach ($items as $item) {
         switch ($item->entry_type) {
             case 'license':
                 $license = oseRegistry::call('lic')->getInstance(0);
                 $licenseInfo = $license->getKeyInfo($item->entry_id, 'obj');
                 $licenseInfoParams = oseJson::decode($licenseInfo->params);
                 $msc_id = $licenseInfoParams->msc_id;
                 $updated = $this->cancelMsc($order_id, $item->order_item_id, $msc_id, $user_id);
                 break;
             default:
             case 'msc':
                 $updated = $this->cancelMsc($order_id, $item->order_item_id, $item->entry_id, $user_id);
                 break;
         }
         if (!$updated['success']) {
             return $updated;
         }
     }
     $return['success'] = true;
     $return['title'] = JText::_('Success');
     $return['content'] = JText::_('Refunded Successfully');
     $session = JFactory::getSession();
     $session->set('osecart', array());
     return $return;
 }
示例#26
0
	$orderInfo = $payment->getOrder($where, 'obj');
	$orderInfoParams= oseJson :: decode($orderInfo->params);
	$order_id= $orderInfo->order_id;
	$member_id= $orderInfo->user_id;
	$Amount = intval(strval(100 * $orderInfo->payment_price));
	
	$query = "SELECT * FROM `#__osemsc_order_item` WHERE `order_id` = ".$orderInfo->order_id;
	$db->setQuery($query);
	$orderItem = $db->loadObject();
	$msc_id = $orderItem->entry_id;
	$orderItemParams = oseJson :: decode($orderItem->params);
	$msc_option = $orderItemParams->msc_option;
	$query = "SELECT params FROM `#__osemsc_ext` WHERE `type` = 'paymentAdv' AND `id` = ".$msc_id;
	$db->setQuery($query);
	$ext = $db->loadResult();
	$params = oseJson :: decode($ext);



	if(isset($params->$msc_option->installment) && !empty($params->$msc_option->installment))
	{
		$InstallmentCount = $params->$msc_option->installment;
	}

    //settings for garanti
    require_once(OSEMSC_F_HELPER . DS . 'oseMscPublic.php');
    $cart = oseMscPublic::getCart();

    if(isset($cart->cart['params']['garanti_taksit']) && $cart->cart['params']['garanti_taksit'] && isset($cart->cart['params']['garanti_vade']) && $cart->cart['params']['garanti_vade']) {
        $InstallmentCount = $cart->cart['params']['garanti_taksit'];
        $vade = $cart->cart['params']['garanti_vade'];
示例#27
0
 public static function cancel($params)
 {
     $result = array();
     $result['success'] = true;
     if (empty($params['allow_work'])) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Error");
         return $result;
     }
     unset($params['allow_work']);
     $db = oseDB::instance();
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     // get the list id of msc
     $query = "SELECT * FROM `#__osemsc_ext` WHERE `id` = '{$msc_id}' AND `type` = 'acymailing'";
     $db->setQuery($query);
     $data = $db->loadObject();
     $data = oseJson::decode($data->params);
     if (empty($data->listid)) {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Done");
         return $result;
     }
     if (!(include_once rtrim(JPATH_ADMINISTRATOR, DS) . DS . 'components' . DS . 'com_acymailing' . DS . 'helpers' . DS . 'helper.php')) {
         $result['success'] = false;
         $result['title'] = JText::_('Error');
         $result['content'] = JText::_("This plugin can not work without the AcyMailing Component");
         return $result;
     }
     // delete member in mail list
     $userClass = acymailing::get('class.subscriber');
     $newSubscription = array();
     $newList = null;
     $newList['status'] = 0;
     $newSubscription[$data->listid] = $newList;
     $subid = $userClass->subid($member_id);
     if (!empty($subid)) {
         $userClass->saveSubscription($subid, $newSubscription);
     }
     return $result;
 }
示例#28
0
 function getPriceTrial($node, $payment, $osePaymentCurrency)
 {
     $a1 = oseObject::getValue($payment, 'a1');
     $p1 = oseObject::getValue($payment, 'p1');
     $t1 = oseObject::getValue($payment, 't1');
     $primaryCurrency = oseRegistry::call('msc')->getConfigItem('primary_currency', 'currency', 'obj');
     $priceSystem = new osePaymentPrice($primaryCurrency->value, oseJson::decode($primaryCurrency->default));
     $priceSystem->setSelectedCurrency($osePaymentCurrency);
     $a1 = $priceSystem->pricing($a1, $osePaymentCurrency, oseObject::getValue($node, 'id'), oseObject::getValue($payment, 'id'));
     $trial_price = $a1;
     $node = oseObject::setValue($node, 'trial_raw_price', $trial_price);
     $node = oseObject::setValue($node, 'trial_price', $osePaymentCurrency . ' ' . $trial_price);
     if ($p1 > 1) {
         $t1 .= 's';
     }
     $node = oseObject::setValue($node, 'trial_recurrence', $p1 . ' ' . JText::_(strtoupper($t1)));
     return $node;
 }
	public static function renew($params)
	{
		if(!class_exists('oseMscPublic'))
		{
			require_once(OSEMSC_F_HELPER.DS.'oseMscPublic.php');
		}
		$result = array();
		$result['success'] = true;
		
		if(empty($params['allow_work']))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Renew.Order');
			
			return $result;
		}
		//unset($params['allow_work']);
		
		$oseMscConfig = oseRegistry::call('msc')->getConfig('thirdparty','obj');
		
		$db = oseDB::instance();
		//$post = JRequest::get('post');
		$msc_id = $params['msc_id'];
		$member_id = $params['member_id'];
		$order_id = $params['order_id'];
		$order_item_id = $params['order_item_id'];
		
		$where = array();
		$where[] = "order_id = {$order_id}";
		
		$payment = oseRegistry::call('payment');
		$curOrder = $payment->getOrder($where,'obj');
		$curOrderParams = oseJson::decode($curOrder->params);
		$recurrence_times = ($curOrderParams->has_trial)?oseObject::getValue($curOrderParams,'recurrence_times',0)+1:oseObject::getValue($curOrderParams,'recurrence_times',0);
		
		if(oseObject::GetValue($config, 'oseaffiliate_enabled',true))
		{
			if(empty($curOrderParams->oseaffiliateID) || empty($curOrderParams->osebannerID))
			{
				return true;
			}
			else
			{
				//$memParams->oseaffiliateID = $curOrderParams->oseaffiliateID;
				//$memParams->osebannerID = $curOrderParams->osebannerID;
			}
		
			$file = JPATH_ADMINISTRATOR.DS.'com_ose_affiliates'.DS.'helpers'.DS.'oseaffiliates_helper.php';
			if ( JFile::exists($file) )
			{
				require_once($file);
			}
			else
			{
				return false;
			}
		
			$msc = oseRegistry::call('msc');
				
			$where = array();
			$where[] = "`order_item_id` = '{$order_item_id}'";
				
			$curOrderItem = $payment->getInstance('Order')->getOrderItem($where,'obj');
			$curOrderItemParams = oseJson::decode($curOrderItem->params);
				
			$node = $msc->getInfo($msc_id,'obj');
			$paymentInfos = $msc->getExtInfo($msc_id,'payment');
			foreach($paymentInfos as $key => $paymentInfo)
			{
				if($key != $curOrderItemParams->msc_option)
				{
					unset($paymentInfos[$key]);
				}
			}
				
			$osePaymentCurrency = $curOrder->payment_currency;
		
			$options = oseMscPublic::generatePriceOption($node,$paymentInfos,$osePaymentCurrency);
			$product = "{$node->title}-{$options[0]['title']}";
		
			$helper = new oseAffiliatesHelper();
			$helper->setTotalCost($curOrder->payment_price);
			$helper->setOrderId($order_id);
			$helper->setProduct($product);
			$helper->setCurrency($osePaymentCurrency);
			$helper->setAffiliateId($curOrderParams->oseaffiliateID);
			$helper->setBannerId($curOrderParams->osebannerID);
			if(!$helper->createSale())
			{
				return false;
			}
		}
		
		return $result;
	}
示例#30
0
		$mailsubject= "Realex IPN Transaction Error on your site";
		$mailbody= "Validation Failed,hashes is not match";
		$emailObj= new stdClass();
		$emailObj->subject= $mailsubject;
		$emailObj->body= $mailbody;
		$apiEmail->sendToAdminGroup($emailObj, $oseMscConfig->admin_group);
		$app->redirect(JURI :: root()."index.php?option=com_osemsc&view=register",'Error');
		return;
	} else {
		if ($result == "00") {
			$db = oseDB::instance();
			$where = array();
			$where[] = "`order_id` = " . $db->quote($orderid);
			$payment = oseRegistry::call('payment');
			$orderInfo = $payment->getOrder($where, 'obj');
			$orderInfoParams = oseJson::decode($orderInfo->params);
			$order_id = $orderInfo->order_id;
			$member_id = $orderInfo->user_id;
			$server = str_replace('/components/com_osemsc/ipn', '', JURI::base());
			$returnUrl = JROUTE::_($server . "index.php?option=com_osemsc&view=thankyou&order_id=" . $orderInfo->order_id);
			$redirectUrl = (!empty($returnUrl)) ? $returnUrl : JURI::root() . "index.php?option=com_osemsc&view=member";
			
			$payment = oseRegistry::call('payment')->getInstance('Order');
			$payment->confirmOrder($order_id, array(), 0, $member_id);
			
			$message = $process->getMessage($redirectUrl);
			echo $message.''; exit;
			//$app->redirect($redirectUrl, $message);
		} else {
			echo 'There is an error in your transaction. Please retry.'; exit;
			//$app->redirect(JURI::root() . "index.php?option=com_osemsc&view=register", $message);