public static function save($params) {
		$result = array();
		$post = JRequest::get('post');
		$member_id = $params['member_id'];
		JRequest::setVar('member_id', $member_id);
		if (empty($member_id)) {
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error');
			return $result;
		}
		$db = oseDB::instance();
		$firstname = $db->Quote(oseObject::getValue($post, 'juser_firstname', $post['juser_username']));
		$lastname = $db->Quote(oseObject::getValue($post, 'juser_lastname'));
		$query = " SELECT COUNT(*) FROM `#__osemsc_userinfo` WHERE user_id = ". (int)$member_id;
		$db->setQuery($query);
		$exists = ($db->loadResult() > 0) ? true : false;
		if ($exists) {
			return array('success' => true);
		} else {
			$query = " INSERT INTO `#__osemsc_userinfo` (user_id,firstname,lastname)" 
				   . " VALUES" . " ({$member_id},{$firstname},{$lastname})";
			$db->setQuery($query);
			if (!oseDB::query()) {
				$result = array();
				$result['success'] = false;
				$result['title'] = 'Error';
				$result['content'] = JText::_('Fail Saving OSE User Info.');
				return $result;
			}
			return array('success' => true);
		}
	}
Beispiel #2
0
 function add($level_name)
 {
     $db = oseDB::instance();
     $level_name = $db->Quote($level_name);
     $query = "SELECT * FROM `#__groups` WHERE `name` = " . $level_name;
     $db->setQuery($query);
     $item = $db->loadObject();
     $result = array();
     if (empty($item)) {
         $query = " SELECT id FROM `#__groups` " . " ORDER BY id DESC";
         $db->setQuery($query);
         $oid = $db->loadResult();
         $nid = $oid + 1;
         $query = "INSERT INTO `#__groups` (`id`,`name`) VALUES ({$nid}, {$level_name});";
         $db->setQuery($query);
         if (oseDB::query()) {
             $result['success'] = true;
             $result['title'] = 'Done';
             $result['content'] = JText::_("Added successfully");
         } else {
             $result['success'] = false;
             $result['title'] = 'Error';
             $result['content'] = JText::_("Failed adding ACL group.");
         }
     } else {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("Failed adding ACL group.");
     }
     return $result;
 }
Beispiel #3
0
 function save($post)
 {
     $post = JRequest::get('post');
     $addon_id = JRequest::getInt('addon_id', 0);
     unset($post['addon_id']);
     $addon = array();
     foreach ($post as $key => $value) {
         if (strstr($key, 'addon_')) {
             $billKey = preg_replace('/addon_/', '', $key, 1);
             $addon[$billKey] = $value;
         }
     }
     //oseExit($company);
     $db = oseDB::instance();
     if (empty($addon_id)) {
         $keys = array_keys($addon);
         $keys = '`' . implode('`,`', $keys) . '`';
         $fields = $db->getTableFields('#__osemsc_addon');
         foreach ($addon as $key => $value) {
             if (!isset($fields['#__osemsc_addon'][$key])) {
                 /*
                 $query = "ALTER TABLE `#__osemsc_billinginfo` ADD `{$key}` TEXT NULL DEFAULT NULL";
                 $db->setQuery($query);
                 if (!$db->query())
                 {
                 	return false;
                 }
                 */
                 unset($addon[$key]);
             }
         }
         foreach ($addon as $key => $value) {
             $addon[$key] = $db->Quote($value);
         }
         $values = implode(',', $addon);
         $query = "INSERT INTO `#__osemsc_addon` ({$keys}) VALUES ({$values});";
         $db->setQuery($query);
         if (!oseDB::query()) {
             $result = array();
             return false;
         }
         oseMscAddon::reorder($post['addon_type']);
     } else {
         foreach ($addon as $key => $value) {
             $addon[$key] = "`{$key}`=" . $db->Quote($value);
         }
         $values = implode(',', $addon);
         $query = " UPDATE `#__osemsc_addon` SET {$values}" . " WHERE `id` ={$addon_id}";
         $db->setQuery($query);
         if (!oseDB::query()) {
             $result = array();
             return false;
         }
         $ordering = JRequest::getInt('ordering', 0);
         $this->updateOrder($addon_id, $ordering);
     }
     //echo $query;exit;
     return true;
 }
Beispiel #4
0
	public static function save($params) {
		$result = array();
		$result['success'] = true;
		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();
		$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');
		$member = oseRegistry::call('member');
		$member->instance($member_id);
		$memParams = $member->getMemberInfo($msc_id, 'obj')->memParams;
		if (empty($memParams)) {
			$memParams = new stdClass();
		} else {
			$memParams = oseJSON::decode($memParams);
		}
		$memParams->order_id = $order_id;
		$memParams->payment_mode = $curOrder->payment_mode;
		$memParams->order_item_id = $order_item_id;
		// Order problem for system add
		$memParams = oseJSON::encode($memParams);
		$query = " UPDATE `#__osemsc_member`" . " SET `params` = " . $db->Quote($memParams) . " WHERE msc_id = {$msc_id} AND member_id = {$member_id}";
		$memConfig = oseMscConfig::getConfig('register', 'obj');
		$db->setQuery($query);
		if (!oseDB::query()) {
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Join.Order.2');
		}
		// User activation function;
		$params = JComponentHelper::getParams('com_users');
		$useractivation = $params->get('useractivation');
		if (oseObject::getValue($memConfig, 'disabled_non_paid', false) == true) {
			if ($useractivation == 0) {
				$query = " UPDATE `#__users` SET `block` = 0 where `id` = " . $member_id;
				$db->setQuery($query);
				$db->query();
			}
		}
		return $result;
	}
	public static function save($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::_("Join History: No Membership ");
		}
		
		$history = oseRegistry::call('member')->getInstance('History');
		$updated = $history->record($msc_id,$member_id,'join');
		if(!$updated)
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_(" Fail Record Member's Footprint! ");
		}
		
		// Order problem for system add
		$hisParams = oseJSON::encode(array('order_id' => $params['order_id']));
		
		$query = " UPDATE `#__osemsc_member_history`"
				." SET params = ".$db->Quote($hisParams)
				." WHERE id = {$updated}"
				;
		$db->setQuery($query);
		//oseExit($db->_sql);
		if(!oseDB::query())
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Join.Order.2');
		}
		
		
		return $result;
		
	}
 public static function save($params = array())
 {
     $db = oseDB::instance();
     $post = JRequest::get('post');
     $id = JRequest::getCmd('id', null);
     $msc_id = JRequest::getInt('msc_id', 0);
     if (empty($id)) {
         $id = uniqid();
     }
     $extItem = oseRegistry::call('msc')->getExtInfoItem($msc_id, 'acymailing2', 'obj');
     $extItem->params = empty($extItem->params) ? '{}' : $extItem->params;
     $items = oseJson::decode($extItem->params, true);
     $where = array();
     $msc_id = isset($msc_id) ? $msc_id : null;
     if (empty($msc_id)) {
         return false;
         // No membership exists in the addon
     } else {
         unset($post['msc_id']);
         $where[] = 'id = ' . $db->Quote($msc_id);
     }
     $where[] = 'type = ' . $db->Quote('acymailing2');
     $params = array();
     $prefix = 'acymailing2_';
     foreach ($post as $key => $value) {
         if (strstr($key, $prefix)) {
             $newKey = preg_replace("/{$prefix}/", '', $key, 1);
             $params[$newKey] = $value;
         }
     }
     ksort($params);
     $params['id'] = $id;
     $items[$id] = $params;
     $newParams = $db->Quote(oseJson::encode($items));
     $where = oseDB::implodeWhere($where);
     $query = " SELECT * FROM `#__osemsc_ext` " . $where;
     $db->setQuery($query);
     $obj = oseDB::loadItem('obj');
     if (empty($obj)) {
         $query = " INSERT INTO `#__osemsc_ext` " . " (id,type,params)" . " VALUES " . " ({$msc_id}," . $db->Quote('acymailing2') . ",{$newParams}) ";
         $db->setQuery($query);
         //oseExit($db->_sql);
     } else {
         $query = " UPDATE `#__osemsc_ext` " . " SET " . " params = {$newParams} " . " WHERE id = {$obj->id}" . " AND type = " . $db->Quote('acymailing2');
         $db->setQuery($query);
     }
     if (oseDB::query()) {
         $result['success'] = true;
         $result['title'] = JText::_('Finished');
         $result['content'] = JText::_('Save Successfully!');
     } else {
         $result['success'] = false;
         $result['title'] = JText::_('Error');
         $result['content'] = JText::_('Error in Saving License Parameters');
     }
     return $result;
 }
