/** * * @param object|array $data */ public function __construct($data = null) { parent::__construct($data); $framework = Zo2Framework::getInstance(); /* Init default profile root directory */ $this->_profileDir = JPATH_ROOT . '/templates/' . $framework->template->template . '/assets/profiles'; }
/** * * @return string */ public function render() { if (Zo2Framework::getParam('enable_style_switcher', 1) == 1) { $template = new Zo2Template(); return $template->fetch('html://utilities/styleswitcher.php'); } return ''; }
public function render() { $html = new Zo2Html(); $logo['standard'] = Zo2Framework::getParam('standard_logo'); $logo['retina'] = Zo2Framework::getParam('retina_logo'); $html->set('logo', $logo); $html->set('slogan', Zo2Framework::getParam('site_slogan')); return $html->fetch('zo2/headerlogo.php'); }
public function getAvaiablePositions() { $templatePositions = Zo2Framework::getInstance()->getTemplatePositions(); $db = JFactory::getDbo(); $query = $db->getQuery(true)->select('m.position')->from('#__modules AS m')->where('m.published = 1')->where('m.client_id = 0'); $db->setQuery($query); $modulePositions = $db->loadColumn(); $list = array_merge($templatePositions, $modulePositions); $list = array_unique($list); return $list; }
public function render() { $html = new Zo2Html(); $html->set('showLogo', Zo2Framework::getParam('footer_logo')); $html->set('logoUrl', JUri::root(true) . '/plugins/system/zo2/framework/assets/zo2/images/zo2_logo_32x32.png'); $html->set('copyright', Zo2Framework::getParam('footer_copyright')); $html->set('title', 'Zo2 Framework'); $html->set('link', 'http://www.zootemplate.com/zo2'); $html->set('gototop', Zo2Framework::getParam('footer_gototop')); return $html->fetch('zo2/copyright.php'); }
/** * * @param type $debug */ public function flush($debug = null) { if ($debug === null) { $debug = Zo2Framework::getParam('development_mode'); } if ($debug) { foreach ($this->_logs as $type => $messages) { foreach ($messages as $message) { JFactory::getApplication()->enqueueMessage($message, $type); } } } }
/** * */ 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'); }
/** * */ private function _save() { $application = JFactory::getApplication(); $jinput = JFactory::getApplication()->input; /* Zo2 data */ $zo2 = $jinput->post->get('zo2', array(), 'array'); // Joomla! form data $formData = $jinput->post->get('jform', array(), 'array'); $formData['params']['layout'] = json_decode($formData['params']['layout']); $formData['params']['theme'] = json_decode($formData['params']['theme']); $formData['params']['menu_config'] = json_decode($formData['params']['menu_config']); /* Request profileName */ $profileName = isset($zo2['newProfile']) ? $zo2['newProfile'] : $zo2['profiles']; if ($profileName != $zo2['profiles']) { JFactory::getApplication()->enqueueMessage('Added new profile: ' . $profileName, 'notice'); } // Save Joomla! data $model = JModelLegacy::getInstance('Style', 'TemplatesModel'); $model->save($formData); /** * Save profile */ $profile = new Zo2Profile(); $profile->loadArray($formData['params']); $profile->template = Zo2Framework::getInstance()->template->template; $profile->name = $profileName; if ($profile->save()) { /* Save Zo2 data */ $zo2Data = $jinput->post->get('zo2', array(), 'array'); $templateDir = JPATH_ROOT . '/templates/' . Zo2Framework::getInstance()->template->template; $customCssFile = $templateDir . '/assets/zo2/css/custom.css'; $customCss = trim($zo2Data['custom_css']); JFile::write($customCssFile, $customCss); $customJsFile = $templateDir . '/assets/zo2/js/custom.js'; $customJs = trim($zo2Data['custom_js']); JFile::write($customJsFile, $customJs); $application->enqueueMessage('Style successfully saved'); if ($jinput->get('task') == 'style.apply') { $application->redirect(JRoute::_('index.php?option=com_templates&view=style&layout=edit&id=' . $jinput->get('id') . '&profile=' . $profileName, false)); } else { $application->redirect(JRoute::_('index.php?option=com_templates&view=styles', false)); } } JFactory::getApplication()->enqueueMessage('Style save error', 'error'); $application->redirect(JRoute::_('index.php?option=com_templates&view=styles', false)); }
<?php /** * Zo2 (http://www.zootemplate.com/zo2) * A powerful Joomla template framework * * @version 1.4.4 * @link http://www.zootemplate.com/zo2 * @link https://github.com/cleversoft/zo2 * @author ZooTemplate <http://zootemplate.com> * @copyright Copyright (c) 2015 CleverSoft (http://cleversoft.co/) * @license GPL v2 */ defined('_JEXEC') or die('Restricted Access'); /** * This file will use to init / register current template with ZO2 framework */ if (!class_exists('Zo2Framework')) { die('Zo2Framework not found'); } $framework = Zo2Framework::getInstance(); $framework->init(); $this->zo2 = new JRegistry(); $this->zo2->framework = $framework; $this->zo2->template = new Zo2Template(); $this->zo2->layout = $framework->layout; $this->zo2->utilities = Zo2Utilities::getInstance(); $framework->getTemplateLayouts();
echo JText::_('ZO2_USE_PROFILE'); ?> </label> <select id="zo2-profile" class="form-control pull-left" name="jform[params][profile]" > <!-- Display list of profiles --> <?php $profiles = Zo2Framework::getInstance()->getProfiles(); ?> <?php foreach ($profiles as $profile) { ?> <option value="<?php echo trim($profile->name); ?> " <?php echo $profile->name == Zo2Framework::getInstance()->template->params->get('profile') ? 'selected="selected"' : ''; ?> ><?php echo trim($profile->name); ?> </option> <?php } ?> </select> </div> </div> </div> <div class="pull-right"> <button type="button" class="btn btn-default" onclick="zo2.admin.clearCache();
* @copyright Copyright (c) 2014 CleverSoft (http://cleversoft.co/) * @license GPL v2 */ defined('_JEXEC') or die('Restricted access'); ?> <!-- Select profile --> <select id="zo2-profiles" class="form-control pull-left" onchange="zo2.admin.profile.load(this.value); return false;" name="zo2[profiles]" > <!-- Display list of profiles --> <?php foreach ($this->data['profiles'] as $profile) { ?> <option value="<?php echo trim($profile->name); ?> " <?php echo $profile->name == $this->data['profile']->name ? 'selected="selected"' : ''; ?> ><?php echo trim($profile->name); ?> </option> <?php } ?> </select> <input type="hidden" name="profile-id" value="<?php echo Zo2Framework::getParam('id'); ?> ">
<?php echo JText::_('ZO2_ADMIN_MEGA_MENU_ANIMATION_ZOOM'); ?> </option> <option value="elastic" <?php echo $menuAnimation == 'elastic' ? 'selected="selected"' : ''; ?> > <?php echo JText::_('ZO2_ADMIN_MEGA_MENU_ANIMATION_ELASTIC'); ?> </option> </select> </div> </div> <!-- Duration --> <?php echo Zo2Html::field('text', array('label' => JText::_('ZO2_ADMIN_MEGA_MENU_DURATION'), 'description' => JText::_('ZO2_ADMIN_MEGA_MENU_DURATION_DESC')), array('name' => 'jform[params][menu_duration]', 'value' => Zo2Framework::getParam('menu_duration', 300), 'default' => 300)); ?> <!-- Menu type --> <?php $model = new Zo2ModelJoomla(); echo Zo2Html::field('megamenu', array(), array('id' => 'jform_params_menu_type', 'name' => 'jform[params][menu_type]', 'value' => Zo2Framework::getParam('menu_type', 'mainmenu'), 'modules' => $model->getModules())); ?> </div> </div> </div>
?> <span>Paste your Google Analytics (or other) tracking code here.<br /> This will be added before the closing body tag in the template. <br/> This should be something like<br /> <script><br />....<br /></script></span> </div> <!-- Optmization Option --> <div class="zo2-divider"></div> <h2><?php echo JText::_('ZO2_ADMIN_OPTIMIZATION_OPTION'); ?> </h2> <div class="zo2-divider"></div> <p>Enable compress CSS/JS. These options only available when Development Mode is off</p> <!-- Combine css --> <?php echo Zo2Html::field('radio', array('label' => JText::_('ZO2_ADMIN_COMBINE_CSS'), 'description' => JText::_('ZO2_ADMIN_COMBINE_CSS_DESC')), array('name' => 'jform[params][combine_css]', 'value' => Zo2Framework::getParam('combine_css'), 'options' => array(array('label' => JText::_('ZO2_YES')), array('label' => JText::_('ZO2_NO'))))); ?> <!-- Combine js --> <?php echo Zo2Html::field('radio', array('label' => JText::_('ZO2_ADMIN_COMBINE_JS'), 'description' => JText::_('ZO2_ADMIN_COMBINE_JS_DESC')), array('value' => Zo2Framework::getParam('combine_js'), 'name' => 'jform[params][combine_js]', 'options' => array(array('label' => JText::_('ZO2_YES')), array('label' => JText::_('ZO2_NO'))))); ?> <!-- Development mode --> <div class="zo2-divider"></div> <h2><?php echo JText::_('ZO2_ADMIN_DEVELOPMENT_OPTION'); ?> </h2> <div class="zo2-divider"></div> <?php echo Zo2Html::field('radio', array('label' => JText::_('ZO2_ADMIN_ADVANCED_LABEL_DEVELOPMENT_MODE'), 'description' => JText::_('ZO2_ADMIN_ADVANCED_DESC_DEVELOPMENT_MODE')), array('name' => 'jform[params][development_mode]', 'value' => Zo2Framework::getParam('development_mode'))); ?> </div>
echo Zo2Html::field('text', array('label' => JText::_('ZO2_ADMIN_GENERAL_LABEL_SLOGAN'), 'description' => JText::_('ZO2_ADMIN_GENERAL_DESC_SLOGAN')), array('name' => 'jform[params][site_slogan]', 'value' => Zo2Framework::getParam('site_slogan'), 'placeholder' => 'Zo2 Framework')); ?> <!-- Copyright --> <?php /** * @todo Use JEditor */ echo Zo2Html::field('textarea', array('label' => JText::_('ZO2_ADMIN_GENERAL_LABEL_COPYRIGHT'), 'description' => JText::_('ZO2_ADMIN_GENERAL_DESC_COPYRIGHT')), array('name' => 'jform[params][footer_copyright]', 'rows' => 10, 'cols' => 20, 'value' => Zo2Framework::getParam('footer_copyright'))); ?> <!-- Standard logo --> <?php echo Zo2Html::field('image', array('label' => JText::_('ZO2_ADMIN_GENERAL_LABEL_STANDARD_LOGO'), 'description' => JText::_('ZO2_ADMIN_GENERAL_DESC_STANDARD_LOGO'), 'class_wrap' => 'logo-image', 'class' => 'logo-path'), array('id' => 'jform_params_standard_logo', 'name' => 'jform[params][standard_logo]', 'value' => Zo2Framework::getParam('standard_logo'))); ?> <!-- Retina logo --> <?php echo Zo2Html::field('image', array('label' => JText::_('ZO2_ADMIN_GENERAL_LABEL_RETINA_LOGO'), 'description' => JText::_('ZO2_ADMIN_GENERAL_DESC_RETINA_LOGO'), 'class_wrap' => 'logo-retina-image', 'class' => 'logo-path'), array('id' => 'jform_params_retina_logo', 'name' => 'jform[params][retina_logo]', 'value' => Zo2Framework::getParam('retina_logo'))); ?> <div class="zo2-divider"></div> <!-- Show "Go to top" --> <?php echo Zo2Html::field('radio', array('label' => JText::_('ZO2_ADMIN_GENERAL_LABEL_ENABLE_GOTOTOP'), 'description' => JText::_('ZO2_ADMIN_GENERAL_DESC_ENABLE_GOTOTOP')), array('name' => 'jform[params][footer_gototop]', 'value' => Zo2Framework::getParam('footer_gototop'))); ?> <!-- Show footer logo --> <?php echo Zo2Html::field('radio', array('label' => JText::_('ZO2_ADMIN_GENERAL_LABEL_ENABLE_FOOTER_LOGO'), 'description' => JText::_('ZO2_ADMIN_GENERAL_DESC_ENABLE_FOOTER_LOGO')), array('name' => 'jform[params][footer_logo]', 'value' => Zo2Framework::getParam('footer_logo'))); ?> </div> </div>
<option value="12"><?php echo JText::_('ZO2_ADMIN_FORMFIELD_LAYOUT_OFFSET_LB'); ?> 12</option> </select> </div> </div> <div class="control-group"> <label class="control-label" for="ddlColStyle"><?php echo JText::_('ZO2_ADMIN_STYLEEDIT_STYLE'); ?> </label> <div class="controls"> <select id="ddlColStyle"> <?php require_once JPATH_ROOT . '/templates/' . Zo2Framework::getInstance()->template->template . '/html/modules.php'; ?> <?php foreach ($modChromes as $chrome) { ?> <option value="<?php echo $chrome; ?> "><?php echo $chrome; ?> </option> <?php } ?>
/** * * @return string */ private function _generateJavascripts() { $combineJs = Zo2Framework::getParam('combine_js', 0); $developmentMode = Zo2Framework::getParam('development_mode', 0); $jsHtml = array(); /** * Only do combine when asked and not in development mode */ if ($combineJs == 1 && $developmentMode == 0) { $jsFile = 'cache/zo2_' . md5(serialize($this->_javascripts)) . '.js'; $jsFilePath = JPATH_ROOT . '/' . $jsFile; $jsContent = array(); /** * @todo Cache combined file instead generate it everytimes */ foreach ($this->_javascripts as $javascript => $path) { /* Optimize output javascripts content */ if (Zo2Framework::getParam('optimzie_js', 0) == 1) { $jsContent[] = Zo2HelperCompiler::javascript(file_get_contents($path)); } else { $jsContent[] = file_get_contents($path); } } /* Save to combined file */ file_put_contents($jsFilePath, implode(PHP_EOL, $jsContent)); /* Generate HTML to load it */ $jsHtml[] = '<script type="text/javascript" src="' . rtrim(JUri::root(true), '/') . '/' . $jsFile . '"></script>'; } else { /* Just load js files without touching */ foreach ($this->_javascripts as $javascript => $path) { $jsHtml[] = '<script type="text/javascript" src="' . Zo2Path::getInstance()->toUrl($javascript) . '"></script>'; } } /* Custom javascripts code */ $jsDeclarationHtml[] = '<script>jQuery(document).ready( function () {'; foreach ($this->_javascriptDeclarations as $javascriptDeclaration) { /* Optimize output javascripts content */ if (Zo2Framework::getParam('optimzie_js', 0) == 1) { $jsDeclarationHtml[] = Zo2HelperCompiler::javascript($javascriptDeclaration); } else { $jsDeclarationHtml[] = $javascriptDeclaration; } } $jsDeclarationHtml[] = ' }); </script>'; return trim(implode(PHP_EOL, $jsHtml) . PHP_EOL . implode(PHP_EOL, $jsDeclarationHtml)); }
<div class="span12"> <div class="row-fluid"> <div class="span12"> <h2>Information Zo2 Framework</h2> <div class="zo2-divider"></div> <p>Zo2 Framework is a Joomla template framework, built from scratch, and heavily support Bootstrap framework and LESS.</p> <p>Zo2 Framework comes with Drag & drop layout builder which allows you to create any number of stunning and unique layouts up to 5x faster than traditional way.</p> <p><a class="btn btn-primary btn-large" href="http://www.zootemplate.com/zo2" target="_blank">Learn more Zo2Framework</a></p> <div class="zo2-divider"></div> <h3>Version</h3> <p>Current version: <?php echo Zo2Framework::getInstance()->getManifest()->version; ?> </p> <?php $version = Zo2Framework::getInstance()->checkVersion(); switch ($version['compare']) { case '-1': echo '<span class="label label-important">Your Zo2 version is out of date.</span><br />'; break; case '0': echo '<span class="label label-success">Your Zo2 version is up to date.</span><br />'; break; case '1': echo '<span class="label label-info">Your Zo2 version newer than us.</span><br />'; break; } ?> <p><strong>Latest version: <?php echo $version['latestVersion']; ?>
/** * Hide component from frontpage * @return bool */ private static function hideComponent() { $framework = Zo2Framework::getInstance(); $params = Zo2Factory::getTemplate()->params; if ((int) $params->get('component_area', 0) && $framework->isFrontPage()) { return true; } else { return false; } }
<!-- Heading line H1 font--> <?php echo Zo2Html::field('font', array('label' => JText::_('ZO2_ADMIN_FONT_H1')), array('name' => 'h1_font', 'id' => 'h1_font', 'value' => Zo2Framework::getParam('h1_font'))); ?> <!-- Heading line H2 font--> <?php echo Zo2Html::field('font', array('label' => JText::_('ZO2_ADMIN_FONT_H2')), array('name' => 'h2_font', 'id' => 'h2_font', 'value' => Zo2Framework::getParam('h2_font'))); ?> <!-- Heading line H3 font--> <?php echo Zo2Html::field('font', array('label' => JText::_('ZO2_ADMIN_FONT_H3')), array('name' => 'h3_font', 'id' => 'h3_font', 'value' => Zo2Framework::getParam('h3_font'))); ?> <!-- Heading line H4 font--> <?php echo Zo2Html::field('font', array('label' => JText::_('ZO2_ADMIN_FONT_H4')), array('name' => 'h4_font', 'id' => 'h4_font', 'value' => Zo2Framework::getParam('h4_font'))); ?> <!-- Heading line H5 font--> <?php echo Zo2Html::field('font', array('label' => JText::_('ZO2_ADMIN_FONT_H5')), array('name' => 'h5_font', 'id' => 'h5_font', 'value' => Zo2Framework::getParam('h5_font'))); ?> <!-- Heading line H6 font--> <?php echo Zo2Html::field('font', array('label' => JText::_('ZO2_ADMIN_FONT_H6')), array('name' => 'h6_font', 'id' => 'h6_font', 'value' => Zo2Framework::getParam('h6_font'))); ?> </div>
public static function isRTL() { return JFactory::getLanguage()->isRTL() && Zo2Framework::getParam('enable_rtl') == 1; }
<?php /** * Zo2 (http://www.zootemplate.com/zo2) * A powerful Joomla template framework * * @link http://www.zootemplate.com/zo2 * @link https://github.com/cleversoft/zo2 * @author ZooTemplate <http://zootemplate.com> * @copyright Copyright (c) 2014 CleverSoft (http://cleversoft.co/) * @license GPL v2 */ //Script for Sticky menu if (Zo2Framework::getParam('enable_sticky_menu', 1) == 1) { ?> jQuery(document).ready(function() { jQuery(".zo2-sticky").sticky({topSpacing:0}); }); <?php } //Google analytics code $ga_code = Zo2Framework::getParam('tracking_code', null); if (!empty($ga_code)) { // Remove dummies code $ga_code = str_replace('<script>', '', $ga_code); $ga_code = str_replace('</script>', '', $ga_code); echo $ga_code; }
* @copyright Copyright (c) 2014 CleverSoft (http://cleversoft.co/) * @license GPL v2 */ defined('_JEXEC') or die('Restricted access'); $profile = Zo2Factory::getProfile(); ?> <!-- Main layout for backend --> <!-- It's using Twitter Bootstrap 2 default. Provided by Joomla! --> <!-- Begin Content --> <div id="zo2-profile" data-zo2-template="<?php echo Zo2Framework::getInstance()->template->template; ?> " data-zo2-templateid="<?php echo Zo2Framework::getInstance()->template->id; ?> " data-zo2-profile="<?php echo $profile->get('name'); ?> "> <div class="row-fluid"> <div class="span12"> <?php $this->load('admin/top/default.php'); ?> <?php $this->load('admin/body/default.php'); ?> </div>