Minahito
minah****@users*****
2006年 2月 21日 (火) 20:50:46 JST
Index: xoops2jp/html/modules/base/class/Legacy_AdminRenderSystem.class.php diff -u xoops2jp/html/modules/base/class/Legacy_AdminRenderSystem.class.php:1.1.2.16 xoops2jp/html/modules/base/class/Legacy_AdminRenderSystem.class.php:removed --- xoops2jp/html/modules/base/class/Legacy_AdminRenderSystem.class.php:1.1.2.16 Sun Jan 29 14:58:16 2006 +++ xoops2jp/html/modules/base/class/Legacy_AdminRenderSystem.class.php Tue Feb 21 20:50:46 2006 @@ -1,270 +0,0 @@ -<?php - -// -// TODO -// -require_once XOOPS_ROOT_PATH."/modules/legacyRender/kernel/Legacy_RenderSystem.class.php"; - -define('LEGACY_ADMIN_RENDER_TEMPLATE_DIRNAME', "templates"); - -define('LEGACY_ADMIN_RENDER_FALLBACK_PATH', XOOPS_MODULE_PATH . "/base/admin/theme"); -define('LEGACY_ADMIN_RENDER_FALLBACK_URL', XOOPS_MODULE_URL . "/base/admin/theme"); - -require_once XOOPS_ROOT_PATH."/class/smarty/Smarty.class.php"; - -/** - * This class extends Smarty to mediate the collision compiled file name. - */ -class Legacy_AdminSmarty extends Smarty -{ - var $mModulePrefix = null; - - // - // If you don't hope to override for theme, set false. - // - var $overrideMode = true; - - function Legacy_AdminSmarty() - { - parent::Smarty(); - - $this->compile_id = null; - $this->_canUpdateFromFile = true; - $this->compile_check = true; - $this->compile_dir = XOOPS_COMPILE_PATH; - $this->left_delimiter = "<{"; - $this->right_delimiter = "}>"; - - $this->register_modifier("theme", "Legacy_modifier_theme"); - $this->register_function("stylesheet", "Legacy_function_stylesheet"); - - // - // [TODO] - // If we don't set true to the following flag, a user can not recover - // with deleting additional theme. But, a user should to select true or - // false by site_custom.ini.php. - // - $this->force_compile = false; - } - - function setModulePrefix($prefix) - { - $this->mModulePrefix = $prefix; - } - - function _get_auto_filename($autoBase, $autoSource = null, $auotId = null) - { - $autoSource = $this->mModulePrefix . "_admin_" . $autoSource; - return parent::_get_auto_filename($autoBase, $autoSource, $auotId); - } - - function _fetch_resource_info(&$params) - { - $_return = false; - - $root =& XCube_Root::getSingleton(); - $theme = $root->mSiteConfig['Legacy']['Theme']; - $dirname = $this->mModulePrefix; - - if ($dirname != null) { - $params['resource_base_path'] = XOOPS_THEME_PATH . "/" . $theme . "/modules/" . $dirname; - $params['quiet'] = true; - - $_return = parent::_fetch_resource_info($params); - } - - if (!$_return) { - unset ($params['resource_base_path']); - $params['quiet'] = false; - - $_return = parent::_fetch_resource_info($params); - } - - return $_return; - } - -} - -/** - * [TODO] - * We depends on Legacy_RenderSystem that a add-in module defines. We must stop - * this situation. - */ -class Legacy_AdminRenderSystem extends Legacy_RenderSystem -{ - var $mController; - var $mSmarty; - - function prepare(&$controller) - { - $this->mController =& $controller; - - $this->mSmarty=new Legacy_AdminSmarty(); - - $this->mSmarty->assign(array("xoops_url"=>XOOPS_URL, - "xoops_rootpath"=>XOOPS_ROOT_PATH, - "xoops_langcode"=>_LANGCODE, - "xoops_charset"=>_CHARSET, - "xoops_version"=>XOOPS_VERSION, - "xoops_upload_url"=>XOOPS_UPLOAD_URL)); - - } - - function renderBlock(&$target) - { - $this->mSmarty->template_dir=XOOPS_ROOT_PATH."/modules/base/admin/templates"; - - foreach($target->getAttributes() as $key=>$value) { - $this->mSmarty->assign($key,$value); - } - - $this->mSmarty->setModulePrefix("base"); - $result=&$this->mSmarty->fetch("blocks/".$target->getTemplateName()); - $target->setResult($result); - - // - // Reset - // - foreach($target->getAttributes() as $key=>$value) { - $this->mSmarty->clear_assign($key); - } - } - - function renderTheme(&$target) - { - $this->mController->mDebugger->displayLog(); - - // - // Assign from attributes of the render-target. - // - foreach($target->getAttributes() as $key=>$value) { - $this->mSmarty->assign($key,$value); - } - - $this->mSmarty->assign("currentModule",$this->mController->mModuleController->mModuleObject); - - // - // Theme rendering - // - foreach($this->mBlockContents[0] as $result) { - $this->mSmarty->append('xoops_lblocks',$result); - } - - // - // Check Theme or Fallback - // - $root =& XCube_Root::getSingleton(); - $theme = $root->mSiteConfig['Legacy']['Theme']; - - if (file_exists(XOOPS_ROOT_PATH."/themes/".$theme."/admin_theme.html")) { - $this->mSmarty->template_dir=XOOPS_THEME_PATH."/".$theme; - } - else { - $this->mSmarty->template_dir=LEGACY_ADMIN_RENDER_FALLBACK_PATH; - } - - $this->mSmarty->setModulePrefix(''); - $result=$this->mSmarty->fetch("file:admin_theme.html"); - - $target->setResult($result); - } - - function renderMain(&$target) - { - // - // Assign from attributes of the render-target. - // - foreach($target->getAttributes() as $key=>$value) { - $this->mSmarty->assign($key,$value); - } - - $result=null; - - if($target->getTemplateName()) { - if ($target->getModuleName()) { - $this->mSmarty->setModulePrefix($target->getModuleName()); - $this->mSmarty->template_dir = XOOPS_MODULE_PATH . "/" . $target->getModuleName() . "/admin/". LEGACY_ADMIN_RENDER_TEMPLATE_DIRNAME; - } - - $result=$this->mSmarty->fetch("file:".$target->getTemplateName()); - } - else { - $result=$target->getAttribute("stdout_buffer"); - } - - $target->setResult($result); - } -} - -/** - * Return URL string by "overriding" rule. - * (Now, test implement) - * 1) Search file in specified theme directory. - * 2) Search file in current module template directory. - * 3) Search file in fallback theme directory. - */ -function Legacy_modifier_theme($string) -{ - $root =& XCube_Root::getSingleton(); - $modController =& $root->mController->getModuleController(); - $moduleObject =& $modController->getXoopsModule(); - - $theme = $root->mSiteConfig['Legacy']['Theme']; - - if (!is_object($moduleObject)) { - // TODO We must remove Hard-Coding - $themePath = XOOPS_THEME_PATH . "/" . $theme . "/" . $string; - if (file_exists($themePath)) { - return XOOPS_THEME_URL . "/" . $theme . "/" . $string; - } - - return LEGACY_ADMIN_RENDER_FALLBACK_URL . "/" . $string; - } - else { - $dirname = $moduleObject->getVar('dirname'); - - // TODO We must remove Hard-Coding - $themePath = XOOPS_THEME_PATH . "/" . $theme . "/modules/" . $dirname . "/" . $string; - if (file_exists($themePath)) { - return XOOPS_THEME_URL . "/" . $theme . "/modules/" . $dirname . "/" . $string; - } - - $themePath = XOOPS_THEME_PATH . "/" . $theme . "/" . $string; - if (file_exists($themePath)) { - return XOOPS_THEME_URL . "/" . $theme . "/" . $string; - } - - $modulePath = XOOPS_MODULE_PATH . "/" . $dirname . "/admin/templates/" . $string; - - if (file_exists($modulePath)) { - return XOOPS_MODULE_URL . "/" . $dirname . "/admin/templates/" . $string; - } - - return LEGACY_ADMIN_RENDER_FALLBACK_URL . "/" . $string; - } -} - -function Legacy_function_stylesheet($params, &$smarty) -{ - $file = $params['file']; - - $root =& XCube_Root::getSingleton(); - $theme = $root->mSiteConfig['Legacy']['Theme']; - - // TODO We must remove Hard-Coding - $themePath = XOOPS_THEME_PATH . "/" . $theme . "/" . $file; - if (file_exists($themePath)) { - $url = XOOPS_MODULE_URL . "/base/admin/css.php?theme=${theme}&file=${file}"; - } - else { - $url = XOOPS_MODULE_URL . "/base/admin/css.php?file=${file}"; - } - - // TEMP - // TODO We must return FALLBACK_URL here. - - print '<link rel="stylesheet" type="text/css" media="all" href="' . $url . '" />'; -} - - -?> \ No newline at end of file