Beispiel #7
0
 function remove($id)
 {
     $db = oseDB::instance();
     $query = " DELETE FROM `#__osemsc_coupon` " . " WHERE id = '{$id}'";
     $db->setQuery($query);
     if (oseDB::query()) {
         $query = " DELETE FROM `#__osemsc_coupon_user` " . " WHERE coupon_id = '{$id}'";
         $db->setQuery($query);
         return oseDB::query();
     } else {
         return false;
     }
 }
 public static function archive($msc_id, $member_id, $action)
 {
     $db = oseDB::instance();
     $date = oseHTML::getDateTime();
     $date = $db->Quote($date);
     $query = " INSERT INTO `#__osemsc_member_history` " . " (`msc_id`,`member_id`,`action`,`date`, `accumulated`) " . " VALUES " . " ({$msc_id},{$member_id},'{$action}',{$date}, '0') ";
     $db->setQuery($query);
     if (oseDB::query()) {
         return $db->insertid();
     } else {
         return false;
     }
 }
Beispiel #9
0
 function getUserInfo()
 {
     $db = oseDB::instance();
     $query = " SELECT * FROM `#__osemsc_userinfo_view` WHERE `user_id` = " . (int) $this->user_id;
     $db->setQuery($query);
     $item = oseDB::loadItem('obj');
     if (empty($item)) {
         $query = " INSERT INTO `#__osemsc_userinfo` (`user_id`) VALUES (" . (int) $this->user_id . ")";
         $db->setQuery($query);
         oseDB::query();
         $item = self::getUserInfo();
     }
     return $item;
 }
Beispiel #10
0
 public static function companySave($params)
 {
     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');
     $member_id = $params['member_id'];
     //JRequest::setVar('member_id',$member_id);
     if (empty($member_id)) {
         return false;
     }
     $company = array();
     foreach ($post as $key => $value) {
         if (strstr($key, 'company_')) {
             $billKey = preg_replace('/company_/', '', $key, 1);
             $company[$billKey] = $value;
         }
     }
     //get vm country code
     $query = " SELECT country_3_code FROM `#__vm_country` WHERE `country_2_code` = '{$company['country']}'";
     $db->setQuery($query);
     $country_code = $db->loadResult();
     $company['country'] = empty($country_code) ? $company['country'] : $country_code;
     //get vm state code
     $query = " SELECT state_2_code FROM `#__vm_state` WHERE `state_name` = '{$company['state']}'";
     $db->setQuery($query);
     $state_code = $db->loadResult();
     $company['state'] = empty($state_code) ? $company['state'] : $state_code;
     $query = " UPDATE `#__vm_user_info` " . " SET `company` = '{$company['company']}', `phone_1` = '{$company['telephone']}', `address_1` = '{$company['addr1']}', `address_2` = '{$company['addr2']}', `city` = '{$company['city']}', `state` = '{$company['state']}', `country` = '{$company['country']}', `zip` = '{$company['postcode']}' " . " WHERE `user_id` = '{$member_id}' AND `address_type` = 'BT' ";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Fail Saving Company info.');
         return $result;
     }
     $result = array();
     $result['success'] = true;
     $result['title'] = 'Done';
     $result['content'] = JText::_('Saved Company Info.');
     return $result;
 }
Beispiel #11
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'];
     $where = array();
     $where[] = "order_id = {$order_id}";
     $payment = oseRegistry::call('payment');
     $curOrder = $payment->getOrder($where, 'obj');
     $member = oseRegistry::call('member');
     $member->instance($member_id);
     $memParams = $member->getMemberInfo($msc_id, 'obj')->memParams;
     $memParams = oseJSON::decode($memParams);
     $memParams->order_id = $order_id;
     $memParams->payment_mode = $curOrder->payment_mode;
     // Order problem for system add
     $memParams = oseJSON::encode($memParams);
     $query = " UPDATE `#__osemsc_member`" . " SET params = " . $db->Quote($memParams) . " WHERE msc_id = {$msc_id} AND member_id = {$member_id}";
     $db->setQuery($query);
     //oseExit($db->_sql);
     if (!oseDB::query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error Join.Order.2');
     }
     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 Renew.Order');
         return $result;
     }
     unset($params['allow_work']);
     if ($params['join_from'] != 'payment') {
         $result['success'] = true;
         $result['title'] = JText::_('Done');
         $result['content'] = JText::_("Success");
         return $result;
     }
     $db = oseDB::instance();
     $msc_id = $params['msc_id'];
     $member_id = $params['member_id'];
     $query = " SELECT mm.link_id " . " FROM `#__osemsc_mtrel` AS mm" . " INNER JOIN `#__osemsc_directory` AS directory ON directory.directory_id = mm.directory_id" . " INNER JOIN `#__oselic_cs_company` AS lcc ON lcc.company_id = directory.company_id" . " WHERE lcc.user_id = {$member_id}";
     $db->setQuery($query);
     $link_id = $db->loadResult();
     //oseExit($db->_sql);
     if (empty($link_id)) {
         return $result;
     }
     $member = oseRegistry::call('member');
     $member->instance($member_id);
     $memInfo = $member->getMemberInfo($msc_id, 'obj');
     $query = " UPDATE `#__mt_links`" . " SET `publish_down` = " . $db->Quote($memInfo->expired_date) . " WHERE link_id = {$link_id}";
     $db->setQuery($query);
     if (oseDB::query()) {
         return $result;
     } else {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_("cancel.directory");
         return $result;
     }
 }
