private function updateUserGroup()
 {
     $user = JFactory::getUser();
     if (!$user->guest) {
         $from_summ_1 = $this->params->get('from_summ_1', 0);
         $to_summ_1 = $this->params->get('to_summ_1', 0);
         $group_id_1 = $this->params->get('group_id_1', 0);
         $from_summ_2 = $this->params->get('from_summ_2', 0);
         $to_summ_2 = $this->params->get('to_summ_2', 0);
         $group_id_2 = $this->params->get('group_id_2', 0);
         if ($from_summ_1 != 0 && $to_summ_1 != 0 && $group_id_1 != 0 || $from_summ_2 != 0 && $to_summ_2 != 0 && $group_id_2 != 0) {
             $db = JFactory::getDBO();
             $order = JSFactory::getTable('order', 'jshop');
             $orders = $order->getOrdersForUser($user->id);
             $total = 0;
             foreach ($orders as $order) {
                 $total += $order->order_total;
             }
             $this->groupIsPresent($db, 3);
             if ($total >= $from_summ_1 && $total <= $to_summ_1) {
                 if ($this->groupIsPresent($db, $group_id_1)) {
                     $this->setNewGroupId($db, $group_id_1, $user->id);
                 }
                 //}	elseif($total >= $from_summ_2 && $total <= $to_summ_2) {
             } else {
                 if ($this->groupIsPresent($db, $group_id_2)) {
                     $this->setNewGroupId($db, $group_id_2, $user->id);
                 }
                 //}	elseif($total >= $from_summ_2 && $total <= $to_summ_2) {
             }
             setNextUpdatePrices();
         }
     }
 }
Example #2
0
 function logout()
 {
     $mainframe = JFactory::getApplication();
     JPluginHelper::importPlugin('jshoppingcheckout');
     $dispatcher = JDispatcher::getInstance();
     $dispatcher->trigger('onBeforeLogout', array());
     $error = $mainframe->logout();
     $session = JFactory::getSession();
     $session->set('user_shop_guest', null);
     $session->set('cart', null);
     if (!JError::isError($error)) {
         if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
             $return = base64_decode($return);
             if (!JURI::isInternal($return)) {
                 $return = '';
             }
         }
         setNextUpdatePrices();
         $dispatcher->trigger('onAfterLogout', array());
         if ($return && !strpos($return, 'com_user')) {
             $mainframe->redirect($return);
         } else {
             $mainframe->redirect(JURI::base());
         }
     }
 }
 function step2save()
 {
     $checkout = JModelLegacy::getInstance('checkout', 'jshop');
     $checkout->checkStep(2);
     JPluginHelper::importPlugin('jshoppingcheckout');
     $dispatcher = JDispatcher::getInstance();
     $dispatcher->trigger('onLoadCheckoutStep2save', array());
     $cart = JModelLegacy::getInstance('cart', 'jshop');
     $cart->load();
     $session = JFactory::getSession();
     $jshopConfig = JSFactory::getConfig();
     $post = JRequest::get('post');
     if (!count($post)) {
         JError::raiseWarning("", _JSHOP_ERROR_DATA);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step2', 0, 1, $jshopConfig->use_ssl));
         return 0;
     }
     if ($post['birthday']) {
         $post['birthday'] = getJsDateDB($post['birthday'], $jshopConfig->field_birthday_format);
     }
     if ($post['d_birthday']) {
         $post['d_birthday'] = getJsDateDB($post['d_birthday'], $jshopConfig->field_birthday_format);
     }
     unset($post['user_id']);
     unset($post['usergroup_id']);
     $user = JFactory::getUser();
     if ($user->id) {
         $adv_user = JTable::getInstance('userShop', 'jshop');
         $adv_user->load($user->id);
     } else {
         $adv_user = JSFactory::getUserShopGuest();
     }
     $adv_user->bind($post);
     if (!$adv_user->check("address")) {
         JError::raiseWarning("", $adv_user->getError());
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step2', 0, 1, $jshopConfig->use_ssl));
         return 0;
     }
     $dispatcher->trigger('onBeforeSaveCheckoutStep2', array(&$adv_user, &$user, &$cart));
     if (!$adv_user->store()) {
         JError::raiseWarning(500, _JSHOP_REGWARN_ERROR_DATABASE);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step2', 0, 1, $jshopConfig->use_ssl));
         return 0;
     }
     if ($user->id && !$jshopConfig->not_update_user_joomla) {
         $user = clone JFactory::getUser();
         if ($adv_user->email) {
             $user->email = $adv_user->email;
         }
         if ($adv_user->f_name || $adv_user->l_name) {
             $user->name = $adv_user->f_name . " " . $adv_user->l_name;
         }
         if ($adv_user->f_name || $adv_user->l_name || $adv_user->email) {
             $user->save();
         }
     }
     setNextUpdatePrices();
     $cart->setShippingId(0);
     $cart->setShippingPrId(0);
     $cart->setShippingPrice(0);
     $cart->setPaymentId(0);
     $cart->setPaymentParams("");
     $cart->setPaymentPrice(0);
     $dispatcher->trigger('onAfterSaveCheckoutStep2', array(&$adv_user, &$user, &$cart));
     if ($jshopConfig->without_shipping && $jshopConfig->without_payment) {
         $checkout->setMaxStep(5);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step5', 0, 1, $jshopConfig->use_ssl));
         return 0;
     }
     if ($jshopConfig->without_payment) {
         $checkout->setMaxStep(4);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step4', 0, 1, $jshopConfig->use_ssl));
         return 0;
     }
     if ($jshopConfig->step_4_3) {
         if ($jshopConfig->without_shipping) {
             $checkout->setMaxStep(3);
             $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step3', 0, 1, $jshopConfig->use_ssl));
             return 0;
         }
         $checkout->setMaxStep(4);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step4', 0, 1, $jshopConfig->use_ssl));
     } else {
         $checkout->setMaxStep(3);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step3', 0, 1, $jshopConfig->use_ssl));
     }
 }
Example #4
0
 function step2save(){
     
     $this->_check(2);
     
     $cart = &JModel::getInstance('cart', 'jshop');
     $cart->load();
     
     $session =& JFactory::getSession();
     $jshopConfig = &JSFactory::getConfig();          
     $post = JRequest::get('post');
     if (!count($post)){
         JError::raiseWarning("",_JSHOP_ERROR_DATA);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step2',0,1, $jshopConfig->use_ssl));
         return 0;
     }
     
     unset($post['user_id']);
     unset($post['usergroup_id']);
     
     $user = &JFactory::getUser();
     if ($user->id){
         $adv_user = &JTable::getInstance('userShop', 'jshop');        
         $adv_user->load($user->id);
     }else{
         $adv_user = &JSFactory::getUserShopGuest();
     }
     
     $adv_user->bind($post);
     if(!$adv_user->check("address")){
         JError::raiseWarning("",$adv_user->getError());
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step2',0,1, $jshopConfig->use_ssl));
         return 0;
     }
     
     JPluginHelper::importPlugin('jshoppingcheckout');
     $dispatcher =& JDispatcher::getInstance();
     $dispatcher->trigger( 'onBeforeSaveCheckoutStep2', array(&$adv_user) );
     
     if(!$adv_user->store()){
         JError::raiseWarning(500,_JSHOP_REGWARN_ERROR_DATABASE);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step2',0,1, $jshopConfig->use_ssl));
         return 0;
     }
     
     if ($user->id){
         $user = clone(JFactory::getUser());
         $user->email = $adv_user->email;
         $user->save();
     }
     
     setNextUpdatePrices();
     
     $dispatcher->trigger( 'onAfterSaveCheckoutStep2', array(&$adv_user) );
     
     if ($jshopConfig->without_shipping && $jshopConfig->without_payment) {
         $this->_setMaxStep(5);
         $cart->setShippingId(0);
         $cart->setShippingPrId(0);
         $cart->setShippingPrice(0);
         $cart->setPaymentId(0);
         $cart->setPaymentParams("");
         $cart->setPaymentPrice(0);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step5',0,1, $jshopConfig->use_ssl));
         return 0; 
     }
     
     if ($jshopConfig->without_payment){
         $this->_setMaxStep(4);
         $cart->setPaymentId(0);
         $cart->setPaymentParams("");
         $cart->setPaymentPrice(0);
         $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step4',0,1,$jshopConfig->use_ssl));
         return 0;
     }
     
     $this->_setMaxStep(3);
     $this->setRedirect(SEFLink('index.php?option=com_jshopping&controller=checkout&task=step3',0,1,$jshopConfig->use_ssl));
 }
Example #5
0
 function logout()
 {
     $model = JSFactory::getModel('userlogin', 'jshop');
     $model->logout();
     setNextUpdatePrices();
     JFactory::getApplication()->redirect($model->getReturnUrl());
 }
Example #6
0
 function step2save()
 {
     $jshopConfig = JSFactory::getConfig();
     $dispatcher = JDispatcher::getInstance();
     $model = JSFactory::getModel('useredit', 'jshop');
     $adv_user = JSFactory::getUser();
     $user = JFactory::getUser();
     $checkoutStep = JSFactory::getModel('checkoutStep', 'jshop');
     $checkout = JSFactory::getModel('checkout', 'jshop');
     $checkout->checkStep(2);
     $post = JRequest::get('post');
     $back_url = $checkoutStep->getCheckoutUrl('2');
     $dispatcher->trigger('onLoadCheckoutStep2save', array(&$post));
     $cart = JSFactory::getModel('cart', 'jshop');
     $cart->load();
     $model->setUser($adv_user);
     $model->setData($post);
     if (!$model->check("address")) {
         JError::raiseWarning('', $model->getError());
         $this->setRedirect($back_url);
         return 0;
     }
     $dispatcher->trigger('onBeforeSaveCheckoutStep2', array(&$adv_user, &$user, &$cart, &$model));
     if (!$model->save()) {
         JError::raiseWarning('500', _JSHOP_REGWARN_ERROR_DATABASE);
         $this->setRedirect($back_url);
         return 0;
     }
     setNextUpdatePrices();
     $checkout->setCart($cart);
     $checkout->setEmptyCheckoutPrices();
     $dispatcher->trigger('onAfterSaveCheckoutStep2', array(&$adv_user, &$user, &$cart));
     $next_step = $checkoutStep->getNextStep(2);
     $checkout->setMaxStep($next_step);
     $this->setRedirect($checkoutStep->getCheckoutUrl($next_step));
 }