Beispiel #1
0
 /**
  * initialize T3
  */
 public static function init($xml)
 {
     $app = JFactory::getApplication();
     $input = $app->input;
     $coretheme = isset($xml->t3) && isset($xml->t3->base) ? trim((string) $xml->t3->base) : 'base';
     // check coretheme in media/t3/themes folder
     // if not exists, use default base theme in T3
     if (!$coretheme) {
         $coretheme = 'base';
     }
     foreach (array(T3_EX_BASE_PATH, T3_ADMIN_PATH) as $basedir) {
         if (is_dir($basedir . '/' . $coretheme)) {
             if (is_file($basedir . '/' . $coretheme . '/define.php')) {
                 include_once $basedir . '/' . $coretheme . '/define.php';
             }
             break;
         }
     }
     if (!defined('T3')) {
         // get ready for the t3 core base theme
         include_once T3_CORE_BASE_PATH . '/define.php';
     }
     if (!defined('T3')) {
         T3::error(JText::sprintf('T3_MSG_FAILED_INIT_BASE', $coretheme));
         exit;
     }
     define('T3_TEMPLATE', (string) $xml->tplname);
     define('T3_TEMPLATE_URL', JURI::root(true) . '/templates/' . T3_TEMPLATE);
     define('T3_TEMPLATE_PATH', str_replace('\\', '/', JPATH_ROOT) . '/templates/' . T3_TEMPLATE);
     define('T3_TEMPLATE_REL', 'templates/' . T3_TEMPLATE);
     define('T3_LOCAL_URL', T3_TEMPLATE_URL . '/' . T3_LOCAL_DIR);
     define('T3_LOCAL_PATH', T3_TEMPLATE_PATH . '/' . T3_LOCAL_DIR);
     define('T3_LOCAL_REL', T3_TEMPLATE_REL . '/' . T3_LOCAL_DIR);
     if ($input->getCmd('themer', 0)) {
         define('T3_THEMER', 1);
     }
     if (!$app->isAdmin()) {
         $params = $app->getTemplate(true)->params;
         define('T3_DEV_FOLDER', $params->get('t3-assets', 't3-assets') . '/dev');
         define('T3_DEV_MODE', $params->get('devmode', 0));
     } else {
         $params = self::getTemplate()->params;
         define('T3_DEV_FOLDER', $params->get('t3-assets', 't3-assets') . '/dev');
     }
     if (!is_dir(JPATH_ROOT . '/' . T3_DEV_FOLDER)) {
         jimport('joomla.filesystem.folder');
         JFolder::create(JPATH_ROOT . '/' . T3_DEV_FOLDER);
     }
     if ($input->getCmd('t3lock', '')) {
         JFactory::getSession()->set('T3.t3lock', $input->getCmd('t3lock', ''));
         $input->set('t3lock', null);
     }
     // load core library
     T3::import('core/path');
     T3::import('core/t3j');
     if (!$app->isAdmin()) {
         if (version_compare(JVERSION, '3.0', 'ge')) {
             // override core joomla class
             // JViewLegacy
             T3::register('JViewLegacy', T3_ADMIN_PATH . '/includes/joomla30/viewlegacy.php');
             T3::register('JViewHtml', T3_ADMIN_PATH . '/includes/joomla30/viewhtml.php');
             // JModuleHelper
             T3::register('JModuleHelper', T3_ADMIN_PATH . '/includes/joomla30/modulehelper.php');
             // JPagination
             T3::register('JPagination', T3_ADMIN_PATH . '/includes/joomla30/pagination.php');
             // Register T3 Layout File to put a t3 base layer for layout files
             T3::register('JLayoutFile', T3_ADMIN_PATH . '/includes/joomla25/layout/file.php');
         } else {
             // override core joomla class
             // JView
             T3::register('JView', T3_ADMIN_PATH . '/includes/joomla25/view.php', 'joomla.application.component.view');
             // JModuleHelper
             T3::register('JModuleHelper', T3_ADMIN_PATH . '/includes/joomla25/modulehelper.php', 'joomla.application.module.helper');
             // JPagination
             T3::register('JPagination', T3_ADMIN_PATH . '/includes/joomla25/pagination.php', 'joomla.html.pagination');
             //register layout
             T3::register('JLayout', T3_ADMIN_PATH . '/includes/joomla25/layout/layout.php');
             T3::register('JLayoutBase', T3_ADMIN_PATH . '/includes/joomla25/layout/base.php');
             T3::register('JLayoutFile', T3_ADMIN_PATH . '/includes/joomla25/layout/file.php');
             T3::register('JLayoutHelper', T3_ADMIN_PATH . '/includes/joomla25/layout/helper.php');
             T3::register('JHtmlBootstrap', T3_ADMIN_PATH . '/includes/joomla25/html/bootstrap.php');
             T3::register('JHtmlBehavior', T3_ADMIN_PATH . '/includes/joomla25/html/behavior.php');
             T3::register('JHtmlString', T3_ADMIN_PATH . '/includes/joomla25/html/string.php');
             T3::register('JHtmlJquery', T3_ADMIN_PATH . '/includes/joomla25/html/jquery.php');
             // load j25 compat language
             JFactory::getLanguage()->load('plg_system_t3.j25.compat', JPATH_ADMINISTRATOR);
         }
         // import renderer
         T3::import('renderer/pageclass');
         T3::import('renderer/megamenu');
         T3::import('renderer/t3bootstrap');
     } else {
     }
     // capture for tm=1 => show theme magic
     if ($input->getCmd('tm') == 1) {
         $input->set('t3action', 'theme');
         $input->set('t3task', 'thememagic');
     }
 }