source: temp/trunk/html/admin/home.php @ 5934

Revision 5934, 5.3 KB checked in by kakinaka, 20 years ago (diff)

* empty log message *

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2/*
3 * Copyright(c) 2000-2006 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("./require.php");
8
9class LC_Page {
10    var $arrSession;
11    function LC_Page() {
12        $this->tpl_mainpage = 'home.tpl';
13    }
14}
15
16$conn = new SC_DBConn();
17$objPage = new LC_Page();
18$objView = new SC_AdminView();
19$objSess = new SC_Session();
20
21// ǧ¾Ú²ÄÈݤÎȽÄê
22sfIsSuccess($objSess);
23
24// ¸½ºß¤Î²ñ°÷¿ô
25$objPage->customer_cnt = lfGetCustomerCnt($conn);
26
27// ºòÆü¤ÎÇä¾å¹â
28$objPage->order_yesterday_amount = lfGetOrderYesterday($conn, "SUM");
29
30// ºòÆü¤ÎÇä¾å·ï¿ô
31$objPage->order_yesterday_cnt = lfGetOrderYesterday($conn, "COUNT");
32
33// º£·î¤ÎÇä¾å¹â
34$objPage->order_month_amount = lfGetOrderMonth($conn, "SUM");
35
36// º£·î¤ÎÇä¾å·ï¿ô
37$objPage->order_month_cnt = lfGetOrderMonth($conn, "COUNT");
38
39// ¸ÜµÒ¤ÎÎ߷ץݥ¤¥ó¥È
40$objPage->customer_point = lfGetTotalCustomerPoint();
41
42//ºòÆü¤Î¥ì¥Ó¥å¡¼½ñ¤­¹þ¤ß¿ô
43$objPage->review_yesterday_cnt = lfGetReviewYesterday($conn);
44
45//¥ì¥Ó¥å¡¼½ñ¤­¹þ¤ßÈóɽ¼¨¿ô
46$objPage->review_nondisp_cnt = lfGetReviewNonDisp($conn);
47
48// ÉÊÀڤ쾦ÉÊ
49$objPage->arrSoldout = lfGetSoldOut();
50
51// ¿·µ¬¼õÉÕ°ìÍ÷
52$arrNewOrder = lfGetNewOrder();
53
54foreach ($arrNewOrder as $key => $val){
55    $arrNewOrder[$key]['create_date'] = str_replace("-", "/", substr($val['create_date'], 0,19));
56   
57}
58$objPage->arrNewOrder = $arrNewOrder;
59
60// ¤ªÃΤ餻°ìÍ÷¤Î¼èÆÀ
61$objPage->arrInfo = lfGetInfo();
62
63$objView->assignobj($objPage);
64$objView->display(MAIN_FRAME);
65//---------------------------------------------------------
66
67// ²ñ°÷¿ô
68function lfGetCustomerCnt($conn){
69   
70    $sql = "SELECT COUNT(customer_id) FROM dtb_customer WHERE del_flg = 0 AND status = 2";
71    $return = $conn->getOne($sql);
72    return $return;
73}
74
75// ºòÆü¤ÎÇä¾å¹â¡¦Çä¾å·ï¿ô
76function lfGetOrderYesterday($conn, $method){
77    if ( $method == 'SUM' or $method == 'COUNT'){
78        // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë
79        if (DB_TYPE == "pgsql") {
80            $sql = "SELECT ".$method."(total) FROM dtb_order
81                     WHERE del_flg = 0 AND to_char(create_date,'YYYY/MM/DD') = to_char(now() - interval '1 days','YYYY/MM/DD')";
82        }else if (DB_TYPE == "mysql") {
83            $sql = "SELECT ".$method."(total) FROM dtb_order
84                     WHERE del_flg = 0 AND cast(substring(create_date,1, 10) as date) = DATE_ADD(current_date, interval -1 day)";
85        }
86        $return = $conn->getOne($sql);
87    }
88    return $return;
89}
90
91function lfGetOrderMonth($conn, $method){
92
93    $month = date("Y/m", mktime());
94   
95    if ( $method == 'SUM' or $method == 'COUNT'){
96    // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë
97    if (DB_TYPE == "pgsql") {
98        $sql = "SELECT ".$method."(total) FROM dtb_order
99                 WHERE del_flg = 0 AND to_char(create_date,'YYYY/MM') = ?
100                 AND to_char(create_date,'YYYY/MM/DD') <> to_char(now(),'YYYY/MM/DD')";
101    }else if (DB_TYPE == "mysql") {
102        $sql = "SELECT ".$method."(total) FROM dtb_order
103                 WHERE del_flg = 0 AND cast(substring(create_date,1,7) as date) = ?
104                 AND cast(substring(create_date,1, 10) as date) <> cast(substring(now(),1, 10) as date)";
105    }
106        $return = $conn->getOne($sql, array($month));
107    }
108    return $return;
109}
110
111function lfGetTotalCustomerPoint() {
112    $objQuery = new SC_Query();
113    $col = "SUM(point)";
114    $where = "del_flg = 0";
115    $from = "dtb_customer";
116    $ret = $objQuery->get($from, $col, $where);
117    return $ret;   
118}
119
120function lfGetReviewYesterday($conn){
121    // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë
122    if (DB_TYPE == "pgsql") {
123        $sql = "SELECT COUNT(*) FROM dtb_review
124                 WHERE del_flg=0 AND to_char(create_date, 'YYYY/MM/DD') = to_char(now() - interval '1 days','YYYY/MM/DD')
125                 AND to_char(create_date,'YYYY/MM/DD') != to_char(now(),'YYYY/MM/DD')";
126    }else if (DB_TYPE == "mysql") {
127        $sql = "SELECT COUNT(*) FROM dtb_review
128                 WHERE del_flg = 0 AND cast(substring(create_date,1, 10) as date) = DATE_ADD(current_date, interval -1 day)
129                 AND cast(substring(create_date,1, 10) as date) != cast(substring(now(),1, 10) as date)";
130    }
131    $return = $conn->getOne($sql);
132    return $return;
133}
134
135function lfGetReviewNonDisp($conn){
136    $sql = "SELECT COUNT(*) FROM dtb_review WHERE del_flg=0 AND status=2";
137    $return = $conn->getOne($sql);
138    return $return;
139}
140
141// ÉÊÀڤ쾦ÉÊÈÖ¹æ¤Î¼èÆÀ
142function lfGetSoldOut() {
143    $objQuery = new SC_Query();
144    $where = "product_id IN (SELECT product_id FROM dtb_products_class WHERE stock_unlimited IS NULL AND stock <= 0)";
145    $arrRet = $objQuery->select("product_id, name", "dtb_products", $where);
146    return $arrRet;
147}
148
149// ¿·µ¬¼õÉÕ°ìÍ÷
150function lfGetNewOrder() {
151    $objQuery = new SC_Query();
152    $col = "ord.order_id, customer_id, ord.order_name01 AS name01, ord.order_name02 AS name02, ord.total, ";
153    $col.= "(SELECT det.product_name FROM dtb_order_detail AS det WHERE ord.order_id = det.order_id LIMIT 1) AS product_name, ";
154    $col.= "(SELECT pay.payment_method FROM dtb_payment AS pay WHERE ord.payment_id = pay.payment_id) AS payment_method, ";
155    $col.= "create_date AS create_date";
156    $from = "dtb_order AS ord";
157    $where = "del_flg = 0";
158    $objQuery->setoption("ORDER BY create_date DESC LIMIT 10 OFFSET 0");
159    $arrRet = $objQuery->select($col, $from, $where);
160    return $arrRet;
161}
162
163// ¤ªÃΤ餻¼èÆÀ
164function lfGetInfo() {
165    // ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
166    $objQuery = new SC_Query();
167    $path = UPDATE_HTTP . "info.txt";
168    $fp = @fopen($path, "rb");
169   
170    $arrRet = array();
171    if(!$fp) {
172        sfErrorHeader(">> " . $path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£");
173    } else {
174        while (!feof($fp)) {
175            $arrRet[] = $arrCSV = fgetcsv($fp, UPDATE_CSV_LINE_MAX);
176        }
177        fclose($fp);
178    }
179   
180    return $arrRet;
181}
182
183
184
185?>
Note: See TracBrowser for help on using the repository browser.