本文整理汇总了PHP中T3Path::path方法的典型用法代码示例。如果您正苦于以下问题:PHP T3Path::path方法的具体用法?PHP T3Path::path怎么用?PHP T3Path::path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类T3Path
的用法示例。
在下文中一共展示了T3Path::path方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: gzip
function gzip()
{
$file = JRequest::getVar('file');
//clean filepath
$file = preg_replace('#[?\\#]+.*$#', '', $file);
//check exists
$filepath = T3Path::path(dirname($file)) . DS . basename($file);
if (!is_file($filepath)) {
echo "File {$file} {$filepath} not exist";
return;
}
$type = strtolower(JRequest::getCmd('type', 'css'));
//$type must be in css or js
if (!in_array($type, array('css', 'js'))) {
echo "Type {$type} not support";
return;
}
//make sure the type of $file is the same with $type
if (!preg_match('#\\.' . $type . '$#', $filepath)) {
echo "Type {$type} not match";
return;
}
jimport('joomla.filesystem.file');
$data = @JFile::read($filepath);
if (!$data) {
echo "File {$filepath} empty";
return;
}
if ($type == 'js') {
$type = 'javascript';
}
JResponse::setHeader('Content-Type', "text/{$type};", true);
//set cache time
JResponse::setHeader('Cache-Control', "private", true);
$offset = 365 * 24 * 60 * 60;
//whenever the content is changed, the file name is changed also. Therefore we could set the cache time long.
JResponse::setHeader('Expires', gmdate("D, d M Y H:i:s", time() + $offset) . " GMT", true);
JResponse::allowCache(true);
JResponse::setBody($data);
echo JResponse::toString(1);
}
示例2: getT3Themes
function getT3Themes($template)
{
$themes = array();
$themes["engine.default"] = T3Path::path(T3_BASETHEME, false);
$path = T3Path::path(T3_TEMPLATE_CORE) . DS . 'themes';
$_themes = @JFolder::folders($path);
if (is_array($_themes)) {
foreach ($_themes as $theme) {
$themes["core.{$theme}"] = T3Path::path(T3_TEMPLATE_CORE, false) . DS . 'themes' . DS . $theme;
}
}
$path = T3Path::path(T3_TEMPLATE_LOCAL) . DS . 'themes';
if (is_dir($path)) {
$_themes = @JFolder::folders($path);
if (is_array($_themes)) {
foreach ($_themes as $theme) {
$themes["local.{$theme}"] = T3Path::path(T3_TEMPLATE_LOCAL, false) . DS . 'themes' . DS . $theme;
}
}
}
return $themes;
}
示例3: replaceContent
/**
* Popup prepare content method
*
* @param string $bodyContent The body string content.
*
* @return string The replaced body string content
*/
function replaceContent($bodyContent)
{
// Build HTML params area
$xmlFile = T3Path::path(T3_CORE) . DS . 'params' . DS . "jatoolbar.xml";
if (!file_exists($xmlFile)) {
return $bodyContent;
}
$str = "";
$configform = JForm::getInstance('params', $xmlFile, array('control' => 'jform'));
$fieldSets = $configform->getFieldsets('params');
$html = '';
foreach ($fieldSets as $name => $fieldSet) {
$html .= '<div class="panel">
<h3 id="jatoolbar-page" class="jpane-toggler title">
<a href="#"><span>' . JText::_($fieldSet->label) . '</span></a>
</h3>';
$html .= '
<div class="jpane-slider content">
<fieldset class="panelform">';
if (isset($fieldSet->description) && trim($fieldSet->description)) {
$html .= '<div class="block-des">' . JText::_($fieldSet->description) . '</div>';
}
$html .= ' <ul class="adminformlist">';
foreach ($configform->getFieldset($name) as $field) {
$html .= '<li>';
$html .= $field->label;
$html .= $field->input;
$html .= '</li>';
}
$html .= '</ul>
</fieldset>
</div>
</div>';
}
preg_match_all("/<div class=\"panel\">([\\s\\S]*?)<\\/div>/i", $bodyContent, $arr);
$bodyContent = str_replace($arr[0][count($arr[0]) - 1] . '</div>', $arr[0][count($arr[0]) - 1] . '</div>' . $html, $bodyContent);
return $bodyContent;
}
示例4: getThemePath
/**
* Get theme path
*
* @param string $name Theme name
* @param bool $local Indicate theme is local or not
*
* @return string
*/
public static function getThemePath($name, $local = true)
{
$path = T3Path::path(T3_TEMPLATE);
// Check template use newest folder structure or not
// If themes is exists, considered as template use newest folder structure
if (@is_dir($path . DS . 'themes')) {
$path .= DS . 'themes' . DS . $name;
} else {
if ($local) {
$path .= DS . 'local' . DS . 'themes' . DS . $name;
} else {
$path .= DS . 'core' . DS . 'themes' . DS . $name;
}
}
return $path;
}
示例5: saveLayout
function saveLayout()
{
global $mainframe;
t3_import('core/admin/util');
// Initialize some variables
$client =& JApplicationHelper::getClientInfo(JRequest::getVar('client', '0', '', 'int'));
//$json = JRequest::getVar('json');
$json = JRequest::getString('json', '', 'default', 2);
$data = json_decode($json);
$data = str_replace(array("\\n", "\\t"), array("\n", "\t"), $data) . ' ';
$data = str_replace('\\', '', $data);
$template = JRequest::getCmd('template');
$layout = JRequest::getCmd('layout');
$errors = array();
$result = array();
if (!$template || !$layout) {
$result['error'] = JText::_('No template specified or Layout name contains space or special chracters.');
echo json_encode($result);
exit;
}
// Set FTP credentials, if given
jimport('joomla.client.helper');
JClientHelper::setCredentialsFromRequest('ftp');
$ftp = JClientHelper::getCredentials('ftp');
$file = T3Path::path(T3_TEMPLATE_LOCAL) . DS . 'etc' . DS . 'layouts' . DS . strtolower($layout) . '.xml';
$file_core = T3Path::path(T3_TEMPLATE_CORE) . DS . 'etc' . DS . 'layouts' . DS . strtolower($layout) . '.xml';
//get layouts from core
$file_base = T3Path::path(T3_BASETHEME) . DS . 'etc' . DS . 'layouts' . DS . strtolower($layout) . '.xml';
if (file_exists($file) || file_exists($file_core) || file_exists($file_base)) {
$result['type'] = 'edit';
} else {
$result['type'] = 'new';
}
if (JFile::exists($file)) {
@chmod($file, 0777);
}
$return = JFile::write($file, $data);
// Try to make the params file unwriteable
if (!$ftp['enabled'] && JPath::isOwner($file) && !JPath::setPermissions($file, '0555')) {
$errors[] = sprintf(JText::_('Could not make the %s file unwritable'), $file);
}
if (!$return) {
$errors[] = JText::_('Operation Failed') . ': ' . JText::sprintf('Failed to open file for writing.', $file);
}
if ($errors) {
$result['error'] = implode('<br/>', $errors);
} else {
if ($result['type'] == 'new') {
$result['successful'] = sprintf(JText::_('Layout %s was successfully created!'), $layout);
} else {
$result['successful'] = sprintf(JText::_('SAVE %s LAYOUT SUCCESSFULLY'), $layout);
}
$result['layout'] = $layout;
}
echo json_encode($result);
exit;
}
示例6: onAfterRoute
function onAfterRoute()
{
t3import('core.framework');
$app = JFactory::getApplication('administrator');
if ($app->isAdmin()) {
t3import('core.admin.util');
//Clean cache if there's something changed backend
if (JRequest::getCmd('jat3action') || in_array(JRequest::getCmd('task'), array('save', 'delete', 'remove', 'apply', 'publish', 'unpublish'))) {
if (JRequest::getCmd('jat3action')) {
//if template parameter updated => clear cache
t3_import('core/cache');
T3Cache::clean(2);
} else {
$params = T3Common::get_template_based_params();
$cache = $params->get('cache');
if ($cache) {
//if other update: clear cache if cache is enabled
t3_import('core/cache');
T3Cache::clean(1);
}
}
}
if (JAT3_AdminUtil::checkPermission()) {
if (JAT3_AdminUtil::checkCondition_for_Menu()) {
JHTML::stylesheet('', JURI::root() . T3_CORE . '/element/assets/css/japaramhelper.css');
JHTML::script('', JURI::root() . T3_CORE . '/element/assets/js/japaramhelper.js', true);
}
if (JRequest::getCmd('jat3type') == 'plugin') {
$action = JRequest::getCmd('jat3action');
t3import('core.ajax');
$obj = new JAT3_Ajax();
if ($action && method_exists($obj, $action)) {
$obj->{$action}();
}
return;
}
if (!T3Common::detect()) {
return;
}
JAT3_AdminUtil::loadStyle();
JAT3_AdminUtil::loadScipt();
return;
} elseif (JRequest::getCmd('jat3type') == 'plugin') {
$result['error'] = 'Session has expired. Please login before continuing.';
echo json_encode($result);
exit;
}
return;
}
if (!$app->isAdmin() && T3Common::detect()) {
$action = JRequest::getCmd('jat3action');
//process request ajax like action - public
if ($action) {
t3import('core.ajaxsite');
if (method_exists('T3AjaxSite', $action)) {
T3AjaxSite::$action();
$app->close();
//exit after finish action
}
}
//load core library
T3Framework::t3_init($this->plgParams);
//Init T3Engine
//get list templates
$themes = T3Common::get_active_themes();
$path = T3Path::getInstance();
//path in t3 engine
//active themes path
if ($themes && count($themes)) {
foreach ($themes as $theme) {
$path->addPath($theme[0] . '.' . $theme[1], T3Path::path(T3_TEMPLATE) . DS . $theme[0] . DS . 'themes' . DS . $theme[1], T3Path::url(T3_TEMPLATE) . "/{$theme[0]}/themes/{$theme[1]}");
}
}
//add default & base theme path
//if isRTL, auto add rtl theme
if (T3Common::isRTL() && is_dir(T3Path::path(T3_TEMPLATE_CORE . '/themes/default-rtl'))) {
$path->addPath('core.default-rtl', T3Path::path(T3_TEMPLATE_CORE . '/themes/default-rtl'), T3Path::url(T3_TEMPLATE_CORE . '/themes/default-rtl'));
}
$path->addPath('template.default', T3Path::path(T3_TEMPLATE), T3Path::url(T3_TEMPLATE));
if (T3Common::isRTL() && is_dir(T3Path::path(T3_BASETHEME . '-rtl'))) {
$path->addPath('engine.default-rtl', T3Path::path(T3_BASETHEME . '-rtl'), T3Path::url(T3_BASETHEME . '-rtl'));
}
$path->addPath('engine.default', T3Path::path(T3_BASETHEME), T3Path::url(T3_BASETHEME));
T3Framework::init_layout();
}
}
示例7: getT3Themes
/**
* Get theme list
*
* @param string $template Template name
*
* @return array List of theme
*/
function getT3Themes($template)
{
$themes = array();
$themes["engine.default"] = T3Path::path(T3_BASETHEME, false);
$path = T3Path::path(T3_TEMPLATE) . DS . 'themes';
// Check if template use newest folder structure or not
// If themes folder is exists in template folder, considered as template use newest folder structure
if (@is_dir($path)) {
$path = T3Path::path(T3_TEMPLATE, false) . DS . 'themes';
$_themes = @JFolder::folders($path);
if (is_array($_themes)) {
foreach ($_themes as $theme) {
if ('.local' == substr($theme, -6)) {
$themes['local' . substr($theme, 0, -6)] = $path . DS . $theme;
} else {
$themes['core' . $theme] = $path . DS . $theme;
}
}
}
} else {
// Compatible: if template use
$path = T3Path::path(T3_TEMPLATE_CORE) . DS . 'themes';
$_themes = @JFolder::folders($path);
if (is_array($_themes)) {
foreach ($_themes as $theme) {
$themes["core.{$theme}"] = T3Path::path(T3_TEMPLATE_CORE, false) . DS . 'themes' . DS . $theme;
}
}
$path = T3Path::path(T3_TEMPLATE_LOCAL) . DS . 'themes';
if (is_dir($path)) {
$_themes = @JFolder::folders($path);
if (is_array($_themes)) {
foreach ($_themes as $theme) {
$themes["local.{$theme}"] = T3Path::path(T3_TEMPLATE_LOCAL, false) . DS . 'themes' . DS . $theme;
}
}
}
}
return $themes;
}
示例8: _clean
/**
* Clean T3 cache
* If $t3assets > 0, deleted all cached content in defaultgroup
* If $t3assets > 1, deleted all cached content in assets group
* If $t3assets > 2, deleted all cached content in css/js optimize folder
*
* @param int $t3assets Level cache
*
* @return void
*/
private function _clean($t3assets = 0)
{
$cache = $this->cache;
// Clear cache in default group folder
if ($t3assets > 0) {
$cache->clean();
}
// Clear cache in assets folder
if ($t3assets > 1) {
$cache->clean(self::T3_CACHE_ASSETS);
}
if ($t3assets > 2) {
//clean t3-assets folder, the cache for js/css
$templates = T3Common::get_active_templates();
//T3Common::log(var_export($templates, true));
foreach ($templates as $template) {
$file = T3Path::path("templates/{$template}") . DS . 'params.ini';
if (is_file($file)) {
$content = file_get_contents($file);
$params = new JParameter($content);
$cache_path = $params->get('optimize_folder', 't3-assets');
$path = T3Path::path($cache_path);
//T3Common::log($path);
if (is_dir($path)) {
@JFolder::delete($path);
}
}
}
}
}
示例9: getFontPath
/**
* Get gfont path
*
* @param string $template Template name
* @param string $filename Filename include extension
* @param bool $local Indicate get local path or not
*
* @return mixed Gfont file path if found, otherwise FALSE
*/
function getFontPath($template, $filename = 'gfonts.dat', $local = false)
{
// Check to sure that template is using new folder structure
// If etc folder exists, considered as template is using new folder structure
$filepath = JPATH_SITE . DS . 'templates' . DS . $template . DS . 'etc';
if (@is_dir($filepath)) {
$filepath .= DS . $filename;
} else {
// Template still use old folder structure
$filepath = JPATH_SITE . DS . 'templates' . DS . $template . DS . 'local' . DS . 'etc' . DS . $filename;
}
// Check file exists or not
if (@is_file($filepath) || $local) {
return $filepath;
}
// Check file in base-themes
$filepath = T3Path::path(T3_BASETHEME) . DS . 'etc' . DS . $filename;
if (@is_file($filepath)) {
return $filepath;
}
// Can not find google font file
return false;
}
示例10: get_template_params
function get_template_params()
{
static $params = null;
if (!isset($params)) {
$key = T3Cache::getProfileKey();
$data = T3Cache::get_file($key);
if ($data) {
$params = new JParameter($data);
return $params;
}
$profile = T3Common::get_active_profile();
//Load global params
$content = '';
$file = T3Path::path(T3_TEMPLATE) . DS . 'params.ini';
if (is_file($file)) {
$content = file_get_contents($file);
}
//Load default profile setting
$path = 'etc' . DS . 'profiles' . DS . 'default.ini';
$file = T3Path::path(T3_TEMPLATE_LOCAL) . DS . $path;
if (!is_file($file)) {
$file = T3Path::path(T3_TEMPLATE_CORE) . DS . $path;
}
if (is_file($file)) {
$content .= "\n" . file_get_contents($file);
}
//Load all-pages profile setting
$default_profile = T3Common::get_default_profile();
if ($default_profile != 'default') {
$path = 'etc' . DS . 'profiles' . DS . $default_profile . '.ini';
$file = T3Path::path(T3_TEMPLATE_LOCAL) . DS . $path;
if (!is_file($file)) {
$file = T3Path::path(T3_TEMPLATE_CORE) . DS . $path;
}
if (is_file($file)) {
$content .= "\n" . file_get_contents($file);
}
}
//Load override profile setting
if ($profile != $default_profile && $profile != 'default') {
$path = 'etc' . DS . 'profiles' . DS . $profile . '.ini';
$file = T3Path::path(T3_TEMPLATE_LOCAL) . DS . $path;
if (!is_file($file)) {
$file = T3Path::path(T3_TEMPLATE_CORE) . DS . $path;
}
if (is_file($file)) {
$content .= "\n" . file_get_contents($file);
}
}
$params = new JParameter($content);
T3Cache::store_file($params->toString(), $key);
}
return $params;
}
示例11: loadMenu
/**
* Load menu
*
* @param $menutype string
* Menu type name
*
* @return object Menu object
*/
function loadMenu($menutype = null)
{
static $jamenu = null;
if (!isset($jamenu)) {
// Init menu
// Main navigation
$ja_menutype = $this->getMenuType($menutype);
if ($ja_menutype && $ja_menutype != 'none') {
//$japarams = new JParameter('');
// Strict standards: Declaration of JParameter::loadSetupFile() should be compatible with that of JRegistry::loadSetupFile()
$japarams = new JRegistry('');
$japarams->set('menutype', $this->getParam('menutype', 'mainmenu'));
$japarams->set('menu_images_align', 'left');
$japarams->set('menu_images', 1);
// 0: not show image, 1: show
// image which set in menu
// item
$japarams->set('menu_background', 1);
// 0: image, 1: background
$japarams->set('mega-colwidth', 200);
// Megamenu only: Default
// column width
$japarams->set('mega-style', 1);
// Megamenu only: Menu style.
$japarams->set('startlevel', $this->getParam('startlevel', 0));
// Startlevel
$japarams->set('endlevel', $this->getParam('endlevel', 0));
// endlevel
// $jamenu = $this->loadMenu($japarams, $ja_menutype);
}
// End for main navigation
$file = T3Path::path(T3_CORE) . DS . 'menu' . DS . "{$ja_menutype}.class.php";
if (!is_file($file)) {
return null;
}
include_once $file;
$menuclass = "JAMenu{$ja_menutype}";
$jamenu = new $menuclass($japarams);
// assign template object
$jamenu->_tmpl = $this;
// load menu
$jamenu->loadMenu();
// check css/js file
$this->addStylesheet(T3_TEMPLATE . "/css/menu/{$ja_menutype}.css");
$this->addScript(T3_TEMPLATE . "/js/menu/{$ja_menutype}.js", true);
$this->addCSS("/css/menu/{$ja_menutype}-ie.css", null, 'ie');
}
return $jamenu;
}
示例12: replaceContent
/**
* Popup prepare content method
*
* @param string The body string content.
*/
function replaceContent($bodyContent)
{
// Build HTML params area
$xmlFile = T3Path::path(T3_CORE) . DS . 'params' . DS . "params.xml";
if (!file_exists($xmlFile)) {
return $bodyContent;
}
$str = "";
$xmlFile = JFile::read($xmlFile);
preg_match_all("/<params([^>]*)>([\\s\\S]*?)<\\/params>/i", $xmlFile, $matches);
foreach ($matches[0] as $v) {
$v = preg_replace("/group=\"([\\s\\S]*?)\"/i", '', $v);
$xmlstring = '<?xml version="1.0" encoding="utf-8"?>
<metadata>
<state>
<name>Component</name>
<description>Component Parameters</description>';
$xmlstring .= $v;
$xmlstring .= '</state>
</metadata>';
preg_match_all("/label=\"([\\s\\S]*?)\"/i", $v, $arr);
$str .= '<div class="panel">
<h3 id="mega-params-options" class="jpane-toggler title">
<span>' . $arr[1][0] . '</span></h3>
<div class="jpane-slider content" style="border-top: medium none; border-bottom: medium none; overflow: hidden; padding-top: 0px; padding-bottom: 0px;">
' . $this->getSystemParams($xmlstring) . "</div></div>";
}
preg_match_all("/<div class=\"panel\">([\\s\\S]*?)<\\/div>/i", $bodyContent, $arr);
$bodyContent = str_replace($arr[0][count($arr[0]) - 1] . '</div>', $arr[0][count($arr[0]) - 1] . '</div>' . $str, $bodyContent);
return $bodyContent;
}
示例13: clean
function clean($t3assets = false)
{
//clear T3 cache in cache folder
$t3cache = T3Cache::getInstance();
if (!$t3cache) {
return false;
}
if ($t3assets > 0) {
//clean content cache
$cache = $t3cache->cache;
$cache->clean();
}
//Clear css/js cached in t3-assets
if ($t3assets > 1) {
//Clear assets folder in cache
$path = $t3cache->cache_assets_path();
if (is_dir($path)) {
@JFolder::delete($path);
}
}
if ($t3assets > 2) {
//clean t3-assets folder, the cache for js/css
$params = T3Common::get_template_based_params();
$cache_path = $params->get('optimize_folder', 't3-assets');
$path = T3Path::path($cache_path);
if (is_dir($path)) {
@JFolder::delete($path);
}
}
}
示例14: json_encode
<?php
if ($this->getParam('infomode', 1) == 1 && JRequest::getCmd('t3info')) {
?>
<script type="text/javascript">
var jalayout=<?php
echo json_encode($this->getLayoutXML());
?>
;
var t3info='<?php
echo JRequest::getCmd('t3info');
?>
';
</script>
<?php
if (is_dir(T3Path::path('layoutinfo', true))) {
?>
<link type="text/css" rel="stylesheet" href="<?php
echo T3Path::url('layoutinfo/style.css', true);
?>
" />
<script type="text/javascript" src="<?php
echo T3Path::url('layoutinfo/script.js', true);
?>
"></script>
<?php
} else {
?>
<?php
if (T3Path::getPath('layoutinfo')) {
?>
示例15: onAfterRoute
/**
* Implement after route event
*
* @return null
*/
function onAfterRoute()
{
// Load t3 language file for front-end & template admin.
//$this->loadLanguage(null, JPATH_ADMINISTRATOR);
//this language should be loaded by joomla
$lang = JFactory::getLanguage();
$lang->load('plg_system_jat3', JPATH_ADMINISTRATOR);
t3import('core.framework');
$app = JFactory::getApplication('administrator');
if ($app->isAdmin()) {
t3import('core.admin.util');
// Clean cache if there's something changed backend
if (JRequest::getCmd('jat3action') || in_array(JRequest::getCmd('task'), array('save', 'delete', 'remove', 'apply', 'publish', 'unpublish'))) {
if (JRequest::getCmd('jat3action')) {
//if template parameter updated => clear cache
t3import('core.cache');
T3Cache::clean(2);
} else {
$params = T3Common::get_template_based_params();
$cache = $params->get('cache');
if ($cache) {
//if other update: clear cache if cache is enabled
t3import('core.cache');
T3Cache::clean(1);
}
}
}
if (JAT3_AdminUtil::checkPermission()) {
if (JAT3_AdminUtil::checkCondition_for_Menu()) {
JHTML::stylesheet(JURI::root() . T3_CORE . '/element/assets/css/japaramhelper.css');
JHTML::script(JURI::root() . T3_CORE . '/element/assets/js/japaramhelper.js', true);
}
if (JRequest::getCmd('jat3type') == 'plugin') {
$action = JRequest::getCmd('jat3action');
t3import('core.ajax');
$obj = new JAT3_Ajax();
if ($action && method_exists($obj, $action)) {
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
$obj->{$action}();
}
return;
}
//Load moontools library
JHtml::_('behavior.framework');
if (!T3Common::detect()) {
return;
}
JAT3_AdminUtil::loadStyle();
JAT3_AdminUtil::loadScipt();
return;
} elseif (JRequest::getCmd('jat3type') == 'plugin') {
$result['error'] = 'Session has expired. Please login before continuing.';
echo json_encode($result);
exit;
}
return;
}
if (!$app->isAdmin() && T3Common::detect()) {
$action = JRequest::getCmd('jat3action');
// Process request ajax like action - public
if ($action) {
t3import('core.ajaxsite');
if (method_exists('T3AjaxSite', $action)) {
T3AjaxSite::$action();
$app->close();
//exit after finish action
}
}
// Load core library
T3Framework::t3_init($this->plgParams);
// Init T3Engine
// Get list templates
$themes = T3Common::get_active_themes();
$path = T3Path::getInstance();
// Path in t3 engine
// Active themes path
if ($themes && count($themes)) {
foreach ($themes as $theme) {
if ($theme[0] == 'engine') {
$path->addPath($theme[0] . '.' . $theme[1], T3Path::path(T3_BASE . '/base-themes/' . $theme[1]), T3Path::url(T3_BASE . '/base-themes/' . $theme[1]));
} elseif ($theme[0] == 'template') {
$path->addPath($theme[0] . '.' . $theme[1], T3Path::path(T3_TEMPLATE), T3Path::url(T3_TEMPLATE));
} else {
$themepath = T3Path::path(T3_TEMPLATE) . DS . 'themes';
// Check if template use newest folder structure or not
// If themes folder is exists in template folder, consider as template use newst folder structure
if (@is_dir($themepath)) {
$path->addPath($theme[0] . '.' . $theme[1], T3Path::path(T3_TEMPLATE) . DS . 'themes' . DS . $theme[1], T3Path::url(T3_TEMPLATE) . "/themes/{$theme[1]}");
} else {
// Compatible: if template use older folder structure, try to use it
$path->addPath($theme[0] . '.' . $theme[1], T3Path::path(T3_TEMPLATE) . DS . $theme[0] . DS . 'themes' . DS . $theme[1], T3Path::url(T3_TEMPLATE) . "/{$theme[0]}/themes/{$theme[1]}");
}
}
}
//.........这里部分代码省略.........