/** * * Ajax render to store in session */ public function ajaxGetRender() { /** load libraries for the system rener **/ JSNFactory::localimport('libraries.joomlashine.mode.rawmode'); JSNFactory::localimport('libraries.joomlashine.menu.menuitems'); /** get url **/ $render_url = JRequest::getVar('render_url', ''); $urlRender = base64_decode($render_url); $session = JSession::getInstance('files', array('name' => 'jsnpoweradmin')); if ($render_url == '') { $urlRender = JSNDatabase::getDefaultPage()->link; } $currUri = new JURI($urlRender); if (!$currUri->hasVar('Itemid')) { $currUri->setVar('Itemid', JSNDatabase::getDefaultPage()->id); } $urlString = $currUri->toString(); $session->set('rawmode_render_url', base64_encode($urlString)); $parts = JString::parse_url($urlString); if (!empty($parts['query'])) { parse_str($parts['query'], $params); } else { $params = array(); } $jsntemplate = JSNFactory::getTemplate(); $jsnrawmode = JSNRawmode::getInstance($params); $jsnrawmode->setParam('positions', $jsntemplate->loadXMLPositions()); $jsnrawmode->renderAll(); $session = JSession::getInstance('files', array('name' => 'jsnajaxgetrender')); $session->set('component', $jsnrawmode->getHTML('component')); $session->set('jsondata', $jsnrawmode->getScript('positions', 'JSON')); jexit('success'); }
/** * * Get ramode instanced * * @param Array $params */ public static function getRawmode($params = array()) { JSNFactory::localimport('libraries.joomlashine.mode.rawmode'); if (!isset(self::$rawmode)) { self::$rawmode = JSNRawmode::getInstance($params); } return self::$rawmode; }
/** * * Rawmode load data json */ public function loadModulesJsonData() { JSNFactory::localimport('libraries.joomlashine.mode.rawmode'); $position = JRequest::getVar('position', ''); $Itemid = JRequest::getVar('currItemid', 0); $jsnrawmode = JSNRawmode::getInstance(); $jsnrawmode->setParam('Itemid', $Itemid); $jsnrawmode->renderPosition($position); echo $jsnrawmode->getScript('position', 'JSON', $position); jexit(); }
/** * * Ajax request set/get data */ public function request() { $data = new JRegistry(); $dataFromRequest = JRequest::getVar('data', ''); $data->loadObject(json_decode($dataFromRequest)); if ($data->get('requestTask', '') == 'brankNewData') { JSNFactory::localimport('libraries.joomlashine.mode.rawmode'); $jsnrawmode = JSNRawmode::getInstance($data->toArray()); $jsnrawmode->renderComponent(); echo $jsnrawmode->getHTML('component'); jexit(); } $params = $data->get('params', array()); if (is_object($params)) { $params = (array) $params; } if ($data->get('prefix_params', false)) { $prefixId = 0; $_params = array(); foreach ($params as $key => $val) { $suffixs = explode('_', $key); $number = (int) $suffixs[count($suffixs) - 1]; if (!$prefixId) { $prefixId = $number; } $_params[str_replace('_' . $number, '', $key)] = $val; } $params = $_params; } $jsnConfig = JSNFactory::getConfig(); // Execute saveParams event if option is supported ext JSNPaExtensionsHelper::executeExtMethod(str_ireplace('com_', '', $data->get('option')), 'saveParams', array('data' => $data, 'jsnConfig' => $jsnConfig, 'params' => $params)); switch ($data->get('requestType', 'only')) { case 'only': $jsnConfig->menuitem($data->get('Itemid', ''), $params); break; case 'globally': //Set global config $jsnConfig->extension($data->get('option', ''), $params); foreach ($params as $k => $param) { $params[$k] = ''; } //Set for menu article layout $allMenuitems = $this->getModel('menuitem')->getAllItems(array('option' => $data->get('option', $data->get('option')), 'view' => $data->get('view', 'article'), 'layout' => $data->get('layout', ''))); foreach ($allMenuitems as $item) { $jsnConfig->menuitem($item->id, $params); } break; } jexit('success'); }
/** * Display function */ public function display($tpl = null) { if (function_exists('error_reporting')) { error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT); } /** load libraries for the system rener **/ JSNFactory::localimport('libraries.joomlashine.mode.rawmode'); JSNFactory::localimport('libraries.joomlashine.menu.menuitems'); /** Assignment variables **/ $jsntemplate = JSNFactory::getTemplate(); $jsnmenuitems = JSNMenuitems::getInstance(); /** get url **/ $render_url = JRequest::getVar('render_url', ''); $session = JSession::getInstance('files', array('name' => 'jsnpoweradmin')); if ($render_url == '' && $session->get('rawmode_render_url')) { $render_url = $session->get('rawmode_render_url'); } $urlRender = base64_decode($render_url); if ($render_url == '') { $urlRender = JSNDatabase::getDefaultPage()->link; } $currUri = new JURI($urlRender); if (!$currUri->hasVar('Itemid')) { $currUri->setVar('Itemid', JSNDatabase::getDefaultPage()->id); } $urlString = $currUri->toString(); $session->set('rawmode_render_url', base64_encode($urlString)); $parts = JString::parse_url($urlString); if (!empty($parts['query'])) { parse_str($parts['query'], $params); } else { $params = array(); } $jsnrawmode = JSNRawmode::getInstance($params); $jsnrawmode->setParam('positions', $jsntemplate->loadXMLPositions()); $jsnrawmode->renderAll(); $this->assign('component', $jsnrawmode->getHTML('component')); $this->assign('modules', $jsnrawmode->getHTML('positions')); $this->assign('jsnmenuitems', $jsnmenuitems); $this->assign('urlRender', $urlRender); /** add toolbar buttons **/ $this->addToolBar(); /** add scripts and css **/ //$this->addMedia( $currUri->getVar('Itemid'), $urlString, array());//$jsnrawmode->getScript('positions', 'Array')); $this->addMedia($currUri->getVar('Itemid'), $urlString, $jsnrawmode->getScript('positions', 'Array')); return parent::display(); }