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

Source for file LC_Page_InputZip.php

Documentation is available at LC_Page_InputZip.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/LC_Page_Ex.php';
  26.  
  27. /**
  28.  * 郵便番号入力 のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_InputZip.php 20970 2011-06-10 10:27:24Z Seasoft $
  33.  */
  34. class LC_Page_InputZip extends LC_Page_Ex {
  35.  
  36.     // }}}
  37.     // {{{ functions
  38.  
  39.     /**
  40.      * Page を初期化する.
  41.      *
  42.      * @return void 
  43.      */
  44.     function init({
  45.         parent::init();
  46.         $this->tpl_message "住所を検索しています。";
  47.     }
  48.  
  49.     /**
  50.      * Page のプロセス.
  51.      *
  52.      * @return void 
  53.      */
  54.     function process({
  55.         $objView new SC_SiteView_Ex(false);
  56.  
  57.         // 入力エラーチェック
  58.         $arrErr $this->fnErrorCheck($_GET);
  59.         // 入力エラーの場合は終了
  60.         if(count($arrErr0{
  61.             $tpl_message "";
  62.             foreach($arrErr as $key => $val{
  63.                 $tpl_message .= preg_replace("/<br \/>/""\n"$val);
  64.             }
  65.             echo $tpl_message;
  66.  
  67.         // エラー無し
  68.         else {
  69.             // 郵便番号検索文作成
  70.             $zipcode $_GET['zip1'].$_GET['zip2'];
  71.             $zipcode mb_convert_kana($zipcode ,'n');
  72.  
  73.             // 郵便番号検索
  74.             $arrAdsList SC_Utils_Ex::sfGetAddress($zipcode);
  75.  
  76.             // 郵便番号が発見された場合
  77.             if(!empty($arrAdsList)) {
  78.                 $data $arrAdsList[0]['state']"|"$arrAdsList[0]['city']"|"$arrAdsList[0]['town'];
  79.                 echo $data;
  80.  
  81.             // 該当無し
  82.             else {
  83.                 echo "該当する住所が見つかりませんでした。";
  84.             }
  85.         }
  86.     }
  87.  
  88.     /**
  89.      * デストラクタ.
  90.      *
  91.      * @return void 
  92.      */
  93.     function destroy({
  94.         parent::destroy();
  95.     }
  96.  
  97.     /**
  98.      * 入力エラーのチェック.
  99.      *
  100.      * @param array $arrRequest リクエスト値($_GET)
  101.      * @return array $arrErr エラーメッセージ配列
  102.      */
  103.     function fnErrorCheck($arrRequest{
  104.         // パラメーター管理クラス
  105.         $objFormParam new SC_FormParam_Ex();
  106.         // パラメーター情報の初期化
  107.         $objFormParam->addParam('郵便番号1''zip1'ZIP01_LEN'n'array('NUM_COUNT_CHECK''NUM_CHECK'));
  108.         $objFormParam->addParam('郵便番号2''zip2'ZIP02_LEN'n'array('NUM_COUNT_CHECK''NUM_CHECK'));
  109.         // // リクエスト値をセット
  110.         $objFormParam->setParam($arrRequest);
  111.         // エラーチェック
  112.         $arrErr $objFormParam->checkError();
  113.         // 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック
  114.         if !$this->lfInputNameCheck($arrRequest['input1']) ) {
  115.             $arrErr['input1'"※ 入力形式が不正です。<br />";
  116.         }
  117.         if !$this->lfInputNameCheck($arrRequest['input2']) ) {
  118.             $arrErr['input2'"※ 入力形式が不正です。<br />";
  119.         }
  120.  
  121.         return $arrErr;
  122.     }
  123.  
  124.     /**
  125.      * エラーチェック.
  126.      *
  127.      * @param string $value 
  128.      * @return エラーなし:true エラー:false
  129.      */
  130.     function lfInputNameCheck($value{
  131.         // 半角英数字と_(アンダーバー), []以外の文字を使用していたらエラー
  132.         if(strlen($value&& !preg_match("/^[a-zA-Z0-9_\[\]]+$/"$value)) {
  133.             return false;
  134.         }
  135.  
  136.         return true;
  137.     }
  138. }
  139. ?>

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