Beispiel #13
0
 private static function joinInAutomaticMode($msc_id, $member_id, $orderInfo)
 {
     $db = oseDB::instance();
     $result = array();
     $result['success'] = true;
     $orderParams = oseJSON::decode($orderInfo->params);
     $start_date = oseHTML::getDateTime();
     $start_date = $db->Quote($start_date);
     if ($orderParams->has_trial) {
         $recurrence_num = $orderParams->p1 + 1;
         $recurrence_unit = $orderParams->t1;
     } else {
         $recurrence_num = $orderParams->p3 + 1;
         $recurrence_unit = $orderParams->t3;
     }
     $expired_date = " DATE_ADD({$start_date},INTERVAL {$recurrence_num} {$recurrence_unit}) ";
     $query = " UPDATE `#__osemsc_member` " . " SET  start_date = {$start_date} , expired_date = {$expired_date}" . " WHERE member_id = {$member_id} AND msc_id = {$msc_id} ";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_(' Fail Updated Member\'s Recurrence ');
         return $result;
     }
     return $result;
 }
Beispiel #14
0
 function delete()
 {
     $db = oseDB::instance();
     $query = " SELECT `id` FROM `{$this->_table}`" . " WHERE lft BETWEEN {$this->lft} AND {$this->rgt}";
     $db->setQuery($query);
     $ids = $db->loadResultArray();
     JArrayHelper::toInteger($ids);
     $ids = implode(',', $ids);
     $updated = parent::delete();
     if ($updated) {
         foreach ($this->_type as $k => $o) {
             $class = $this->getTypeItem($o->id);
             $query = " DELETE FROM `" . $class->get('_table') . "`" . " WHERE `plan_id` IN ({$ids})";
             $db->setQuery($query);
             oseDB::query();
         }
     }
     return $updated;
     /*
     		$updated = oseDB::delete($this->_table,array('id'=>$this->get('id')));
     		
     		if($updated)
     		{
     			foreach($this->_type as $k => $o)
     			{
     				$class = $this->getTypeItem($o->id);
     				$class->delete();
     			}
     		}
     		
     		return $updated;*/
 }
