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

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