/** * Call all needed things to use YAML Joomla! Templates **/ function onAfterRoute() { global $mainframe, $jyaml; $document =& JFactory::getDocument(); $doctype = $document->getType(); // Return document is not type of html if ($doctype != 'html') { return; } // backand if ($mainframe->isAdmin() || !is_dir(JPATH_SITE . DS . 'templates' . DS . $mainframe->getTemplate() . DS . 'yaml')) { $option = JRequest::getVar('option', false); if ($option != 'com_jyaml') { $db =& JFactory::getDBO(); // Get the current frontend default template $query = ' SELECT template FROM #__templates_menu WHERE client_id = 0 AND menuid = 0'; $db->setQuery($query); define('JYAML_FRONTEND_TEMPLATE', $db->loadResult()); if (!is_dir(JPATH_SITE . DS . 'templates' . DS . JYAML_FRONTEND_TEMPLATE . DS . 'yaml')) { return; } require_once JPATH_PLUGINS . DS . 'system' . DS . $this->_name . DS . $this->_name . '.helper.php'; // define template path define('JYAML_PATH_ABS', JPATH_SITE . DS . 'templates' . DS . JYAML_FRONTEND_TEMPLATE); // Reset object without set the configuration $jyaml = new JYAML(false); // Load Template Plugins prefix admin. $jyaml->getPlugins(false, true); } return; } // call jyaml object $jyaml = new JYAML($mainframe->getTemplate()); }
function save() { global $option, $mainframe; $plugin_name = JRequest::getVar('plugin_name', false); $template_name = JRequest::getVar('template_name', false); $plugins = JRequest::getVar('plugins', false); $paramString = ''; if ($plugin_name && $template_name) { $plugin = JYAML::getPlugins($template_name, $plugin_name); //$plugin->configfile foreach ($plugins[$plugin_name] as $name => $data) { $paramString .= $name . "=" . $data . "\n"; } if (JFile::write($plugin->configfile, $paramString)) { $mainframe->enqueueMessage(JText::_('YAML SAVED SUCCESS')); $mainframe->redirect(JURI::base() . 'index3.php?option=' . $option . '&controller=hmyaml&task=wait'); } else { $mainframe->enqueueMessage(JText::_('YAML SAVED FAILED'), 'error'); $mainframe->redirect(JURI::base() . 'index3.php?option=' . $option . '&controller=plugins&task=&template_name=' . $template_name . '&plugin=' . $plugin_name); } } }
function export() { global $option; $design = JRequest::getVar('design', false); $template = JRequest::getVar('template', false); $plugins = JYAML::getPlugins($template); if ($design == 'default') { die('<p class="off">' . JText::_('YAML CANT EXPORT DEFAULT') . '</p>'); } ?> <form action="index3.php" method="post" name="adminForm" autocomplete="off"> <fieldset> <div style="float: right;"> <button onclick="window.parent.document.getElementById('sbox-window').close();" type="button"><?php echo JText::_('YAML CANCEL'); ?> </button> </div> <div class="configuration"><?php echo JText::_('YAML EXPORT DESIGN TITLE'); ?> (<?php echo $design; ?> )</div> </fieldset> <fieldset> <legend><?php echo JText::_('YAML EXPORT DESIGN CHROMEFILES TITLE'); ?> </legend> <p><?php echo JText::_('YAML EXPORT DESIGN CHROMEFILES DESC'); ?> </p> <?php echo JText::_('NO'); ?> <input checked="checked" type="radio" name="include_chromefiles" value="0" /> <?php echo JText::_('YES'); ?> <input type="radio" name="include_chromefiles" value="1" /> </fieldset> <fieldset> <legend><?php echo JText::_('YAML EXPORT DESIGN PLUGINS TITLE'); ?> </legend> <p><?php echo JText::_('YAML EXPORT DESIGN PLUGINS DESC'); ?> </p> <?php foreach ($plugins as $p) { if (!$p->isCore) { echo '<input name="include_plugins[]" type="checkbox" value="' . $p->plugin . '" />' . $p->name . '<br />'; } } ?> </fieldset> <div align="center"> <button class="bigform" onclick="process_export();" type="button"><?php echo JText::_('YAML EXPORT DESIGN TITLE'); ?> </button> </div> <input type="hidden" name="task" value="" /> <input type="hidden" name="template" value="<?php echo $template; ?> " /> <input type="hidden" name="design" value="<?php echo $design; ?> " /> <input type="hidden" name="controller" value="fileControl" /> <input type="hidden" value="<?php echo $option; ?> " name="option"/> </form> <script type="text/javascript"> function process_export() { var form = document.adminForm; submitbutton('process_export'); } </script> <?php }
/** * display method * @return void **/ function display($tpl = null) { global $option, $mainframe; $html = ''; $selected_template = NULL; $templates = JYAML::getTemplates(); $db =& JFactory::getDBO(); // Get the current default template $query = ' SELECT template ' . ' FROM #__templates_menu ' . ' WHERE client_id = 0' . ' AND menuid = 0 '; $db->setQuery($query); $defaultemplate = $db->loadResult(); $switch_template = JRequest::getVar('switch_template', false, 'POST'); if ($switch_template) { setcookie('switch_template', $switch_template, time() + 600); $selected_template = $switch_template; $mainframe->enqueueMessage(JText::_('YAML SWITCH TEMPLATE MSG') . ': ' . $selected_template); $mainframe->redirect(JURI::base() . 'index.php?option=' . $option); } elseif (isset($_COOKIE['switch_template'])) { $selected_template = $_COOKIE['switch_template']; } if (!$selected_template) { $first = true; foreach ($templates as $template) { if ($first) { $selected_template = $template->name; } if ($defaultemplate == $template->name) { $selected_template = $defaultemplate; } $first = false; } } /* Mask default template in list */ $i = 0; $no_tpl_activ = true; foreach ($templates as $template) { if ($defaultemplate == $template->name) { $templates[$i]->text = $template->name . ' (default)'; $no_tpl_activ = false; } $i++; } $this->assignRef('no_tpl_activ', $no_tpl_activ); if (!$selected_template) { echo '<p class="yaml_msg">' . JText::_('YAML NO TEMPLATES FOUND') . '</p>'; $html .= '<form id="install_tpl_pgl" enctype="multipart/form-data" action="index.php" method="post" name="adminForm_tpl_install">'; $html .= '<input type="hidden" id="install_url" name="install_url" class="input_box" size="70" value="' . JYAML::getDownloadURL('template') . '" />'; $html .= '<p style="text-align:center;"><input type="submit" class="button" value="' . JText::_('YAML TEMPLATE INSTALL ACTIVATE DEFAULT') . '" /></p>'; $html .= '<input type="hidden" name="type" value="" />'; $html .= '<input type="hidden" name="installtype" value="url" />'; $html .= '<input type="hidden" name="task" value="installDefaultTemplate" />'; $html .= '<input type="hidden" name="option" value="' . $option . '" />'; $html .= JHTML::_('form.token'); $html .= '</form>'; $html .= '<div id="installresult"></div>'; echo $html; return false; } JToolBarHelper::title(JText::_('YAML COMPONENT TITLE') . ': <small>[' . $selected_template . ']</small>', 'yamlconfig'); $this->assignRef('selected_template', $selected_template); $this->assignRef('template_name', $selected_template); $lists['switch_template'] = JHTML::_('select.genericlist', $templates, 'switch_template', '', 'name', 'text', $selected_template); // Global XML for referenz view $xmlfile = JPATH_SITE . DS . 'templates' . DS . $selected_template . DS . 'config' . DS . '_global.xml'; $config_global = JYAML::readConfig($selected_template, $xmlfile); $conf_global = JYAML::parseConfigDesign($config_global); $this->assignRef('conf_global', $conf_global); $designlist = JYAML::getDesignList(); $this->assignRef('designlist', $designlist); $this->assignRef('lists', $lists); $bar =& JToolBar::getInstance('toolbar'); $bar->appendButton('Popup', 'upload', 'YAML IMPORT DESIGN', 'index3.php?option=' . $option . '&controller=fileControl&task=importDesign&template=' . $selected_template); $bar->appendButton('Popup', 'config', 'YAML DEFAULT CONF TXT', 'index3.php?option=' . $option . '&controller=defaultConfig&task=edit&template_name=' . $selected_template); $template_plugins = JYAML::getPlugins($selected_template); $this->assignRef('template_plugins', $template_plugins); JYAML::getPluginStatus(); // FTP-Mode $ftp = !JClientHelper::hasCredentials('ftp'); $this->assignRef('require_ftp_login', $ftp); parent::display($tpl); }
<!-- Custom xml: end --> <!-- Plugins: start --> <div class="yslider"> <div class="slide-title"> <?php echo JYAML::docLink('config:plugins'); ?> <?php echo JText::_('YAML CONF PLUGINS'); ?> </div> <div class="ycontent"> <?php $plugins = JYAML::getPlugins($this->template_name, false, $this->conf['plugins']); foreach ($plugins as $plugin) { echo '<div class="yslider-sub">'; $pgl_checked = ''; if (!isset($this->conf['plugins'][$plugin->plugin])) { $pgl_checked = ' checked="checked"'; } $pgl_global = ' | <label for="pgl_' . $plugin->name . '">' . JText::_('YAML DEFAULT CONFIG') . '</label>: '; $pgl_global .= '<input' . $pgl_checked . ' type="checkbox" name="pgl_' . $plugin->name . '" class="pgl_global" value="1" />'; echo '<div class="slide-title-sub">' . $plugin->name . $pgl_global . '</div>'; echo '<div class="ycontent-sub">' . $plugin->paramOutput . '</div>'; echo '</div>'; } ?> </div> </div>