<?php
/**
 * @copyright ONE/DEPO Project
 * @license   PHP License 3.01 <http://www.php.net/license/3_01.txt>
 */

/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * 出品者情報確認
 *
 * @package     Customer.Mypage.Seller.Insert.Check
 * @author      netnee <mail@example.com>
 * @access      public
 */
class Customer_Mypage_Seller_Insert_Check
{
    var $seller_db;
    var $seller;
    var $seller_serial;
    var $actionChain;

    var $c_pref;
    var $preflist;
    var $auth;
    var $memberview;
    
//    var $sellerstructure; //出品者情報構成
//    var $structureJson_serial;   //出品者情報構成のJSON文字列
    
    /**
     * execute
     *
     * @access  public
     */
    function execute()
    {
        // 支払先をカードのみに
        $this->seller->paymode = "account";
        
        $log =& LogFactory::getLog();
        $log->debug("Customer_Mypage_Seller_Insert_Checkが実行されました", "Customer_Mypage_Seller_Insert_Check#execute");
        $errorList =& $this->actionChain->getCurErrorList();

        if (!$this -> checkData()) return 'input';
        return 'success';
    }

    function getPrefData()
    {
        //県データを変数に取っておく
        $this->preflist = $this->c_pref->selectAll();
        $res = $this->preflist;
        return $res;
    }
    
    function prefCdToPrefName($prefcd)
    {
        if (is_array($prefcd)) $prefcd = $prefcd["code"];
        
        $prefname = $this->c_pref->selectKey($prefcd);
        $res = $prefname['prefnm'];
        return $res;
    }

    function setSeller(&$value)
    {
        $this->seller =& $value;
    }
    
    function getSeller()
    {
        return $this->seller;
    }
    
    function setSeller_serial($value)
    {
        $value = urldecode($value);
        $this->seller_serial = $value;
        $this->seller = unserialize($value);
    }
    
    function getSeller_serial()
    {
        return urlencode(serialize($this->seller));
    }
    
    function setActionChain(&$value)
    {
        $this->actionChain =& $value;
    }
    
    function checkData()
    {
        $errorList =& $this->actionChain->getCurErrorList();

        if (!empty($this->seller->news)) {
            if (mb_strwidth($this->seller->news, 'UTF-8') > 100) {
                $errorList->add(1, 
                '出品者からのお知らせは全角50文字以内で入力してください');
            }
        }
        
        if ($this->seller->paymode == "card"){

            if (INPUT_CARD_INFO) {
                if ($this->seller->card_num == "") $errorList->add(1, "カード番号を入力してください。");
                if ($this->seller->card_num != "" && !is_numeric($this->seller->card_num)) $errorList->add(1, "カード番号は半角数字で入力してください。");
                if ($this->seller->card_name == "") $errorList->add(1, "カード名義を入力してください。");
                if ($this->seller->card_limit_y == "") $errorList->add(1, "カード有効期限を入力してください。");
                if ($this->seller->card_limit_m == "") $errorList->add(1, "カード有効期限を入力してください。");
                if ( $this->seller->card_limit_y < date("Y") || 
                    ($this->seller->card_limit_y == date("Y")  && $this->seller->card_limit_m < date("m") ) ){ 
                        $errorList->add(1, "カード有効期限は本日以降で入力してください。");
                }
//                if ($this->seller->card_sec_code == "") $errorList->add(1, "セキュリティコードを入力してください。");
//                if ($this->seller->card_sec_code != "" && !is_numeric($this->seller->card_sec_code)) $errorList->add(1, "セキュリティコードは半角数字で入力してください。");
            }

        
        } else {
            if ($this->seller->pay_bank != ""        || $this->seller->pay_branch != "" || 
                $this->seller->pay_account_num != "" || $this->seller->pay_account_name != ""){
              if ($this->seller->pay_bank == "") $errorList->add(1, "支払銀行名を入力してください。");
              if ($this->seller->pay_branch == "") $errorList->add(1, "支払先支店名を入力してください。");
              if ($this->seller->pay_account == "") $errorList->add(1, "支払先口座を入力してください。");
              if ($this->seller->pay_account_num == "") $errorList->add(1, "支払先口座番号を入力してください。");
              if ($this->seller->pay_account_num != "" && !is_numeric($this->seller->pay_account_num)) $errorList->add(1, "支払先口座番号は半角数字で入力してください。");
  
              if ($this->seller->pay_account_name == "") $errorList->add(1, "支払先口座名義を入力してください。");
            }
        }
      
      if ($errorList->isExists()){
          return false;
      } else {
          return true;
      }
    }

    function getMemberInfo() {
        $cd = $this->auth->getAuthData("membercd");
        $memberdata = $this->memberview->getMemberData($cd);
        return $memberdata;
    }
    
/*
    function getSellerstructure()
    {
        return $this->sellerstructure;
    }
    
    function getStructureJson_serial()
    {
        return urlencode($this->structureJson_serial);
    }
    
    function setStructureJson_serial($value)
    {
        $json = new Services_JSON();
        $this->structureJson_serial = urldecode($value);
        $this->sellerstructure = $json->decode($this->structureJson_serial);
    }
    
    function getStructurejson_serial_back()
    {
        return $this->structureJson_serial;
    }
*/
    
}
?>
