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

Revision 4713, 4.8 KB checked in by kakinaka, 20 years ago (diff)

blank

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