/**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     //---- 認証可否の判定
     $objSess = new SC_Session();
     SC_Utils_Ex::sfIsSuccess($objSess);
     $objView = new SC_AdminView();
     $objQuery = new SC_Query();
     $objFormParam = new SC_FormParam();
     $objCSV = new SC_Helper_CSV_Ex();
     // パラメータ情報の初期化
     $this->lfInitParam($objFormParam);
     // フォームの値をセット
     $objFormParam->setParam($_POST);
     // 編集処理の場合は状態を保持
     $this->is_update = isset($_POST['is_update']) ? $_POST['is_update'] : "";
     // フォームの値をテンプレートへ渡す
     $this->arrForm = $objFormParam->getHashArray();
     $campaign_id = isset($_POST['campaign_id']) ? $_POST['campaign_id'] : "";
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     switch ($_POST['mode']) {
         // 新規登録/編集登録
         case 'regist':
             // エラーチェック
             $this->arrErr = $this->lfErrorCheck($campaign_id, $objQuery, $objFormParam);
             if (count($this->arrErr) <= 0) {
                 // 登録
                 $this->lfRegistCampaign($campaign_id, $objQuery, $objFormParam);
                 // キャンペーンTOPへリダイレクト
                 $this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
                 exit;
             }
             break;
             // 編集押下時
         // 編集押下時
         case 'update':
             // キャンペーン情報を取得
             $this->arrForm = $this->lfGetCampaign($campaign_id, $objQuery);
             $this->is_update = true;
             break;
             // 削除押下時
         // 削除押下時
         case 'delete':
             // 削除
             $this->lfDeleteCampaign($campaign_id, $objQuery);
             // キャンペーンTOPへリダイレクト
             $this->sendRedirect($this->getLocation(URL_CAMPAIGN_TOP));
             exit;
             break;
             // CSV出力
         // CSV出力
         case 'csv':
             // オプションの指定
             $option = "ORDER BY create_date DESC";
             // CSV出力タイトル行の作成
             $arrCsvOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(4, " WHERE csv_id = 4 AND status = 1"));
             if (count($arrCsvOutput) <= 0) {
                 break;
             }
             $arrCsvOutputCols = $arrCsvOutput['col'];
             $arrCsvOutputTitle = $arrCsvOutput['disp_name'];
             $head = SC_Utils_Ex::sfGetCSVList($arrCsvOutputTitle);
             $data = $objCSV->lfGetCSV("dtb_campaign_order", "campaign_id = ?", $option, array($campaign_id), $arrCsvOutputCols);
             // CSVを送信する。
             SC_Utils_Ex::sfCSVDownload($head . $data);
             exit;
             break;
         default:
             break;
     }
     // キャンペーン一覧取得
     $this->arrCampaign = $this->lfGetCampaignList($objQuery);
     $this->campaign_id = $campaign_id;
     // キャンペーン期間用
     $objDate = new SC_Date();
     $this->arrYear = $objDate->getYear(min(date('Y'), $this->arrForm['start_year']));
     $this->arrMonth = $objDate->getMonth();
     $this->arrDay = $objDate->getDay();
     $this->arrHour = $objDate->getHour();
     $this->arrMinutes = $objDate->getMinutes();
     //---- ページ表示
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }