コード例 #1
0
ファイル: join.msc.php プロジェクト: kosmosby/medicine-prof
 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;
 }
コード例 #2
0
ファイル: view.html.php プロジェクト: kosmosby/medicine-prof
 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);
 }
コード例 #3
0
 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;
 }
コード例 #4
0
ファイル: view.php プロジェクト: kosmosby/medicine-prof
	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();
		}
	}
コード例 #5
0
ファイル: debug.php プロジェクト: kosmosby/medicine-prof
 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();
 }
コード例 #6
0
 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;
 }
コード例 #7
0
ファイル: osehtml.php プロジェクト: kosmosby/medicine-prof
 public static function loadPMJs()
 {
     oseHtml::script('administrator/components/com_ose_commerce/helpers/js/grid/pm.js', '1.6');
 }
コード例 #8
0
ファイル: paypal.php プロジェクト: kosmosby/medicine-prof
 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);
         }
     }
 }
コード例 #9
0
ファイル: oseMethods.php プロジェクト: kosmosby/medicine-prof
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;
}
コード例 #10
0
ファイル: osemscaec.php プロジェクト: kosmosby/medicine-prof
	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;
	}
コード例 #11
0
ファイル: member.msc.php プロジェクト: kosmosby/medicine-prof
 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;
 }