Beispiel #15
0
	public static function save($params)
	{
		if(!class_exists('oseMscPublic'))
		{
			require_once(OSEMSC_F_HELPER.DS.'oseMscPublic.php');
		}
		$result = array();
		$result['success'] = true;
		//oseExit($params);
		if(empty($params['allow_work']))
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Join.PAP');
			
			return $result;
		}
		unset($params['allow_work']);
		
		/*  Offline payments should be counted as well; removed from v 6.0.5
		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->pap_enable))
		{
			return $result;
		}
		
		if(empty($oseMscConfig->pap_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);
		$recurrence_times = ($curOrderParams->has_trial)?$curOrderParams->recurrence_times+1:$curOrderParams->recurrence_times;
		$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 = oseObject::getValue($curOrderParams,'first_ip');;
		
		if(empty($curOrderParams->pap_visitorid))
		{
			return $result;
			//$memParams->pap_visitorid = 'paypal';
		}
		else
		{
			$memParams->pap_visitorid = $curOrderParams->pap_visitorid;
			//$memParams->pap_visitorid = $_COOKIE['PAPVisitorId'];
		}
		
		$memParams_encode = oseJSON::encode($memParams);
			
		$query = " UPDATE `#__osemsc_member`"
				." SET params = ".$db->Quote($memParams_encode)
				." WHERE msc_id = {$msc_id} AND member_id = {$member_id}"
				;
		$db->setQuery($query);
		//oseExit($db->_sql);
		if(!oseDB::query())
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_('Error Join.Order.2');
			return $result;
		}
			
		try {  
			
			require_once(OSEMSC_B_LIB.DS.'PapApi.class.php');
			
	        $saleTracker = new Pap_Api_SaleTracker($oseMscConfig->pap_url.'/scripts/sale.php');
	        $saleTracker->setAccountId(oseObject::getValue($oseMscConfig,'pap_account_id','default1'));
	        $saleTracker->setVisitorId($memParams->pap_visitorid);
	        $sale1 = $saleTracker->createSale();
			
			$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]);
				}
			}
			$cart = oseMscPublic::getCart();

	    	$osePaymentCurrency = $cart->get('currency');

	    	$items = $cart->get('items');
			$options = oseMscPublic::generatePriceOption($node,$paymentInfos,$osePaymentCurrency);
			
			$sale1->setTotalCost($curOrder->payment_price);
			$sale1->setOrderID($order_id);
			$sale1->setProductID("{$node->title}-{$options[0]['title']}");
			$sale1->setData1($userInfo->email);
			$sale1->setData2($userInfo->jname);
			$sale1->setData3($memParams->first_ip);
			$sale1->setData4($curOrder->payment_serial_number);
			$sale1->setData5("{$curOrder->order_id}-{$node->title}-{$options[0]['title']}-#recurrence:{$recurrence_times}");
			$saleTracker->register();
			
			//$memParams->pap_affiliate_id = $sale1->getAffiliateId();
	        //$memParams->pap_campaign_id = $sale1->getCampaignId();
	        //$memParams->pap_banner_id = $sale1->getBannerId();
			// Order problem for system add
			return $result;
	    } catch (Exception $e) {
	    	return $result;
	    }
	}
Beispiel #16
0
 function removeAllCurrency()
 {
     $db = oseDB::instance();
     $query = " SELECT * FROM `#__osemsc_configuration`" . " WHERE `key` = 'primary_currency' AND `type` = 'currency'";
     $db->setQuery($query);
     $item = oseDB::loadItem('obj');
     //$currencyInfos = oseJson::decode($item->default,true);
     //unset($currencyInfos[$currency]);
     $currencyInfos = oseJson::encode(null);
     $query = " UPDATE `#__osemsc_configuration`" . " SET `default` = " . $db->Quote($currencyInfos) . " WHERE `id` = '{$item->id}'";
     $db->setQuery($query);
     return oseDB::query();
 }
 public static function removeMtCat()
 {
     $result = array();
     $cl_id = JRequest::getInt('cl_id', 0);
     $cat_id = JRequest::getInt('cat_id', 0);
     $db = oseDB::instance();
     $query = " DELETE FROM `#__mt_cl`" . " WHERE `cl_id` = '{$cl_id}'";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error.');
     } else {
         $result['success'] = true;
         $result['title'] = 'Done';
         $result['content'] = JText::_('Deleted.');
     }
     return $result;
 }
 public static function save()
 {
     $post = JRequest::get('post');
     if (!empty($post['firstname'])) {
         $post['bill_firstname'] = $post['firstname'];
     }
     if (!empty($post['lastname'])) {
         $post['bill_lastname'] = $post['lastname'];
     }
     $member_id = JRequest::getInt('member_id', 0);
     $billinfo = array();
     foreach ($post as $key => $value) {
         if (strstr($key, 'bill_')) {
             $billKey = str_replace('bill_', '', $key);
             $billinfo[$billKey] = $value;
         }
     }
     //oseExit($billinfo);
     $db = oseDB::instance();
     $query = " SELECT count(*) FROM `#__osemsc_billinginfo` WHERE user_id='{$member_id}'";
     $db->setQuery($query);
     $num = $db->loadResult();
     $my = JFactory::getUser();
     if (empty($num)) {
         $keys = array_keys($billinfo);
         $keys = '`' . implode('`,`', $keys) . '`';
         $fields = oseDB::getDBFields('#__osemsc_billinginfo');
         foreach ($billinfo as $key => $value) {
             if (!isset($fields['#__osemsc_billinginfo'][$key])) {
                 if ($my->get('gid') == 24 || $my->get('gid') == 25) {
                     $query = "ALTER TABLE `#__osemsc_billinginfo` ADD `{$key}` TEXT NULL DEFAULT NULL";
                     $db->setQuery($query);
                     if (!oseDB::query()) {
                         $result['success'] = false;
                         $result['title'] = JText::_('ERROR');
                         $result['content'] = JText::_('FAIL_SAVING_OSEMSC_USER_INFO');
                     }
                 } else {
                     unset($billinfo[$key]);
                 }
             }
         }
         foreach ($billinfo as $key => $value) {
             $billinfo[$key] = !empty($value) ? $db->Quote($value) : null;
         }
         $values = implode(',', $billinfo);
         $query = "INSERT INTO `#__osemsc_billinginfo` (`user_id`,{$keys}) VALUES ('{$member_id}',{$values});";
     } else {
         foreach ($billinfo as $key => $value) {
             $billinfo[$key] = "`{$key}`=" . $db->Quote($value);
         }
         $values = implode(',', $billinfo);
         $query = " UPDATE `#__osemsc_billinginfo` SET {$values}" . " WHERE `user_id` ={$member_id}";
     }
     //echo $query;exit;
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result = array();
         $result['success'] = true;
         $result['title'] = JText::_('DONE');
         $result['content'] = JText::_('FAIL_SAVING_OSEMSC_USER_INFO');
     } else {
         $result = array();
         $result['success'] = true;
         $result['title'] = JText::_('DONE');
         $result['content'] = JText::_('SAVED_USER_BILLING_INFO');
     }
     return $result;
 }
 function updateMembership($msc_id, $user_id, $order_id, $payment_mode)
 {
     $db = oseDB::instance();
     $params['order_id'] = $order_id;
     $params['payment_mode'] = $payment_mode;
     $params = oseJSON::encode($params);
     $query = " UPDATE `#__osemsc_member` SET `params`='{$params}' WHERE `msc_id` = '{$msc_id}' AND `member_id` = '{$user_id}'";
     $db->setQuery($query);
     if (oseDB::query()) {
         return true;
     } else {
         return false;
     }
 }
 public static function licSave($params = array())
 {
     $post = $params;
     $my = JFactory::getUser();
     $member_id = $post['member_id'];
     $billinfo = array();
     foreach ($post as $key => $value) {
         if (strstr($key, 'bill_')) {
             $billKey = str_replace('bill_', '', $key);
             $billinfo[$billKey] = $value;
         }
     }
     //oseExit($billinfo);
     $db = oseDB::instance();
     $member_id = JRequest::getInt('member_id', 0);
     $query = " SELECT count(*) FROM `#__osemsc_billinginfo` WHERE user_id='{$member_id}'";
     $db->setQuery($query);
     $num = $db->loadResult();
     if (empty($num)) {
         $keys = array_keys($billinfo);
         $keys = '`' . implode('`,`', $keys) . '`';
         $fields = $db->getTableFields('#__osemsc_billinginfo');
         foreach ($billinfo as $key => $value) {
             if (!isset($fields['#__osemsc_billinginfo'][$key])) {
                 $query = "ALTER TABLE `#__osemsc_billinginfo` ADD `{$key}` TEXT NULL DEFAULT NULL";
                 $db->setQuery($query);
                 if (!$db->query()) {
                     return false;
                 }
             }
         }
         foreach ($billinfo as $key => $value) {
             $billinfo[$key] = $db->Quote($value);
         }
         $values = implode(',', $billinfo);
         $query = "INSERT INTO `#__osemsc_billinginfo` (`user_id`,{$keys}) VALUES ('{$member_id}',{$values});";
     } else {
         foreach ($billinfo as $key => $value) {
             $billinfo[$key] = "`{$key}`=" . $db->Quote($value);
         }
         $values = implode(',', $billinfo);
         $query = " UPDATE `#__osemsc_billinginfo` SET {$values}" . " WHERE `user_id` ={$member_id}";
     }
     //echo $query;exit;
     $db->setQuery($query);
     return oseDB::query();
 }
Beispiel #21
0
 protected function apiCheck($oItem)
 {
     $result = array();
     $db = oseDB::instance();
     static $arb;
     $oseMscConfig = oseMscConfig::getConfig('payment', 'obj');
     // Authorize setting
     if (!defined('AUTHORIZENET_API_LOGIN_ID')) {
         define("AUTHORIZENET_API_LOGIN_ID", oseObject::getValue($oseMscConfig, 'an_loginid'));
     }
     if (!defined('AUTHORIZENET_TRANSACTION_KEY')) {
         define("AUTHORIZENET_TRANSACTION_KEY", oseObject::getValue($oseMscConfig, 'an_transkey'));
     }
     if (!$arb instanceof AuthnetARB) {
         $arb = new AuthnetARB();
         $arb->url = "apitest.authorize.net";
         $arb->login = AUTHORIZENET_API_LOGIN_ID;
         $arb->transkey = AUTHORIZENET_TRANSACTION_KEY;
     }
     // End
     // init Beanstream
     // End
     $oParams = oseJson::decode($oItem->params);
     if ($oItem->payment_method == 'paypal') {
         $user = JFactory::getUser($oItem->user_id);
         $postVar = array();
         //$start_time_o = '2012-05-01 00:00:00';
         $start_time = strtotime("-1 year");
         $iso_start = date('Y-m-d\\T00:00:00\\Z', $start_time);
         $end_time = strtotime('2011-04-01 00:00:00');
         $iso_end = date('Y-m-d\\T24:00:00\\Z', $end_time);
         $postVar['METHOD'] = 'TransactionSearch';
         $postVar['STARTDATE'] = $iso_start;
         //$postVar['INVNUM'] = $oItem->order_number;
         $postVar['EMAIL'] = empty($oItem->email) ? $user->email : $oItem->email;
         //oseExit($postVar);
         $postString = null;
         foreach ($postVar as $key => $val) {
             $postString .= "&" . urlencode($key) . "=" . urlencode($val);
         }
         $resArray = self::PaypalAPIConnect($postString);
         //$resArray1= self :: PaypalAPIConnect1($postString);
         //if( in_array('Failure',array($resArray['ACK'],$resArray1['ACK']) ))
         if (in_array('Failure', array($resArray['ACK']))) {
             $result['finish'] = false;
             $result['success'] = false;
             $result['title'] = JText::_('ERROR');
             $result['content'] = urldecode($resArray['L_LONGMESSAGE0']);
             return $result;
         }
         /*if(!empty($resArray['L_STATUS0']))
         		{
         			if( !empty($resArray1['L_STATUS0']) )
         			{
         				$ed = date_create( urldecode($resArray['L_TIMESTAMP0'] ));
         				$ed = date_format($ed, 'Y-m-d H:i:s');
         				
         				$ed1 = date_create( urldecode($resArray1['L_TIMESTAMP0'] ));
         				$ed1 = date_format($ed1, 'Y-m-d H:i:s');
         				
         				if($ed < $ed1)
         				{
         					$resArray = $resArray1;
         				}
         			}
         		}
         		elseif( !empty($resArray1['L_STATUS0']) )
         		{
         			$resArray = $resArray1;
         		}*/
         //oseExit($resArray);
         if (!empty($resArray['L_STATUS0'])) {
             $trnArray = array();
             foreach ($resArray as $k => $v) {
                 if (strpos($k, 'L_STATUS') !== false) {
                     $trnArray[$k] = $v;
                 } else {
                     continue;
                 }
             }
             $success = false;
             $next = false;
             foreach ($trnArray as $k => $v) {
                 if ($next) {
                     $next = false;
                     continue;
                 }
                 $nk = str_replace('L_STATUS', '', $k);
                 if ($v == 'Completed' || $v == 'Unclaimed') {
                     $success = true;
                     $expDate = urldecode($resArray['L_TIMESTAMP' . $nk]);
                     $expDate = new DateTime($expDate);
                     $expired_date = $expDate->format('Y-m-d H:i:s');
                     $recurrence_num = oseObject::getValue($oParams, 'p3');
                     $recurrence_unit = oseObject::getValue($oParams, 't3');
                     $expired_date = " DATE_ADD('{$expired_date}' ,INTERVAL {$recurrence_num} {$recurrence_unit}) ";
                     $query = " UPDATE `#__osemsc_member` " . " SET `eternal`=0, `expired_date` = {$expired_date}" . " WHERE `id` = '{$oItem->member_id}'";
                     $db->setQuery($query);
                     $updated = oseDB::query();
                     $query = " UPDATE `#__osemsc_member` " . " SET  `status` = 1 " . " WHERE `id` = '{$oItem->member_id}' AND `expired_date` > NOW()";
                     $db->setQuery($query);
                     $updated = oseDB::query();
                     $ofVals = array();
                     $ofVals['id'] = $oItem->fix_id;
                     $ofVals['status'] = 'fixed';
                     oseDB::update("#__osemsc_order_fix", 'id', $ofVals);
                     $ofVals = array();
                     $ofVals['order_id'] = $oItem->order_id;
                     $query = " SELECT COUNT(*) FROM `#__osemsc_member`" . " WHERE `id` = '{$oItem->member_id}' AND `expired_date` > NOW()";
                     $db->setQuery($query);
                     $needChanged = $db->loadResult();
                     if ($needChanged > 0 && $v == 'Completed') {
                         $ofVals['order_status'] = 'confirmed';
                     } elseif ($v == 'Unclaimed') {
                         $ofVals['order_status'] = 'confirmed';
                     } else {
                         $ofVals['order_status'] = 'skipped';
                     }
                     oseDB::update("#__osemsc_order", 'order_id', $ofVals);
                     $result['finish'] = true;
                     $result['success'] = true;
                     $result['title'] = JText::_('SUCCESS');
                     $result['content'] = JText::_('SUCCESS');
                     break;
                 } elseif ($v == 'Unclaimed1') {
                     if ($k == 0) {
                         $ofVals = array();
                         $ofVals['order_id'] = $oItem->order_id;
                         $ofVals['order_status'] = 'skipped';
                         oseDB::update("#__osemsc_order", 'order_id', $ofVals);
                     }
                     continue;
                 } else {
                     if ($k == 0) {
                         $ofVals = array();
                         $ofVals['order_id'] = $oItem->order_id;
                         $ofVals['order_status'] = 'skipped';
                         //oseDB::update("#__osemsc_order",'order_id',$ofVals);
                     }
                     continue;
                     $next = true;
                 }
             }
             if (!$success) {
                 $vals['id'] = $obj->id;
                 $vals['virtual_status'] = 0;
                 //$vals['status'] = 0;
                 $vals['eternal'] = 0;
                 $vals['expired_date'] = oseHtml::getDateTime();
                 //oseDB::update('#__osemsc_member','id',$vals);
                 $result['finish'] = true;
                 $result['success'] = false;
                 $result['title'] = JText::_('ERROR');
                 if (count($trnArray) > 3) {
                     $result['content'] = JText::_('Maybe the subscription is cancelled');
                 } elseif (count($trnArray) == 3) {
                     $result['content'] = JText::_('Maybe the first payment is cancelled');
                 } else {
                     $vals = array();
                     $vals['id'] = $oItem->member_id;
                     $vals['virtual_status'] = 0;
                     //$vals['status'] = 0;
                     $vals['eternal'] = 0;
                     //$vals['expired_date'] = oseHtml::getDateTime();
                     oseDB::update('#__osemsc_member', 'id', $vals);
                     $result['content'] = JText::_('No Success Payment has been searched from ') . $start_time;
                 }
             }
             /*
             				if( $resArray['L_STATUS0'] == 'Completed' )
             				{
             					$expDate = urldecode($resArray['L_TIMESTAMP0']);
             					$expDate = new DateTime($expDate);
             					$expired_date = $expDate->format('Y-m-d H:i:s');
             						
             					$recurrence_num = oseObject::getValue($oParams, 'p3');
             					$recurrence_unit = oseObject::getValue($oParams, 't3');
             
             					$expired_date = " DATE_ADD('{$expired_date}' ,INTERVAL {$recurrence_num} {$recurrence_unit}) ";
             					//oseExit($expired_date);
             					$query = " UPDATE `#__osemsc_member` "
             					." SET  `status` = 1 ,`eternal`=0, `expired_date` = {$expired_date}"
             					." WHERE `id` = '{$oItem->member_id}'"
             					;
             					$db->setQuery($query);
             					$updated = oseDB::query();
             
             					$ofVals = array();
             					$ofVals['id'] = $oItem->fix_id;
             					$ofVals['status'] = 'fixed';
             					oseDB::update("#__osemsc_order_fix",'id',$ofVals);
             
             					$result['finish'] = false;
             					$result['success'] = true;
             					$result['title'] = JText::_('SUCCESS');
             					$result['content'] = JText::_('SUCCESS');
             				}
             				// mark it expired
             				else
             				{
             					$vals['id'] = $obj->id;
             					$vals['virtual_status'] = 0;
             					//$vals['status'] = 0;
             					$vals['eternal'] = 0;
             					$vals['expired_date'] = oseHtml::getDateTime();
             					//oseDB::update('#__osemsc_member','id',$vals);
             
             					$result['finish'] = true;
             					$result['success'] = true;
             					$result['title'] = JText::_('SUCCESS');
             					$result['content'] = JText::_('SUCCESS');
             				}*/
         } else {
             // mark it expired
             $vals['id'] = $obj->id;
             $vals['virtual_status'] = 0;
             //$vals['status'] = 0;
             $vals['eternal'] = 0;
             $vals['expired_date'] = oseHtml::getDateTime();
             //oseDB::update('#__osemsc_member','id',$vals);
             $result['finish'] = true;
             $result['success'] = true;
             $result['title'] = JText::_('SUCCESS');
             $result['content'] = JText::_('SUCCESS');
         }
         return $result;
     } else {
         $result['success'] = false;
         $result['title'] = JText::_('ERROR');
         $result['content'] = JText::_('Only Support Paypal Recurring Payment');
         return $result;
     }
 }
 private function ordering($id, $msc_id, $orderingChange)
 {
     $db = oseDB::instance();
     //$post = JRequest::get('post');
     $extItem = oseRegistry::call('msc')->getExtInfoItem($msc_id, 'payment', 'obj');
     $extItem->params = empty($extItem->params) ? array() : $extItem->params;
     $items = oseJson::decode($extItem->params, true);
     // if no ordering exists, resort it.
     $i = 1;
     foreach ($items as $key => $item) {
         if (!oseObject::getValue($item, 'ordering', 0)) {
             $item = oseObject::setValue($item, 'ordering', $i);
             $items[$key] = $item;
         } else {
             break;
         }
         $i++;
     }
     if (oseObject::getValue($items[$id], 'ordering') == 1 && $orderingChange < 0) {
         return true;
     }
     if (oseObject::getValue($items[$id], 'ordering') == count($items) && $orderingChange > 0) {
         return true;
     }
     // get new array by ordering
     $nItems = array();
     foreach ($items as $key => $item) {
         $ordering = oseObject::getValue($item, 'ordering');
         $nItems[$ordering] = $item;
     }
     ksort($nItems);
     $curOrdering = oseObject::getValue($items[$id], 'ordering');
     $curItem = $nItems[$curOrdering];
     $toOrdering = $curOrdering + $orderingChange;
     $toItem = $nItems[$toOrdering];
     // resort the ordering
     $i = 1;
     $rItems = array();
     foreach ($nItems as $key => $item) {
         if ($i == $curOrdering) {
             $rItems[$i] = $toItem;
         } elseif ($i == $toOrdering) {
             $rItems[$i] = $curItem;
         } else {
             $rItems[$i] = $item;
         }
         $i++;
     }
     // restore key: id
     $i = 1;
     $items = array();
     foreach ($rItems as $key => $item) {
         $nkey = oseObject::getValue($item, 'id');
         $items[$nkey] = oseObject::setValue($item, 'ordering', $key);
     }
     $where = array();
     $where[] = 'id = ' . $db->Quote($msc_id);
     $where[] = 'type = ' . $db->Quote('payment');
     $newParams = $db->Quote(oseJson::encode($items));
     $where = oseDB::implodeWhere($where);
     $query = " UPDATE `#__osemsc_ext` " . " SET " . " params = {$newParams} " . $where;
     $db->setQuery($query);
     if (oseDB::query()) {
         return true;
     } else {
         return false;
     }
 }
	public static function save( $params )
    {
    	//$post = JRequest::get('post');

    	$member_id = $params['member_id'];

    	if(empty($member_id))
    	{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText :: _('Error');

			return $result;
    	}

		$post = JRequest::get('post');
		$bill = array();

		foreach($post as $key => $value)
		{
			if(strstr($key,'bill_'))
			{
				$billKey = preg_replace('/bill_/','',$key,1);
				$bill[$billKey] = $value;
			}
		}

		$bill['firstname'] = $post['juser_firstname'];
		$bill['lastname'] = $post['juser_lastname'];
		//oseExit($billinfo);
    	$db = oseDB::instance();

    	$query = " SELECT count(*) FROM `#__osemsc_billinginfo` WHERE user_id='{$member_id}'";
    	$db->setQuery($query);
    	$num = $db->loadResult();
    	 //oseExit($db->_sql);
    	if (empty ($num)) {
    		$keys = array_keys($bill);
    		$keys = '`'.implode('`,`',$keys).'`';
    		$fields = $db->getTableFields('#__osemsc_billinginfo');

    		foreach($bill as $key => $value)
    		{
    			$my = JFactory::getUser();
    			if(oseMscPublic::isUserAdmin($my))
    			{
    				if(!isset($fields['#__osemsc_billinginfo'][$key]))
					{
						$query = "ALTER TABLE `#__osemsc_billinginfo` ADD `{$key}` TEXT NULL DEFAULT NULL";
						$db->setQuery($query);
						if (!oseDB::query())
						{
							$result['success'] = false;
							$result['title'] = JText::_('Error');
							$result['content'] = JText::_('Fail Saving Joomla User Info.');
						}
	    			}
    			}
			else
			{
				if($key == 'vat_number')
				{
					if(!isset($fields['#__osemsc_billinginfo']['vat_number']))
					{
						$query = "ALTER TABLE `#__osemsc_billinginfo` ADD `{$key}` TEXT NULL DEFAULT NULL";
						$db->setQuery($query);
						if (!oseDB::query())
						{
							$result['success'] = false;
							$result['title'] = JText::_('Error');
							$result['content'] = JText::_('Fail Saving Joomla User Info.');
						}
					}
				}
					
			}
					
    		}
    		$values = array();

    		foreach($bill as $key => $value)
    		{
    			$values[] = $db->Quote($value);
    		}

    		$values = implode(',',$values);

			$query = "INSERT INTO `#__osemsc_billinginfo` (`user_id`,{$keys}) VALUES ('{$member_id}',{$values});";
		} else {

			foreach($bill as $key => $value)
    		{
    			$values[] = "`{$key}`=".$db->Quote($value);
    		}

    		$values = implode(',',$values);

			$query = " UPDATE `#__osemsc_billinginfo` SET {$values}"
					." WHERE `user_id` ={$member_id}"
					;
		}
		//echo $query;exit;
		$db->setQuery($query);

		if (!oseDB::query()) {
			$result['success'] = false;
			$result['title'] = JText::_('Error');
			$result['content'] = JText::_('Fail Saving Joomla User Info.');

		} else {


			$result['success'] = true;
			$result['title'] = JText::_('Done');
			$result['content'] = JText::_('Saved User Billing Info.');

		}
    	return $result;

    }
