Exemplo n.º 1
0
 /**
  * 有効なプラグインのロード. プラグインエンジンが有効になっていない場合は
  * プラグインエンジン自身のインストール処理を起動する
  *
  * @return void
  */
 function load($plugin_activate_flg = true)
 {
     if (!defined('CONFIG_REALFILE') || !file_exists(CONFIG_REALFILE)) {
         return;
     }
     // インストール前
     if (GC_Utils_Ex::isInstallFunction()) {
         return;
     }
     // インストール中
     if ($plugin_activate_flg === false) {
         return;
     }
     // 有効なプラグインを取得
     $arrPluginDataList = SC_Plugin_Util_Ex::getEnablePlugin();
     // pluginディレクトリを取得
     $arrPluginDirectory = SC_Plugin_Util_Ex::getPluginDirectory();
     foreach ($arrPluginDataList as $arrPluginData) {
         // プラグイン本体ファイル名が取得したプラグインディレクトリ一覧にある事を確認
         if (array_search($arrPluginData['plugin_code'], $arrPluginDirectory) !== false) {
             // プラグイン本体ファイルをrequire.
             require_once PLUGIN_UPLOAD_REALDIR . $arrPluginData['plugin_code'] . '/' . $arrPluginData['class_name'] . '.php';
             // プラグインのインスタンス生成.
             $objPlugin = new $arrPluginData['class_name']($arrPluginData);
             // メンバ変数にプラグインのインスタンスを登録.
             $this->arrPluginInstances[$arrPluginData['plugin_id']] = $objPlugin;
             $this->arrPluginIds[] = $arrPluginData['plugin_id'];
             // ローカルフックポイントの登録.
             $this->registerLocalHookPoint($objPlugin, $arrPluginData['priority']);
             // スーパーフックポイントの登録.
             $this->registerSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['priority']);
             $this->registerSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['priority']);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * 有効なプラグインのロード. プラグインエンジンが有効になっていない場合は
  * プラグインエンジン自身のインストール処理を起動する
  *
  * @return void
  */
 public function load($plugin_activate_flg = true)
 {
     if (!defined('CONFIG_REALFILE') || !file_exists(CONFIG_REALFILE)) {
         return;
     }
     // インストール前
     if (GC_Utils_Ex::isInstallFunction()) {
         return;
     }
     // インストール中
     if ($plugin_activate_flg === false) {
         return;
     }
     // 有効なプラグインを取得
     $arrPluginDataList = SC_Plugin_Util_Ex::getEnablePlugin();
     // pluginディレクトリを取得
     $arrPluginDirectory = SC_Plugin_Util_Ex::getPluginDirectory();
     foreach ($arrPluginDataList as $arrPluginData) {
         // プラグイン本体ファイル名が取得したプラグインディレクトリ一覧にある事を確認
         if (array_search($arrPluginData['plugin_code'], $arrPluginDirectory) !== false) {
             $plugin_file_path = PLUGIN_UPLOAD_REALDIR . $arrPluginData['plugin_code'] . '/' . $arrPluginData['class_name'] . '.php';
             // プラグイン本体ファイルが存在しない場合
             if (!file_exists($plugin_file_path)) {
                 // エラー出力
                 $msg = 'プラグイン本体ファイルが存在しない。当該プラグインを無視して続行する。';
                 $msg .= 'ファイル=' . var_export($plugin_file_path, true) . '; ';
                 trigger_error($msg, E_USER_WARNING);
                 // 次のプラグインへ続行
                 continue 1;
             }
             // プラグイン本体ファイルをrequire.
             require_once $plugin_file_path;
             // プラグインのインスタンス生成.
             $objPlugin = new $arrPluginData['class_name']($arrPluginData);
             // メンバ変数にプラグインのインスタンスを登録.
             $this->arrPluginInstances[$arrPluginData['plugin_id']] = $objPlugin;
             $this->arrPluginIds[] = $arrPluginData['plugin_id'];
             // ローカルフックポイントの登録.
             $this->registerLocalHookPoint($objPlugin, $arrPluginData['priority']);
             // スーパーフックポイントの登録.
             $this->registerSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['priority']);
             $this->registerSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['priority']);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * 前方互換用
  *
  * @deprecated 2.12.0 GC_Utils_Ex::isInstallFunction を使用すること
  */
 function sfIsInstallFunction()
 {
     trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
     return GC_Utils_Ex::isInstallFunction();
 }
Exemplo n.º 4
0
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
if (!defined('DATA_REALDIR')) {
    define('DATA_REALDIR', HTML_REALDIR . HTML2DATA_DIR);
}
// PHP4互換用関数読み込み(PHP_Compat)
require_once DATA_REALDIR . 'require_compat.php';
// グローバル関数を読み込み
require_once DATA_REALDIR . 'include/common.php';
// アプリケーション初期化処理
require_once DATA_REALDIR . 'app_initial.php';
// 定数 SAFE が設定されている場合、DBアクセスを回避する。主に、エラー画面を意図する。
if (!defined('SAFE') || !SAFE) {
    // インストール中で無い場合、
    if (!GC_Utils_Ex::isInstallFunction()) {
        // インストールチェック
        SC_Utils_Ex::sfInitInstall();
        // セッションハンドラ開始
        $objSession = new SC_Helper_Session_Ex();
        // セッション初期化・開始
        $sessionFactory = SC_SessionFactory_Ex::getInstance();
        $sessionFactory->initSession();
        /*
         * 管理画面の場合は認証行う.
         * 認証処理忘れ防止のため, LC_Page_Admin::init() 等ではなく, ここでチェックする.
         */
        $objSession->adminAuthorization();
    }
}
Exemplo n.º 5
0
 /**
  * 前方互換用
  *
  * @deprecated 2.12.0 GC_Utils_Ex::isInstallFunction を使用すること
  */
 function sfIsInstallFunction()
 {
     trigger_error(t("c_A method for upward compatibility was used._01"), E_USER_WARNING);
     return GC_Utils_Ex::isInstallFunction();
 }