/** * Get instance of Zo2Assets * @return \Zo2Assets */ public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new Zo2Assets(); } if (isset(self::$instance)) { return self::$instance; } }
/** * Build assets data */ public function buildAssets() { if ($this->_isAuthorized()) { $assets = Zo2Assets::getInstance(); if ($assets->buildAssets()) { $this->_ajax->addMessage(JText::_('ZO2_ADMIN_MESSAGE_BUILD_ASSETS_SUCCESS'), 'success'); } else { $this->_ajax->addMessage(JText::_('ZO2_ADMIN_MESSAGE_BUILD_ASSETS_FAILED'), 'error'); } } $this->_ajax->response(); }
/** * */ public function onAfterRender() { if ($this->_isZo2()) { $app = JFactory::getApplication(); $body = JResponse::getBody(); $jinput = JFactory::getApplication()->input; $framework = Zo2Framework::getInstance(); $assets = Zo2Assets::getInstance(); $body = str_replace('</body>', $assets->generateAssets('js') . '</body>', $body); $body = str_replace('</head>', $assets->generateAssets('css') . '</head>', $body); /* Apply back to body */ JResponse::setBody($body); } }
/** * Admin layout builder * @return type */ public function builder() { $assets = Zo2Assets::getInstance(); $assets->addScript('vendor/bootbox-3.3.0.min.js'); $assets->addScript('zo2/js/adminlayout.min.js'); $assets->addStyleSheet('vendor/bootstrap/core/css/bootstrap.gridsystem.css'); /** * @uses Anything need prepred for display will put here. Do not put process code insite layout template file */ $html = new Zo2Html(); $params = Zo2Framework::getInstance()->template->params; $profile = Zo2Factory::getProfile(); if (is_object($profile->layout)) { $layoutData = $profile->layout->layout; } else { $layoutData = $profile->layout; } $html->set('params', $params); $html->set('layoutData', $layoutData); return $html->fetch('admin/body/sidebar/builder/layout.php'); }
/** * */ protected function _loadTheme() { /* Template side */ $templateAssets = json_decode($this->getAssetsFile('template.json')); if ($templateAssets && isset($templateAssets->assets)) { $this->assets->load($templateAssets->assets); } $style = array(); if ($this->profile->theme) { $style = $this->profile->getThemeStylesheet(); $this->assets->addStyleSheetDeclaration($style); if (isset($this->profile->theme->css) && $this->profile->theme->css != '') { $this->assets->addStyleSheet('zo2/css/' . $this->profile->theme->css . '.css'); } } /* Prepare Fonts */ $selectors = array('body_font' => 'body', 'menu_font' => 'nav, .sidebar-nav', 'h1_font' => 'h1', 'h2_font' => 'h2', 'h3_font' => 'h3', 'h4_font' => 'h4', 'h5_font' => 'h5', 'h6_font' => 'h6'); /* */ foreach ($selectors as $key => $selector) { $value = $this->get($key); if (!empty($value)) { $value = new JObject($value); switch ($value->get('type')) { case 'standard': $this->_buildStandardFontStyle($value, $selector); break; case 'googlefonts': $this->_buildGoogleFontsStyle($value, $selector); break; case 'fontdeck': $this->_buildFontDeckStyle($value, $selector); break; default: break; } } } }
<?php if (!defined('ZO_MEGAMENU_ASSET')) { define('ZO_MEGAMENU_ASSET', 1); $assets = Zo2Assets::getInstance(); $assets->addStylesheet('zo2/css/megamenu.css'); $assets->addStyleSheet('zo2/css/adminmegamenu.css'); $assets->addScript('zo2/js/adminmegamenu.min.js'); } $html = array(); $vars = array(); $calls = array(); $attr = ''; // Get the field options. $options = (array) JHtml::_('menu.menus'); $html[] = JHtml::_('select.genericlist', $options, $this->data['name'], trim($attr), 'value', 'text', $this->data['value'], $this->data['id']); ?> <div class="control-group"> <div class="control-label"> <label class="zo2-label"><?php echo JText::_('ZO2_ADMIN_MEGA_MENU_TYPE'); ?> </label> <div class="label-desc"><?php echo JText::_('ZO2_ADMIN_MEGA_MENU_TYPE_DESC'); ?> </div> </div> <div class="controls"> <?php echo implode("\n", $html);