Beispiel #24
0
 function join($id, $amount = 1, $entry_type = 'msc', $entry_option = null)
 {
     //oseAppConfig::load('mscv5');
     oseRegistry::register('email', 'email');
     oseRegistry::register('msc', 'membership');
     oseRegistry::register('user', 'user');
     oseRegistry::quickRequire('user');
     oseRegistry::register('member', 'member');
     $this->generateOrder($id, $entry_option);
     $msc_id = $id;
     $user_id = $this->user_id;
     $order_id = $this->order_id;
     $order_item_id = $this->order_item_id;
     $member = oseCall('member');
     $member->instance($user_id);
     $params = $member->getAddonParams($msc_id, $user_id, $order_id, array('order_item_id' => $order_item_id));
     // is Member, renew... else join.
     $memMscInfo = $member->getMembership($msc_id, 'obj');
     if (empty($memMscInfo)) {
         $msc = oseCall('msc');
         $updated = $this->joinFromPayment($params);
     } else {
         // renew
         if ($memMscInfo->status) {
             $memParams = oseJson::decode($memMscInfo->params);
             $msc = oseCall('msc');
             $updated = $this->renewMsc($params);
         } else {
             $msc = oseCall('msc');
             $updated = $this->activateMsc($params);
         }
     }
     $db = oseDB::instance();
     $query = " UPDATE `#__osemsc_member`" . " SET `expired_date` = '{$this->expired_date}'" . " WHERE `msc_id` = '{$msc_id}' AND `member_id` = '{$user_id}'";
     $db->setQuery($query);
     oseDB::query();
     return $updated;
 }
