Пример #1
0
 /**
  * Page のアクション.
  *
  * @return void
  */
 public function action()
 {
     if (isset($_GET['draw_image']) && $_GET['draw_image'] != '') {
         define('DRAW_IMAGE', true);
     } else {
         define('DRAW_IMAGE', false);
     }
     // パラメーター管理クラス
     $objFormParam = Application::alias('eccube.form_param');
     // パラメーター情報の初期化
     $this->lfInitParam($objFormParam);
     $objFormParam->setParam($_REQUEST);
     // 検索ワードの引き継ぎ
     $this->arrHidden = $objFormParam->getSearchArray();
     switch ($this->getMode()) {
         case 'csv':
         case 'search':
             $this->arrErr = $this->lfCheckError($objFormParam);
             if (empty($this->arrErr)) {
                 // 日付
                 list($sdate, $edate) = $this->lfSetStartEndDate($objFormParam);
                 // ページ
                 $page = $objFormParam->getValue('page') ? $objFormParam->getValue('page') : 'term';
                 // 集計種類
                 $type = $objFormParam->getValue('type') ? $objFormParam->getValue('type') : 'all';
                 $this->tpl_page_type = 'total/page_' . $page . '.tpl';
                 // FIXME 可読性が低いので call_user_func_array を使わない (またはメソッド名を1つの定数値とする) 実装に。
                 list($this->arrResults, $this->tpl_image) = call_user_func_array(array($this, 'lfGetOrder' . $page), array($type, $sdate, $edate));
                 if ($this->getMode() == 'csv') {
                     // CSV出力タイトル行の取得
                     list($arrTitleCol, $arrDataCol) = $this->lfGetCSVColum($page);
                     $head = Utils::sfGetCSVList($arrTitleCol);
                     $data = $this->lfGetDataColCSV($this->arrResults, $arrDataCol);
                     // CSVを送信する。
                     list($fime_name, $data) = Utils::sfGetCSVData($head . $data);
                     $this->sendResponseCSV($fime_name, $data);
                     Application::alias('eccube.response')->actionExit();
                 }
             }
             break;
         default:
             break;
     }
     // 画面宣しても日付が保存される
     $_SESSION = $this->lfSaveDateSession($_SESSION, $this->arrHidden);
     $objFormParam->setParam($_SESSION['total']);
     // 入力値の取得
     $this->arrForm = $objFormParam->getFormParamList();
     $this->tpl_subtitle = $this->arrTitle[$objFormParam->getValue('page')];
 }