protected function getIncludeFile($name) { $subDir = dirname($name); $page = basename($name, '.tpl'); $pagetype = Kurogo::deviceClassifier()->getPagetype(); $platform = Kurogo::deviceClassifier()->getPlatform(); $browser = Kurogo::deviceClassifier()->getBrowser(); if (strlen($subDir)) { $subDir .= '/'; } $checkDirs = array('THEME_DIR' => THEME_DIR, 'SITE_APP_DIR' => SITE_APP_DIR, 'SHARED_APP_DIR' => SHARED_APP_DIR, 'APP_DIR' => APP_DIR); $searchFiles = DeviceClassifier::buildFileSearchList($pagetype, $platform, $browser, $page, 'tpl'); foreach ($searchFiles as $file) { foreach ($checkDirs as $type => $dir) { if ($dir) { $test = realpath_exists("{$dir}/{$subDir}{$file}"); if ($test) { Kurogo::log(LOG_DEBUG, __FUNCTION__ . "({$pagetype}-{$platform}-{$browser}) choosing '{$type}/{$file}' for '{$name}'", 'template'); return addslashes($test); } } } } return $name; }
function getFileConfigForDirs($ext, $extFolder, $page, $pagetype, $platform, $browser, $dirs, $subDirs, $pageOnly = false) { $config = array('include' => 'all', 'files' => array()); foreach ($dirs as $dir) { foreach ($subDirs as $subDir) { $fullDir = "{$dir}{$subDir}/{$extFolder}/"; if (!$pageOnly) { $commonFiles = array_reverse(DeviceClassifier::buildFileSearchList($pagetype, $platform, $browser, '', $ext, $fullDir)); $config['files'] = array_merge($config['files'], $commonFiles); } $pageFiles = array_reverse(DeviceClassifier::buildFileSearchList($pagetype, $platform, $browser, $page, $ext, $fullDir)); $config['files'] = array_merge($config['files'], $pageFiles); } } return $config; }