Beispiel #25
0
	private static function activateInAutomaticMode($msc_id,$member_id,$orderInfo,$ext)
	{
		$db = oseDB::instance();
		
		$result = array();
		$result['success'] = true;
		
		
		$orderParams = oseJSON::decode($orderInfo->params);
		
		$start_date = oseHTML::getDateTime();
		$start_date = $db->Quote($start_date);
		
		$recurrence_num = $orderParams->p3;
		$recurrence_unit = $orderParams->t3;
		
		$expired_date = " DATE_ADD({$start_date},INTERVAL {$recurrence_num} {$recurrence_unit}) ";
		
		$query = " UPDATE `#__osemsc_member` "
				." SET  expired_date = {$expired_date}"
				." WHERE member_id = {$member_id} AND msc_id = {$msc_id} "
				;
		$db->setQuery($query);
		//oseExit($db->_sql);
		
		if(!oseDB::query())
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_(' Fail Updated Member\'s Recurrence ');
			
			return $result;
		}
		
		$query = " SELECT expired_date FROM `#__osemsc_member` "
				." WHERE member_id = {$member_id} AND msc_id = {$msc_id} "
				;
		$db->setQuery($query);
		$end_date = $db->loadResult();
		$end_date = $db->Quote($end_date);
		$expired_date = " DATE_ADD({$end_date},INTERVAL 1 DAY) ";
		
		if(oseObject::getValue($orderParams,'recurrence_times',0) > 1)
		{
			
		}
		else
		{
			$query = " UPDATE `#__osemsc_member` "
					." SET  expired_date = {$expired_date}"
					." WHERE member_id = {$member_id} AND msc_id = {$msc_id} "
					;
			$db->setQuery($query);
			//oseExit($db->_sql);
			
			if(!oseDB::query())
			{
				$result['success'] = false;
				$result['title'] = 'Error';
				$result['content'] = JText::_(' Fail Updated Member\'s Recurrence ');
				
				return $result;
			}
		}
			
		
		return $result;
	}
