Source for file LC_Page_Admin_Basis_Payment_Input.php

Documentation is available at LC_Page_Admin_Basis_Payment_Input.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. // {{{ requires
  25. require_once(CLASS_PATH "pages/LC_Page.php");
  26.  
  27. /**
  28.  * 支払方法設定 のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_Admin_Basis_Payment_Input.php 17911 2009-03-19 03:38:33Z Seasoft $
  33.  */
  34.  
  35.     // {{{ properties
  36.  
  37.     /** フォームパラメータの配列 */
  38.     var $objFormParam;
  39.  
  40.     /** SC_UploadFile インスタンス */
  41.     var $objUpFile;
  42.  
  43.     // }}}
  44.     // {{{ functions
  45.  
  46.     /**
  47.      * Page を初期化する.
  48.      *
  49.      * @return void 
  50.      */
  51.     function init({
  52.         parent::init();
  53.         $this->tpl_mainpage = 'basis/payment_input.tpl';
  54.         $this->tpl_subtitle '支払方法設定';
  55.     }
  56.  
  57.     /**
  58.      * Page のプロセス.
  59.      *
  60.      * @return void 
  61.      */
  62.     function process({
  63.         $conn new SC_DBConn();
  64.         $objView new SC_AdminView();
  65.         $objSess new SC_Session();
  66.         $objDb new SC_Helper_DB_Ex();
  67.  
  68.         // 認証可否の判定
  69.         SC_Utils_Ex::sfIsSuccess($objSess);
  70.  
  71.         // ファイル管理クラス
  72.         $this->objUpFile = new SC_UploadFile(IMAGE_TEMP_DIRIMAGE_SAVE_DIR);
  73.         // ファイル情報の初期化
  74.         $this->objUpFile = $this->lfInitFile();
  75.         // Hiddenからのデータを引き継ぐ
  76.         $this->objUpFile->setHiddenFileList($_POST);
  77.  
  78.         // パラメータ管理クラス
  79.         $this->objFormParam = new SC_FormParam();
  80.         // パラメータ情報の初期化
  81.         $this->lfInitParam();
  82.         // POST値の取得
  83.         $this->objFormParam->setParam($_POST);
  84.  
  85.         switch($_POST['mode']{
  86.         case 'edit':
  87.             // 入力値の変換
  88.             $this->objFormParam->convParam();
  89.  
  90.             // エラーチェック
  91.             $this->arrErr $this->lfCheckError();
  92.             $this->charge_flg $_POST["charge_flg"];
  93.             if(count($this->arrErr== 0{
  94.                 $this->lfRegistData($_POST['payment_id']);
  95.                 // 一時ファイルを本番ディレクトリに移動する
  96.                 $this->objUpFile->moveTempFile();
  97.                 // 親ウィンドウを更新するようにセットする。
  98.                 $this->tpl_onload="fnUpdateParent('".URL_PAYMENT_TOP."'); window.close();";
  99.             }
  100.  
  101.             break;
  102.         // 画像のアップロード
  103.         case 'upload_image':
  104.             // ファイル存在チェック
  105.             $this->arrErr $this->objUpFile->checkEXISTS($_POST['image_key']);
  106.             // 画像保存処理
  107.             $this->arrErr[$_POST['image_key']] $this->objUpFile->makeTempFile($_POST['image_key']);
  108.             break;
  109.         // 画像の削除
  110.         case 'delete_image':
  111.             $this->objUpFile->deleteFile($_POST['image_key']);
  112.             break;
  113.         default:
  114.             break;
  115.         }
  116.  
  117.         if($_POST['mode'== ""{
  118.             switch($_GET['mode']{
  119.             case 'pre_edit':
  120.                 if(SC_Utils_Ex::sfIsInt($_GET['payment_id'])) {
  121.                     $arrRet $this->lfGetData($_GET['payment_id']);
  122.                     $this->objFormParam->setParam($arrRet);
  123.                     $this->charge_flg $arrRet["charge_flg"];
  124.                     // DBデータから画像ファイル名の読込
  125.                     $this->objUpFile->setDBFileList($arrRet);
  126.                     $this->tpl_payment_id $_GET['payment_id'];
  127.                 }
  128.                 break;
  129.             default:
  130.                 break;
  131.             }
  132.         else {
  133.             $this->tpl_payment_id $_POST['payment_id'];
  134.         }
  135.  
  136.         $this->arrDelivList $objDb->sfGetIDValueList("dtb_deliv""deliv_id""service_name");
  137.         $this->arrForm $this->objFormParam->getFormParamList();
  138.  
  139.         // FORM表示用配列を渡す。
  140.         $this->arrFile $this->objUpFile->getFormFileList(IMAGE_TEMP_URLIMAGE_SAVE_URL);
  141.         // HIDDEN用に配列を渡す。
  142.         $this->arrHidden array_merge((array)$this->arrHidden(array)$this->objUpFile->getHiddenFileList());
  143.  
  144.         $objView->assignobj($this);
  145.         $objView->display($this->tpl_mainpage);
  146.     }
  147.  
  148.     /**
  149.      * デストラクタ.
  150.      *
  151.      * @return void 
  152.      */
  153.     function destroy({
  154.         parent::destroy();
  155.     }
  156.  
  157.     /* ファイル情報の初期化 */
  158.     function lfInitFile({
  159.         $this->objUpFile->addFile("ロゴ画像"'payment_image'array('gif')IMAGE_SIZEfalseCLASS_IMAGE_WIDTHCLASS_IMAGE_HEIGHT);
  160.         return $this->objUpFile;
  161.     }
  162.  
  163.     /* パラメータ情報の初期化 */
  164.     function lfInitParam({
  165.         $this->objFormParam->addParam("支払方法""payment_method"STEXT_LEN"KVa"array("EXIST_CHECK""MAX_LENGTH_CHECK"));
  166.         $this->objFormParam->addParam("手数料""charge"PRICE_LEN"n"array("EXIST_CHECK""NUM_CHECK""MAX_LENGTH_CHECK"));
  167.         $this->objFormParam->addParam("利用条件(~円以上)""rule"PRICE_LEN"n"array("NUM_CHECK""MAX_LENGTH_CHECK"));
  168.         $this->objFormParam->addParam("利用条件(~円以下)""upper_rule"PRICE_LEN"n"array("NUM_CHECK""MAX_LENGTH_CHECK"));
  169.         $this->objFormParam->addParam("配送サービス""deliv_id"INT_LEN"n"array("EXIST_CHECK""NUM_CHECK""MAX_LENGTH_CHECK"));
  170.         $this->objFormParam->addParam("固定""fix");
  171.     }
  172.  
  173.     /* DBからデータを読み込む */
  174.     function lfGetData($payment_id{
  175.         $objQuery new SC_Query();
  176.         $where "payment_id = ?";
  177.         $arrRet $objQuery->select("*""dtb_payment"$wherearray($payment_id));
  178.         return $arrRet[0];
  179.     }
  180.  
  181.     /* DBへデータを登録する */
  182.     function lfRegistData($payment_id ""{
  183.  
  184.         $objQuery new SC_Query();
  185.         $sqlval $this->objFormParam->getHashArray();
  186.         $arrRet $this->objUpFile->getDBFileList();    // ファイル名の取得
  187.         $sqlval array_merge($sqlval$arrRet);
  188.         $sqlval['update_date''Now()';
  189.  
  190.         if($sqlval['fix'!= '1'{
  191.             $sqlval['fix'2;    // 自由設定
  192.         }
  193.  
  194.         // 新規登録
  195.         if($payment_id == ""{
  196.             // INSERTの実行
  197.             $sqlval['creator_id'$_SESSION['member_id'];
  198.             $sqlval['rank'$objQuery->max("dtb_payment""rank"1;
  199.             $sqlval['create_date''Now()';
  200.             $objQuery->insert("dtb_payment"$sqlval);
  201.         // 既存編集
  202.         else {
  203.             $where "payment_id = ?";
  204.             $objQuery->update("dtb_payment"$sqlval$wherearray($payment_id));
  205.         }
  206.     }
  207.  
  208.     /* 利用条件の数値チェック */
  209.  
  210.     /* 入力内容のチェック */
  211.     function lfCheckError({
  212.  
  213.         // DBのデータを取得
  214.         $arrPaymentData $this->lfGetData($_POST['payment_id']);
  215.  
  216.         // 手数料を設定できない場合には、手数料を0にする
  217.         if($arrPaymentData["charge_flg"== 2$this->objFormParam->setValue("charge""0");
  218.  
  219.         // 入力データを渡す。
  220.         $arrRet =  $this->objFormParam->getHashArray();
  221.         $objErr new SC_CheckError($arrRet);
  222.         $objErr->arrErr $this->objFormParam->checkError();
  223.  
  224.         // 利用条件(下限)チェック
  225.         if($arrRet["rule"$arrPaymentData["rule_min"and $arrPaymentData["rule_min"!= ""){
  226.             $objErr->arrErr["rule""利用条件(下限)は" $arrPaymentData["rule_min"."円以上にしてください。<br>";
  227.         }
  228.  
  229.         // 利用条件(上限)チェック
  230.         if($arrRet["upper_rule"$arrPaymentData["upper_rule_max"and $arrPaymentData["upper_rule_max"!= ""){
  231.             $objErr->arrErr["upper_rule""利用条件(上限)は" $arrPaymentData["upper_rule_max"."円以下にしてください。<br>";
  232.         }
  233.  
  234.         // 利用条件チェック
  235.         $objErr->doFunc(array("利用条件(~円以上)""利用条件(~円以下)""rule""upper_rule")array("GREATER_CHECK"));
  236.  
  237.         return $objErr->arrErr;
  238.     }
  239. }
  240. ?>

Documentation generated on Tue, 28 Apr 2009 18:10:46 +0900 by phpDocumentor 1.4.2