public function __construct($config = array()) { $rt = parent::__construct($config); MageBridgeModelDebug::getDebugOrigin(MageBridgeModelDebug::MAGEBRIDGE_DEBUG_ORIGIN_JOOMLA_JSONRPC); $this->debug = MageBridgeModelDebug::getInstance(); $this->app = JFactory::getApplication(); return $rt; }
/** * Default method showing a JView * * @param boolean $cachable * @param boolean $urlparams * * @return null */ public function display($cachable = false, $urlparams = false) { // Check if the bridge is offline if (MageBridge::getBridge()->isOffline()) { JFactory::getApplication()->input->set('view', 'offline'); JFactory::getApplication()->input->set('layout', 'default'); } // Set a default view if (JFactory::getApplication()->input->get('view') == '') { JFactory::getApplication()->input->set('view', 'root'); } // Check for a logout action and perform a logout in Joomla! first $request = MageBridgeUrlHelper::getRequest(); if ($request == 'customer/account/logout') { $session = JFactory::getSession(); $session->destroy(); } // Check for an admin request $backend = MageBridgeModelConfig::load('backend'); if (!empty($backend) && substr($request, 0, strlen($backend)) === $backend) { $request = str_replace($backend, '', $request); $url = MageBridgeModelBridge::getInstance()->getMagentoAdminUrl($request); $this->setRedirect($url); return; } // Redirect if the layout is not supported by the view if (JFactory::getApplication()->input->get('view') == 'catalog' && !in_array(JFactory::getApplication()->input->get('layout'), array('product', 'category', 'addtocart'))) { $url = MageBridgeUrlHelper::route('/'); $this->setRedirect($url); return; } parent::display($cachable, $urlparams); }