データベース定義ファイル(sqlMapsConfig.xml)
 |
<?php require_once 'HTML/Template/IT.php'; require_once('common/session/class-HTTPRequest.php'); require_once('common/util/class-EnvironmentFactory.php'); require_once('common/util/class-Config.php');
⁄** * * * * @author Darryl Patterson * @copyright Euro RSCG 4D * *⁄
class Module { ⁄** * Environmentを保持 * * @var Environment *⁄ var $env; ⁄** * Configを保持 * * @var Config *⁄ var $config; ⁄** * 言語ラベルを保持 * * @var array *⁄ var $langLabels; ⁄** * モジュール名。普通はサブクラスのコンストラクタで設定。 * * @var string *⁄ var $moduleName; ⁄** * 要求されたアクションを処理するテンプレート * * @var HTML_Template_IT *⁄ var $tpl; ⁄** * アクション指定が無い時にモジュールで呼ばれるデフォルトアクション * * @var string *⁄ var $defaultAction; ⁄** * デバッグ用メッセージのon⁄off。 * * @var boolean *⁄ var $debug;
function Module($moduleName = 'Default')
{
$this->config = Config::instance();
$this->debug = false;
$envFactory = new EnvironmentFactory( $this->config->getEnvironmentClassName()); $this->env = $envFactory->createInstance();
$this->moduleName = $moduleName; $this->langLabels = array(); $this->defaultAction = 'defaultAction';
$this->loadLang();
$templatePath = $this->config->applicationRoot . 'include⁄tpl⁄' . $this->moduleName; $this->tpl = new HTML_Template_IT($templatePath); }
⁄** * ブラウザのリクエストを処理し、ブラウザにコンテンツを返す。 * * @return string * @abstract *⁄ function getHandledRequest() {}
⁄** * モジュールで実行するアクションの認証。 * 各モジュールはリクエストを好きなやり方で認証できる。 * 普通はハンドラに呼び出される。 * * @param string $action * @return boolean *⁄ function authenticateAction() { return true; }
function loadTemplate($action) { $this->tpl->loadTemplatefile($action . '.tpl',true,true); $this->tpl->setVariable('FORCE', ''); $this->tpl->setVariable('LANG', $this->env->lang); }
function getTemplate() { foreach ($this->langLabels as $key => $label){ $key = 'LANG_' . $key; $this->tpl->setVariable($key, $label); }
return $this->tpl->get(); }
function loadLang() { $langPath = $this->config->applicationRoot . 'include⁄lang⁄' . $this->env->lang . '.txt'; $langLinesGlobal = file($langPath); if ($langLinesGlobal === false){ echo 'Error loading global language file.'; exit; }
$langPath = $this->config->applicationRoot .'include⁄lang⁄' . $this->moduleName . '⁄' .$this->env->lang . '.txt'; $langLinesModule = file($langPath); if ($langLinesModule === false){ echo 'Error loading the module\'s ''language file.'; exit; }
$langLines = array_merge($langLinesGlobal,$langLinesModule);
foreach($langLines as $line){ if (trim($line) == '' || substr($line, 0, 1) == '#'){ continue; }
$tokens = explode('=', $line); $key = $tokens[0]; array_shift($tokens); $val = implode('=', $tokens); $this->langLabels[trim($key)] = trim($val); } }
function getLanguageLabel($key) { if (isset($this->langLabels[$key])){ return $this->langLabels[$key]; }
return ''; } } ?>
|
|
 |