Source for file LC_Page_Products_DetailImage.php

Documentation is available at LC_Page_Products_DetailImage.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_Products_DetailImage.php 17969 2009-04-10 14:20:10Z Seasoft $
  33.  */
  34.  
  35.     // }}}
  36.     // {{{ functions
  37.  
  38.     /**
  39.      * Page を初期化する.
  40.      *
  41.      * @return void 
  42.      */
  43.     function init() {
  44.         parent::init();
  45.         $this->tpl_mainpage = 'products/detail_image.tpl';
  46.     }
  47.  
  48.     /**
  49.      * Page のプロセス.
  50.      *
  51.      * @return void 
  52.      */
  53.     function process() {
  54.         $objView = new SC_SiteView();
  55.         $objCartSess = new SC_CartSession("", false);
  56.         $objDb = new SC_Helper_DB_Ex();
  57.  
  58.         // 管理ページからの確認の場合は、非公開の商品も表示する。
  59.         // XXX 若干脆弱な気がする。ログイン状態か確認するのが望ましいかと。
  60.         if (isset($_GET['admim']) && $_GET['admin'] == 'on') {
  61.             $where = "del_flg = 0";
  62.         } else {
  63.             $where = "del_flg = 0 AND status = 1";
  64.         }
  65.  
  66.         // 値の正当性チェック
  67.         if (!SC_Utils_Ex::sfIsInt($_GET['product_id']) || !$objDb->sfIsRecord("dtb_products", "product_id", $_GET['product_id'], $where)) {
  68.             SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
  69.         }
  70.  
  71.  
  72.         $image_key = $_GET['image'];
  73.  
  74.         $objQuery = new SC_Query();
  75.          // カラムが存在していなければエラー画面を表示
  76.         if(!$objDb->sfColumnExists("dtb_products",$image_key)){
  77.             SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
  78.         }
  79.         $col = "name, $image_key";
  80.         
  81.         $arrRet = $objQuery->select($col, "dtb_products", "product_id = ?", array($_GET['product_id']));
  82.         $image_path = IMAGE_SAVE_DIR . $arrRet[0][$image_key];
  83.         
  84.         if (file_exists($image_path)) {
  85.             list($width, $height) = getimagesize($image_path);
  86.         } else {
  87.             $width = 0;
  88.             $height = 0;
  89.         }
  90.         
  91.         $this->tpl_width = $width;
  92.         $this->tpl_height = $height;
  93.         $this->tpl_table_width = $this->tpl_width + 20;
  94.         $this->tpl_table_height = $this->tpl_height + 20;
  95.  
  96.         $this->tpl_image = $arrRet[0][$image_key];
  97.         $this->tpl_name = $arrRet[0]['name'];
  98.         $this->tpl_image_key = $image_key;
  99.  
  100.         $objView->assignobj($this);
  101.         $objView->display($this->tpl_mainpage);
  102.     }
  103.  
  104.     /**
  105.      * デストラクタ.
  106.      *
  107.      * @return void 
  108.      */
  109.     function destroy() {
  110.         parent::destroy();
  111.     }
  112. }
  113. ?>

Documentation generated on Tue, 28 Apr 2009 18:12:42 +0900 by phpDocumentor 1.4.2