/**
  * SC_DB_MasterData::updateMasterData() のテストケース
  */
 function testUpdateMasterData()
 {
     $columns = array('id', 'name', 'rank');
     $masterData = new SC_DB_MasterData_Ex();
     // Transaction を有効にするため接続しておく
     $masterData->objQuery = new SC_Query();
     $masterData->objQuery->begin();
     $expected = array('10' => "北海道", '20' => "愛知", '30' => "岐阜");
     $masterData->updateMasterData('mtb_pref', $columns, $expected, false);
     $actual = $masterData->getDBMasterData('mtb_pref', $columns);
     $this->assertEquals($expected['10'], $actual['10']);
     $this->assertEquals($expected['20'], $actual['20']);
     $this->assertEquals($expected['30'], $actual['30']);
     $masterData->objQuery->rollback();
     $masterData->clearCache('mtb_pref');
 }
예제 #2
0
 /**
  * SC_DB_MasterData::updateMasterData() のテストケース
  */
 function testUpdateMasterData()
 {
     $columns = array("id", "name", "rank");
     $masterData = new SC_DB_MasterData_Ex();
     // Transaction を有効にするため接続しておく
     $masterData->objQuery = new SC_Query();
     $masterData->objQuery->begin();
     $expected = array("10" => "北海道", "20" => "愛知", "30" => "岐阜");
     $masterData->updateMasterData("mtb_pref", $columns, $expected, false);
     $actual = $masterData->getDBMasterData("mtb_pref", $columns);
     $this->assertEquals($expected["10"], $actual["10"]);
     $this->assertEquals($expected["20"], $actual["20"]);
     $this->assertEquals($expected["30"], $actual["30"]);
     $masterData->objQuery->rollback();
     $masterData->clearCache("mtb_pref");
 }
 /**
  * パラメータ情報を更新する.
  *
  * 画面の設定値で 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"));
 }
 /**
  * パラメーターのキーを配列で返す.
  *
  * @access private
  * @param SC_DB_MasterData_Ex $masterData
  * @return array パラメーターのキーの配列
  */
 public function getParamKeys(&$masterData)
 {
     $keys = array();
     $i = 0;
     foreach ($masterData->getDBMasterData('mtb_constants') as $key => $val) {
         $keys[$i] = $key;
         $i++;
     }
     return $keys;
 }
 public function doAction($arrParam)
 {
     $this->doInitParam($arrParam);
     if ($this->isParamError()) {
         return false;
     }
     $objDb = new SC_Helper_DB_Ex();
     $masterData = new SC_DB_MasterData_Ex();
     // 対象データ
     switch ($arrParam['target']) {
         // カテゴリー
         case 'category':
             list($arrCatVal, $arrCatOut) = $objDb->sfGetLevelCatList(false);
             for ($i = 0; $i < count($arrCatVal); $i++) {
                 $arrData[] = array('id' => $arrCatVal[$i], 'name' => $arrCatOut[$i], 'order' => $i, 'remarks1' => '');
             }
             break;
             // 商品ステータス
         // 商品ステータス
         case 'status':
             $arrStatus = $masterData->getMasterData('mtb_status');
             $i = 0;
             foreach ($arrStatus as $key => $val) {
                 $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => '');
             }
             break;
             // メーカー
         // メーカー
         case 'maker':
             $arrMaker = SC_Helper_DB_Ex::sfGetIDValueList('dtb_maker', 'maker_id', 'name');
             $i = 0;
             foreach ($arrMaker as $key => $val) {
                 $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => '');
             }
             break;
             // 発送日目安
         // 発送日目安
         case 'deliv_date':
             $arrDelivDate = $masterData->getMasterData('mtb_delivery_date');
             $i = 0;
             foreach ($arrDelivDate as $key => $val) {
                 $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => '');
             }
             break;
             // サイトパラメータ
         // サイトパラメータ
         case 'site_param':
             $arrComments = SC_Utils_Ex::getHash2Array($masterData->getDBMasterData('mtb_constants', array('id', 'remarks', 'rank')));
             $i = 0;
             foreach ($masterData->getDBMasterData('mtb_constants') as $key => $val) {
                 $arrData[] = array('id' => $key, 'name' => $val, 'order' => $i, 'remarks1' => $arrComments[$i++]);
             }
             break;
             // 規格
         // 規格
         case 'class':
             $arrClass = $this->getAllClass();
             $i = 0;
             foreach ($arrClass as $key => $val) {
                 $arrData[] = array('id' => $key, 'name' => $val, 'order' => ++$i, 'remarks1' => '');
             }
             break;
             // 規格分類
         // 規格分類
         case 'classcategory':
             $arrClassCat = $this->lfGetClassCat($arrParam['class_id']);
             $i = 0;
             foreach ($arrClassCat as $key => $val) {
                 $arrData[] = array('id' => $val['classcategory_id'], 'name' => $val['name'], 'order' => ++$i, 'remarks1' => '');
             }
             break;
             // トランザクションID
         // トランザクションID
         case 'transaction':
             $arrData[] = array('transactionid' => SC_Helper_Session_Ex::getToken(), 'sessionid' => session_id());
             break;
         default:
             break;
     }
     $this->setResponse('Item', $arrData);
     $this->setResponse('StatusCode', '0');
     return true;
 }