/** * 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')]; }