/** * アップデート * updateはアップデート時に実行されます. * 引数にはdtb_pluginのプラグイン情報が渡されます. * * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) * @return void */ function update($arrPlugin) { self::copyFiles($arrPlugin); $arrOldPlugin = self::getOldPlugin($arrPlugin); $arrVersionKeys = array_flip(self::$arrVersions); $current_version_key = $arrVersionKeys[$arrPlugin['plugin_version']]; if (is_numeric($current_version_key)) { foreach (self::$arrVersions as $version_key => $version) { if ($current_version_key < $version_key) { switch ($version) { case '1.0.fix1': case '1.0.fix2': case '1.0.fix3': case '1.1': case '1.1.fix1': case '1.1.fix2': case '1.1.fix3': break; case '2.0': self::deleteFiles_2_0($arrPlugin); self::alterTables_2_0($arrPlugin); break; case '2.0.fix1': self::alterTables_2_0_fix1($arrPlugin); break; case '2.0.fix2': break; case '2.0.fix3': break; case '2.0.fix4': break; } } } } self::updatePluginRow($arrPlugin, '2.0.fix4'); self::updateHookPoints($arrPlugin); if (isset($arrOldPlugin['enable']) && $arrOldPlugin['enable'] == PLUGIN_ENABLE_TRUE) { SC_Utils_Ex::clearCompliedTemplate(); $_SESSION['Message.AddProductColumns.Updated'] = 'プラグインをアップデートしました。'; $objDisplay = new SC_Display_Ex(); $objDisplay->reload(); } }