[Svn-src-all:1339] [version-2_5-dev 20228] そんなに大変なとこじゃなかったけど、頭働かないとリファクタリングも難しい。
miningbrownie
admin @ mail.ec-cube.net
2011年 2月 20日 (日) 03:33:29 JST
Subversion committed to /home/svn/open 20228
http://svn.ec-cube.net/open_trac/changeset/20228
┌────────────────────────────┐
│更新者 : miningbrownie │
│更新日時: 2011-02-20 03:33:29 +0900 (日, 20 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
そんなに大変なとこじゃなかったけど、頭働かないとリファクタリングも難しい。
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Pdf.php
変更: branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Pdf.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Pdf.php 2011-02-19 18:13:37 UTC (rev 20227)
+++ branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Pdf.php 2011-02-19 18:33:29 UTC (rev 20228)
@@ -87,64 +87,85 @@
// 認証可否の判定
SC_Utils_Ex::sfIsSuccess($objSess);
-
// 画面遷移の正当性チェック用にuniqidを埋め込む
$objPage->tpl_uniqid = $objSess->getUniqId();
// パラメータ管理クラス
$this->objFormParam = new SC_FormParam();
// パラメータ情報の初期化
- $this->lfInitParam();
+ $this->lfInitParam($this->objFormParam);
$this->objFormParam->setParam($_POST);
+ // 入力値の変換
+ $this->objFormParam->convParam();
- // どんな状態の時に isset($arrRet) == trueになるんだ?
+ // どんな状態の時に isset($arrRet) == trueになるんだ? これ以前に$arrRet無いが、、、、
if (!isset($arrRet)) $arrRet = array();
-
switch($this->getMode()) {
case "confirm":
- // 入力値の変換
- $this->confirm($this->objFormParam);
+ $status = $this->createPdf($this->objFormParam);
+ if($status === true){
+ exit;
+ }else{
+ $this->arrErr = $status;
+ var_dump($status);
+ echo "\n\n<br/>#######--------- line is ".__LINE__." on ".__FILE__."--------########<br/>\n\n";
+
+ }
break;
default:
- // ここが$arrFormの初登場ということを明示するため宣言する。
- $arrForm = array();
- // タイトルをセット
- $arrForm['title'] = "お買上げ明細書(納品書)";
+ $this->arrForm = $this->createFromValues();
+ break;
+ }
+ $this->setTemplate($this->tpl_mainpage);
+ }
- // 今日の日付をセット
- $arrForm['year'] = date("Y");
- $arrForm['month'] = date("m");
- $arrForm['day'] = date("d");
+ /**
+ *
+ * PDF作成フォームのデフォルト値の生成
+ */
+ function createFromValues(){
+ // ここが$arrFormの初登場ということを明示するため宣言する。
+ $arrForm = array();
+ // タイトルをセット
+ $arrForm['title'] = "お買上げ明細書(納品書)";
- // メッセージ
- $arrForm['msg1'] = 'このたびはお買上げいただきありがとうございます。';
- $arrForm['msg2'] = '下記の内容にて納品させていただきます。';
- $arrForm['msg3'] = 'ご確認くださいますよう、お願いいたします。';
+ // 今日の日付をセット
+ $arrForm['year'] = date("Y");
+ $arrForm['month'] = date("m");
+ $arrForm['day'] = date("d");
- // 注文番号があったら、セットする
- if(SC_Utils_Ex::sfIsInt($_GET['order_id'])) {
- $arrForm['order_id'][0] = $_GET['order_id'];
- } elseif (is_array($_POST['pdf_order_id'])) {
- sort($_POST['pdf_order_id']);
- foreach ($_POST['pdf_order_id'] AS $key=>$val) {
- $arrForm['order_id'][] = $val;
- }
- }
+ // メッセージ
+ $arrForm['msg1'] = 'このたびはお買上げいただきありがとうございます。';
+ $arrForm['msg2'] = '下記の内容にて納品させていただきます。';
+ $arrForm['msg3'] = 'ご確認くださいますよう、お願いいたします。';
- $this->arrForm = $arrForm;
- break;
+ // 注文番号があったら、セットする
+ if(SC_Utils_Ex::sfIsInt($_GET['order_id'])) {
+ $arrForm['order_id'][0] = $_GET['order_id'];
+ } elseif (is_array($_POST['pdf_order_id'])) {
+ $this->getOrderIdFromPost($objFormParam);
+ sort($_POST['pdf_order_id']);
+ foreach ($_POST['pdf_order_id'] AS $key=>$val) {
+ $arrForm['order_id'][] = $val;
+ }
}
- $this->setTemplate($this->tpl_mainpage);
+
+ return $arrForm;
}
- function confirm(&$objFormParam){
- $this->objFormParam->convParam();
- $this->arrErr = $this->lfCheckError($arrRet);
- $arrRet = $this->objFormParam->getHashArray();
+ /**
+ *
+ * PDFの作成
+ * @param SC_FormParam $objFormParam
+ */
+ function createPdf(&$objFormParam){
+ $arrErr = $this->lfCheckError($objFormParam);
+ $arrRet = $objFormParam->getHashArray();
+
$this->arrForm = $arrRet;
// エラー入力なし
- if (count($this->arrErr) == 0) {
+ if (count($arrErr) == 0) {
$objFpdf = new SC_Fpdf($arrRet['download'], $arrRet['title']);
foreach ($arrRet['order_id'] AS $key => $val) {
$arrPdfData = $arrRet;
@@ -152,7 +173,9 @@
$objFpdf->setData($arrPdfData);
}
$objFpdf->createPdf();
- exit;
+ return true;
+ }else{
+ return $arrErr;
}
}
@@ -167,41 +190,60 @@
parent::destroy();
}
- /* パラメータ情報の初期化 */
- function lfInitParam() {
- $this->objFormParam->addParam("注文番号", "order_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("発行日", "year", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("発行日", "month", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("発行日", "day", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("帳票の種類", "type", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("ダウンロード方法", "download", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $this->objFormParam->addParam("帳票タイトル", "title", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("帳票メッセージ1行目", "msg1", STEXT_LEN*3/5, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("帳票メッセージ2行目", "msg2", STEXT_LEN*3/5, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("帳票メッセージ3行目", "msg3", STEXT_LEN*3/5, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("備考1行目", "etc1", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("備考2行目", "etc2", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("備考3行目", "etc3", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("ポイント表記", "disp_point", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+ /**
+ * パラメータ情報の初期化
+ * @param SC_FormParam
+ */
+ function lfInitParam(&$objFormParam) {
+ $objFormParam->addParam("注文番号", "order_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("注文番号", "pdf_order_id", INT_LEN, "n", array( "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("発行日", "year", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("発行日", "month", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("発行日", "day", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("帳票の種類", "type", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("ダウンロード方法", "download", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("帳票タイトル", "title", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("帳票メッセージ1行目", "msg1", STEXT_LEN*3/5, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("帳票メッセージ2行目", "msg2", STEXT_LEN*3/5, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("帳票メッセージ3行目", "msg3", STEXT_LEN*3/5, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("備考1行目", "etc1", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("備考2行目", "etc2", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("備考3行目", "etc3", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("ポイント表記", "disp_point", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
}
/**
* 入力内容のチェック
* @var SC_FormParam
*/
-
+
function lfCheckError(&$objFormParam) {
// 入力データを渡す。
$arrRet = $objFormParam->getHashArray();
- $objFormParam->
- $objErr = new SC_CheckError($arrRet);
+ $arrErr = $objFormParam->checkError();
+
+ $year = $objFormParam->getValue('year');
+ if(!is_numeric($year)){
+ $arrErr['year'] = "発行年は数値で入力してください。";
+ }
+
+ $month = $objFormParam->getValue('month');
+ if(!is_numeric($month)){
+ $arrErr['month'] = "発行月は数値で入力してください。";
+ }else if(0 >= $month && 12 < $month){
+
+ $arrErr['month'] = "発行月は1〜12の間で入力してください。";
+ }
- $objErr->arrErr = $this->objFormParam->checkError();
-
- // 特殊項目チェック
- $objErr->doFunc(array("発行日", "year", "month", "day"), array("CHECK_DATE"));
+ $day = $objFormParam->getValue('day');
+ if(!is_numeric($day)){
+ $arrErr['day'] = "発行日は数値で入力してください。";
+ }else if(0 >= $day && 31 < $day){
+
+ $arrErr['day'] = "発行日は1〜31の間で入力してください。";
+ }
- return $objErr->arrErr;
+ return $arrErr;
}
Svn-src-all メーリングリストの案内