public static function cancel($params) { $db = oseDB::instance(); $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']); if (empty($params['master'])) { $result['success'] = true; $result['title'] = 'Error'; $result['content'] = JText::_("Error"); return $result; } unset($params['allow_work']); $tmpl_var_instant = true; $msc_id = $db->Quote($params['msc_id']); $member_id = $db->Quote($params['member_id']); if ($tmpl_var_instant) { $query = " UPDATE `#__osemsc_member` " . " SET expired_date = " . $db->Quote(oseHtml::getDateTime()) . " WHERE msc_id = {$msc_id} AND member_id = {$member_id}"; $db->setQuery($query); if (!oseDB::query()) { $result['success'] = false; $result['title'] = 'Error'; $result['content'] = JText::_("Cancel Msc Error"); } } return $result; }
function display($tpl = null) { JToolBarHelper::title(JText::_('OSE Membership™ Update Member Info.') . ' <small><small>[ ' . OSEMSCVERSION . ' ]</small></small>', 'logo'); $doc = JFactory::getDocument(); // init table $db =& JFactory::getDBO(); // ACL Info; $tables = $db->getTableList(); $jConfig = JFactory::getConfig(); $this->checkFixTable(); //$doc->addScript(JURI::root().'media/system/js/core.js'); $com = OSECPU_PATH_JS . '/com_ose_cpu/extjs'; oseHtml::script('media/system/js/core.js'); oseHTML::initScript(); oseHTML::script($com . '/ose/app.msg.js'); oseHTML::script($com . '/ose/func.js'); $com = OSECPU_PATH_JS . '/com_ose_cpu/extjs'; $this->items = $this->get('Items'); $this->modules = $this->get('Modules'); $this->pagination = $this->get('Pagination'); $this->state = $this->get('State'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } parent::display($tpl); }
function PNWCreateProfile($isSub = 1, $params) { $user_id = $params['user_id']; $project_id = $params['project_id']; $project_password = $params['project_password']; $amount = $params['amount']; $currency_id = $params['currency_id']; $language_id = $params['language_id']; $orderId = $params['order_number']; $reason1 = $params['reason_1']; //$expires = $this->transInterval($params['recurrence_unit'],$params['expires']); //$expires = $expires['length']; $data = array('user_id' => $user_id, 'project_id' => $project_id, 'sender_holder' => '', 'sender_account_number' => '', 'sender_bank_code' => '', 'sender_country_id' => '', 'amount' => $amount, 'currency_id' => $currency_id, 'reason_1' => $reason1, 'reason_2' => '', 'user_variable_0' => $orderId, 'user_variable_1' => '', 'user_variable_2' => '', 'user_variable_3' => '', 'user_variable_4' => '', 'user_variable_5' => '', 'project_password' => $project_password); $hash = $this->getHash($data); $form = oseHtml::getInstance('form'); $link = OSEMSC_F_URL; //.'/index.php?option=com_osemsc'; $hiddenMerchantnumber = $form->hidden('user_id', $user_id); $hiddenAmount = $form->hidden('amount', $amount); $hiddenCurrency = $form->hidden('currency_id', $currency_id); $hiddenUV0 = $form->hidden('user_variable_0', $orderId); $hiddenReason1 = $form->hidden('reason_1', $reason1); $hiddenReason2 = $form->hidden('reason_2', ''); //$hiddenExpires = $form->hidden('expires',$expires); $hiddenProject = $form->hidden('project_id', $project_id); //$hiddenLanguage = $form->hidden('language_id',$language_id); $hiddenHash = $form->hidden('hash', $hash); $submit = $form->submit('submit_button', 'submit', 'submit_button'); //$form->append('<script type="text/javascript" src="http://www.epay.dk/js/standardwindow.js"></script> '); $form->createForm('https://www.directebanking.com/payment/start', null, null, 'POST', 'ePay_window'); $form->addLevel(); $form->sc('et'); $form->append($hiddenMerchantnumber); $form->sc('et'); $form->append($hiddenProject); $form->sc('et'); $form->append($hiddenAmount); $form->sc('et'); $form->append($hiddenCurrency); $form->sc('et'); $form->append($hiddenUV0); $form->sc('et'); $form->append($hiddenReason1); $form->sc('et'); $form->append($hiddenReason2); $form->sc('et'); $form->append($hiddenHash); $form->sc('et'); //$form->append($hiddenLanguage); //$form->sc('et'); $form->append($submit); $form->sc('et'); $form->subLevel(); $form->sc('et'); $form->endForm(); $html = $form->output(); return $html; }
function __construct($config = array()) { parent::__construct($config); JHTML::addIncludePath(OSEMSC_F_HELPER); // add detect $detect = new Mobile_Detect(); //$this->isMobile = $detect->isMobile(); $this->isMobile = false; $view = JRequest::getCmd('view'); if ($this->isMobile && !empty($view) && in_array($view, array('login', 'register', 'member'))) { // Any mobile device. $this->setLayout('mobile'); JRequest::setvar('tmpl', 'component'); oseHtml::loadTouchJs(); oseHTML::stylesheet('components/com_osemsc/assets/css/msc5mobile.css', '1.5'); } else { $jversion = (JOOMLA16 == true) ? '1.6' : '1.5'; oseHTML::script('media/system/js/core.js', $jversion); $this->loadViewJs(); } }
function search($key, $exact = false) { $html = oseHtml::getInstance('form'); $html->append('<table width="1000px">'); $html->sc('et'); $html->append('<thead>'); $html->sc('eta'); $html->append('<tr>'); $html->sc('eta'); $html->append('<th width="5%">ID</th><th width="33%">File name</th><th>Path</th>'); $html->sc('ets'); $html->append('</tr>'); $html->sc('ets'); $html->append('</thead>'); $html->sc('et'); $i = 0; $html->append('<tbody>'); $html->sc('eta'); foreach ($this->get('files') as $file) { $data = JFile::read($file); preg_match_all("/{$key}/", $data, $matches); if (count($matches[0]) > 0) { $html->append('<tr>'); $html->sc('eta'); $html->append('<td align="center">' . $i . '</td><td align="right">' . basename($file) . '</td><td style="padding-left:20px">' . $file . '</td>'); $html->sc('ets'); $html->append('</tr>'); $html->sc('et'); $i++; } } $html->append('</tbody>'); $html->sc('ets'); $html->append('</table>'); return $html->output(); }
function AuthorizeARBCreateProfile($orderInfo, $credit_info, $params = array()) { ini_set('max_execution_time', '180'); // Test if the User's credit card has enough funding, if so, void the order; $result = self::AuthorizeAIMPay($orderInfo, $credit_info, $params, $TransactionType = 'AUTH_ONLY'); if ($result['isApproved'] == true) { $voidResult = self::AuthorizeAIMVoid($result['TransactionID']); if ($voidResult['isApproved'] == false) { return self::getErrorMessage('cc', '0000', $voidResult['ResponseText']); } } else { return self::getErrorMessage('cc', '0000', $result['content']); } // Now proceed the Recurring payment plan creation; $db = oseDB::instance(); $result = array(); $user_id = $orderInfo->user_id; $msc_id = $orderInfo->entry_id; $order_id = $orderInfo->order_id; $order_number = $orderInfo->order_number; $orderInfoParams = oseJson::decode($orderInfo->params); // Get User billing information; $desc = $this->generateDesc($order_id); //$node= oseRegistry :: call('msc')->getInfo($msc_id, 'obj'); $billingInfo = $this->getBillingInfo($orderInfo->user_id); // Payments /* $payment= oseMscAddon :: getExtInfo($orderInfo->entry_id, 'payment', 'obj'); if(isset($params['msc_option'])) { $msc_option = $params['msc_option']; unset($params['msc_option']); } $payment = oseObject::getValue($payment,$msc_option); */ $taxRate = isset($orderInfoParams->tax_rate) ? $orderInfoParams->tax_rate : 0; // Reference ID; $refID = substr($order_number, 0, 19) . "A"; $invoice = substr($order_number, 0, 19) . "A"; $name = "MEM{$msc_id}UID{$user_id}_" . date("Ymdhis"); $taxRate = $payment->tax_rate; // Credit Card Informaiton; $creditcard = $credit_info["creditcard_number"]; $cardCode = $credit_info["creditcard_cvv"]; $expiration = $credit_info["creditcard_expirationdate"]; $expiration = strval($expiration); // Recurring payment setting; $msc = oseRegistry::call('msc'); $ext = $orderInfoParams; //msc->getExtInfo($msc_id, 'payment', 'obj'); $mscRegRecurrence = $this->AuthorizeAPITransInterval($orderInfoParams->t3, $orderInfoParams->p3); $total = $orderInfoParams->next_total; //round($orderInfoParams->a3 * (1+$taxRate), 2); $totalOccurrences = 9999; // Check if Price is set correctly; if (empty($total)) { return self::getErrorMessage('cc', '0002'); } // Trial payment setting; $trialOccurrences = !empty($orderInfoParams->next_price) ? "1" : "0"; if ($ext->has_trial) { $mscTrialRecurrence = $this->AuthorizeAPITransInterval($orderInfoParams->t1, $orderInfoParams->p1); if ($ext->total > 0) { $result = self::AuthorizeAIMPay($orderInfo, $credit_info, $params, $TransactionType = 'AUTH_CAPTURE', true); if ($result['isApproved'] == false) { return self::getErrorMessage('cc', '0000', $result['content']); } } $startDate = date("Y-m-d", strtotime("+ {$mscTrialRecurrence['length']} {$mscTrialRecurrence['unit']}")); } else { jimport('joomla.utilities.date'); $curDate = date_create(oseHtml::getDateTime()); $startDate = date_format($curDate, "Y-m-d"); } //oseExit($startDate); require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_osemsc' . DS . 'libraries' . DS . 'AuthnetARB.class.php'; $config = oseMscConfig::getConfig('payment', 'obj'); $test_mode = $config->cc_testmode; $arbsubdomain = $test_mode ? 'apitest' : 'api'; $arb = new AuthnetARB(); $arb->url = $arbsubdomain . ".authorize.net"; $arb->setParameter('startDate', $startDate); $arb->setParameter('interval_length', $mscRegRecurrence['length']); $arb->setParameter('interval_unit', $mscRegRecurrence['unit']); $arb->setParameter('totalOccurrences', 9999); $arb->setParameter('amount', $total); $arb->setParameter('trialOccurrences', 0); $arb->setParameter('trialAmount', 0.0); $arb->setParameter('orderInvoiceNumber', $refID); $arb->setParameter('orderDescription', $desc); $arb->setParameter('customerId', $user_id); $arb->setParameter('customerEmail', $billingInfo->email); $arb->setParameter('customerPhoneNumber', substr($billingInfo->telephone, 0, 25)); $arb->setParameter('customerFaxNumber', substr($billingInfo->fax, 0, 25)); $arb->setParameter('refID', $refID); $arb->setParameter('cardNumber', $creditcard); $arb->setParameter('expirationDate', $expiration); $arb->setParameter('cardCode', $cardCode); $arb->setParameter('firstName', substr($billingInfo->firstname, 0, 50)); $arb->setParameter('lastName', substr($billingInfo->lastname, 0, 50)); $arb->setParameter('address', substr($billingInfo->addr1, 0, 60)); $arb->setParameter('city', substr($billingInfo->city, 0, 60)); $arb->setParameter('state', substr($billingInfo->state, 0, 40)); $arb->setParameter('zip', substr($billingInfo->postcode, 0, 20)); $arb->setParameter('email', $billingInfo->email); $arb->setParameter('subscrName', $name); // Assgin login credentials $arb->setParameter('login', $config->an_loginid); $arb->setParameter('transkey', $config->an_transkey); $arb->setParameter('refID', $refID); $arb->setParameter('subscrId', $order_number); // Create the recurring billing subscription $arb->createAccount(); $return = array(); if ($arb->isSuccessful() == true) { $params['payment_serial_number'] = $arb->getSubscriberID(); $return = self::confirmOrder($order_id, $params, $msc_id, $user_id, 'authorize'); } else { return self::getErrorMessage('cc', '0000', $arb->getResponse()); } return $return; }
public static function loadPMJs() { oseHtml::script('administrator/components/com_ose_commerce/helpers/js/grid/pm.js', '1.6'); }
protected function addOrderInfoFix($order_id) { $result = array(); $db = oseDB::instance(); $query = " SELECT * FROM `#__osemsc_order_fix`" . " WHERE `order_id` = '{$order_id}'"; $db->setQuery($query); $item = oseDB::loadItem('obj'); if (empty($item)) { $query = " SELECT b.*,a.entry_id,a.order_item_id" . " FROM `#__osemsc_order_item` AS a" . " INNER JOIN `#__osemsc_order` AS b ON b.order_id = a.order_id" . " WHERE a.`order_id` = '{$order_id}'"; $db->setQuery($query); $oInfo = oseDB::loadItem('obj'); $query = " SELECT * FROM `#__osemsc_member`" . " WHERE `msc_id` = '{$oInfo->entry_id}' AND `member_id`='{$oInfo->user_id}'"; $db->setQuery($query); $mItem = oseDB::loadItem('obj'); if (!empty($mItem)) { // update the order paypal status $ofVals = array(); $ofVals['order_id'] = $oInfo->order_id; $ofVals['order_item_id'] = $oInfo->order_item_id; $ofVals['member_id'] = $mItem->id; $ofVals['msc_id'] = $mItem->msc_id; $ofVals['user_id'] = $mItem->member_id; $ofVals['hasParams'] = 1; $ofVals['payment_method'] = $oInfo->payment_method; $ofVals['payment_mode'] = 'a'; $ofVals['status'] = 'updated'; $ofVals['create_date'] = oseHtml::getDateTime(); $ofVals['params'] = $oInfo->params; $user = JFactory::getUser($mItem->member_id); $ofVals['email'] = $user->email; oseDB::insert("#__osemsc_order_fix", $ofVals); } } }
function osePointedRedirection($sefroutemethod, $menu, $isSSL = false) { $mainframe =& JFactory::getApplication(); if ($mainframe->isAdmin()) { return; } $version = oseHtml::getJoomlaVersion(); if ($menu->type == 'url') { $return = $menu->link; } elseif ($menu->type == 'alias') { $menuParams = oseJson::decode($menu->params); $aMenuId = $menuParams->aliasoptions; $aMenu = JSite::getMenu(true)->getItem($aMenuId); return osePointedRedirection($sefroutemethod, $aMenu); } else { switch ($sefroutemethod) { default: case 0: $redURL = $menu->link . "&Itemid=" . $menu->id; break; case 1: $return = $redURL = JRoute::_($menu->link . "&Itemid=" . $menu->id, false); break; case 2: $jConfig = JFactory::getConfig(); if ($version >= '1.6') { if ($jConfig->get('sef_rewrite')) { $redURL = JRoute::_(oseGetValue($menu, 'path')); } else { $redURL = "index.php/" . JRoute::_(oseGetValue($menu, 'path')); } } else { static $menuPath; $parent_id = oseGetValue($menu, 'parent'); if (empty($menuPath)) { $menuPath = array(); array_unshift($menuPath, $menu->alias); } if ($parent_id != 0) { //$aMenu = JSite::getMenu(true)->getItem($parent_id); $db = oseDB::instance(); $query = " SELECT * FROM `#__menu`" . " WHERE id = '{$parent_id}'"; $db->setQuery($query); $aMenu = oseDB::loadItem('obj'); array_unshift($menuPath, $aMenu->alias); $redURL = osePointedRedirection($sefroutemethod, $aMenu); return $redURL; } else { if (!is_array($menuPath)) { $menuPath = array($menuPath); } $menuPath = implode('/', $menuPath); if ($jConfig->getValue('sef_rewrite')) { $redURL = JRoute::_($menuPath); } else { $redURL = "index.php/" . JRoute::_($menuPath); } } } break; } } if (strpos($redURL, 'http') === false && $sefroutemethod != 1) { $return = JURI::root() . $redURL; } return $return; }
private function searchMembers($intervaldays,$field) { //$intervaldays++; $db= JFactory :: getDBO(); $date = oseHTML::getDateTime(); $query= " SELECT mem.msc_id, mem.member_id, mem.params,mem.expired_date, mem.notified,muv.* FROM `#__osemsc_member` AS mem " . " INNER JOIN `#__osemsc_userinfo_view` AS muv ON muv.user_id = mem.member_id " . " WHERE DATEDIFF( mem.expired_date, '{$date}' ) BETWEEN {$intervaldays} AND {$intervaldays}+1 AND (mem.{$field} <> 1 OR mem.{$field} IS NULL) AND mem.status = 1 AND muv.primary_contact = 1"; $db->setQuery($query); $member_ids= $db->loadObjectList(); if(!empty($member_ids)) { foreach($member_ids as $k => $member) { $memParams = oseJson::decode($member->params); if(oseObject::getValue($memParams,'payment_mode','m') == 'm') { $dDiff = strtotime($member->expired_date) - strtotime(oseHtml::getDateTime()); if( $dDiff >= ($intervaldays * 86400) && $dDiff < ($intervaldays * 86400+86400)) { continue; } else { unset($member_ids[$k]); } } else { $dDiff = strtotime($member->expired_date) - strtotime(oseHtml::getDateTime()); if( $dDiff >= ($intervaldays * 86400+86400) && $dDiff < ($intervaldays * 86400+86400*2)) { continue; } else { unset($member_ids[$k]); } } } } return $member_ids; }
function updateMemRecurrence() { $result = array(); $db = oseDB::instance(); $msc_member_id = JRequest::getInt('msc_member_id', 0); $startDate = JRequest::getString('start_date', 0); $startTime = JRequest::getString('start_time', 0); $expDate = JRequest::getString('exp_date', 0); $expTime = JRequest::getString('exp_time', 0); $start_date = date_create($startDate . $startTime); $expired_date = date_create($expDate . $expTime); $start_date = date_format($start_date, 'Y-m-d H:i:s'); $expired_date = date_format($expired_date, 'Y-m-d H:i:s'); $now = date_create(oseHtml::getDateTime()); $now = date_format($now, 'Y-m-d H:i:s'); $vals = array(); if ($now > $expired_date) { $vals['status'] = 0; $query = "SELECT * FROM `#__osemsc_member` WHERE `id` = " . $msc_member_id; $db->setQuery($query); $obj = oseDB::loadItem('obj'); $msc_id = $obj->msc_id; $member_id = $obj->member_id; $member = oseRegistry::call('member'); $member->instance($member_id); $userInfo = $member->getUserInfo('obj'); $params = $member->getAddonParams($msc_id, $member_id, 0, $params = array()); $list = oseMscAddon::getAddonList('join', true, 1, 'obj'); foreach ($list as $addon) { $result = oseMscAddon::runAction('join.' . $addon->name . '.cancel', $params); if (!$result['success']) { return $result; } } $msc = oseRegistry::call('msc'); $ext = $msc->getExtInfo($msc_id, 'msc', 'obj'); if (!empty($ext->exp_email)) { $order_id = $params['order_id']; $email = $member->getInstance('email'); $emailTempDetail = $email->getDoc($ext->exp_email, 'obj'); $variables = $email->getEmailVariablesExpire($member_id, $msc_id); $emailParams = $email->buildEmailParams($emailTempDetail->type); $emailDetail = $email->transEmail($emailTempDetail, $variables, $emailParams); $email->sendEmail($emailDetail, $userInfo->email); $emailConfig = oseMscConfig::getConfig('email', 'obj'); if ($emailConfig->sendExp2Admin) { $email->sendToAdminGroup($emailDetail, $emailConfig->admin_group); } } } else { $vals['status'] = 1; } $db = oseDB::instance(); $vals['start_date'] = $start_date; $vals['expired_date'] = $expired_date; $vals['id'] = $msc_member_id; /*$query = " UPDATE `#__osemsc_member`" ." SET start_date = {$start_date}, expired_date = {$expired_date}" ." WHERE id = {$msc_member_id}" ; $db->setQuery($query);*/ //if(oseDB::query()) if (oseDB::update('#__osemsc_member', 'id', $vals)) { $result['success'] = true; $result['title'] = JText::_('DONE'); $result['content'] = JText::_('UPDATED'); } else { $result['success'] = false; $result['title'] = JText::_('ERROR'); $result['content'] = JText::_('FAIL_UPDATING'); } return $result; }