/**
  *
  * @param array $arrSelfInfo
  */
 public function __construct(array $arrSelfInfo)
 {
     parent::__construct($arrSelfInfo);
     $this->objQuery = new SC_Query_Ex();
     $this->objDb = new SC_Helper_DB_Ex();
     $this->masterdata = new SC_DB_MasterData_Ex();
     $this->arrConstants = $this->masterdata->getDbMasterData("mtb_constants");
     $this->objManager = $this->getDbManager();
     $this->dbi = $this->objManager->getDBInstance();
 }
 /**
  * Page を初期化する.
  *
  * @return void
  */
 function init()
 {
     parent::init();
     $this->sid = session_id();
     $masterdata = new SC_DB_MasterData_Ex();
     $objDb = new SC_Helper_DB_Ex();
     if ($objDb->sfColumnExists("atd_mtb_auto_display_status", "id")) {
         $this->arrAutoDispStatus = $masterdata->getMasterData("atd_mtb_auto_display_status");
     }
     if ($objDb->sfColumnExists("cp_dtb_character", "character_id")) {
         $this->arrCharacter = $masterdata->getDbMasterData("cp_dtb_character", array("character_id", "character_name", "rank"));
     }
 }
 /**
  * Page を初期化する.
  *
  * @return void
  */
 function init()
 {
     parent::init();
     $this->objDb = new SC_Helper_DB_Ex();
     $this->objCustomer = new SC_Helper_Customer_Ex();
     $masterData = new SC_DB_MasterData_Ex();
     // キャリア種別
     if ($this->objDb->sfColumnExists("cp_mtb_carrier", "id")) {
         $this->arrCarrier = $masterData->getMasterData('cp_mtb_carrier');
     }
     // 会員種別
     if ($this->objDb->sfColumnExists("cp_mtb_customer_type", "id")) {
         $this->arrCustomerType = $masterData->getMasterData("cp_mtb_customer_type");
     }
     if ($this->objDb->sfColumnExists("cp_dtb_docomo_mymenu", "id")) {
         // DoCoMo 月額契約
         $this->arrDocomoMymenu = $masterData->getDbMasterData("cp_dtb_docomo_mymenu", explode(",", "site_id,name,price"));
     }
     if ($this->objDb->sfColumnExists("cp_dtb_customer_transaction", "id")) {
         $this->arrAuonePaymentAmmount = array(500 => 500);
     }
 }
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     SC_Utils_Ex::sfIsSuccess(new SC_Session());
     $objView = new SC_AdminView();
     $this->arrMasterDataName = $this->getMasterDataNames(array("mtb_pref", "mtb_zip", "mtb_constants"));
     $masterData = new SC_DB_MasterData_Ex();
     if (!isset($_POST["mode"])) {
         $_POST["mode"] = "";
     }
     switch ($_POST["mode"]) {
         case "edit":
             // POST 文字列の妥当性チェック
             $this->checkMasterDataName();
             $this->errorMessage = $this->checkUniqueID();
             if (empty($this->errorMessage)) {
                 // 取得したデータからマスタデータを生成
                 $arrData = array();
                 foreach ($_POST['id'] as $key => $val) {
                     // ID が空のデータは生成しない
                     if ($val != "") {
                         $arrData[$val] = $_POST['name'][$key];
                     }
                 }
                 // マスタデータを更新
                 $masterData->objQuery = new SC_Query();
                 $masterData->objQuery->begin();
                 $masterData->deleteMasterData($this->masterDataName, false);
                 // TODO カラム名はメタデータから取得した方が良い
                 $masterData->registMasterData($this->masterDataName, array("id", "name", "rank"), $arrData, false);
                 $masterData->objQuery->commit();
                 $this->tpl_onload = "window.alert('マスタデータの設定が完了しました。');";
             }
         case "show":
             // POST 文字列の妥当性チェック
             $this->checkMasterDataName();
             // DB からマスタデータを取得
             $this->arrMasterData = $masterData->getDbMasterData($this->masterDataName);
             break;
         default:
     }
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }