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(); } } }
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)); } }
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)); }
function logout() { $model = JSFactory::getModel('userlogin', 'jshop'); $model->logout(); setNextUpdatePrices(); JFactory::getApplication()->redirect($model->getReturnUrl()); }
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)); }