Beispiel #26
0
 private function addVmOrder($msc_id, $member_id, $params, $order_number)
 {
     if (empty($member_id)) {
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
         return $result;
     }
     // Get the IP Address
     if (!empty($_SERVER['REMOTE_ADDR'])) {
         $ip = $_SERVER['REMOTE_ADDR'];
     } else {
         $ip = 'unknown';
     }
     $post = JRequest::get('post');
     $payment_mode = $params['payment_mode'];
     $payment_method = $params['payment_method'];
     //Insert the vm order table(#__vm_orders)
     $order = array();
     //get membership price
     $payment = oseRegistry::call('payment');
     $paymentInfo = oseMscAddon::getExtInfo($msc_id, 'payment', 'obj');
     if ($payment_mode == 'm') {
         $order_subtotal = $paymentInfo->price;
     } else {
         $order_subtotal = empty($paymentInfo->has_trial) ? $paymentInfo->a3 : $paymentInfo->a1;
     }
     $order['order_subtotal'] = $params['payment_price'];
     $order_total = $params['payment_price'];
     $order['order_total'] = $order_total;
     $db = oseDB::instance();
     //$order['order_tax'] = '0.00';
     $query = "SELECT user_info_id FROM `#__vm_user_info` WHERE `user_id` = '" . (int) $member_id . "'  AND (`address_type` = 'BT' OR `address_type` IS NULL)";
     $db->setQuery($query);
     $result = $db->loadResult();
     $hash_secret = "VirtueMartIsCool";
     $user_info_id = empty($result) ? md5(uniqid($hash_secret)) : $result;
     $vendor_id = '1';
     $order['user_id'] = $member_id;
     $order['vendor_id'] = $vendor_id;
     $order['user_info_id'] = $user_info_id;
     $order['order_number'] = $order_number;
     $order['order_currency'] = !empty($payment->currency) ? $payment->currency : "USD";
     $order['order_status'] = 'C';
     $order['cdate'] = time();
     $order['ip_address'] = $ip;
     $keys = array_keys($order);
     $keys = '`' . implode('`,`', $keys) . '`';
     foreach ($order as $key => $value) {
         $order[$key] = $db->Quote($value);
     }
     $values = implode(',', $order);
     $query = "INSERT INTO `#__vm_orders` ({$keys}) VALUES ({$values});";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result = array();
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
     }
     //Insert the #__vm_order_history table
     $order_id = $db->insertid();
     $history = array();
     $history['order_id'] = $order_id;
     $history['order_status_code'] = 'C';
     $history['date_added'] = date("Y-m-d G:i:s", time());
     $history['customer_notified'] = '1';
     $keys = array_keys($history);
     $keys = '`' . implode('`,`', $keys) . '`';
     foreach ($history as $key => $value) {
         $history[$key] = $db->Quote($value);
     }
     $values = implode(',', $history);
     $query = "INSERT INTO `#__vm_order_history` ({$keys}) VALUES ({$values});";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result = array();
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
     }
     //Insert the Order payment info
     $payment = array();
     $payment['order_id'] = $order_id;
     $payment['payment_method_id'] = $payment_method;
     if ($payment_method == 'authorize') {
     }
     //Insert the User Bill
     $bill = array();
     $query = " SELECT * FROM `#__osemsc_billinginfo`" . " WHERE user_id = {$member_id}";
     $db->setQuery($query);
     $billInfo = oseDB::loadItem();
     if (isset($billInfo)) {
         $bill['company'] = $billInfo['company'];
         $bill['address_1'] = $billInfo['addr1'];
         $bill['address_2'] = $billInfo['addr2'];
         $bill['city'] = $billInfo['city'];
         $bill['state'] = $billInfo['state'];
         $bill['country'] = $billInfo['country'];
         //get vm country code
         $query = " SELECT country_3_code FROM `#__vm_country` WHERE `country_2_code` = '{$bill['country']}' ";
         $db->setQuery($query);
         $country_code = $db->loadResult();
         $bill['country'] = empty($country_code) ? $bill['country'] : $country_code;
         //get vm state code
         $query = " SELECT state_2_code FROM `#__vm_state` WHERE `state_name` = '{$bill['state']}' ";
         $db->setQuery($query);
         $state_code = $db->loadResult();
         $bill['state'] = empty($state_code) ? $bill['state'] : $state_code;
         $bill['zip'] = $billInfo['postcode'];
         $bill['phone_1'] = $billInfo['telephone'];
     }
     $query = " SELECT * FROM `#__osemsc_userinfo_view`" . " WHERE user_id = {$member_id}";
     $db->setQuery($query);
     $userInfo = oseDB::loadItem();
     $bill['order_id'] = $order_id;
     $bill['user_id'] = $member_id;
     $bill['address_type'] = 'BT';
     $bill['address_type_name'] = '-default-';
     $bill['last_name'] = $userInfo['lastname'];
     $bill['first_name'] = $userInfo['firstname'];
     $bill['user_email'] = $userInfo['email'];
     $keys = array_keys($bill);
     $keys = '`' . implode('`,`', $keys) . '`';
     foreach ($bill as $key => $value) {
         $bill[$key] = $db->Quote($value);
     }
     $values = implode(',', $bill);
     $query = "INSERT INTO `#__vm_order_user_info` ({$keys}) VALUES ({$values});";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result = array();
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
     }
     //Insert the itme table(#__vm_order_item)
     $item = array();
     $item['order_id'] = $order_id;
     $item['user_info_id'] = $user_info_id;
     $item['vendor_id'] = $vendor_id;
     //get the product info
     $vm = oseMscAddon::getExtInfo($msc_id, 'vm', 'obj');
     $query = " SELECT * FROM `#__vm_product` WHERE `product_id` = '{$vm->product_id}' ";
     $db->setQuery($query);
     $product = $db->loadObject();
     $item['product_id'] = $vm->product_id;
     $item['order_item_sku'] = $product->product_sku;
     $item['order_item_name'] = $product->product_name;
     $item['product_quantity'] = '1';
     $item['product_item_price'] = $order_subtotal;
     $item['product_final_price'] = $order_total;
     $item['order_item_currency'] = !empty($payment->currency) ? $payment->currency : "USD";
     $item['order_status'] = 'C';
     $item['cdate'] = time();
     $keys = array_keys($item);
     $keys = '`' . implode('`,`', $keys) . '`';
     foreach ($item as $key => $value) {
         $item[$key] = $db->Quote($value);
     }
     $values = implode(',', $item);
     $query = "INSERT INTO `#__vm_order_item` ({$keys}) VALUES ({$values});";
     $db->setQuery($query);
     if (!oseDB::query()) {
         $result = array();
         $result['success'] = false;
         $result['title'] = 'Error';
         $result['content'] = JText::_('Error');
     }
     $result = array();
     $result['success'] = true;
     $result['title'] = 'Done';
     $result['content'] = JText::_('Done');
     return $result;
 }
