OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / ec_product_display2 / include / db / ec_product_display2Db.php
1 <?php
2 /**
3  * DBクラス
4  *
5  * PHP versions 5
6  *
7  * LICENSE: This source file is licensed under the terms of the GNU General Public License.
8  *
9  * @package    Magic3 Framework
10  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11  * @copyright  Copyright 2006-2011 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: ec_product_display2Db.php 4495 2011-12-05 12:14:03Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getDbPath() . '/baseDb.php');
17
18 class ec_product_display2Db extends BaseDb
19 {
20         /**
21          * 商品を商品ID、言語IDで取得
22          *
23          * @param int           $id                                     商品ID
24          * @param string        $langId                         言語ID
25          * @param array     $priceRows                  商品価格
26          * @param array     $imageRows                  商品画像
27          * @param array     $statusRows                 商品ステータス
28          * @return bool                                                 取得 = true, 取得なし= false
29          */
30         function getProductInfo($id, $langId, &$priceRows, &$imageRows, &$statusRows)
31         {
32                 $queryStr  = 'SELECT * FROM product_price ';
33                 $queryStr .=   'WHERE pp_deleted = false ';// 削除されていない
34                 $queryStr .=     'AND pp_product_id = ? ';
35                 $queryStr .=     'AND pp_language_id = ? ';
36                 $this->selectRecords($queryStr, array($id, $langId), $priceRows);
37                 
38                 $queryStr  = 'SELECT * FROM product_image ';
39                 $queryStr .=   'WHERE im_deleted = false ';// 削除されていない
40                 $queryStr .=     'AND im_type = 2 ';            // 商品画像
41                 $queryStr .=     'AND im_id = ? ';
42                 $queryStr .=     'AND im_language_id = ? ';
43                 $this->selectRecords($queryStr, array($id, $langId), $imageRows);
44                 
45                 // 商品ステータス
46                 $queryStr  = 'SELECT * FROM product_status ';
47                 $queryStr .=   'WHERE ps_deleted = false ';// 削除されていない
48                 $queryStr .=     'AND ps_id = ? ';
49                 $queryStr .=     'AND ps_language_id = ? ';
50                 $this->selectRecords($queryStr, array($id, $langId), $statusRows);
51                 return true;
52         }
53         /**
54          * 商品を取得
55          *
56          * @param string        $lang                           言語
57          * @param array         $productArray           商品ID
58          * @param function      $callback                       コールバック関数
59          * @return                      なし
60          */
61         function getProduct($lang, $productArray, $callback)
62         {
63                 $productIdStr = implode(',', $productArray);
64                 
65                 // CASE文作成
66                 $caseStr = 'CASE pt_id ';
67                 for ($i = 0; $i < count($productArray); $i++){
68                         $caseStr .= 'WHEN ' . $productArray[$i] . ' THEN ' . $i . ' ';
69                 }
70                 $caseStr .= 'END AS no';
71
72                 $queryStr = 'SELECT *, ' . $caseStr . ' FROM product ';
73                 $queryStr .=  'WHERE pt_deleted = false ';              // 削除されていない
74                 $queryStr .=    'AND pt_visible = true ';               // 表示可能
75                 $queryStr .=    'AND pt_id in (' . $productIdStr . ') ';
76                 $queryStr .=    'AND pt_language_id = ? ';
77                 $queryStr .=  'ORDER BY no';
78                 $this->selectLoop($queryStr, array($lang), $callback);
79         }
80         /**
81          * 通貨情報を取得
82          *
83          * @param string        $type                           単位タイプ
84          * @param string        $lang                           言語
85          * @param array     $row                                レコード
86          * @return bool                                                 取得 = true, 取得なし= false
87          */
88         function getCurrency($type, $lang, &$row)
89         {
90                 $queryStr = 'SELECT * FROM currency ';
91                 $queryStr .=  'WHERE cu_id = ? AND cu_language_id = ? ';
92                 $ret = $this->selectRecord($queryStr, array($type, $lang), $row);
93                 return $ret;
94         }
95         /**
96          * 画像情報を取得
97          *
98          * @param string        $type                   画像タイプ
99          * @param array     $row                                レコード
100          * @return bool                                                 取得 = true, 取得なし= false
101          */
102         function getProductImageInfo($type, &$row)
103         {
104                 $queryStr  = 'SELECT * FROM image_size ';
105                 $queryStr .=   'WHERE is_id = ? ';
106                 $ret = $this->selectRecord($queryStr, array($type), $row);
107                 return $ret;
108         }
109 }
110 ?>