/**
  * SC_DB_MasterData::createCache() のテストケース.
  */
 function testCreateCache()
 {
     $masterData = new SC_DB_MasterData_Ex();
     $masterData->clearCache('mtb_constants');
     $masterData->createCache('mtb_constants', array(), true, array('id', 'remarks'));
     $this->assertEquals(true, defined('ECCUBE_VERSION'));
 }
 function insertMasterData($key, $value, $remarks)
 {
     if (!array_key_exists($key, $this->arrConstants)) {
         defined($key, $value);
         $this->masterdata->insertMasterData("mtb_constants", $key, $value, $remarks);
     }
     $this->masterdata->clearCache("mtb_constants");
     $this->masterdata->createCache("mtb_constants", null, true, array("id", "remarks"));
 }
 /**
  * アンインストール
  * uninstallはアンインストール時に実行されます.
  * 引数にはdtb_pluginのプラグイン情報が渡されます.
  * 
  * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin)
  * @return void
  */
 function uninstall($arrPlugin)
 {
     // ■DBテーブルを削除
     if (!AddProduct::lfExecuteSQL(PLUGIN_UPLOAD_REALDIR . "AddProduct/sql/plg_AddProduct_Uninstall_" . DB_TYPE . '.sql', DEFAULT_DSN)) {
         AddProduct::lfTriggerError('アンインストール用のSQLの実行に失敗しました.');
     }
     // ■マスタデータのキャッシュをクリア
     $masterData = new SC_DB_MasterData_Ex();
     $masterData->clearCache('mtb_auth_excludes');
     // 【配備したファイルを削除】
     // ロゴ画像
     AddProduct::lfDeleteFile(PLUGIN_HTML_REALDIR . 'AddProduct/logo.png');
     // ■アクセストークン取得画面用の各モジュールを削除
     // コールPHP
     AddProduct::lfDeleteFile(HTML_REALDIR . ADMIN_DIR . 'addproduct');
     // ディレクトリごと削除
     // 拡張クラス
     AddProduct::lfDeleteFile(CLASS_EX_REALDIR . 'page_extends/admin/addproduct');
     // ディレクトリごと削除
     // 基本クラス
     AddProduct::lfDeleteFile(CLASS_REALDIR . 'pages/admin/addproduct');
     // ディレクトリごと削除
     // テンプレート
     AddProduct::lfDeleteFile(SMARTY_TEMPLATES_REALDIR . 'admin/addproduct');
     // ディレクトリごと削除
     // CSS
     AddProduct::lfDeleteFile(USER_TEMPLATE_REALDIR . 'admin/css/plg_AddProduct_addproduct.css');
     // ■APIファイルを削除
     // API共通関数(継承元クラス)
     AddProduct::lfDeleteFile(CLASS_REALDIR . 'api/operations/plg_AddProduct_AddProductCommon.php');
     // 各種パラメータ取得API
     AddProduct::lfDeleteFile(CLASS_REALDIR . 'api/operations/plg_AddProduct_GetParamList.php');
     // 商品登録用API
     AddProduct::lfDeleteFile(CLASS_REALDIR . 'api/operations/plg_AddProduct_AddProduct.php');
     // ■トークン管理画面用の各ファイルを削除
     // コールPHP
     AddProduct::lfDeleteFile(HTML_REALDIR . ADMIN_DIR . 'system/plg_AddProduct_addproduct.php');
     // 拡張クラス
     AddProduct::lfDeleteFile(CLASS_EX_REALDIR . 'page_extends/admin/system/plg_AddProduct_LC_Page_Admin_System_AddProduct_Ex.php');
     // 基本クラス
     AddProduct::lfDeleteFile(CLASS_REALDIR . 'pages/admin/system/plg_AddProduct_LC_Page_Admin_System_AddProduct.php');
     // テンプレート
     AddProduct::lfDeleteFile(SMARTY_TEMPLATES_REALDIR . 'admin/system/plg_AddProduct_addproduct.tpl');
 }
 /**
  * パラメータ情報を更新する.
  *
  * 画面の設定値で mtb_constants テーブルの値とキャッシュを更新する.
  *
  * @access private
  * @return void
  */
 function update()
 {
     $data = array();
     $masterData = new SC_DB_MasterData_Ex();
     foreach ($this->arrKeys as $key) {
         $data[$key] = $_POST[$key];
     }
     // DBのデータを更新
     $masterData->updateMasterData("mtb_constants", array(), $data);
     // 更新したデータを取得
     $mtb_constants = $masterData->getDBMasterData("mtb_constants");
     // キャッシュを生成
     $masterData->clearCache("mtb_constants");
     $masterData->createCache("mtb_constants", $mtb_constants, true, array("id", "remarks", "rank"));
 }
 /**
  * 使用するテンプレートをDBへ登録する
  */
 function lfRegisterTemplate($template_code)
 {
     $objQuery = new SC_Query();
     $sqlval['name'] = "\"" . $template_code . "\"";
     $objQuery->update("mtb_constants", $sqlval, "id = ?", array('TEMPLATE_NAME'));
     // キャッシュを生成
     $masterData = new SC_DB_MasterData_Ex();
     // 更新したデータを取得
     $mtb_constants = $masterData->getDBMasterData("mtb_constants");
     $masterData->clearCache("mtb_constants");
     $masterData->createCache("mtb_constants", $mtb_constants, true, array("id", "remarks", "rank"));
 }