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

Source for file LC_Page_Mypage_Order.php

Documentation is available at LC_Page_Mypage_Order.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/mypage/LC_Page_AbstractMypage_Ex.php';
  26.  
  27. /**
  28.  * 受注履歴からカート遷移 のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_Mypage_Order.php 20764 2011-03-22 06:26:40Z nanasess $
  33.  */
  34. class LC_Page_Mypage_Order extends LC_Page_AbstractMypage_Ex {
  35.  
  36.     // }}}
  37.     // {{{ functions
  38.  
  39.     /**
  40.      * Page を初期化する.
  41.      *
  42.      * @return void 
  43.      */
  44.     function init({
  45.         parent::init();
  46.     }
  47.  
  48.     /**
  49.      * Page のプロセス.
  50.      *
  51.      * @return void 
  52.      */
  53.     function process({
  54.         parent::process();
  55.     }
  56.  
  57.     /**
  58.      * Page のAction.
  59.      *
  60.      * @return void 
  61.      */
  62.     function action({
  63.         $objCustomer new SC_Customer_Ex();
  64.  
  65.         //受注詳細データの取得
  66.         $arrOrderDetail $this->lfGetOrderDetail($_POST['order_id']);
  67.  
  68.         //ログインしていない、またはDBに情報が無い場合
  69.         if (empty($arrOrderDetail)){
  70.             SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
  71.         }
  72.  
  73.         $this->lfAddCartProducts($arrOrderDetail);
  74.         SC_Response_Ex::sendRedirect(CART_URLPATH);
  75.     }
  76.  
  77.     /**
  78.      * デストラクタ.
  79.      *
  80.      * @return void 
  81.      */
  82.     function destroy({
  83.         parent::destroy();
  84.     }
  85.  
  86.     // 受注詳細データの取得
  87.     function lfGetOrderDetail($order_id{
  88.         $objQuery       SC_Query_Ex::getSingletonInstance();
  89.  
  90.         $objCustomer    new SC_Customer_Ex();
  91.         //customer_idを検証
  92.         $customer_id    $objCustomer->getValue("customer_id");
  93.         $order_count    $objQuery->count("dtb_order""order_id = ? and customer_id = ?"array($order_id$customer_id));
  94.         if ($order_count != 1return array();
  95.  
  96.         $col    "product_class_id, quantity";
  97.         $table  "dtb_order_detail LEFT JOIN dtb_products_class USING(product_class_id)";
  98.         $where  "order_id = ?";
  99.         $objQuery->setOrder("order_detail_id");
  100.         $arrOrderDetail $objQuery->select($col$table$wherearray($order_id));
  101.         return $arrOrderDetail;
  102.     }
  103.  
  104.     // 商品をカートに追加
  105.     function lfAddCartProducts($arrOrderDetail{
  106.  
  107.         $objCartSess new SC_CartSession_Ex();
  108.         foreach($arrOrderDetail as $order_row{
  109.  
  110.             $objCartSess->addProduct($order_row['product_class_id'],
  111.                                      $order_row['quantity']);
  112.         }
  113.     }
  114. }

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