Changeset 18793
- Timestamp:
- 2010/08/26 16:23:49 (13 years ago)
- bzr:base-revision:
- ohkouchi@loop-az.jp-20100826014156-g12l1o38gsj73acs
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
data/class/db/SC_DB_DBFactory.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2FSC_DB_DBFactory.php
data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2Fdbfactory%2FSC_DB_DBFactory_MYSQL.php
data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2Fdbfactory%2FSC_DB_DBFactory_PGSQL.php
data/class/pages/mypage/LC_Page_Mypage_DownLoad.php 18777@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fversion-2_5-dev%2Fdata%2Fclass%2Fpages%2Fmypage%2FLC_Page_Mypage_DownLoad.php
data/class/pages/mypage/LC_Page_Mypage_History.php 16102@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fmypage%2FLC_Page_Mypage_History.php- bzr:mapping-version:
- v4
- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20100826072347-bdrmnk0g8b3llidi
- bzr:revno:
- 2276
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-parents:
data/class/db/SC_DB_DBFactory.php ohkouchi@loop-az.jp-20100824055828-2oy1qb3wcp85i76l
data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php ohkouchi@loop-az.jp-20100824055828-2oy1qb3wcp85i76l
data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php ohkouchi@loop-az.jp-20100824055828-2oy1qb3wcp85i76l
data/class/pages/mypage/LC_Page_Mypage_DownLoad.php ohkouchi@loop-az.jp-20100820090626-dkyj2ngdh7vklaow
data/class/pages/mypage/LC_Page_Mypage_History.php svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:18777- bzr:timestamp:
- 2010-08-26 16:23:47.036999941 +0900
- bzr:user-agent:
- bzr2.1.2+bzr-svn1.0.2
- svn:original-date:
- 2010-08-26T07:23:47.037000Z
- Location:
- branches/version-2_5-dev/data/class
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/db/SC_DB_DBFactory.php
r18790 r18793 123 123 124 124 /** 125 * ダウンロード販売の検索条件の SQL を返す. 126 * 127 * @param string $dtb_order_alias 128 * @return string 検索条件の SQL 129 */ 130 function getDownloadableDaysWhereSql($dtb_order_alias) { return null; } 131 132 /** 125 133 * 文字列連結を行う. 126 134 * -
branches/version-2_5-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
r18790 r18793 134 134 function getSendHistoryWhereStartdateSql() { 135 135 return "start_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute)"; 136 } 137 138 /** 139 * ダウンロード販売の検索条件の SQL を返す. 140 * 141 * @param string $dtb_order_alias 142 * @return string 検索条件の SQL 143 */ 144 function getDownloadableDaysWhereSql($dtb_order_alias) { 145 return "(SELECT IF((SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1)=1, 1, DATE(NOW()) <= DATE(DATE_ADD(" . $dtb_order_alias . ".commit_date, INTERVAL (SELECT downloadable_days FROM dtb_baseinfo) DAY))))"; 136 146 } 137 147 -
branches/version-2_5-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php
r18790 r18793 114 114 function getSendHistoryWhereStartdateSql() { 115 115 return "start_date BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes'"; 116 } 117 118 /** 119 * ダウンロード販売の検索条件の SQL を返す. 120 * 121 * @param string $dtb_order_alias 122 * @return string 検索条件の SQL 123 */ 124 function getDownloadableDaysWhereSql($dtb_order_alias) { 125 $baseinfo = SC_Helper_DB_Ex::sf_getBasisData(); 126 return "(SELECT CASE WHEN (SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1) = 1 THEN 1 WHEN DATE(NOW()) <= DATE(" . $dtb_order_alias . ".commit_date + '". $baseinfo['downloadable_days'] ." days') THEN 1 ELSE 0 END)"; 116 127 } 117 128 -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_DownLoad.php
r18789 r18793 54 54 function process() { 55 55 ob_end_clean(); 56 57 $customer_id = $_SESSION['customer']['customer_id']; 58 $order_id = $_GET['order_id']; 59 $product_id = $_GET['product_id']; 60 61 // ID の数値チェック 62 // TODO SC_FormParam でチェックした方が良い? 63 if (!is_numeric($customer_id) 64 || !is_numeric($order_id) 65 || !is_numeric($product_id)) { 66 SC_Utils_Ex::sfDispSiteError(""); 67 } 68 69 56 70 $objCustomer = new SC_Customer(); 57 71 //ログインしていない場合 … … 61 75 //ログインしている場合 62 76 //DBから商品情報の読込 63 $arrForm = $this->lfGetRealFileName($_GET['product_id']); 77 78 $arrForm = $this->lfGetRealFileName($customer_id, $order_id, $product_id); 64 79 65 80 //ステータスが支払済み以上である事 … … 101 116 } 102 117 103 /* 商品情報の読み込み */ 104 function lfGetRealFileName($product_id) { 118 /** 119 * 商品情報の読み込みを行う. 120 * 121 * @param integer $customer_id 顧客ID 122 * @param integer $order_id 受注ID 123 * @param integer $product_id 商品ID 124 * @return array 商品情報の配列 125 */ 126 function lfGetRealFileName($customer_id, $order_id, $product_id) { 105 127 $objQuery = new SC_Query(); 106 128 $col = "*"; 107 129 $table = "vw_download_class AS T1"; 108 // FIXME order_id, product_id の妥当性をチェックすべき. 109 if (DB_TYPE == "mysql"){ 110 $where = "T1.customer_id = " . (int)$_SESSION['customer']['customer_id'] . " AND T1.order_id = " . (int)$_GET['order_id'] . " AND T1.product_id = " . (int)$_GET['product_id'] . 111 " AND (SELECT IF((SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1)=1, 1, DATE(NOW()) <= DATE(DATE_ADD(T1.commit_date, INTERVAL (SELECT downloadable_days FROM dtb_baseinfo) DAY)))) = 1;"; 112 }else{ 113 $baseinfo = SC_Helper_DB_Ex::sf_getBasisData(); 114 $where = "T1.customer_id = " . (int)$_SESSION['customer']['customer_id'] . " AND T1.order_id = " . (int)$_GET['order_id'] . " AND T1.product_id = " . (int)$_GET['product_id'] . 115 " AND (SELECT CASE WHEN (SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1) = 1 THEN 1 WHEN DATE(NOW()) <= DATE(T1.commit_date + '". $baseinfo['downloadable_days'] ." days') THEN 1 ELSE 0 END) = 1;"; 116 } 117 $arrRet = $objQuery->select($col, $table, $where); 130 $dbFactory = SC_DB_DBFactory_Ex::getInstance(); 131 $where = "T1.customer_id = ? AND T1.order_id = ? AND T1.product_id = ?"; 132 $where .= " AND " . $dbFactory->getDownloadableDaysWhereSql("T1"); 133 $where .= " = 1"; 134 $arrRet = $objQuery->select($col, $table, $where, 135 array($customer_id, $order_id, $product_id)); 118 136 return $arrRet[0]; 119 137 } -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php
r18777 r18793 222 222 function lfGetOrderDetail($orderId) { 223 223 $objQuery = new SC_Query(); 224 if (DB_TYPE == "mysql"){ 225 $col = "od.product_id AS product_id, od.product_code AS product_code, od.product_name AS product_name, od.classcategory_name1 AS classcategory_name1,"; 226 $col .= "od.classcategory_name2 AS classcategory_name2, od.price AS price, od.quantity AS quantity, od.point_rate AS point_rate"; 227 $col .= ",CASE WHEN EXISTS(SELECT * FROM dtb_products WHERE product_id = od.product_id AND del_flg = 0 AND status = 1) THEN '1' ELSE '0' END AS enable"; 228 $col .= ",o.status AS status, p.down AS down, (SELECT IF((SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1)=1, 1, DATE(NOW()),"; 229 $col .= "<= DATE(DATE_ADD(o.commit_date, INTERVAL (SELECT downloadable_days FROM dtb_baseinfo) DAY)))) AS effective"; 230 }else{ 231 $baseinfo = SC_Helper_DB_Ex::sf_getBasisData(); 232 $col = "od.product_id AS product_id, od.product_code AS product_code, od.product_name AS product_name, od.classcategory_name1 AS classcategory_name1,"; 233 $col .= "od.classcategory_name2 AS classcategory_name2, od.price AS price, od.quantity AS quantity, od.point_rate AS point_rate"; 234 $col .= ",CASE WHEN EXISTS(SELECT * FROM dtb_products WHERE product_id = od.product_id AND del_flg = 0 AND status = 1) THEN '1' ELSE '0' END AS enable"; 235 $col .= ",o.status AS status, p.down AS down, (SELECT CASE WHEN (SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1) = 1 THEN 1 WHEN DATE(NOW())"; 236 $col .= "<= DATE(o.commit_date + '". $baseinfo['downloadable_days'] ." days') THEN 1 ELSE 0 END) AS effective"; 237 } 224 $dbFactory = SC_DB_DBFactory_Ex::getInstance(); 225 226 $col = "od.product_id AS product_id, od.product_code AS product_code, od.product_name AS product_name, od.classcategory_name1 AS classcategory_name1,"; 227 $col .= "od.classcategory_name2 AS classcategory_name2, od.price AS price, od.quantity AS quantity, od.point_rate AS point_rate"; 228 $col .= ",CASE WHEN EXISTS(SELECT * FROM dtb_products WHERE product_id = od.product_id AND del_flg = 0 AND status = 1) THEN '1' ELSE '0' END AS enable"; 229 $col .= ",o.status AS status, p.down AS down, "; 230 $col .= $dbFactory->getDownloadableDaysWhereSql("o"); 231 $col .= " AS effective"; 232 238 233 $where = "p.product_id = od.product_id AND od.order_id = o.order_id AND od.order_id = ?"; 239 234 $objQuery->setOrder("classcategory_id1, classcategory_id2");
Note: See TracChangeset
for help on using the changeset viewer.