source: branches/comu-ver2/data/include/module.inc @ 17605

Revision 17605, 2.3 KB checked in by Seasoft, 16 years ago (diff)

/index.php にリンクやリダイレクトしている箇所の「index.php」を定数化。

  • 定数「DIR_INDEX_FILE」… DirectoryIndex? の実ファイル名。現状の EC-CUBE は、「index.php」。/html/define.php で定義するが、定義が無い場合 SC_Initial::defineDirectoryIndex() で「index.php」と定義。本来は、プログラム中で実ファイルとしての index.php を指すときとは、この定数を使うのが良い気がするが、今回はそこまでは書き換えていない。
  • 定数「USE_FILENAME_DIR_INDEX」… DIR_INDEX_FILE にアクセスするときにファイル名を使用するか。/html/define.php で定義。
  • 定数「DIR_INDEX_URL」… /index.php にリンクやリダイレクトしている箇所の「index.php」部分を示す。この定数は SC_Initial::defineDirectoryIndex() で自動生成する。

・$_SERVERPHP_SELF? や自身をあらわすファイル名を利用している箇所を文字列「?」に書き換え。これにより、/ が自己URLにリンクするときに /index.php となることを防ぐ。RFC3986 を参考にする。モバイル端末がこのRFCに準拠しているのか確信が無いので、モバイルではこの変更は見送った。
・従来 / にリンクしていた箇所に、定数「DIR_INDEX_URL」を付加。漏れがあると予測される。

  • Property svn:mime-type set to application/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * This file is part of EC-CUBE
4 *
5 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
6 *
7 * http://www.lockon.co.jp/
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 */
23
24if (!defined('ECCUBE_INSTALL')
25 || preg_match('|/install/index.php$|', $_SERVER['PHP_SELF'])) {
26
27    return;
28}
29
30// {{{ requires
31require_once CLASS_PATH . 'SC_DbConn.php';
32require_once CLASS_PATH . 'SC_Query.php';
33require_once CLASS_EX_PATH . 'db_extends/SC_DB_DBFactory_Ex.php';
34
35/**
36 * ダウンロード済みモジュールのinclude.phpを読み込む.
37 * テンプレート関数用.
38 *
39 * クラス化したかったが、グローバル変数をかなり使ってたので断念.
40 * そのうち変数名とか衝突しそう...
41 *
42 * sfPrintEbisTag(), sfPrintAffTag()は今は使用しない関数だが、
43 * 互換性維持のため残しておく.
44 */
45
46/**
47 * インクルードするモジュールの一覧
48 * FIXME dtb_moduleとかに保持する
49 */
50$_arrModule = array(
51    'mdl_a8',
52    'mdl_moba8',
53    'mdl_opebuilder',
54    'mdl_souraku',
55    'mdl_ts',
56);
57
58$_objQuery = new SC_Query;
59$_arrModuleCode = $_objQuery->getCol('dtb_module', 'module_code');
60
61if (is_array($_arrModuleCode)) {
62    foreach ($_arrModuleCode as $_moduleCode) {
63        $_file = MODULE_PATH . "$_moduleCode/include.php";
64        if (in_array($_moduleCode, $_arrModule) && file_exists($_file)) {
65            include_once($_file);
66        }
67    }
68}
69
70// グローバル変数は残しておきたくないのでunset
71unset(
72    $_arrModule, $_objQuery, $_arrModuleCode,
73    $_moduleCode, $_file
74);
75
76// 互換性保持のため空の関数を残しておく
77function sfPrintEbisTag() {}
78function sfPrintAffTag() {}
Note: See TracBrowser for help on using the repository browser.