arrSelfInfo = $arrSelfInfo; } /** * インストール * installはプラグインのインストール時に実行されます. * 引数にはdtb_pluginのプラグイン情報が渡されます. * * @param array $arrPlugin plugin_infoを元にDBに登録されたプラグイン情報(dtb_plugin) * @return void */ abstract function install($arrPlugin, $objPluginInstaller = null); /** * アンインストール * uninstallはアンインストール時に実行されます. * 引数にはdtb_pluginのプラグイン情報が渡されます. * * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) * @return void */ abstract function uninstall($arrPlugin, $objPluginInstaller = null); /** * 稼働 * enableはプラグインを有効にした際に実行されます. * 引数にはdtb_pluginのプラグイン情報が渡されます. * * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) * @return void */ abstract function enable($arrPlugin, $objPluginInstaller = null); /** * 停止 * disableはプラグインを無効にした際に実行されます. * 引数にはdtb_pluginのプラグイン情報が渡されます. * * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) * @return void */ abstract function disable($arrPlugin, $objPluginInstaller = null); /** * プラグインヘルパーへ, コールバックメソッドを登録します. * * @param object $objPluginHelper * @param integer $priority */ function register(SC_Helper_Plugin $objHelperPlugin, $priority) { if (isset($this->arrSelfInfo['plugin_hook_point'])) { $arrHookPoints = $this->arrSelfInfo['plugin_hook_point']; foreach ($arrHookPoints as $hook_point) { if (isset($hook_point['callback'])) { $hook_point_name = $hook_point['hook_point']; $callback_name = $hook_point['callback']; $objHelperPlugin->addAction($hook_point_name, array($this, $callback_name), $priority); } } } } /** * このプラグインのプラグイン情報を返す。 * * @return array $arrSelfInfo 自身のプラグイン情報 */ function getPluginInfo() { return $this->arrSelfInfo; } }