get('header')) { $mainframe->setPageTitle($title); } else { $mainframe->setPageTitle($parser->title); } } else { $mainframe->setPageTitle($parser->title); } } foreach ($parser->metas as $meta) { $mainframe->addCustomHeadTag($meta); } foreach ($parser->links as $link) { $mainframe->addCustomHeadTag($link); } foreach ($parser->styles as $style) { $mainframe->addCustomHeadTag($style); } foreach ($parser->scripts as $script) { $mainframe->addCustomHeadTag($script); } echo $parser->body; } /** * メニューパラメータを取得 * @return references of mosParameters */ function & get_menu_parameters() { static $params = null; if (!$params) { global $mainframe; if ($mainframe->menu && $mainframe->menu->params) { $params = new mosParameters($mainframe->menu->params); } } return $params; } /** * キャッシュディレクトリのパスを取得する * @return string */ function get_cache_dir() { global $mosConfig_debug; $cachedir = ''; if ($params =& COM_kingyoya_translate::get_menu_parameters()) { if ($cachedir = $params->get('cachedir')) { // キャッシュディレクトリ取得 global $mosConfig_absolute_path; $mosConfig_debug && trigger_error("Cache Dir: {$cachedir}", E_USER_NOTICE); $cachedir = "{$mosConfig_absolute_path}/{$cachedir}"; if (!is_dir($cachedir)) { if (mkdir($cachedir, 0777)) { if (!mosChmod($cachedir)) { trigger_error("Failed chmod: {$cachedir}", E_USER_WARNING); $cachedir = ''; } } else { trigger_error("Failed mkdir {$cachedir}", E_USER_WARNING); $cachedir = ''; } } } } return $cachedir; } /** * ページタイトルを使用するか * @return boolean */ function use_page_title() { if ($params =& COM_kingyoya_translate::get_menu_parameters()) { $page_title = $params->get('page_title'); if (isset($page_title) && !$page_title) { return false; } } return true; } /** * ファイルをパース * @param string path */ function parse_file($file, $cachedir = '') { global $mainframe; require_once $mainframe->getPath('class'); if (!$file) return null; if (!is_file($file)) return null; if (!is_readable($file)) return null; if ($cachedir) { if (!is_dir($cachedir)) return null; if (!is_writable($cachedir)) return null; } $cachefile = ''; if ($cachedir) { $cachefile = "{$cachedir}/".md5($file); if (is_file($cachefile)) { if (filemtime($cachefile) > filemtime($file)) { // キャッシュを利用 if ($parser = file_get_contents($cachefile)) { return unserialize($parser); } } } } $parser = new mosKingyoyaTranslate(); $result = $parser->parse($file); if (!$result) { trigger_error("Failed parse {$file}", E_USER_WARNING); return null; } $cachefile && file_put_contents($cachefile, serialize($parser)); return $parser; } } COM_kingyoya_translate::exec($option);