/** * Register asset files for the template admin * * @return void */ public function registerAssets() { // Load required asset files for Joomla 2.5 if (version_compare($this->version->getShortVersion(), '3.0', '<')) { $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery/jquery-1.8.2.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/bootstrap/css/bootstrap.min.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/bootstrap/js/bootstrap.min.js'); } elseif (version_compare($this->version->getShortVersion(), '3.2', '>=')) { $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery/jquery-1.8.2.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/bootstrap/css/bootstrap.min.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/bootstrap/js/bootstrap.min.js'); } //$this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-ui/css/ui-bootstrap/jquery-ui-1.9.0.custom.css'); //$this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-ui/js/jquery-ui-1.9.1.custom.min.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-ui/css/ui-bootstrap-1.10.0/jquery-ui-1.10.0.custom.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-ui/js/jquery-ui-1.10.4.custom.min.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-dynatree/skin/ui.dynatree.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-dynatree/jquery.dynatree.min.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-tipsy/tipsy.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-tipsy/jquery.tipsy.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/chosen/chosen.min.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/chosen/chosen.jquery.min.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/bxslider/jquery.bxslider.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/bxslider/jquery.bxslider.min.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/colorbox/colorbox.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/colorbox/jquery.colorbox-min.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/font-icomoon/css/icomoon.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-layout/jquery.layout.min.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-ck/jquery.ck.js'); $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-gui.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-admin.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-fonticomoon.css'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/media.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/sample-data.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/update.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/upgrade.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/quickstart.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/core.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/font.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/layout.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/maintenance.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/social-integration.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/validate.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/width-type.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/modal.js'); $templateEdition = JSNTplHelper::getTemplateEdition($this->data->template); $jversion = new JVersion(); if (version_compare($jversion->getShortVersion(), "3.0", ">=")) { $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-megamenu-backend.css'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/megamenu/handle-settings.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/megamenu/handle.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/megamenu/layout.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/megamenu/megamenu.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/megamenu/placeholder.js'); } $templateName = JText::_($this->data->template); $this->doc->addScriptDeclaration("!function (\$) {\n\t\t\t\t\"use strict\";\n\n\t\t\t\t\$(function () {\n\t\t\t\t\tnew \$.JSNTPLFrameworkCore({\n\t\t\t\t\t\ttemplate: '{$this->data->template}',\n\t\t\t\t\t\ttemplateName: '{$templateName}',\n\t\t\t\t\t\tedition: '{$templateEdition}',\n\t\t\t\t\t\tstyleId : '{$this->data->id}'\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}(jQuery);"); }
/** * Attach css, javascript files to document * @return void */ private function _addAssets() { $this->_getDefaultStyles(); $file = dirname(__FILE__) . '/assets/js/supports/' . $this->_defaultStyles['admin']->template . '.js'; if (!is_file($file)) { return; } require_once JPATH_ADMINISTRATOR . '/components/com_poweradmin/helpers/poweradmin.php'; $currentVersion = PoweradminHelper::getVersion(); $config = $this->_getJSConfiguration(); $language = $this->_getJSLanguage(); $uri = JUri::root(true); $template = $this->_defaultStyles['admin']->template; $this->_document->addStyleSheet(JSN_FRAMEWORK_ASSETS . '/joomlashine/css/jsn-bootstrap.css'); $this->_document->addStylesheet($uri . '/plugins/system/jsnpoweradmin/assets/css/adminbar.css?v=' . $currentVersion); $this->_document->addStylesheet($uri . '/plugins/system/jsnpoweradmin/assets/css/window.css?v=' . $currentVersion); $this->_document->addStylesheet($uri . '/plugins/system/jsnpoweradmin/assets/css/print.css?v=' . $currentVersion, 'text/css', 'print'); if (in_array($template, array('minima', 'aplite'))) { $this->_document->addStylesheet($uri . '/plugins/system/jsnpoweradmin/assets/css/adminbar.menu.css?v=' . $currentVersion); } if ($template == 'hathor') { $this->_document->addStylesheet($uri . '/plugins/system/jsnpoweradmin/assets/css/adminbar.hathor.css?v=' . $currentVersion); } $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/jquery.noconflict.js?v=' . $currentVersion); if (file_exists('../media/system/js/mootools-core.js')) { $this->_document->addScript($uri . '/media/system/js/mootools-core.js'); $this->_document->addScript($uri . '/media/system/js/core.js'); $this->_document->addScript($uri . '/media/system/js/mootools-more.js'); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/mootool.conflict.js?v=' . $currentVersion); } else { JHtml::_('behavior.framework', true); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/mootool.conflict.js?v=' . $currentVersion); } $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/mootools/mooml.js?v=' . $currentVersion); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/scrollbar.js?v=' . $currentVersion); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/window.js?v=' . $currentVersion); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/supports/' . $template . '.js?v=' . $currentVersion); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/adminbar.js?v=' . $currentVersion); $this->_document->addScript($uri . '/plugins/system/jsnpoweradmin/assets/js/history.js?v=' . $currentVersion); $this->_document->addScriptDeclaration("\n\t\t\tif (JoomlaShine === undefined) { var JoomlaShine = {}; }\n\t\t\tif (typeof(jQuery) !== 'undefined') { jQuery.noConflict(); }\n\n\t\t\tJoomlaShine.language = {$language};\n\t\t\twindow.addEvent('domready', function () {\n\t\t\t\tif(!document.getElementById('jsn-adminbar-wrapper')){\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\t\tnew JSNAdminBar({$config});\n\t\t\t\t\t\t\tnew JSNHistory();\n\t\t\t\t\t\t}, 500);\t\t\t\t\n\t\t\t\t\t}\n\t\t\t});\n\t\t"); }
/** * Register asset files for the template admin * * @return void */ public function registerAssets() { // Specified asset files for joomla 2.5 if (version_compare($this->version->getShortVersion(), '3.0', '<')) { $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/bootstrap/css/bootstrap.min.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery/jquery-1.8.2.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/bootstrap/js/bootstrap.min.js'); } $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-ui/css/ui-bootstrap/jquery-ui-1.9.0.custom.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-dynatree/skin/ui.dynatree.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/jquery-tipsy/tipsy.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/font-icomoon/css/icomoon.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/3rd-party/chosen/chosen.min.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-gui.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-admin.css'); $this->doc->addStyleSheet($this->baseAssetUrl . '/joomlashine/css/jsn-fonticomoon.css'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-ui/js/jquery-ui-1.9.1.custom.min.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-dynatree/jquery.dynatree.min.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-layout/jquery.layout.min.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-ck/jquery.ck.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/jquery-tipsy/jquery.tipsy.js'); $this->doc->addScript($this->baseAssetUrl . '/3rd-party/chosen/chosen.jquery.min.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/media.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/sample-data.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/update.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/upgrade.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/quickstart.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/core.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/font.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/layout.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/maintenance.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/social-integration.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/validate.js'); $this->doc->addScript($this->baseAssetUrl . '/joomlashine/js/width-type.js'); $templateEdition = JSNTplHelper::getTemplateEdition($this->data->template); $templateName = JText::_($this->data->template); $this->doc->addScriptDeclaration("\n\t\t\t!function (\$) {\n\t\t\t\t\"use strict\";\n\n\t\t\t\t\$(function () {\n\t\t\t\t\tnew \$.JSNTPLFrameworkCore({\n\t\t\t\t\t\ttemplate: '{$this->data->template}',\n\t\t\t\t\t\ttemplateName: '{$templateName}',\n\t\t\t\t\t\tedition: '{$templateEdition}',\n\t\t\t\t\t\tstyleId : '{$this->data->id}'\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}(jQuery);\n\t\t"); }
/** * @param string $file * @param int $priority * @param bool $template_files_override */ public function addStyle($file = '', $priority = self::DEFAULT_STYLE_PRIORITY, $template_files_override = false) { if (is_array($file)) { $this->addStyles($file, $priority); return; } /** @var $out_files GantryStyleLink[] */ $out_files = array(); $ext = substr($file, strrpos($file, '.')); $filename = basename($file, $ext); $base_file = basename($file); $override_file = $filename . "-override" . $ext; // get browser checks and remove base files $template_check_paths = $this->getBrowserBasedChecks(preg_replace('/-[0-9a-f]{32}\\.css$/i', '.css', basename($file))); unset($template_check_paths[array_search($base_file, $template_check_paths)]); // check to see if this is a full path file $dir = dirname($file); if ($dir != ".") { // Add full url directly to document if ($this->isUriExternal($file)) { $link = new GantryStyleLink('url', '', $file); $this->_styles[$priority][] = $link; return; } // process a url passed file and browser checks $url_path = $this->convertToUrl($dir); $file_path = $this->convertToPath($file); $file_parent_path = dirname($file_path); if (file_exists($file_parent_path) && is_dir($file_parent_path)) { $base_path = preg_replace("/\\?(.*)/", '', $file_parent_path . '/' . $base_file); // load the base file if (file_exists($base_path) && is_file($base_path) && is_readable($base_path)) { $out_files[$base_path] = new GantryStyleLink('local', $base_path, $this->convertToUrl($file)); } foreach ($template_check_paths as $check) { $check_path = preg_replace("/\\?(.*)/", '', $file_parent_path . '/' . $check); $check_url_path = $url_path . "/" . $check; if (file_exists($check_path) && is_readable($check_path)) { $out_files[$check] = new GantryStyleLink('local', $check_path, $check_url_path); } } } else { //pass through no file path urls $link = new GantryStyleLink('url', '', $this->convertToUrl($file)); $this->_styles[$priority][] = $link; } } else { // get the checks for override files $override_checks = $this->getBrowserBasedChecks(basename($override_file)); unset($override_checks[array_search($override_file, $override_checks)]); //set up the check for template with plartform based dirs $template_check_p = $this->platform->getPlatformChecks($this->templatePath . '/css'); $template_check_u = $this->platform->getPlatformChecks($this->templateUrl . '/css'); $template_css_search_paths = array(); for ($i = 0; $i < count($template_check_p); $i++) { $template_css_search_paths[$template_check_u[$i]] = $template_check_p[$i]; } // set up the full path checks $css_search_paths = array($this->gantryUrl . '/css/' => $this->gantryPath . '/css/', $this->templateUrl . '/css-compiled/' => $this->templatePath . '/css-compiled/'); $css_search_paths = array_merge($css_search_paths, $template_css_search_paths); $base_override = false; $checks_override = array(); foreach ($template_css_search_paths as $template_url => $template_path) { // Look for an base override file in the template dir $template_base_override_file = $template_path . $override_file; if ($this->isStyleAvailable($template_base_override_file)) { $out_files[$template_base_override_file] = new GantryStyleLink('local', $template_base_override_file, $template_url . $override_file); $base_override = true; } // look for overrides for each of the browser checks foreach ($override_checks as $check_index => $override_check) { $template_check_override = preg_replace("/\\?(.*)/", '', $template_path . $override_check); $checks_override[$check_index] = false; if ($this->isStyleAvailable($template_check_override)) { $checks_override[$check_index] = true; if ($base_override) { $out_files[$template_check_override] = new GantryStyleLink('local', $template_check_override, $template_url . $override_check); } } } } if (!$base_override) { // Add the base files if there is no base -override foreach ($css_search_paths as $base_url => $path) { // Add the base file $base_path = preg_replace("/\\?(.*)/", '', $path . $base_file); // load the base file if ($this->isStyleAvailable($base_path)) { $outfile_key = $template_files_override ? $base_file : $base_path; $out_files[$outfile_key] = new GantryStyleLink('local', $base_path, $base_url . $base_file); } // Add the browser checked files or its override foreach ($template_check_paths as $check_index => $check) { // replace $check with the override if it exists if ($checks_override[$check_index]) { $check = $override_checks[$check_index]; } $check_path = preg_replace("/\\?(.*)/", '', $path . $check); if ($this->isStyleAvailable($check_path)) { $outfile_key = $template_files_override ? $check : $check_path; $out_files[$outfile_key] = new GantryStyleLink('local', $check_path, $base_url . $check); } } } } } foreach ($out_files as $link) { $addit = true; foreach ($this->_styles as $style_priority => $priority_links) { $index = array_search($link, $priority_links); if ($index !== false) { if ($priority < $style_priority) { unset($this->_styles[$style_priority][$index]); } else { $addit = false; } } } if ($addit) { if (!defined('GANTRY_FINALIZED')) { $this->_styles[$priority][] = $link; } else { $this->document->addStyleSheet($link->getUrl()); } } } //clean up styles foreach ($this->_styles as $style_priority => $priority_links) { if (count($priority_links) == 0) { unset($this->_styles[$style_priority]); } } }
/** * {@inheritdoc} */ public function cssFile($file) { $this->_doc->addStyleSheet($file); }