public function display($tpl = null) { // version prefix $this->joomlaVersionPrefix = Sh404sefHelperGeneral::getJoomlaVersionPrefix(); // get model and update context with current $model = ShlMvcModel_Base::getInstance('urls', 'Sh404sefModel'); $context = $model->setContext($this->_context . '.' . $this->getLayout()); // display type: simple for very large sites/slow slq servers $sefConfig = Sh404sefFactory::getConfig(); // store it $model = $this->setModel($model, true); // read data from model $list = $model->getList((object) array('layout' => $this->getLayout(), 'getMetaData' => true, 'simpleUrlList' => true, 'slowServer' => $sefConfig->slowServer)); // and push it into the view for display $this->assign('items', $list); $this->assign('itemCount', count($this->items)); $this->assign('contentcs', Sh404sefHelperGeneral::getDataMD5($this->items, array('metatitle', 'metadesc'))); $this->assign('pagination', $model->getPagination((object) array('layout' => $this->getLayout(), 'simpleUrlList' => true, 'slowServer' => $sefConfig->slowServer))); $options = $model->getDisplayOptions(); $this->assign('options', $options); $this->assign('helpMessage', JText::_('COM_SH404SEF_META_HELP')); if (version_compare(JVERSION, '3.0', 'ge')) { $document = JFactory::getDocument(); // add our own css and js JHtml::styleSheet(Sh404sefHelperGeneral::getComponentUrl() . '/assets/css/' . $this->joomlaVersionPrefix . '_list.css'); JHtml::script(Sh404sefHelperGeneral::getComponentUrl() . '/assets/js/shajax.js'); JHtml::script(Sh404sefHelperGeneral::getComponentUrl() . '/assets/js/j3.js'); // add modal css and js ShlHtmlBs_helper::addBootstrapCss(JFactory::getDocument()); ShlHtmlBs_helper::addBootstrapJs(JFactory::getDocument()); // variable for modal, not used in 3..x+ $params = array(); $this->_addFilters(); // render submenu sidebar $this->sidebar = Sh404sefHelperHtml::renderSubmenu(); } else { // add our own css JHtml::styleSheet(Sh404sefHelperGeneral::getComponentUrl() . '/assets/css/' . $this->joomlaVersionPrefix . '_urls.css'); // link to custom javascript JHtml::script(Sh404sefHelperGeneral::getComponentUrl() . '/assets/js/list.js'); JHtml::script(Sh404sefHelperGeneral::getComponentUrl() . '/assets/js/metas.js'); // add behaviors and styles as needed $modalSelector = 'a.modalediturl'; $js = '\\function(){window.parent.shAlreadySqueezed = false;if(window.parent.shReloadModal) {parent.window.location=\'' . $this->defaultRedirectUrl . '\';window.parent.shReloadModal=true}}'; $params = array('overlayOpacity' => 0, 'classWindow' => 'sh404sef-popup', 'classOverlay' => 'sh404sef-popup', 'onClose' => $js); Sh404sefHelperHtml::modal($modalSelector, $params); $this->assign('optionsSelect', $this->_makeOptionsSelect($options)); // add our own css JHtml::styleSheet(Sh404sefHelperGeneral::getComponentUrl() . '/assets/css/list.css'); } // build the toolbar $toolbarMethod = '_makeToolbar' . ucfirst($this->getLayout() . ucfirst($this->joomlaVersionPrefix)); if (is_callable(array($this, $toolbarMethod))) { $this->{$toolbarMethod}($params); } // now display normally parent::display($this->joomlaVersionPrefix); }
public function display($tpl = null) { // version prefix $this->joomlaVersionPrefix = Sh404sefHelperGeneral::getJoomlaVersionPrefix(); // prepare the view, based on request // do we force reading updates from server ? $options = Sh404sefHelperAnalytics::getRequestOptions(); // push display options into template $this->assign('options', $options); // Get the JComponent instance of JToolBar $bar = JToolBar::getInstance('toolbar'); if (version_compare(JVERSION, '3.0', 'ge')) { $document = JFactory::getDocument(); // render submenu sidebar $this->sidebar = Sh404sefHelperHtml::renderSubmenu(); // add custom css JHtml::styleSheet(Sh404sefHelperGeneral::getComponentUrl() . '/assets/css/' . $this->joomlaVersionPrefix . '_list.css'); // add modal css and js ShlHtmlBs_helper::addBootstrapCss(JFactory::getDocument()); ShlHtmlBs_helper::addBootstrapJs(JFactory::getDocument()); // add title JToolbarHelper::title('sh404SEF: ' . JText::_('COM_SH404SEF_ANALYTICS_MANAGER'), 'sh404sef-toolbar-title'); // needed javascript jimport('joomla.html.html.bootstrap'); JHtml::_('formbehavior.chosen', 'select'); // add Joomla calendar behavior, needed to input start and end dates if ($options['showFilters'] == 'yes') { JHTML::_('behavior.calendar'); } // add quick control panel loader $js = 'jQuery(document).ready(function(){ shSetupAnalytics({report:" ' . $options['report'] . '"});});'; $document = JFactory::getDocument(); $document->addScriptDeclaration($js); } else { // add Joomla calendar behavior, needed to input start and end dates if ($options['showFilters'] == 'yes') { JHTML::_('behavior.calendar'); } // add tooltips handler JHTML::_('behavior.tooltip'); // add title $app = JFactory::getApplication(); $title = Sh404sefHelperGeneral::makeToolbarTitle(JText::_('COM_SH404SEF_ANALYTICS_MANAGER'), $icon = 'sh404sef', $class = 'sh404sef-toolbar-title'); JFactory::getApplication()->JComponentTitle = $title; // add quick control panel loader $js = 'window.addEvent(\'domready\', function(){ shSetupAnalytics({report:" ' . $options['report'] . '"});});'; $document = JFactory::getDocument(); $document->addScriptDeclaration($js); } // call methods to prepare display based on report type $method = '_makeView' . ucfirst($options['report']); if (is_callable(array($this, $method))) { $this->{$method}($tpl); } // add our javascript JHTML::script(Sh404sefHelperGeneral::getComponentUrl() . '/assets/js/' . $this->joomlaVersionPrefix . '_cp.js'); // add our own css JHtml::styleSheet(Sh404sefHelperGeneral::getComponentUrl() . '/assets/css/' . $this->joomlaVersionPrefix . '_cp.css'); // flag to know if we should display placeholder for ajax fillin $this->assign('isAjaxTemplate', true); parent::display($this->joomlaVersionPrefix); }