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; } }
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; }
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; }
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; }
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; } }
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); } } }
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; }
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; }
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; }
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); }
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; }
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); }
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; }
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; }
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; } }
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; }
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; }
$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'];
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; }
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; }
$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);