Changeset 22581 for branches/version-2_12-dev
- Timestamp:
- 2013/02/22 20:22:51 (11 years ago)
- Location:
- branches/version-2_12-dev/data
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/Smarty/templates/admin/contents/index.tpl
r22527 r22581 23 23 *}--> 24 24 25 <script type="text/javascript">26 <!--27 28 function func_regist(url) {29 res = confirm('この内容で<!--{if $edit_mode eq "on"}-->編集<!--{else}-->登録<!--{/if}-->しても宜しいですか?');30 if(res == true) {31 document.form1.mode.value = 'regist';32 document.form1.submit();33 return false;34 }35 return false;36 }37 38 function func_edit(news_id) {39 document.form1.mode.value = "search";40 document.form1.news_id.value = news_id;41 document.form1.submit();42 return false;43 }44 45 function func_del(news_id) {46 res = confirm('この新着情報を削除しても宜しいですか?');47 if(res == true) {48 document.form1.mode.value = "delete";49 document.form1.news_id.value = news_id;50 document.form1.submit();51 }52 return false;53 }54 55 function func_rankMove(term,news_id) {56 document.form1.mode.value = "move";57 document.form1.news_id.value = news_id;58 document.form1.term.value = term;59 document.form1.submit();60 return false;61 }62 63 -->64 </script>65 66 67 25 <div id="admin-contents" class="contents-main"> 68 26 <form name="form1" id="form1" method="post" action="?"> 69 27 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 70 28 <input type="hidden" name="mode" value="" /> 71 <input type="hidden" name="news_id" value="<!--{$arrForm.news_id|h}-->" /> 72 <input type="hidden" name="term" value="" /> 29 <input type="hidden" name="news_id" value="<!--{$arrForm.news_id.value|h}-->" /> 73 30 <!--{* ▼登録テーブルここから *}--> 74 31 <table> … … 79 36 <select name="year" <!--{if $arrErr.year || $arrErr.month || $arrErr.day }-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}-->> 80 37 <option value="" selected="selected">----</option> 81 <!--{html_options options=$arrYear selected=$arrForm.year }-->38 <!--{html_options options=$arrYear selected=$arrForm.year.value}--> 82 39 </select>年 83 40 <select name="month" <!--{if $arrErr.year || $arrErr.month || $arrErr.day}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}-->> 84 41 <option value="" selected="selected">--</option> 85 <!--{html_options options=$arrMonth selected=$arrForm.month }-->42 <!--{html_options options=$arrMonth selected=$arrForm.month.value}--> 86 43 </select>月 87 44 <select name="day" <!--{if $arrErr.year || $arrErr.month || $arrErr.day}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}-->> 88 45 <option value="" selected="selected">--</option> 89 <!--{html_options options=$arrDay selected=$arrForm.day }-->46 <!--{html_options options=$arrDay selected=$arrForm.day.value}--> 90 47 </select>日 91 48 </td> … … 95 52 <td> 96 53 <!--{if $arrErr.news_title}--><span class="attention"><!--{$arrErr.news_title}--></span><!--{/if}--> 97 <textarea name="news_title" cols="60" rows="8" class="area60" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" <!--{if $arrErr.news_title}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}-->><!--{"\n"}--><!--{$arrForm.news_title |h}--></textarea><br />54 <textarea name="news_title" cols="60" rows="8" class="area60" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" <!--{if $arrErr.news_title}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}-->><!--{"\n"}--><!--{$arrForm.news_title.value|h}--></textarea><br /> 98 55 <span class="attention"> (上限<!--{$smarty.const.MTEXT_LEN}-->文字)</span> 99 56 </td> … … 103 60 <td> 104 61 <span class="attention"><!--{$arrErr.news_url}--></span> 105 <input type="text" name="news_url" size="60" class="box60" value="<!--{$arrForm.news_url |h}-->" <!--{if $arrErr.news_url}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}--> maxlength="<!--{$smarty.const.URL_LEN}-->" />62 <input type="text" name="news_url" size="60" class="box60" value="<!--{$arrForm.news_url.value|h}-->" <!--{if $arrErr.news_url}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}--> maxlength="<!--{$smarty.const.URL_LEN}-->" /> 106 63 <span class="attention"> (上限<!--{$smarty.const.URL_LEN}-->文字)</span> 107 64 </td> … … 109 66 <tr> 110 67 <th>リンク</th> 111 <td><label><input type="checkbox" name="link_method" value="2" <!--{if $arrForm.link_method eq 2}--> checked <!--{/if}--> /> 別ウィンドウで開く</label></td>68 <td><label><input type="checkbox" name="link_method" value="2" <!--{if $arrForm.link_method.value eq 2}--> checked <!--{/if}--> /> 別ウィンドウで開く</label></td> 112 69 </tr> 113 70 <tr> … … 115 72 <td> 116 73 <!--{if $arrErr.news_comment}--><span class="attention"><!--{$arrErr.news_comment}--></span><!--{/if}--> 117 <textarea name="news_comment" cols="60" rows="8" wrap="soft" class="area60" maxlength="<!--{$smarty.const.LTEXT_LEN}-->" style="background-color:<!--{if $arrErr.news_comment}--><!--{$smarty.const.ERR_COLOR|h}--><!--{/if}-->"><!--{"\n"}--><!--{$arrForm.news_comment |h}--></textarea><br />74 <textarea name="news_comment" cols="60" rows="8" wrap="soft" class="area60" maxlength="<!--{$smarty.const.LTEXT_LEN}-->" style="background-color:<!--{if $arrErr.news_comment}--><!--{$smarty.const.ERR_COLOR|h}--><!--{/if}-->"><!--{"\n"}--><!--{$arrForm.news_comment.value|h}--></textarea><br /> 118 75 <span class="attention"> (上限3000文字)</span> 119 76 </td> … … 124 81 <div class="btn-area"> 125 82 <ul> 126 <li><a class="btn-action" href="javascript:;" onclick=" return func_regist();"><span class="btn-next">この内容で登録する</span></a></li>83 <li><a class="btn-action" href="javascript:;" onclick="fnFormModeSubmit('form1', 'edit', '', ''); return false;"><span class="btn-next">この内容で登録する</span></a></li> 127 84 </ul> 128 85 </div> … … 137 94 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 138 95 <input type="hidden" name="mode" value="moveRankSet" /> 139 <input type="hidden" name="term" value="setposition" />140 96 <input type="hidden" name="news_id" value="" /> 141 97 <input type="hidden" name="moveposition" value="" /> … … 170 126 <td> 171 127 <!--{if $arrNews[data].news_id != $tpl_news_id}--> 172 <a href="#" onclick=" return func_edit('<!--{$arrNews[data].news_id|h}-->');">編集</a>128 <a href="#" onclick="fnFormModeSubmit('move','pre_edit','news_id','<!--{$arrNews[data].news_id|h}-->'); return false;">編集</a> 173 129 <!--{else}--> 174 130 編集中 175 131 <!--{/if}--> 176 132 </td> 177 <td><a href="#" onclick=" return func_del('<!--{$arrNews[data].news_id|h}-->');">削除</a></td>133 <td><a href="#" onclick="fnFormModeSubmit('move','delete','news_id','<!--{$arrNews[data].news_id|h}-->'); return false;">削除</a></td> 178 134 <td> 179 <!--{if count($arrNews) != 1}--> 180 <input type="text" name="pos-<!--{$arrNews[data].news_id|h}-->" size="3" class="box3" />番目へ<a href="?" onclick="fnFormModeSubmit('move', 'moveRankSet','news_id', '<!--{$arrNews[data].news_id|h}-->'); return false;">移動</a><br /> 181 <!--{/if}--> 182 <!--{if $arrNews[data].rank ne $max_rank}--><a href="#" onclick="return func_rankMove('up', '<!--{$arrNews[data].news_id|h}-->', '<!--{$max_rank|h}-->');">上へ</a><!--{/if}--> <!--{if $arrNews[data].rank ne 1}--><a href="#" onclick="return func_rankMove('down', '<!--{$arrNews[data].news_id|h}-->', '<!--{$max_rank|h}-->');">下へ</a><!--{/if}--> 135 <!--{if count($arrNews) != 1}--> 136 <input type="text" name="pos-<!--{$arrNews[data].news_id|h}-->" size="3" class="box3" />番目へ<a href="?" onclick="fnFormModeSubmit('move', 'moveRankSet','news_id', '<!--{$arrNews[data].news_id|h}-->'); return false;">移動</a><br /> 137 <!--{/if}--> 138 <!--{if $smarty.section.data.iteration != 1}--> 139 <a href="?" onclick="fnFormModeSubmit('move','up','news_id','<!--{$arrNews[data].news_id|h}-->'); return false;">上へ</a> 140 <!--{/if}--> 141 <!--{if !$smarty.section.data.last}--> 142 <a href="?" onclick="fnFormModeSubmit('move','down','news_id','<!--{$arrNews[data].news_id|h}-->'); return false;">下へ</a> 143 <!--{/if}--> 183 144 </td> 184 145 </tr> -
branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php
r22567 r22581 1610 1610 } 1611 1611 } 1612 1613 /** 1614 * レコード件数を計算. 1615 * 1616 * @param string $table 1617 * @param string $where 1618 * @param array $arrval 1619 * @return integer レコード件数 1620 */ 1621 public function countRecords($table, $where = '', $arrval = array()) 1622 { 1623 $objQuery =& SC_Query_Ex::getSingletonInstance(); 1624 $col = 'COUNT(*)'; 1625 return $objQuery->get($col, $table, $where, $arrval); 1626 } 1612 1627 } -
branches/version-2_12-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents.php
r22567 r22581 82 82 { 83 83 84 $objDb = new SC_Helper_DB_Ex(); 84 $objNews = new SC_Helper_News_Ex(); 85 85 86 $objFormParam = new SC_FormParam_Ex(); 86 87 $this->lfInitParam($objFormParam); 87 88 $objFormParam->setParam($_POST); 88 89 $objFormParam->convParam(); 90 89 91 $news_id = $objFormParam->getValue('news_id'); 90 92 91 93 //---- 新規登録/編集登録 92 94 switch ($this->getMode()) { 93 case 'regist': 94 $arrPost = $objFormParam->getHashArray(); 95 case 'edit': 95 96 $this->arrErr = $this->lfCheckError($objFormParam); 96 if (SC_Utils_Ex::isBlank($this->arrErr)) { 97 // ニュースIDの値がPOSTされて来た場合は既存データの編集とみなし、 98 // 更新メソッドを呼び出す。 99 // ニュースIDが存在しない場合は新規登録を行う。 100 $arrPost['link_method'] = $this->checkLinkMethod($arrPost['link_method']); 101 $arrPost['news_date'] = $this->getRegistDate($arrPost); 102 $member_id = $_SESSION['member_id']; 103 if (strlen($news_id) > 0 && is_numeric($news_id)) { 104 $this->lfNewsUpdate($arrPost,$member_id); 105 } else { 106 $this->lfNewsInsert($arrPost,$member_id); 97 if (!SC_Utils_Ex::isBlank($this->arrErr['news_id'])) { 98 trigger_error('', E_USER_ERROR); 99 return; 100 } 101 102 if (count($this->arrErr) <= 0) { 103 // POST値の引き継ぎ 104 $arrParam = $objFormParam->getHashArray(); 105 // 登録実行 106 $res_news_id = $this->doRegist($news_id, $arrParam, $objNews); 107 if ($res_news_id !== FALSE) { 108 // 完了メッセージ 109 $news_id = $res_news_id; 110 $this->tpl_onload = "alert('登録が完了しました。');"; 107 111 } 108 $news_id = '';109 $this->tpl_onload = "window.alert('編集が完了しました');";110 } else {111 $this->arrForm = $arrPost;112 112 } 113 break; 114 case 'search': 115 if (is_numeric($news_id)) { 116 list($this->arrForm) = $this->getNews($news_id); 117 list($this->arrForm['year'],$this->arrForm['month'],$this->arrForm['day']) = $this->splitNewsDate($this->arrForm['cast_news_date']); 118 $this->edit_mode = 'on'; 119 } 120 break; 113 // POSTデータを引き継ぐ 114 $this->tpl_news_id = $news_id; 115 break; 116 117 case 'pre_edit': 118 $news = $objNews->get($news_id); 119 list($news['year'],$news['month'],$news['day']) = $this->splitNewsDate($news['cast_news_date']); 120 $objFormParam->setParam($news); 121 122 // POSTデータを引き継ぐ 123 $this->tpl_news_id = $news_id; 124 break; 125 121 126 case 'delete': 122 127 //---- データ削除 123 if (is_numeric($news_id)) { 124 $pre_rank = $this->getRankByNewsId($news_id); 125 $this->computeRankForDelete($news_id,$pre_rank); 126 127 SC_Response_Ex::reload(); //自分にリダイレクト(再読込による誤動作防止) 128 } 129 break; 130 case 'move': 128 $objNews->delete($news_id); 129 //自分にリダイレクト(再読込による誤動作防止) 130 SC_Response_Ex::reload(); 131 break; 132 131 133 //---- 表示順位移動 132 if (strlen($news_id) > 0 && is_numeric($news_id) == true) { 133 $term = $objFormParam->getValue('term'); 134 if ($term == 'up') { 135 $objDb->sfRankUp('dtb_news', 'news_id', $news_id); 136 } else if ($term == 'down') { 137 $objDb->sfRankDown('dtb_news', 'news_id', $news_id); 138 } 139 140 $this->objDisplay->reload(); 141 } 142 break; 134 case 'up': 135 $objNews->rankUp($news_id); 136 137 // リロード 138 SC_Response_Ex::reload(); 139 break; 140 141 case 'down': 142 $objNews->rankDown($news_id); 143 144 // リロード 145 SC_Response_Ex::reload(); 146 break; 147 143 148 case 'moveRankSet': 144 149 //---- 指定表示順位移動 145 150 $input_pos = $this->getPostRank($news_id); 146 151 if (SC_Utils_Ex::sfIsInt($input_pos)) { 147 $obj Db->sfMoveRank('dtb_news', 'news_id',$news_id, $input_pos);152 $objNews->moveRank($news_id, $input_pos); 148 153 } 149 $this->objDisplay->reload(); 150 break; 154 SC_Response_Ex::reload(); 155 break; 156 151 157 default: 152 158 break; 153 159 } 154 160 155 $this->arrNews = $this->getNews(); 156 $this->tpl_news_id = $news_id; 161 $this->arrNews = $objNews->getList(); 157 162 $this->line_max = count($this->arrNews); 158 $this->max_rank = $this->getRankMax(); 159 163 164 $this->arrForm = $objFormParam->getFormParamList(); 160 165 } 161 166 … … 197 202 $objFormParam->addParam('本文', 'news_comment', LTEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK')); 198 203 $objFormParam->addParam('別ウィンドウで開く', 'link_method', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 199 $objFormParam->addParam('ランク移動', 'term', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 200 } 201 202 /** 203 * 新着記事のデータの登録を行う 204 * @param Array $arrPost POSTデータの配列 205 * @param Integer $member_id 登録した管理者のID 206 */ 207 function lfNewsInsert($arrPost,$member_id) 208 { 209 $objQuery = $objQuery =& SC_Query_Ex::getSingletonInstance(); 210 211 // rankの最大+1を取得する 212 $rank_max = $this->getRankMax(); 213 $rank_max = $rank_max + 1; 214 215 $table = 'dtb_news'; 216 $sqlval = array(); 217 $news_id = $objQuery->nextVal('dtb_news_news_id'); 204 } 205 206 /** 207 * 登録処理を実行. 208 * 209 * @param integer $news_id 210 * @param array $sqlval 211 * @param object $objNews 212 * @return multiple 213 */ 214 function doRegist($news_id, $sqlval, SC_Helper_News_Ex $objNews) 215 { 218 216 $sqlval['news_id'] = $news_id; 219 $sqlval['news_date'] = $arrPost['news_date']; 220 $sqlval['news_title'] = $arrPost['news_title']; 221 $sqlval['creator_id'] = $member_id; 222 $sqlval['news_url'] = $arrPost['news_url']; 223 $sqlval['link_method'] = $arrPost['link_method']; 224 $sqlval['news_comment'] = $arrPost['news_comment']; 225 $sqlval['rank'] = $rank_max; 226 $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 227 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 228 $objQuery->insert($table, $sqlval); 229 } 230 231 function lfNewsUpdate($arrPost,$member_id) 232 { 233 $objQuery = $objQuery =& SC_Query_Ex::getSingletonInstance(); 234 235 $table = 'dtb_news'; 236 $sqlval = array(); 237 $sqlval['news_date'] = $arrPost['news_date']; 238 $sqlval['news_title'] = $arrPost['news_title']; 239 $sqlval['creator_id'] = $member_id; 240 $sqlval['news_url'] = $arrPost['news_url']; 241 $sqlval['news_comment'] = $arrPost['news_comment']; 242 $sqlval['link_method'] = $arrPost['link_method']; 243 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 244 $where = 'news_id = ?'; 245 $arrValIn = array($arrPost['news_id']); 246 $objQuery->update($table, $sqlval, $where, $arrValIn); 217 $sqlval['creator_id'] = $_SESSION['member_id']; 218 $sqlval['link_method'] = $this->checkLinkMethod($sqlval['link_method']); 219 $sqlval['news_date'] = $this->getRegistDate($sqlval); 220 unset($sqlval['year'], $sqlval['month'], $sqlval['day']); 221 return $objNews->save($sqlval); 247 222 } 248 223 … … 272 247 273 248 /** 274 * ニュース記事を取得する。275 * @param Integer news_id ニュースID276 */277 function getNews($news_id = '')278 {279 $objQuery = $objQuery =& SC_Query_Ex::getSingletonInstance();280 $col = '*, cast(news_date as date) as cast_news_date';281 $table = 'dtb_news';282 $order = 'rank DESC';283 if (strlen($news_id) == 0) {284 $where = 'del_flg = 0';285 $arrWhereVal = array();286 } else {287 $where = 'del_flg = 0 AND news_id = ?';288 $arrWhereVal = array($news_id);289 }290 $objQuery->setOrder($order);291 return $objQuery->select($col, $table, $where, $arrWhereVal);292 }293 294 /**295 * 指定されたニュースのランクの値を取得する。296 * @param Integer $news_id297 */298 function getRankByNewsId($news_id)299 {300 $objQuery = $objQuery =& SC_Query_Ex::getSingletonInstance();301 $col = 'rank';302 $table = 'dtb_news';303 $where = 'del_flg = 0 AND news_id = ?';304 $arrWhereVal = array($news_id);305 list($rank) = $objQuery->select($col, $table, $where, $arrWhereVal);306 return $rank['rank'];307 }308 309 /**310 * 削除する新着情報以降のrankを1つ繰り上げる。311 * @param Integer $news_id312 * @param Integer $rank313 */314 function computeRankForDelete($news_id,$rank)315 {316 SC_Helper_DB_Ex::sfDeleteRankRecord('dtb_news', 'news_id', $news_id);317 }318 319 /**320 249 * ニュースの日付の値をフロントでの表示形式に合わせるために分割 321 250 * @param String $news_date … … 324 253 { 325 254 return explode('-', $news_date); 326 }327 328 /**329 * ランクの最大値の値を返す。330 * @return Intger $max ランクの最大値の値331 */332 function getRankMax()333 {334 $objQuery =& SC_Query_Ex::getSingletonInstance();335 $col = 'MAX(rank) as max';336 $table = 'dtb_news';337 $where = 'del_flg = 0';338 list($result) = $objQuery->select($col, $table, $where);339 return $result['max'];340 255 } 341 256 -
branches/version-2_12-dev/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_News.php
r22567 r22581 67 67 { 68 68 69 $objNews = new SC_Helper_News_Ex(); 69 70 $objFormParam = new SC_FormParam_Ex(); 70 71 switch ($this->getMode()) { … … 75 76 $this->arrErr = $objFormParam->checkError(false); 76 77 if (empty($this->arrErr)) { 77 78 $json = $this->lfGetNewsForJson($ objFormParam);78 $arrData = $objFormParam->getHashArray(); 79 $json = $this->lfGetNewsForJson($arrData, $objNews); 79 80 echo $json; 80 81 SC_Response_Ex::actionExit(); … … 90 91 $this->arrErr = $objFormParam->checkError(false); 91 92 if (empty($this->arrErr)) { 92 93 $json = $this->lfGetNewsDetailForJson($ objFormParam);93 $arrData = $objFormParam->getHashArray(); 94 $json = $this->lfGetNewsDetailForJson($arrData, $objNews); 94 95 echo $json; 95 96 SC_Response_Ex::actionExit(); … … 100 101 break; 101 102 default: 102 $this-> newsCount = $this->lfGetNewsCount();103 $this-> arrNews = $this->lfGetNews(SC_Query_Ex::getSingletonInstance());103 $this->arrNews = $objNews->getList(); 104 $this->newsCount = $objNews->getCount(); 104 105 break; 105 106 } … … 135 136 * @return array $arrNewsList 新着情報の配列を返す 136 137 */ 137 function lfGetNews(&$objQuery) 138 { 139 $objQuery->setOrder('rank DESC '); 140 $arrNewsList = $objQuery->select('* , cast(news_date as date) as news_date_disp', 'dtb_news' ,'del_flg = 0'); 138 function lfGetNews($dispNumber, $pageNo, SC_Helper_News_Ex $objNews) 139 { 140 $arrNewsList = $objNews->getList($dispNumber, $pageNo); 141 141 142 142 // モバイルサイトのセッション保持 (#797) … … 159 159 * (ページと表示件数を指定) 160 160 * 161 * @param array $objFormParam フォームパラメータークラス 161 * @param array $arrData フォーム入力値 162 * @param object $objNews 162 163 * @return String $json 新着情報のJSONを返す 163 164 */ 164 function lfGetNewsForJson(&$objFormParam) 165 { 166 167 $objQuery =& SC_Query_Ex::getSingletonInstance(); 168 $arrData = $objFormParam->getHashArray(); 165 function lfGetNewsForJson($arrData, SC_Helper_News_Ex $objNews) 166 { 169 167 170 168 $dispNumber = $arrData['disp_number']; 171 169 $pageNo = $arrData['pageno']; 172 if (!empty($dispNumber) && !empty($pageNo)) { 173 $objQuery->setLimitOffset($dispNumber, (($pageNo - 1) * $dispNumber)); 174 } 175 176 $arrNewsList = $this->lfGetNews($objQuery); 170 $arrNewsList = $this->lfGetNews($dispNumber, $pageNo, $objNews); 177 171 178 172 //新着情報の最大ページ数をセット 179 $newsCount = $ this->lfGetNewsCount();173 $newsCount = $objNews->getCount(); 180 174 $arrNewsList['news_page_count'] = ceil($newsCount / 3); 181 175 … … 189 183 * (news_idを指定) 190 184 * 191 * @param array $objFormParam フォームパラメータークラス 185 * @param array $arrData フォーム入力値 186 * @param object $objNews 192 187 * @return String $json 新着情報1件分のJSONを返す 193 188 */ 194 function lfGetNewsDetailForJson(&$objFormParam) 195 { 196 197 $objQuery = SC_Query_Ex::getSingletonInstance(); 198 $arrData = $objFormParam->getHashArray(); 199 $newsId = $arrData['news_id']; 200 $arrNewsList = $objQuery->select(' * , cast(news_date as date) as news_date_disp ',' dtb_news '," del_flg = '0' AND news_id = ? ", array($newsId)); 201 189 function lfGetNewsDetailForJson($arrData, SC_Helper_News_Ex $objNews) 190 { 191 192 $arrNewsList = $objNews->get($arrData['news_id']); 202 193 $json = SC_Utils_Ex::jsonEncode($arrNewsList); //JSON形式 203 194 204 195 return $json; 205 }206 207 /**208 * 新着情報の件数を取得する209 *210 * @return Integer $count 新着情報の件数を返す211 */212 function lfGetNewsCount()213 {214 215 $count = 0;216 217 $objQuery = SC_Query_Ex::getSingletonInstance();218 $count = $objQuery->count('dtb_news', "del_flg = '0'");219 220 return $count;221 196 } 222 197 -
branches/version-2_12-dev/data/class/pages/rss/LC_Page_Rss.php
r22567 r22581 59 59 { 60 60 61 $objQuery = SC_Query_Ex::getSingletonInstance();62 61 $objView = new SC_SiteView_Ex(false); 63 62 64 63 //新着情報を取得 65 $arrNews = $this->lfGetNews( $objQuery);64 $arrNews = $this->lfGetNews(); 66 65 67 66 //キャッシュしない(念のため) … … 101 100 * 新着情報を取得する 102 101 * 103 * @param SC_Query $objQuery DB操作クラス104 102 * @return array $arrNews 取得結果を配列で返す 105 103 */ 106 function lfGetNews( &$objQuery)104 function lfGetNews() 107 105 { 108 $col = ''; 109 $col .= 'news_id '; // 新着情報ID 110 $col .= ',news_title '; // 新着情報タイトル 111 $col .= ',news_comment '; // 新着情報本文 112 $col .= ',news_date '; // 日付 113 $col .= ',news_url '; // 新着情報URL 114 $col .= ',news_select '; // 新着情報の区分(1:URL、2:本文) 115 $col .= ',(SELECT shop_name FROM dtb_baseinfo limit 1) AS shop_name '; // 店名 116 $col .= ',(SELECT email04 FROM dtb_baseinfo limit 1) AS email '; // 代表Emailアドレス 117 $from = 'dtb_news'; 118 $where = "del_flg = '0'"; 119 $order = 'rank DESC'; 120 $objQuery->setOrder($order); 121 $arrNews = $objQuery->select($col,$from,$where); 106 $objNews = new SC_Helper_News_Ex(); 107 $arrNews = $objNews->getList(); 108 109 $objDb = new SC_Helper_DB_Ex(); 110 $arrInfo = $objDb->sfGetBasisData(FALSE, 'shop_name, email04'); 122 111 123 112 // RSS用に変換 … … 126 115 127 116 $row =& $arrNews[$key]; 117 $row['shop_name'] = $arrInfo['shop_name']; 118 $row['email'] = $arrInfo['email04']; 128 119 // 日付 129 120 $row['news_date'] = date('r', strtotime($row['news_date']));
Note: See TracChangeset
for help on using the changeset viewer.