| 1 | <?php
|
|---|
| 2 | /*
|
|---|
| 3 | * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
|
|---|
| 4 | *
|
|---|
| 5 | * http://www.lockon.co.jp/
|
|---|
| 6 | */
|
|---|
| 7 | require_once("../require.php");
|
|---|
| 8 | require_once("./index_csv.php");
|
|---|
| 9 |
|
|---|
| 10 | session_start();
|
|---|
| 11 |
|
|---|
| 12 | class LC_Page {
|
|---|
| 13 | var $arrSession;
|
|---|
| 14 | function LC_Page() {
|
|---|
| 15 | global $arrPageMax;
|
|---|
| 16 | global $arrRECOMMEND;
|
|---|
| 17 | global $arrSex;
|
|---|
| 18 | $this->arrPageMax = $arrPageMax;
|
|---|
| 19 | $this->arrRECOMMEND = $arrRECOMMEND;
|
|---|
| 20 | $this->arrSex = $arrSex;
|
|---|
| 21 | $this->tpl_mainpage = 'products/review.tpl';
|
|---|
| 22 | $this->tpl_subnavi = 'products/subnavi.tpl';
|
|---|
| 23 | $this->tpl_mainno = 'products';
|
|---|
| 24 | $this->tpl_subno = 'review';
|
|---|
| 25 | $this->tpl_pager = DATA_PATH . 'Smarty/templates/admin/pager.tpl';
|
|---|
| 26 | $this->tpl_subtitle = '¥ì¥Ó¥å¡¼´ÉÍý';
|
|---|
| 27 | }
|
|---|
| 28 | }
|
|---|
| 29 |
|
|---|
| 30 | $objPage = new LC_Page();
|
|---|
| 31 | $objView = new SC_AdminView();
|
|---|
| 32 | $objSess = new SC_Session();
|
|---|
| 33 | $objDate = new SC_Date();
|
|---|
| 34 | $objQuery = new SC_Query();
|
|---|
| 35 |
|
|---|
| 36 | // ÅÐÏ¿¡¦¹¹¿·¸¡º÷³«»Ïǯ
|
|---|
| 37 | $objDate->setStartYear(RELEASE_YEAR);
|
|---|
| 38 | $objDate->setEndYear(DATE("Y"));
|
|---|
| 39 | $objPage->arrStartYear = $objDate->getYear();
|
|---|
| 40 | $objPage->arrStartMonth = $objDate->getMonth();
|
|---|
| 41 | $objPage->arrStartDay = $objDate->getDay();
|
|---|
| 42 | // ÅÐÏ¿¡¦¹¹¿·¸¡º÷½ªÎ»Ç¯
|
|---|
| 43 | $objDate->setStartYear(RELEASE_YEAR);
|
|---|
| 44 | $objDate->setEndYear(DATE("Y"));
|
|---|
| 45 | $objPage->arrEndYear = $objDate->getYear();
|
|---|
| 46 | $objPage->arrEndMonth = $objDate->getMonth();
|
|---|
| 47 | $objPage->arrEndDay = $objDate->getDay();
|
|---|
| 48 |
|
|---|
| 49 | // ǧ¾Ú²ÄÈݤÎȽÄê
|
|---|
| 50 | sfIsSuccess($objSess);
|
|---|
| 51 |
|
|---|
| 52 | //¥ì¥Ó¥å¡¼¾ðÊó¤Î¥«¥é¥à¤Î¼èÆÀ
|
|---|
| 53 | $select="review_id, A.product_id, reviewer_name, sex, recommend_level, ";
|
|---|
| 54 | $select.="reviewer_url, title, comment, A.status, A.create_date, A.update_date, name";
|
|---|
| 55 | $from = "dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id ";
|
|---|
| 56 |
|
|---|
| 57 | // ¸¡º÷¥ï¡¼¥É¤Î°ú¤·Ñ¤®
|
|---|
| 58 | foreach ($_POST as $key => $val) {
|
|---|
| 59 | if (ereg("^search_", $key)) {
|
|---|
| 60 | switch ($key){
|
|---|
| 61 | case 'search_sex':
|
|---|
| 62 | $objPage->arrHidden[$key] = sfMergeParamCheckBoxes($val);
|
|---|
| 63 | if(!is_array($val)) {
|
|---|
| 64 | $objPage->arrForm[$key] = split("-", $val);
|
|---|
| 65 | }
|
|---|
| 66 | break;
|
|---|
| 67 |
|
|---|
| 68 | default:
|
|---|
| 69 | $objPage->arrHidden[$key] = $val;
|
|---|
| 70 | break;
|
|---|
| 71 | }
|
|---|
| 72 | }
|
|---|
| 73 | }
|
|---|
| 74 |
|
|---|
| 75 | if ($_POST['mode'] == "delete"){
|
|---|
| 76 | //¥ì¥Ó¥å¡¼¤Îºï½ü
|
|---|
| 77 | $objQuery->exec("UPDATE dtb_review SET del_flg=1 WHERE review_id=?", array($_POST['review_id']));
|
|---|
| 78 | }
|
|---|
| 79 |
|
|---|
| 80 | if ($_POST['mode'] == 'search' || $_POST['mode'] == 'csv' || $_POST['mode'] == 'delete'){
|
|---|
| 81 |
|
|---|
| 82 | //ºï½ü¤µ¤ì¤Æ¤¤¤Ê¤¤¾¦Éʤò¸¡º÷
|
|---|
| 83 | $where="A.del_flg = 0 AND B.del_flg = 0";
|
|---|
| 84 | $objPage->arrForm = $_POST;
|
|---|
| 85 | if (!is_array($_POST['search_sex'])){
|
|---|
| 86 | $objPage->arrForm['search_sex'] = split("-", $_POST['search_sex']);
|
|---|
| 87 | }
|
|---|
| 88 | //¥¨¥é¡¼¥Á¥§¥Ã¥¯
|
|---|
| 89 | $objPage->arrErr = lfCheckError();
|
|---|
| 90 |
|
|---|
| 91 | if (!$objPage->arrErr){
|
|---|
| 92 | foreach ($_POST as $key => $val){
|
|---|
| 93 |
|
|---|
| 94 | $val = sfManualEscape($val);
|
|---|
| 95 |
|
|---|
| 96 | if($val == "") {
|
|---|
| 97 | continue;
|
|---|
| 98 | }
|
|---|
| 99 |
|
|---|
| 100 | switch ($key){
|
|---|
| 101 | case 'search_reviewer_name':
|
|---|
| 102 | $val = ereg_replace(" ", "%", $val);
|
|---|
| 103 | $val = ereg_replace("¡¡", "%", $val);
|
|---|
| 104 | $where.= " AND reviewer_name ILIKE ? ";
|
|---|
| 105 | $arrval[] = "%$val%";
|
|---|
| 106 | break;
|
|---|
| 107 |
|
|---|
| 108 | case 'search_reviewer_url':
|
|---|
| 109 | $val = ereg_replace(" ", "%", $val);
|
|---|
| 110 | $val = ereg_replace("¡¡", "%", $val);
|
|---|
| 111 | $where.= " AND reviewer_url ILIKE ? ";
|
|---|
| 112 | $arrval[] = "%$val%";
|
|---|
| 113 | break;
|
|---|
| 114 |
|
|---|
| 115 | case 'search_name':
|
|---|
| 116 | $val = ereg_replace(" ", "%", $val);
|
|---|
| 117 | $val = ereg_replace("¡¡", "%", $val);
|
|---|
| 118 | $where.= " AND name ILIKE ? ";
|
|---|
| 119 | $arrval[] = "%$val%";
|
|---|
| 120 | break;
|
|---|
| 121 |
|
|---|
| 122 | case 'search_product_code':
|
|---|
| 123 | $val = ereg_replace(" ", "%", $val);
|
|---|
| 124 | $val = ereg_replace("¡¡", "%", $val);
|
|---|
| 125 | $where.= " AND A.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? )";
|
|---|
| 126 | $arrval[] = "%$val%";
|
|---|
| 127 | break;
|
|---|
| 128 |
|
|---|
| 129 | case 'search_sex':
|
|---|
| 130 | $tmp_where = "";
|
|---|
| 131 | //$val=ÇÛÎó¤ÎÃæ¿È,$element=³Æ¥¡¼¤ÎÃÍ(1,2)
|
|---|
| 132 | if (is_array($val)){
|
|---|
| 133 | foreach($val as $element) {
|
|---|
| 134 | if($element != "") {
|
|---|
| 135 | if($tmp_where == "") {
|
|---|
| 136 | $tmp_where .= " AND (sex = ?";
|
|---|
| 137 | } else {
|
|---|
| 138 | $tmp_where .= " OR sex = ?";
|
|---|
| 139 | }
|
|---|
| 140 | $arrval[] = $element;
|
|---|
| 141 | }
|
|---|
| 142 | }
|
|---|
| 143 | if($tmp_where != "") {
|
|---|
| 144 | $tmp_where .= ")";
|
|---|
| 145 | $where .= " $tmp_where ";
|
|---|
| 146 | }
|
|---|
| 147 | }
|
|---|
| 148 |
|
|---|
| 149 | break;
|
|---|
| 150 |
|
|---|
| 151 | case 'search_recommend_level':
|
|---|
| 152 | $where.= " AND recommend_level LIKE ? ";
|
|---|
| 153 | $arrval[] = $val;
|
|---|
| 154 | break;
|
|---|
| 155 |
|
|---|
| 156 | case 'search_startyear':
|
|---|
| 157 | if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])){
|
|---|
| 158 | $date = sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']);
|
|---|
| 159 | $where.= " AND A.create_date >= ? ";
|
|---|
| 160 | $arrval[] = $date;
|
|---|
| 161 | }
|
|---|
| 162 | break;
|
|---|
| 163 |
|
|---|
| 164 | case 'search_endyear':
|
|---|
| 165 | if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])){
|
|---|
| 166 | $date = sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']);
|
|---|
| 167 |
|
|---|
| 168 | $end_date = date("Y/m/d",strtotime("1 day" ,strtotime($date)));
|
|---|
| 169 |
|
|---|
| 170 | $where.= " AND A.create_date <= cast('$end_date' as date) ";
|
|---|
| 171 | }
|
|---|
| 172 | break;
|
|---|
| 173 | }
|
|---|
| 174 |
|
|---|
| 175 | }
|
|---|
| 176 |
|
|---|
| 177 | }
|
|---|
| 178 |
|
|---|
| 179 | $order = "A.create_date DESC";
|
|---|
| 180 |
|
|---|
| 181 | // ¥Ú¡¼¥¸Á÷¤ê¤Î½èÍý
|
|---|
| 182 | if(is_numeric($_POST['search_page_max'])) {
|
|---|
| 183 | $page_max = $_POST['search_page_max'];
|
|---|
| 184 | } else {
|
|---|
| 185 | $page_max = SEARCH_PMAX;
|
|---|
| 186 | }
|
|---|
| 187 |
|
|---|
| 188 | $linemax = $objQuery->count($from, $where, $arrval);
|
|---|
| 189 | $objPage->tpl_linemax = $linemax;
|
|---|
| 190 |
|
|---|
| 191 | // ¥Ú¡¼¥¸Á÷¤ê¤Î¼èÆÀ
|
|---|
| 192 | $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX);
|
|---|
| 193 | $objPage->arrPagenavi = $objNavi->arrPagenavi;
|
|---|
| 194 | $startno = $objNavi->start_row;
|
|---|
| 195 |
|
|---|
| 196 | $objPage->tpl_pageno = $_POST['search_pageno'];
|
|---|
| 197 |
|
|---|
| 198 | // ¼èÆÀÈϰϤλØÄê(³«»Ï¹ÔÈֹ桢¹Ô¿ô¤Î¥»¥Ã¥È)
|
|---|
| 199 | $objQuery->setlimitoffset($page_max, $startno);
|
|---|
| 200 |
|
|---|
| 201 | // ɽ¼¨½ç½ø
|
|---|
| 202 | $objQuery->setorder($order);
|
|---|
| 203 |
|
|---|
| 204 | //¸¡º÷·ë²Ì¤Î¼èÆÀ
|
|---|
| 205 | $objPage->arrReview = $objQuery->select($select, $from, $where, $arrval);
|
|---|
| 206 |
|
|---|
| 207 | //CSV¥À¥¦¥ó¥í¡¼¥É
|
|---|
| 208 | if ($_POST['mode'] == 'csv'){
|
|---|
| 209 | // ¥ª¥×¥·¥ç¥ó¤Î»ØÄê
|
|---|
| 210 | $option = "ORDER BY review_id";
|
|---|
| 211 | // CSV½ÐÎÏ¥¿¥¤¥È¥ë¹Ô¤ÎºîÀ®
|
|---|
| 212 | $head = sfGetCSVList($arrREVIEW_CVSTITLE);
|
|---|
| 213 | $data = lfGetReviewCSV($where, '', $arrval);
|
|---|
| 214 | // CSV¤òÁ÷¿®¤¹¤ë¡£
|
|---|
| 215 | sfCSVDownload($head.$data);
|
|---|
| 216 | exit;
|
|---|
| 217 | }
|
|---|
| 218 | }
|
|---|
| 219 |
|
|---|
| 220 | $objView->assignobj($objPage);
|
|---|
| 221 | $objView->display(MAIN_FRAME);
|
|---|
| 222 |
|
|---|
| 223 | //-------------------------------------------------------------------------------------
|
|---|
| 224 |
|
|---|
| 225 | // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
|
|---|
| 226 | function lfCheckError() {
|
|---|
| 227 | $objErr = new SC_CheckError();
|
|---|
| 228 | switch ($_POST['mode']){
|
|---|
| 229 | case 'search':
|
|---|
| 230 | $objErr->doFunc(array("Åê¹Æ¼Ô", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE"));
|
|---|
| 231 | $objErr->doFunc(array("³«»ÏÆü", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE"));
|
|---|
| 232 | $objErr->doFunc(array("½ªÎ»Æü", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE"));
|
|---|
| 233 | $objErr->doFunc(array("³«»ÏÆü", "½ªÎ»Æü", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM"));
|
|---|
| 234 | break;
|
|---|
| 235 |
|
|---|
| 236 | case 'complete':
|
|---|
| 237 | $objErr->doFunc(array("¤ª¤¹¤¹¤á¥ì¥Ù¥ë", "recommend_level"), array("SELECT_CHECK"));
|
|---|
| 238 | $objErr->doFunc(array("¥¿¥¤¥È¥ë", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
|---|
| 239 | $objErr->doFunc(array("¥³¥á¥ó¥È", "comment", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
|---|
| 240 | break;
|
|---|
| 241 | }
|
|---|
| 242 | return $objErr->arrErr;
|
|---|
| 243 | }
|
|---|
| 244 |
|
|---|
| 245 | ?>
|
|---|