function getShipping(&$ref, &$cart, $ajax = false) { if (empty($cart)) { if (!empty($ref->cart)) { $cart =& $ref->cart; } else { $cart = VirtueMartCart::getCart(false, false); } } include JPATH_ROOT . DS . 'components' . DS . 'com_onepage' . DS . 'config' . DS . 'onepage.cfg.php'; $cmd = JRequest::getVar('cmd', false); //$methods = OPCloader::getPluginMethods(); if (!$ajax) { if (!class_exists('vmPSPlugin')) { require JPATH_VM_PLUGINS . DS . 'vmpsplugin.php'; } JPluginHelper::importPlugin('vmpayment'); $dispatcher = JDispatcher::getInstance(); if (!isset($cart)) { $cart = VirtueMartCart::getCart(); } $plugins = array(); $html = ''; $results = $dispatcher->trigger('loadPluginJavascriptOPC', array(&$cart, &$plugins, &$html)); //include(JPATH_SITE.DS.'components'.DS.'com_onepage'.DS.'helpers'.DS.'third_party'.DS.'third_party_shipping_javascript.php'); if (!empty($html)) { OPCloader::$extrahtml .= $html; } unset($html); // so we don't update the address twice require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'controllers' . DS . 'opc.php'; $c = new VirtueMartControllerOpc(); $c->setAddress($cart, true, false, true); } if ($cmd != 'customershipping' && $cmd != 'runpay') { if (!empty($op_customer_shipping)) { $onclick = 'onclick="javascript: return Onepage.op_runSS(null, false, true, \'customershipping\');" '; $html = $this->fetch($ref, 'customer_shipping', array('onclick' => $onclick)); if (empty($html)) { $html = '<a href="#" ' . $onclick . ' >' . OPClang::_('COM_ONEPAGE_CLICK_HERE_TO_DISPLAY_SHIPPING') . '</a>'; } $html .= '<input type="hidden" name="invalid_country" id="invalid_country" value="invalid_country" /><input type="hidden" name="virtuemart_shipmentmethod_id" checked="checked" id="shipment_id_0" value="choose_shipping" />'; $shipping_choose_html = '<div id="customer_shipping_wrapper">' . $html . '</div>'; $shipping_choose_html_a = array(); $shipping_choose_html_a[] = $shipping_choose_html; } } require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'ajaxhelper.php'; $bhelper = new basketHelper(); if (!isset($shipping_choose_html_a)) { $sh = $bhelper->getShippingArrayHtml($ref, $cart, $ajax); } else { $sh = $shipping_choose_html_a; } if (empty($cart) || empty($cart->products)) { $op_disable_shipping = OPCloader::getShippingEnabled($cart); if (empty($op_disable_shipping)) { $html = '<input type="hidden" name="invalid_country" id="invalid_country" value="invalid_country" /><input type="hidden" name="virtuemart_shipmentmethod_id" checked="checked" id="shipment_id_0" value="choose_shipping" />'; } $html .= '<div style="color: red; font-weight: bold;">' . OPCLang::_('COM_VIRTUEMART_EMPTY_CART') . '</div>'; $sh = array($html); } if (!empty($disable_payment_per_shipping)) { $session = JFactory::getSession(); $dpps = array(); require_once JPATH_ROOT . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'transform.php'; foreach ($sh as $k => $cs) { foreach ($dpps_search as $key => $val) { // if we find the need in the shipping, let's associate it with an id $val = urldecode($val); if (strpos($cs, $val) !== false) { //if (!empty($dpps[$key])) continue; $id = OPCTransform::getFT($cs, 'input', 'virtuemart_shipmentmethod_id', 'name', 'virtuemart_shipmentmethod_id', '>', 'value'); if (is_array($id)) { $id = reset($id); } if (empty($dpps[$key])) { $dpps[$key] = array(); } $dpps[$key][] = $id; } } } $session->set('dpps', $dpps); } if ($cart->pricesUnformatted['billTotal'] && empty($cart->pricesUnformatted['billTotal'])) { $ph = array(); } else { $ph = $bhelper->getPaymentArray(); } $bhelper->createDefaultAddress($ref, $cart); $html = $bhelper->getPaymentArrayHtml($ref->cart, $ph, $sh); self::$totals_html = basketHelper::$totals_html; $bhelper->restoreDefaultAddress($ref, $cart); //$ret = implode('<br />', $sh); $ret = ''; $ret .= $html; return $ret; }
public function plgVmOnMainController($_controller) { $arr = array('user', 'registration'); if (in_array($_controller, $arr)) { $isopc = JRequest::getVar('opcregistration', false); if (!empty($isopc)) { if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); } JRequest::setVar('task', 'opcregister'); require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'controllers' . DS . 'opc.php'; $opc = new VirtueMartControllerOpc(); $msg = $opc->opcregister(); $opc->setRedirect(JRoute::_('index.php?option=com_virtuemart&view=user', false), $msg); $app = JFactory::getApplication(); $app->close(); } } }
private function storeShopperGroup(&$data, $update = false) { require_once JPATH_ROOT . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'mini.php'; $shoppergroupmodel = OPCmini::getModel('ShopperGroup'); $userModel = OPCmini::getModel('user'); $default = $shoppergroupmodel->getDefault(0); if (!empty($default)) { $default_id = $default->virtuemart_shoppergroup_id; } else { $default_id = 1; } $default2 = $shoppergroupmodel->getDefault(1); if (!empty($default2)) { $default2_id = $default2->virtuemart_shoppergroup_id; } else { $default2_id = 2; } $user = JFactory::getUser(); $user_id = $user->get('id'); $db = JFactory::getDBO(); if (empty($user_id)) { return; } if (!empty($update)) { $q = 'select * from #__virtuemart_vmuser_shoppergroups where virtuemart_user_id = ' . (int) $user_id . ' limit 0,1'; $db->setQuery($q); $res = $db->loadAssoc(); // the shopper group was already set if (!empty($res)) { return; } } if (empty($data['virtuemart_shoppergroup_id']) || $data['virtuemart_shoppergroup_id'] == $default) { return; } require_once JPATH_ROOT . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'mini.php'; $usermodel = OPCmini::getModel('user'); //$user = $usermodel->getUser (); //$user->shopper_groups = (array)$user->shopper_groups; // Bind the form fields to the table $data['virtuemart_shoppergroup_id'] = (int) $data['virtuemart_shoppergroup_id']; //if(!empty($data['virtuemart_shoppergroup_id'])) $db = JFactory::getDBO(); if (empty(self::$shopper_groups)) { self::$shopper_groups = array(); } if (method_exists($userModel, 'getCurrentUser')) { $user = $userModel->getCurrentUser(); self::$shopper_groups = $user->shopper_groups; } if (empty(self::$shopper_groups)) { self::$shopper_groups = array(); } if (!in_array($data['virtuemart_shoppergroup_id'], self::$shopper_groups)) { self::$shopper_groups[] = $data['virtuemart_shoppergroup_id']; } foreach (self::$shopper_groups as $key => $group) { if (empty($group)) { continue; } // anonymous if ($group == $default_id) { continue; } // default if ($group == $default2_id) { continue; } if (empty($group)) { continue; } //$user = $userModel->getUser(); $group = (int) $group; $q = "insert into `#__virtuemart_vmuser_shoppergroups` (id, virtuemart_user_id, virtuemart_shoppergroup_id) values (NULL, " . (int) $user_id . ", " . (int) $group . ")"; $db->setQuery($q); $db->query(); $e = $db->getError(); // do not give an error: if (!empty($e)) { echo $e; } /* $shoppergroupData = array('virtuemart_user_id'=>$user_id,'virtuemart_shoppergroup_id'=>$group); $user_shoppergroups_table = $userModel->getTable('vmuser_shoppergroups'); $shoppergroupData = $user_shoppergroups_table -> bindChecknStore($shoppergroupData); $errors = $user_shoppergroups_table->getErrors(); foreach($errors as $error){ $this->setError($error); vmError('Set shoppergroup '.$error); echo $error; $noError = false; } */ } }
* */ if (!defined('_VALID_MOS') && !defined('_JEXEC')) { die('Direct Access to ' . basename(__FILE__) . ' is not allowed.'); } require_once JPATH_SITE . DIRECTORY_SEPARATOR . 'administrator' . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_onepage' . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'compatibility.php'; // disable cache for all one page pages if (class_exists('JCache')) { $options = array('defaultgroup' => 'page', 'browsercache' => false, 'caching' => false); $caching = JCache::getInstance('page', $options); $caching->setCaching(false); } $task = JRequest::getVar('task', ''); if ($task === 'opcregister') { require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'controllers' . DS . 'opc.php'; $opc = new VirtueMartControllerOpc(); $opc->opcregister(); $app = JFactory::getApplication(); $app->close(); } else { if ($task === 'loadjs') { require_once JPATH_ROOT . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'mini.php'; $file = JRequest::getVar('file', ''); if (!empty($file)) { OPCmini::loadJSfile($file); $app = JFactory::getApplication(); $app->close(); die; } } else { if ($task === 'ping') {