Пример #1
0
 function joinMsc($member_id, $paymentInfo)
 {
     $result = oseMscPublic::generateOrder($member_id, 'system_admin', $paymentInfo);
     if (!$result['success']) {
         return $result;
     }
     $orderInfo = oseRegistry::call('payment')->getInstance('Order')->getOrder(array("`order_id`='{$result['order_id']}'"), 'obj');
     return oseMscPublic::processPayment($orderInfo);
     /*
     //$db = oseDB::instance();
     $member = oseRegistry::call('member');
     
     $result = array();
     $result['success'] = true;
     $result['title'] = 'Done';
     $result['content'] = 'Added successfully!';
     
     foreach($member_ids as $member_id)
     {
     	$member->instance($member_id);
     
     	$isMember = $member->isSpecificMember($msc_id);
     
     	$user = JFactory::getUser();
     	$params = array();
     	$params['member_id'] = $user->id;
     	$params['payment_method'] = 'system_admin';
     
     	oseRegistry::call('msc')->runAddonAction('member.billinginfo.save');
     	oseRegistry::call('msc')->runAddonAction('register.payment.save',$params);
     
     	if(!$member->joinMsc($msc_id))
     	{
     		$result['success'] = false;
     		$result['title'] = 'Error';
     		$result['content'] = 'Fail adding user!';
     
     		return $result;
     	}
     	else
     	{
     
     
     	    // is Member, renew... else join.
     	   // $db = oseDB::instance();
     	    $msc_option = JRequest::getCmd('msc_option',null);
     
     	    $payment = oseRegistry::call('payment');
     
     	    $orderParams = array();
     	    //$price_params = $order->generateOrderParams($msc_id,);
     		$orderParams['payment_price'] = 0;
             $orderParams['order_number'] = $payment->generateOrderNumber($member_id);
             $orderParams['create_date'] = oseHTML::getDateTime();;//date("Y-m-d H:i:s");
     
     
             $extPayments = oseMscAddon::getExtInfo($msc_id,'payment');
     
             $extPayment = $extPayments[$msc_option];
     
             if (strtolower(oseObject::getValue($extPayment,'payment_mode'))== 'b')
     		{
     			$orderParams['payment_mode'] = 'm';
     			$price_params = $payment->generateOrderParams($msc_id,0,'m',$msc_option);
     		}
     		else
     		{
     			$orderParams['payment_mode'] = oseObject::getValue($extPayment,'payment_mode');
     			$price_params = $payment->generateOrderParams($msc_id,0,oseObject::getValue($extPayment,'payment_mode'),$msc_option);
     		}
     
     
     		//$orderParams['payment_mode'] = 'm';
     
     
             $orderParams['payment_from'] = 'system_admin';
             $orderParams['payment_method'] = 'osemsc';
             $orderParams['order_status'] = 'confirmed';
     		//$params['payment_from_order_id'] = $order_number;
     		$orderParams['params'] = oseJSON::encode($price_params);
     	    $order_id = $payment->generateOrder($msc_id,$member_id,$orderParams);
     
     
     	    if(!$order_id)
     	    {
     	    	$result['success'] = false;
     			$result['title'] = 'Error';
     			$result['content'] = 'Fail adding user!';
     
     			return $result;
     	    }
     	    else
     	    {
     	    	//self::addVmOrder($msc_id,$member_id,$orderParams,$orderParams['order_number']);
     	    	//$db = oseDB::instance();oseExit($db->_sql);
     	    }
     
     	    $params = array();
     		$params['msc_id'] = $msc_id;
     		$params['member_id'] = $member_id;
     		$params['join_from'] = 'payment';
     		$params['order_id'] = $order_id;
     		$params['allow_work'] = true;
     		$params['master'] = true;
     
     	    //oseExit($isMember);
     	    if(!$isMember)
     	    {//oseExit('join');
     			$list = oseMscAddon::getAddonList('join',true,1,'obj');
     
     			foreach($list as $addon)
     			{
     				$action_name = 'join.'.$addon->name.'.save';
     
     				$result = oseMscAddon::runAction('join.'.$addon->name.'.save',$params);
     
     				if(!$result['success'])
     				{
     					$this->cancelMsc(array($member_id),$msc_id);
     
     					return $result;
     				}
     			}
     	    }
     	    else
     	    {
     
         		$list = oseMscAddon::getAddonList('renew',true,1,'obj');
     
     			foreach($list as $addon)
     			{
     				$action_name = 'renew.'.$addon->name.'.activate';
     
     				$result = oseMscAddon::runAction($action_name,$params);
     
     				if(!$result['success'])
     				{
     					$this->cancelMsc(array($member_id),$msc_id);
     
     					return $result;
     				}
     			}
     
     	    }
     
     	}
     }
     
     return $result;
     */
 }
Пример #2
0
 function createMember()
 {
     $created = self::createUser();
     if ($created['success']) {
         $member_id = JRequest::getInt('member_id', 0);
         $msc_id = JRequest::getInt('msc_id', 0);
         $msc_option = JRequest::getCmd('msc_option', null);
         if (empty($msc_id)) {
             $result['success'] = false;
             $result['title'] = JText::_('PLEASE_SELECT_MEMBERSHIP_PLAN_FIRST');
             $result['content'] = JText::_('PLEASE_SELECT_ONE_PLAN_IN_THE_LEFT_SIDE_PANEL');
             return $result;
         }
         if (empty($msc_option)) {
             $result['success'] = false;
             $result['title'] = JText::_('PLEASE_SELECT_MEMBERSHIP_PLAN_FIRST');
             $result['content'] = JText::_('IF_THERE_IS_NO_OPTION_IN_THE_DROPDOWN_LIST_PLEASE_CREATE_ONE_IN_THE_PANEL_PAYMENT');
             return $result;
         }
         $cart = oseMscPublic::getCart();
         $cart->addItem(null, null, array('entry_id' => $msc_id, 'entry_type' => 'msc', 'msc_option' => $msc_option));
         $cart->refreshCartItems();
         $paymentInfo = $cart->output();
         if (!empty($msc_option)) {
             $payment = oseRegistry::call('msc')->getExtInfo($msc_id, 'payment', 'array');
             $payment = $payment[$msc_option];
             $price = oseObject::getValue($payment, 'a3');
             $paymentInfo['payment_price'] = $price;
             $paymentInfo = oseObject::setParams($paymentInfo, array('a3' => $price, 'total' => $price, 'next_total' => 0, 'subtotal' => $price));
         } else {
             $paymentInfo['payment_price'] = '0.00';
             $paymentInfo = oseObject::setParams($paymentInfo, array('a3' => 0, 'total' => 0, 'next_total' => 0));
         }
         $result = oseMscPublic::generateOrder($member_id, 'system_admin', $paymentInfo);
         if (!$result['success']) {
             return $result;
         }
         $orderInfo = oseRegistry::call('payment')->getInstance('Order')->getOrder(array("`order_id`='{$result['order_id']}'"), 'obj');
         $updated = oseMscPublic::processPayment($orderInfo);
         if ($updated['success']) {
             $result = $updated;
             $result['success'] = true;
             $result['title'] = JText::_('DONE');
             $result['content'] = JText::_('ADDED_SUCCESSFULLY');
         } else {
             $result = $updated;
             $result['success'] = false;
             $result['title'] = JText::_('ERROR');
             $result['content'] = JText::_("MEMBER_ID") . " :{$member_id} " . JText::_("FAILED_JOINING");
         }
         return $result;
     } else {
         return $created;
     }
 }