Page
[ class tree: Page ] [ index: Page ] [ all elements ]

Source for file LC_Page_Admin_Basis_PaymentInput.php

Documentation is available at LC_Page_Admin_Basis_PaymentInput.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2011 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_EX_REALDIR 'page_extends/admin/LC_Page_Admin_Ex.php';
  26.  
  27. /**
  28.  * 支払方法設定 のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_Admin_Basis_PaymentInput.php 21185 2011-08-11 10:37:10Z shutta $
  33.  */
  34. class LC_Page_Admin_Basis_PaymentInput extends LC_Page_Admin_Ex {
  35.  
  36.     // {{{ properties
  37.  
  38.     /** SC_UploadFile インスタンス */
  39.     var $objUpFile;
  40.  
  41.     // }}}
  42.     // {{{ functions
  43.  
  44.     /**
  45.      * Page を初期化する.
  46.      *
  47.      * @return void 
  48.      */
  49.     function init({
  50.         parent::init();
  51.         $this->tpl_mainpage 'basis/payment_input.tpl';
  52.         $this->tpl_mainno 'basis';
  53.         $this->tpl_subno 'payment';
  54.         $this->tpl_maintitle '基本情報管理';
  55.         $this->tpl_subtitle '支払方法設定';
  56.     }
  57.  
  58.     /**
  59.      * Page のプロセス.
  60.      *
  61.      * @return void 
  62.      */
  63.     function process({
  64.         $this->action();
  65.         $this->sendResponse();
  66.     }
  67.  
  68.     /**
  69.      * Page のアクション.
  70.      *
  71.      * @return void 
  72.      */
  73.     function action({
  74.         $objFormParam new SC_FormParam_Ex();
  75.         $mode $this->getMode();
  76.         $this->lfInitParam($mode$objFormParam);
  77.  
  78.         // ファイル管理クラス
  79.         $this->objUpFile = new SC_UploadFile(IMAGE_TEMP_REALDIRIMAGE_SAVE_REALDIR);
  80.         // ファイル情報の初期化
  81.         $this->objUpFile = $this->lfInitFile();
  82.         // Hiddenからのデータを引き継ぐ
  83.         $this->objUpFile->setHiddenFileList($_POST);
  84.  
  85.         switch($mode{
  86.         case 'edit':
  87.             $objFormParam->setParam($_REQUEST);
  88.             $objFormParam->convParam();
  89.             $post $objFormParam->getHashArray();
  90.             $this->arrErr $this->lfCheckError($post$objFormParam);
  91.             $this->charge_flg $post["charge_flg"];
  92.             if(count($this->arrErr== 0{
  93.                 $this->lfRegistData($post['payment_id']$_SESSION['member_id']$objFormParam);
  94.                 $this->objUpFile->moveTempFile();
  95.                 $this->tpl_onload "location.href = './payment.php'; return;";
  96.             }
  97.             $this->tpl_payment_id $post['payment_id'];
  98.             break;
  99.         // 画像のアップロード
  100.         case 'upload_image':
  101.             $objFormParam->setParam($_REQUEST);
  102.             $objFormParam->convParam();
  103.             $post $objFormParam->getHashArray();
  104.             // ファイル存在チェック
  105.             $this->arrErr $this->objUpFile->checkEXISTS($post['image_key']);
  106.             // 画像保存処理
  107.             $this->arrErr[$post['image_key']] $this->objUpFile->makeTempFile($post['image_key']);
  108.             $this->tpl_payment_id $post['payment_id'];
  109.             break;
  110.         // 画像の削除
  111.         case 'delete_image':
  112.             $objFormParam->setParam($_REQUEST);
  113.             $objFormParam->convParam();
  114.             $this->arrErr $objFormParam->checkError();
  115.             $post $objFormParam->getHashArray();
  116.             if(count($this->arrErr== 0{
  117.                 $this->objUpFile->deleteFile($post['image_key']);
  118.             }
  119.             $this->tpl_payment_id $post['payment_id'];
  120.             break;
  121.  
  122.         case 'pre_edit':
  123.             $objFormParam->setParam($_REQUEST);
  124.             $objFormParam->convParam();
  125.             $this->arrErr $objFormParam->checkError();
  126.             $post $objFormParam->getHashArray();
  127.             if(count($this->arrErr== 0{
  128.                 $arrRet $this->lfGetData($post['payment_id']);
  129.  
  130.                 $objFormParam->addParam("支払方法""payment_method"STEXT_LEN'KVa'array("EXIST_CHECK""MAX_LENGTH_CHECK"));
  131.                 $objFormParam->addParam("手数料"'charge'PRICE_LEN'n'array("EXIST_CHECK""NUM_CHECK""MAX_LENGTH_CHECK"));
  132.                 $objFormParam->addParam("利用条件(~円以上)"'rule'PRICE_LEN'n'array("NUM_CHECK""MAX_LENGTH_CHECK"));
  133.                 $objFormParam->addParam("利用条件(~円以下)""upper_rule"PRICE_LEN'n'array("NUM_CHECK""MAX_LENGTH_CHECK"));
  134.                 $objFormParam->addParam("固定"'fix');
  135.                 $objFormParam->setParam($arrRet);
  136.  
  137.                 $this->charge_flg $arrRet["charge_flg"];
  138.                 $this->objUpFile->setDBFileList($arrRet);
  139.             }
  140.             $this->tpl_payment_id $post['payment_id'];
  141.             break;
  142.         default:
  143.             break;
  144.         }
  145.  
  146.         $this->arrForm $objFormParam->getFormParamList();
  147.  
  148.         // FORM表示用配列を渡す。
  149.         $this->arrFile $this->objUpFile->getFormFileList(IMAGE_TEMP_URLPATHIMAGE_SAVE_URLPATH);
  150.         // HIDDEN用に配列を渡す。
  151.         $this->arrHidden array_merge((array)$this->arrHidden(array)$this->objUpFile->getHiddenFileList());
  152.     }
  153.  
  154.     /**
  155.      * デストラクタ.
  156.      *
  157.      * @return void 
  158.      */
  159.     function destroy({
  160.         parent::destroy();
  161.     }
  162.  
  163.     /* ファイル情報の初期化 */
  164.     function lfInitFile({
  165.         $this->objUpFile->addFile("ロゴ画像"'payment_image'array('gif')IMAGE_SIZEfalseCLASS_IMAGE_WIDTHCLASS_IMAGE_HEIGHT);
  166.         return $this->objUpFile;
  167.     }
  168.  
  169.     /* パラメーター情報の初期化 */
  170.     function lfInitParam($mode&$objFormParam{
  171.  
  172.         switch ($mode{
  173.             case 'edit':
  174.                 $objFormParam->addParam("支払方法""payment_method"STEXT_LEN'KVa'array("EXIST_CHECK""MAX_LENGTH_CHECK"));
  175.                 $objFormParam->addParam("手数料"'charge'PRICE_LEN'n'array("EXIST_CHECK""NUM_CHECK""MAX_LENGTH_CHECK"));
  176.                 $objFormParam->addParam("利用条件(~円以上)"'rule'PRICE_LEN'n'array("NUM_CHECK""MAX_LENGTH_CHECK"));
  177.                 $objFormParam->addParam("利用条件(~円以下)""upper_rule"PRICE_LEN'n'array("NUM_CHECK""MAX_LENGTH_CHECK"));
  178.                 $objFormParam->addParam("固定"'fix');
  179.                 $objFormParam->addParam('支払いID''payment_id'INT_LEN'n'array('NUM_CHECK''MAX_LENGTH_CHECK'));
  180.                 $objFormParam->addParam('課金フラグ''charge_flg'INT_LEN'n'array('NUM_CHECK''MAX_LENGTH_CHECK'));
  181.  
  182.                 break;
  183.             case "upload_image":
  184.             case "delete_image":
  185.                 $objFormParam->addParam('支払いID''payment_id'INT_LEN'n'array('NUM_CHECK''MAX_LENGTH_CHECK'));
  186.                 $objFormParam->addParam("支払方法""payment_method"STEXT_LEN'KVa'array("EXIST_CHECK""MAX_LENGTH_CHECK"));
  187.                 $objFormParam->addParam("手数料"'charge'PRICE_LEN'n'array("EXIST_CHECK""NUM_CHECK""MAX_LENGTH_CHECK"));
  188.                 $objFormParam->addParam("利用条件(~円以上)"'rule'PRICE_LEN'n'array("NUM_CHECK""MAX_LENGTH_CHECK"));
  189.                 $objFormParam->addParam("利用条件(~円以下)""upper_rule"PRICE_LEN'n'array("NUM_CHECK""MAX_LENGTH_CHECK"));
  190.                 $objFormParam->addParam("固定"'fix');
  191.                 $objFormParam->addParam("画像キー""image_key"STEXT_LEN'KVa'array("EXIST_CHECK""MAX_LENGTH_CHECK"));
  192.  
  193.                 break;
  194.             case "pre_edit":
  195.                 $objFormParam->addParam('支払いID''payment_id'INT_LEN'n'array('NUM_CHECK''MAX_LENGTH_CHECK'));
  196.                 $objFormParam->addParam('課金フラグ''charge_flg'INT_LEN'n'array('NUM_CHECK''MAX_LENGTH_CHECK'));
  197.                 break;
  198.  
  199.             default:
  200.                 $objFormParam->addParam("支払方法""payment_method"STEXT_LEN"KVa"array("EXIST_CHECK""MAX_LENGTH_CHECK"));
  201.                 $objFormParam->addParam("手数料""charge"PRICE_LEN"n"array("EXIST_CHECK""NUM_CHECK""MAX_LENGTH_CHECK"));
  202.                 $objFormParam->addParam("利用条件(~円以上)""rule"PRICE_LEN"n"array("NUM_CHECK""MAX_LENGTH_CHECK"));
  203.                 $objFormParam->addParam("利用条件(~円以下)""upper_rule"PRICE_LEN"n"array("NUM_CHECK""MAX_LENGTH_CHECK"));
  204.                 $objFormParam->addParam("固定""fix");
  205.  
  206.                 break;
  207.         }
  208.     }
  209.  
  210.     /* DBからデータを読み込む */
  211.     function lfGetData($payment_id{
  212.         $objQuery =SC_Query_Ex::getSingletonInstance();
  213.         $where "payment_id = ?";
  214.         $arrRet $objQuery->select("*""dtb_payment"$wherearray($payment_id));
  215.         return $arrRet[0];
  216.     }
  217.  
  218.     /* DBへデータを登録する */
  219.     function lfRegistData($payment_id ""$member_id&$objFormParam{
  220.  
  221.         $objQuery =SC_Query_Ex::getSingletonInstance();
  222.         $sqlval $objFormParam->getHashArray();
  223.         $arrRet $this->objUpFile->getDBFileList()// ファイル名の取得
  224.         $sqlval array_merge($sqlval$arrRet);
  225.         $sqlval['update_date''CURRENT_TIMESTAMP';
  226.  
  227.         if($sqlval['fix'!= '1'{
  228.             $sqlval['fix'2// 自由設定
  229.         }
  230.  
  231.         // 新規登録
  232.         if($payment_id == ""{
  233.             // INSERTの実行
  234.             $sqlval['creator_id'$member_id;
  235.             $sqlval['rank'$objQuery->max('rank'"dtb_payment"1;
  236.             $sqlval['create_date''CURRENT_TIMESTAMP';
  237.             $sqlval['payment_id'$objQuery->nextVal('dtb_payment_payment_id');
  238.             $objQuery->insert("dtb_payment"$sqlval);
  239.         // 既存編集
  240.         else {
  241.             $where "payment_id = ?";
  242.             $objQuery->update("dtb_payment"$sqlval$wherearray($payment_id));
  243.         }
  244.     }
  245.  
  246.     /* 利用条件の数値チェック */
  247.  
  248.     /* 入力内容のチェック */
  249.     function lfCheckError($post$objFormParam{
  250.  
  251.         // DBのデータを取得
  252.         $arrPaymentData $this->lfGetData($post['payment_id']);
  253.  
  254.         // 手数料を設定できない場合には、手数料を0にする
  255.         if($arrPaymentData["charge_flg"== 2$objFormParam->setValue('charge'"0");
  256.  
  257.         // 入力データを渡す。
  258.         $arrRet =  $objFormParam->getHashArray();
  259.         $objErr new SC_CheckError_Ex($arrRet);
  260.         $objErr->arrErr $objFormParam->checkError();
  261.  
  262.         // 利用条件(下限)チェック
  263.         if($arrRet['rule'$arrPaymentData["rule_min"and $arrPaymentData["rule_min"!= ""){
  264.             $objErr->arrErr['rule'"利用条件(下限)は" $arrPaymentData["rule_min"."円以上にしてください。<br>";
  265.         }
  266.  
  267.         // 利用条件(上限)チェック
  268.         if($arrRet["upper_rule"$arrPaymentData["upper_rule_max"and $arrPaymentData["upper_rule_max"!= ""){
  269.             $objErr->arrErr["upper_rule""利用条件(上限)は" $arrPaymentData["upper_rule_max"."円以下にしてください。<br>";
  270.         }
  271.  
  272.         // 利用条件チェック
  273.         $objErr->doFunc(array("利用条件(~円以上)""利用条件(~円以下)"'rule'"upper_rule")array("GREATER_CHECK"));
  274.  
  275.         return $objErr->arrErr;
  276.     }
  277. }
  278. ?>

Documentation generated on Fri, 24 Feb 2012 14:01:04 +0900 by Seasoft