function aboutbox_install($cfg_keys) { global $db; foreach ($cfg_keys as $rowdata) { zen_m17n_backup_configuration($rowdata['m17n_configuration_key'], $rowdata['set_function_backup'], $rowdata['use_function_backup']); $set_func = zen_m17n_select_function($rowdata['set_function_backup'], '[configuration][' . $rowdata['m17n_configuration_key'] . ']'); zen_m17n_update_configuration($rowdata['m17n_configuration_key'], $set_func); } }
$key = substr($key, strlen(MODULE_M17N_CONFIGURATION_MODULE_PREFIX)); } elseif (strpos($key, MODULE_M17N_CONFIGURATION_ADDON_MODULE_PREFIX) === 0) { // このkeyはaddon module用 $addon_module = true; $key = substr($key, strlen(MODULE_M17N_CONFIGURATION_ADDON_MODULE_PREFIX)); } // checkされた項目を処理 if ($value == 'on') { $cfg_key[] = '\'' . zen_db_input($key) . '\''; // 変更されていないconfiguration_keyの処理 if (zen_m17n_is_modified($key) === false) { $modified = true; // configuratinテーブルからset_function,use_functionを取得 $functions = zen_m17n_get_functions($key, $product_type_layout); // set_functionの値に応じて新しいset_functionを決定 $new_set_function = $addon_module || $module ? zen_m17n_select_function($functions['set_function'], '[configuration][' . $key . ']') : zen_m17n_select_function($functions['set_function']); // 取得したfunctionをm17n_configuration_keysテーブルに挿入 zen_m17n_backup_configuration($key, $functions['set_function'], $functions['use_function']); // configurationテーブル又はproduct_type_layoutテーブルを更新 zen_m17n_update_configuration($key, $new_set_function, $functions['use_function'], $product_type_layout); } } } // end of foreach // チェックの無い項目はconfigurationテーブルとproduct_type_layoutテーブルを復元しm17n_configuration_keysテーブルから削除 if (sizeof($cfg_key) > 0) { $restored = zen_m17n_restore_configuration($cfg_key); } } else { // チェックが一つも無かった場合は全て復元 $restored = zen_m17n_restore_configuration();