Changeset 15546 for branches/feature-module-update/html
- Timestamp:
- 2007/09/01 18:48:53 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/admin/products/trackback.php
r15532 r15546 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 8 // {{{ requires 7 9 require_once("../require.php"); 8 require_once( "./index_csv.php");10 require_once(CLASS_PATH . "page_extends/admin/products/LC_Page_Admin_Products_Trackback_Ex.php"); 9 11 10 session_start(); 12 // }}} 13 // {{{ generate page 11 14 12 class LC_Page { 13 var $arrSession; 14 function LC_Page() { 15 global $arrPageMax; 16 $this->arrPageMax = $arrPageMax; 17 $this->tpl_mainpage = 'products/trackback.tpl'; 18 $this->tpl_subnavi = 'products/subnavi.tpl'; 19 $this->tpl_mainno = 'products'; 20 $this->tpl_subno = 'trackback'; 21 $this->tpl_pager = DATA_PATH . 'Smarty/templates/admin/pager.tpl'; 22 $this->tpl_subtitle = 'トラックバック管理'; 23 } 24 } 25 26 $objPage = new LC_Page(); 27 $objView = new SC_AdminView(); 28 $objSess = new SC_Session(); 29 $objDate = new SC_Date(); 30 $objQuery = new SC_Query(); 31 32 // 状態の設定 33 $objPage->arrTrackBackStatus = $arrTrackBackStatus; 34 35 // 登録・更新検索開始年 36 $objDate->setStartYear(RELEASE_YEAR); 37 $objDate->setEndYear(DATE("Y")); 38 $objPage->arrStartYear = $objDate->getYear(); 39 $objPage->arrStartMonth = $objDate->getMonth(); 40 $objPage->arrStartDay = $objDate->getDay(); 41 // 登録・更新検索終了年 42 $objDate->setStartYear(RELEASE_YEAR); 43 $objDate->setEndYear(DATE("Y")); 44 $objPage->arrEndYear = $objDate->getYear(); 45 $objPage->arrEndMonth = $objDate->getMonth(); 46 $objPage->arrEndDay = $objDate->getDay(); 47 48 // 認証可否の判定 49 sfIsSuccess($objSess); 50 51 // トラックバック情報のカラムの取得(viewとの結合のため、テーブルをAと定義しておく) 52 $select = "A.trackback_id, A.product_id, A.blog_name, A.title, A.url, "; 53 $select .= "A.excerpt, A.status, A.create_date, A.update_date, B.name"; 54 $from = "dtb_trackback AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id "; 55 56 // 検索ワードの引き継ぎ 57 foreach ($_POST as $key => $val) { 58 if (ereg("^search_", $key)) { 59 $objPage->arrHidden[$key] = $val; 60 } 61 } 62 63 // トラックバックの削除 64 if ($_POST['mode'] == "delete") { 65 $objQuery->exec("UPDATE dtb_trackback SET del_flg = 1, update_date = now() WHERE trackback_id = ?", array($_POST['trackback_id'])); 66 } 67 68 if ($_POST['mode'] == 'search' || $_POST['mode'] == 'csv' || $_POST['mode'] == 'delete'){ 69 70 //削除されていない商品を検索 71 $where="A.del_flg = 0 AND B.del_flg = 0"; 72 $objPage->arrForm = $_POST; 73 74 //エラーチェック 75 $objPage->arrErr = lfCheckError(); 76 77 if (!$objPage->arrErr) { 78 foreach ($_POST as $key => $val) { 79 80 $val = sfManualEscape($val); 81 82 if ($val == "") { 83 continue; 84 } 85 86 switch ($key) { 87 88 case 'search_blog_name': 89 $val = ereg_replace(" ", "%", $val); 90 $val = ereg_replace(" ", "%", $val); 91 $where.= " AND A.blog_name ILIKE ? "; 92 $arrval[] = "%$val%"; 93 break; 94 95 case 'search_blog_title': 96 $val = ereg_replace(" ", "%", $val); 97 $val = ereg_replace(" ", "%", $val); 98 $where.= " AND A.title ILIKE ? "; 99 $arrval[] = "%$val%"; 100 break; 101 102 case 'search_blog_url': 103 $val = ereg_replace(" ", "%", $val); 104 $val = ereg_replace(" ", "%", $val); 105 $where.= " AND A.url ILIKE ? "; 106 $arrval[] = "%$val%"; 107 break; 108 109 case 'search_status': 110 if (isset($_POST['search_status'])) { 111 $where.= " AND A.status = ? "; 112 $arrval[] = $val; 113 } 114 break; 115 116 case 'search_name': 117 $val = ereg_replace(" ", "%", $val); 118 $val = ereg_replace(" ", "%", $val); 119 $where.= " AND B.name ILIKE ? "; 120 $arrval[] = "%$val%"; 121 break; 122 123 case 'search_product_code': 124 $val = ereg_replace(" ", "%", $val); 125 $val = ereg_replace(" ", "%", $val); 126 $where.= " AND B.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? )"; 127 $arrval[] = "%$val%"; 128 break; 129 130 case 'search_startyear': 131 if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) { 132 $date = sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 133 $where.= " AND A.create_date >= ? "; 134 $arrval[] = $date; 135 } 136 break; 137 138 case 'search_endyear': 139 if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) { 140 $date = sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']); 141 142 $end_date = date("Y/m/d",strtotime("1 day" ,strtotime($date))); 143 144 $where.= " AND A.create_date <= cast('$end_date' as date) "; 145 } 146 break; 147 } 148 149 } 150 151 } 152 153 $order = "A.create_date DESC"; 154 155 // ページ送りの処理 156 if(is_numeric($_POST['search_page_max'])) { 157 $page_max = $_POST['search_page_max']; 158 } else { 159 $page_max = SEARCH_PMAX; 160 } 161 162 $linemax = $objQuery->count($from, $where, $arrval); 163 $objPage->tpl_linemax = $linemax; 164 165 // ページ送りの取得 166 $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX); 167 $objPage->arrPagenavi = $objNavi->arrPagenavi; 168 $startno = $objNavi->start_row; 169 170 $objPage->tpl_pageno = $_POST['search_pageno']; 171 172 // 取得範囲の指定(開始行番号、行数のセット) 173 $objQuery->setlimitoffset($page_max, $startno); 174 175 // 表示順序 176 $objQuery->setorder($order); 177 178 //検索結果の取得 179 $objPage->arrTrackback = $objQuery->select($select, $from, $where, $arrval); 180 181 //CSVダウンロード 182 if ($_POST['mode'] == 'csv'){ 183 // オプションの指定 184 $option = "ORDER BY A.trackback_id"; 185 // CSV出力タイトル行の作成 186 $head = sfGetCSVList($arrTRACKBACK_CVSTITLE); 187 $data = lfGetTrackbackCSV($where, '', $arrval); 188 // CSVを送信する。 189 sfCSVDownload($head.$data); 190 exit; 191 } 192 } 193 194 $objView->assignobj($objPage); 195 $objView->display(MAIN_FRAME); 196 197 //------------------------------------------------------------------------------------- 198 199 // 入力エラーチェック 200 function lfCheckError() { 201 $objErr = new SC_CheckError(); 202 switch ($_POST['mode']){ 203 case 'search': 204 $objErr->doFunc(array("投稿者", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 205 $objErr->doFunc(array("開始日", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 206 $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 207 $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 208 break; 209 210 case 'complete': 211 $objErr->doFunc(array("おすすめレベル", "recommend_level"), array("SELECT_CHECK")); 212 $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 213 $objErr->doFunc(array("コメント", "comment", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 214 break; 215 } 216 return $objErr->arrErr; 217 } 218 15 $objPage = new LC_Page_Admin_Products_Trackback_Ex(); 16 $objPage->init(); 17 $objPage->process(); 18 register_shutdown_function(array($objPage, "destroy")); 219 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.