Changeset 20098
- Timestamp:
- 2011/02/04 22:10:47 (13 years ago)
- Location:
- branches/version-2_5-dev/data/class/pages
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/LC_Page_InputZip.php
r19805 r20098 72 72 73 73 // 郵便番号検索 74 $ data_list = SC_Utils_Ex::sfGetAddress($zipcode);74 $arrAdsList = SC_Utils_Ex::sfGetAddress($zipcode); 75 75 76 76 // 郵便番号が発見された場合 77 if(!empty($ data_list)) {78 $data = $ data_list[0]['state']. "|". $data_list[0]['city']. "|". $data_list[0]['town'];77 if(!empty($arrAdsList)) { 78 $data = $arrAdsList[0]['state']. "|". $arrAdsList[0]['city']. "|". $arrAdsList[0]['town']; 79 79 echo $data; 80 80 … … 96 96 97 97 98 /* 入力エラーのチェック */ 99 function fnErrorCheck($array) { 100 // エラーメッセージ配列の初期化 101 $objErr = new SC_CheckError($array); 102 103 // 郵便番号 104 $objErr->doFunc( array("郵便番号1",'zip1',ZIP01_LEN ) ,array( "NUM_COUNT_CHECK", "NUM_CHECK" ) ); 105 $objErr->doFunc( array("郵便番号2",'zip2',ZIP02_LEN ) ,array( "NUM_COUNT_CHECK", "NUM_CHECK" ) ); 98 /** 99 * 入力エラーのチェック. 100 * 101 * @param array $arrRequest リクエスト値($_GET) 102 * @return array $arrErr エラーメッセージ配列 103 */ 104 function fnErrorCheck($arrRequest) { 105 // パラメータ管理クラス 106 $objFormParam = new SC_FormParam(); 107 // パラメータ情報の初期化 108 $objFormParam->addParam('郵便番号1', 'zip1', ZIP01_LEN, 'n', array('NUM_COUNT_CHECK', 'NUM_CHECK')); 109 $objFormParam->addParam('郵便番号2', 'zip2', ZIP02_LEN, 'n', array('NUM_COUNT_CHECK', 'NUM_CHECK')); 110 // // リクエスト値をセット 111 $objFormParam->setParam($arrRequest); 112 // エラーチェック 113 $arrErr = $objFormParam->checkError(); 106 114 // 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック 107 if ( !$this->lfInputNameCheck($array['input1'])) {108 $ objErr->arrErr['input1'] = "※ 入力形式が不正です。<br />";115 if ( !$this->lfInputNameCheck($arrRequest['input1']) ) { 116 $arrErr['input1'] = "※ 入力形式が不正です。<br />"; 109 117 } 110 if ( !$this->lfInputNameCheck($array['input2'])) {111 $ objErr->arrErr['input2'] = "※ 入力形式が不正です。<br />";118 if ( !$this->lfInputNameCheck($arrRequest['input2']) ) { 119 $arrErr['input2'] = "※ 入力形式が不正です。<br />"; 112 120 } 113 114 return $ objErr->arrErr;121 122 return $arrErr; 115 123 } 116 124 117 125 /** 118 * エラーチェック 126 * エラーチェック. 119 127 * 120 128 * @param string $value … … 123 131 function lfInputNameCheck($value) { 124 132 // 半角英数字と_(アンダーバー)以外の文字を使用していたらエラー 125 if(strlen($value) > 0 && ! ereg("^[a-zA-Z0-9_]+$", $value)) {133 if(strlen($value) > 0 && !preg_match("/^[a-zA-Z0-9_]+$/", $value)) { 126 134 return false; 127 135 } -
branches/version-2_5-dev/data/class/pages/LC_Page_ResizeImage.php
r19987 r20098 81 81 } 82 82 83 // ファイル名の形式をチェック 83 /** 84 * ファイル名の形式をチェック. 85 * 86 * @return boolean 正常な形式:true 不正な形式:false 87 */ 84 88 function lfCheckFileName() { 85 89 //$pattern = '|^[0-9]+_[0-9a-z]+\.[a-z]{3}$|'; -
branches/version-2_5-dev/data/class/pages/LC_Page_Sitemap.php
r20057 r20098 92 92 $this->arrPageList = $this->getPageData(); 93 93 94 $objQuery = new SC_Query();94 $objQuery = SC_Query::getSingletonInstance(); 95 95 96 96 //キャッシュしない(念のため) … … 108 108 109 109 // TOPページを処理 110 $ topPage= $this->getTopPage($this->arrPageList);111 $this->createSitemap($ topPage[0]['url'],112 $this->date2W3CDatetime($ topPage[0]['update_date']),110 $arrTopPagesList = $this->getTopPage($this->arrPageList); 111 $this->createSitemap($arrTopPagesList[0]['url'], 112 $this->date2W3CDatetime($arrTopPagesList[0]['update_date']), 113 113 'daily', 1.0); 114 114 … … 119 119 120 120 // 編集可能ページを処理 121 $ editablePages= $this->getEditablePage($this->arrPageList);122 foreach ($ editablePages as $editablePage) {123 $this->createSitemap($ editablePage['url'],124 $this->date2W3CDatetime($ editablePage['update_date']));121 $arrEditablePagesList = $this->getEditablePage($this->arrPageList); 122 foreach ($arrEditablePagesList as $arrEditablePage) { 123 $this->createSitemap($arrEditablePage['url'], 124 $this->date2W3CDatetime($arrEditablePage['update_date'])); 125 125 } 126 126 127 127 // 商品一覧ページを処理 128 $ products= $this->getAllProducts();129 foreach ($ products as $product) {130 $this->createSitemap($ product['url'], '', 'daily');128 $arrProductPagesList = $this->getAllProducts(); 129 foreach ($arrProductPagesList as $arrProductPage) { 130 $this->createSitemap($arrProductPage['url'], '', 'daily'); 131 131 } 132 132 133 133 // 商品詳細ページを処理 134 $ details= $this->getAllDetail();135 foreach ($ details as $detail) {136 $this->createSitemap($ detail['url'],137 $this->date2W3CDatetime($ detail['update_date']));134 $arrDetailPagesList = $this->getAllDetail(); 135 foreach ($arrDetailPagesList as $arrDetailPage) { 136 $this->createSitemap($arrDetailPage['url'], 137 $this->date2W3CDatetime($arrDetailPage['update_date'])); 138 138 } 139 139 … … 180 180 * TOPページの情報を取得する. 181 181 * 182 * @param array $ pageDataすべてのページ情報の配列182 * @param array $arrPageList すべてのページ情報の配列 183 183 * @return array TOPページの情報 184 184 */ 185 function getTopPage($ pageData) {185 function getTopPage($arrPageList) { 186 186 $arrRet = array(); 187 foreach ($ pageData as $page) {188 if ($ page['page_id'] == "1") {189 $arrRet[0] = $ page;187 foreach ($arrPageList as $arrPage) { 188 if ($arrPage['page_id'] == "1") { 189 $arrRet[0] = $arrPage; 190 190 return $arrRet; 191 191 } … … 196 196 * すべての編集可能ページの情報を取得する. 197 197 * 198 * @param array $ pageDataすべてのページ情報の配列198 * @param array $arrPageList すべてのページ情報の配列 199 199 * @return array 編集可能ページ 200 200 */ 201 function getEditablePage($ pageData) {201 function getEditablePage($arrPageList) { 202 202 $arrRet = array(); 203 foreach ($ pageData as $page) {204 if ($ page['page_id'] > 4) {205 $arrRet[] = $ page;203 foreach ($arrPageList as $arrPage) { 204 if ($arrPage['page_id'] > 4) { 205 $arrRet[] = $arrPage; 206 206 } 207 207 } … … 217 217 218 218 // XXX: 商品登録の無いカテゴリーは除外する方が良い気もする 219 $objQuery = new SC_Query();219 $objQuery = SC_Query::getSingletonInstance(); 220 220 $sql = "SELECT category_id FROM dtb_category WHERE del_flg = 0"; 221 221 $result = $objQuery->getAll($sql); … … 225 225 // :TODO: カテゴリの最終更新日を取得できるようにする 226 226 227 $ page["url"] = HTTP_URL . 'products/list.php?category_id=' . $row['category_id'];228 $arrRet[] = $ page;227 $arrPage["url"] = HTTP_URL . 'products/list.php?category_id=' . $row['category_id']; 228 $arrRet[] = $arrPage; 229 229 230 230 // モバイルサイト 231 231 if (USE_MOBILE !== false) { 232 $ page["url"] = MOBILE_HTTP_URL . 'products/list.php?category_id=' . $row['category_id'];233 $arrRet[] = $ page;232 $arrPage["url"] = MOBILE_HTTP_URL . 'products/list.php?category_id=' . $row['category_id']; 233 $arrRet[] = $arrPage; 234 234 } 235 235 } … … 243 243 */ 244 244 function getAllDetail() { 245 $objQuery = new SC_Query();245 $objQuery = SC_Query::getSingletonInstance(); 246 246 $sql = "SELECT product_id, update_date FROM dtb_products WHERE del_flg = 0 AND status = 1"; 247 247 $result = $objQuery->getAll($sql); … … 250 250 foreach ($result as $row) { 251 251 252 $ page["update_date"] = $row['update_date'];253 254 $ page["url"] = HTTP_URL . substr(P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];255 $arrRet[] = $ page;252 $arrPage["update_date"] = $row['update_date']; 253 254 $arrPage["url"] = HTTP_URL . substr(P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id']; 255 $arrRet[] = $arrPage; 256 256 257 257 // モバイルサイト 258 258 if (USE_MOBILE !== false) { 259 $ page["url"] = HTTP_URL . substr(MOBILE_P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];260 $arrRet[] = $ page;259 $arrPage["url"] = HTTP_URL . substr(MOBILE_P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id']; 260 $arrRet[] = $arrPage; 261 261 } 262 262 } … … 270 270 * @param string $where WHERE句 271 271 * @param array $arrVal WHERE句の値を格納した配列 272 * @return ブロック情報272 * @return array $arrPageList ブロック情報 273 273 */ 274 274 function getPageData($where = '', $arrVal = ''){ 275 $objQuery = new SC_Query(); // DB操作オブジェクト275 $objQuery = SC_Query::getSingletonInstance(); // DB操作オブジェクト 276 276 $sql = ""; // データ取得SQL生成用 277 277 $arrRet = array(); // データ取得用 … … 301 301 $sql .= " ORDER BY page_id"; 302 302 303 $ pageData= $objQuery->getAll($sql, $arrVal);303 $arrPageList = $objQuery->getAll($sql, $arrVal); 304 304 305 305 // URL にプロトコルの記載が無い場合、HTTP_URL を前置する。 306 foreach (array_keys($ pageData) as $key) {307 $ page =& $pageData[$key];308 if (!preg_match('|^https?://|i', $ page['url'])) {309 $ page['url'] = HTTP_URL . $page['url'];310 } 311 $ page['url'] = preg_replace('|/' . preg_quote(DIR_INDEX_FILE) . '$|', '/' . DIR_INDEX_PATH, $page['url']);312 } 313 unset($ page);314 315 return $ pageData;306 foreach (array_keys($arrPageList) as $key) { 307 $arrPage =& $arrPageList[$key]; 308 if (!preg_match('|^https?://|i', $arrPage['url'])) { 309 $arrPage['url'] = HTTP_URL . $arrPage['url']; 310 } 311 $arrPage['url'] = preg_replace('|/' . preg_quote(DIR_INDEX_FILE) . '$|', '/' . DIR_INDEX_PATH, $arrPage['url']); 312 } 313 unset($arrPage); 314 315 return $arrPageList; 316 316 } 317 317 … … 325 325 $arr = array(); 326 326 // 正規表現で文字列を抽出 327 ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",327 preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/", 328 328 $date, $arr); 329 329 // :TODO: time zone も取得するべき...
Note: See TracChangeset
for help on using the changeset viewer.