Beispiel #27
0
 function remove($email_id)
 {
     $db = oseDB::instance();
     $query = " DELETE FROM `#__osemsc_email`" . " WHERE id = {$email_id}";
     $db->setQuery($query);
     return oseDB::query();
 }
Beispiel #28
0
 function updateSubmit($item, $args, $params = array())
 {
     $db = oseDB::instance();
     $where = array();
     $where[] = "`id` = " . (int) $args['id'];
     $where[] = "`entry_type` = " . $db->Quote('credit_submit');
     $where = oseDB::implodeWhere($where);
     $sql = array();
     foreach ($args as $key => $value) {
         if (!in_array($key, array('id', 'credit_amount'))) {
             $sql[] = "`" . $key . "`" . "=" . $db->Quote($value);
         }
     }
     if (!empty($params)) {
         $params = $db->Quote(oseJson::encode($params));
         $sql[] = "`params` = " . $params;
     }
     $sql = implode(",", $sql);
     $query = " UPDATE `{$this->table}`" . " SET " . $sql . $where;
     $db->setQuery($query);
     return oseDB::query();
 }
	public function remove($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();
		
		$member_id = $params['member_id'];
		
		$query = " SELECT mm.link_id "
				." FROM `#__osemsc_mtrel` AS mm"
				." INNER JOIN `#__osemsc_directory` AS directory ON directory.directory_id = mm.directory_id"
    			." INNER JOIN `#__oselic_cs_keys_view` AS luv ON luv.company_id = directory.company_id"
    			." WHERE luv.user_id = {$member_id}";
    			;
		$db->setQuery($query);
		
		$link_id = $db->loadResult();
		
		if(empty($link_id))
		{
			return $result;	
		}
		
		$query = " DELETE FROM `#__osemsc_mtrel`"
				." WHERE link_id = {$link_id}"
				;
				
		$db->setQuery($query);
		
		if(oseDB::query())
		{
			return $result;
		}
		else
		{
			$result['success'] = false;
			$result['title'] = 'Error';
			$result['content'] = JText::_("remove.directory");
			return $result;
		}
		
		
	}
Beispiel #30
0
 function isAllowed2Join()
 {
     $db = oseDB::instance();
     $total = $this->getTotal();
     $now = oseHtml2::getDateTime();
     // before validate the access, we delete the useless data first
     $query = " DELETE FROM `#__osemsc_member_join_session`" . " WHERE `msc_id`='{$this->id}' AND `start_date` < DATE_SUB('{$now}',INTERVAL 30 MINUTE)";
     $db->setQuery($query);
     oseDB::query();
     // detect whether it is full
     if ($total == $this->restricted_number) {
         return false;
     }
     // default half an hour
     $query = "SELECT COUNT(*) FROM `#__osemsc_member_join_session`" . " WHERE `msc_id`='{$this->id}' AND `start_date` > DATE_SUB('{$now}',INTERVAL 30 MINUTE)";
     $db->setQuery($query);
     $temporary = $db->loadResult();
     $nowTotal = $total + $temporary;
     if ($nowTotal >= $this->restricted_number) {
         return false;
     } else {
         return true;
     }
 }