Changeset 22567 for branches/version-2_12-dev/data/class/util/SC_Utils.php
- Timestamp:
- 2013/02/18 19:09:54 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/util/SC_Utils.php
r22446 r22567 33 33 * @version $Id:SC_Utils.php 15532 2007-08-31 14:39:46Z nanasess $ 34 34 */ 35 class SC_Utils { 35 class SC_Utils 36 { 36 37 37 38 // インストール初期処理 38 function sfInitInstall() { 39 function sfInitInstall() 40 { 39 41 // インストール済みが定義されていない。 40 42 if (!defined('ECCUBE_INSTALL')) { … … 64 66 * @return string インストーラの URL 65 67 */ 66 function searchInstallerPath($path) { 68 function searchInstallerPath($path) 69 { 67 70 $installer = 'install/' . DIR_INDEX_PATH; 68 71 … … 101 104 * @return string $url を絶対パスに変換した URL 102 105 */ 103 function getRealURL($url) { 106 function getRealURL($url) 107 { 104 108 $parse = parse_url($url); 105 109 $tmp = explode('/', $parse['path']); … … 120 124 121 125 // 装飾付きエラーメッセージの表示 122 function sfErrorHeader($mess, $print = false) { 126 function sfErrorHeader($mess, $print = false) 127 { 123 128 global $GLOBAL_ERR; 124 129 $GLOBAL_ERR.= '<div id="errorHeader">'; … … 131 136 132 137 /* エラーページの表示 */ 133 function sfDispError($type) { 138 function sfDispError($type) 139 { 134 140 135 141 require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_DispError_Ex.php'; … … 144 150 145 151 /* サイトエラーページの表示 */ 146 function sfDispSiteError($type, $objSiteSess = '', $return_top = false, $err_msg = '') { 152 function sfDispSiteError($type, $objSiteSess = '', $return_top = false, $err_msg = '') 153 { 147 154 148 155 require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_Ex.php'; … … 165 172 * @deprecated 2.12.0 trigger_error($debugMsg, E_USER_ERROR) を使用すること 166 173 */ 167 function sfDispException($debugMsg = null) { 174 function sfDispException($debugMsg = null) 175 { 168 176 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 169 177 trigger_error($debugMsg, E_USER_ERROR); … … 171 179 172 180 /* 認証の可否判定 */ 173 function sfIsSuccess($objSess, $disp_error = true) { 181 function sfIsSuccess($objSess, $disp_error = true) 182 { 174 183 $ret = $objSess->IsSuccess(); 175 184 if ($ret != SUCCESS) { … … 206 215 * @return string アスタリスクへ変換した文字列 207 216 */ 208 function sfPassLen($passlen) { 217 function sfPassLen($passlen) 218 { 209 219 $ret = ''; 210 220 for ($i=0;$i<$passlen;true) { … … 220 230 * @return bool 221 231 */ 222 function sfIsHTTPS() { 232 function sfIsHTTPS() 233 { 223 234 // HTTPS時には$_SERVER['HTTPS']には空でない値が入る 224 235 // $_SERVER['HTTPS'] != 'off' はIIS用 … … 236 247 * @return bool 237 248 */ 238 function sfIsValidTransition($objSess) { 249 function sfIsValidTransition($objSess) 250 { 239 251 // 前画面からPOSTされるuniqidが正しいものかどうかをチェック 240 252 $uniqid = $objSess->getUniqId(); … … 247 259 248 260 /* DB用日付文字列取得 */ 249 function sfGetTimestamp($year, $month, $day, $last = false) { 261 function sfGetTimestamp($year, $month, $day, $last = false) 262 { 250 263 if ($year != '' && $month != '' && $day != '') { 251 264 if ($last) { … … 270 283 */ 271 284 // 272 function sfIsInt($value) { 285 function sfIsInt($value) 286 { 273 287 if (strlen($value) >= 1 && strlen($value) <= INT_LEN && is_numeric($value)) { 274 288 return true; … … 283 297 * @return boolean 0で埋められている 284 298 */ 285 function sfIsZeroFilling($value) { 299 function sfIsZeroFilling($value) 300 { 286 301 if (strlen($value) > 1 && $value{0} === '0') 287 302 return true; … … 289 304 } 290 305 291 function sfGetCSVData($data, $prefix = '') { 306 function sfGetCSVData($data, $prefix = '') 307 { 292 308 if ($prefix == '') { 293 309 $dir_name = SC_Utils_Ex::sfUpDirName(); … … 306 322 307 323 /* 1階層上のディレクトリ名を取得する */ 308 function sfUpDirName() { 324 function sfUpDirName() 325 { 309 326 $path = $_SERVER['SCRIPT_NAME']; 310 327 $arrVal = explode('/', $path); … … 317 334 * @deprecated 318 335 */ 319 function sfMergeCBValue($keyname, $max) { 336 function sfMergeCBValue($keyname, $max) 337 { 320 338 $conv = ''; 321 339 $cnt = 1; … … 334 352 * @deprecated 335 353 */ 336 function sfMergeCheckBoxes($array, $max) { 354 function sfMergeCheckBoxes($array, $max) 355 { 337 356 $ret = ''; 338 357 $arrTmp = array(); … … 356 375 * @deprecated 357 376 */ 358 function sfMergeParamCheckBoxes($array) { 377 function sfMergeParamCheckBoxes($array) 378 { 359 379 $ret = ''; 360 380 if (is_array($array)) { … … 376 396 * @deprecated 377 397 */ 378 function sfSearchCheckBoxes($array) { 398 function sfSearchCheckBoxes($array) 399 { 379 400 $max = max($array); 380 401 $ret = ''; … … 392 413 * @deprecated 393 414 */ 394 function sfSplitCheckBoxes($val) { 415 function sfSplitCheckBoxes($val) 416 { 395 417 $arrRet = array(); 396 418 $len = strlen($val); … … 407 429 * @deprecated 408 430 */ 409 function sfMergeCBSearchValue($keyname, $max) { 431 function sfMergeCBSearchValue($keyname, $max) 432 { 410 433 $conv = ''; 411 434 $cnt = 1; … … 424 447 * @deprecated 425 448 */ 426 function sfSplitCBValue($val, $keyname = '') { 449 function sfSplitCBValue($val, $keyname = '') 450 { 427 451 $arr = array(); 428 452 $len = strlen($val); … … 440 464 441 465 // キーと値をセットした配列を取得 442 function sfArrKeyValue($arrList, $keyname, $valname, $len_max = '', $keysize = '') { 466 function sfArrKeyValue($arrList, $keyname, $valname, $len_max = '', $keysize = '') 467 { 443 468 $arrRet = array(); 444 469 $max = count($arrList); … … 465 490 466 491 // キーと値をセットした配列を取得(値が複数の場合) 467 function sfArrKeyValues($arrList, $keyname, $valname, $len_max = '', $keysize = '', $connect = '') { 492 function sfArrKeyValues($arrList, $keyname, $valname, $len_max = '', $keysize = '', $connect = '') 493 { 468 494 469 495 $max = count($arrList); … … 492 518 493 519 // 配列の値をカンマ区切りで返す。 494 function sfGetCommaList($array, $space=true, $arrPop = array()) { 520 function sfGetCommaList($array, $space=true, $arrPop = array()) 521 { 495 522 if (count($array) > 0) { 496 523 $line = ''; … … 517 544 518 545 /* 配列の要素をCSVフォーマットで出力する。*/ 519 function sfGetCSVList($array) { 546 function sfGetCSVList($array) 547 { 520 548 $line = ''; 521 549 if (count($array) > 0) { … … 540 568 /* 3.エラー (0 = OK, 1 = NG) 541 569 /*-----------------------------------------------------------------*/ 542 function sfCheckSetTerm($start_year, $start_month, $start_day, $end_year, $end_month, $end_day) { 570 function sfCheckSetTerm($start_year, $start_month, $start_day, $end_year, $end_month, $end_day) 571 { 543 572 544 573 // 期間指定 … … 563 592 564 593 // エラー箇所の背景色を変更するためのfunction SC_Viewで読み込む 565 function sfSetErrorStyle() { 594 function sfSetErrorStyle() 595 { 566 596 return 'style="background-color:'.ERR_COLOR.'"'; 567 597 } 568 598 569 599 // 一致した値のキー名を取得 570 function sfSearchKey($array, $word, $default) { 600 function sfSearchKey($array, $word, $default) 601 { 571 602 foreach ($array as $key => $val) { 572 603 if ($val == $word) { … … 577 608 } 578 609 579 function sfGetErrorColor($val) { 610 function sfGetErrorColor($val) 611 { 580 612 if ($val != '') { 581 613 return 'background-color:' . ERR_COLOR; … … 584 616 } 585 617 586 function sfGetEnabled($val) { 618 function sfGetEnabled($val) 619 { 587 620 if (! $val) { 588 621 return ' disabled="disabled"'; … … 591 624 } 592 625 593 function sfGetChecked($param, $value) { 626 function sfGetChecked($param, $value) 627 { 594 628 if ((string)$param === (string)$value) { 595 629 return 'checked="checked"'; … … 598 632 } 599 633 600 function sfTrim($str) { 634 function sfTrim($str) 635 { 601 636 $ret = mb_ereg_replace("^[ \n\r]*", '', $str); 602 637 $ret = mb_ereg_replace("[ \n\r]*$", '', $ret); … … 615 650 * @return integer 税金額 616 651 */ 617 function sfTax($price, $tax, $tax_rule) { 652 function sfTax($price, $tax, $tax_rule) 653 { 618 654 $real_tax = $tax / 100; 619 655 $ret = $price * $real_tax; … … 650 686 * @return integer 税金付与した金額 651 687 */ 652 function sfCalcIncTax($price, $tax, $tax_rule) { 688 function sfCalcIncTax($price, $tax, $tax_rule) 689 { 653 690 return $price + SC_Utils_Ex::sfTax($price, $tax, $tax_rule); 654 691 } 655 692 656 693 // 桁数を指定して四捨五入 657 function sfRound($value, $pow = 0) { 694 function sfRound($value, $pow = 0) 695 { 658 696 $adjust = pow(10 ,$pow-1); 659 697 … … 677 715 * @return int 678 716 */ 679 function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = '') { 717 function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = '') 718 { 680 719 $real_point = $point_rate / 100; 681 720 $ret = $price * $real_point; … … 702 741 703 742 /* 規格分類の件数取得 */ 704 function sfGetClassCatCount() { 743 function sfGetClassCatCount() 744 { 705 745 $sql = 'select count(dtb_class.class_id) as count, dtb_class.class_id '; 706 746 $sql.= 'from dtb_class inner join dtb_classcategory on dtb_class.class_id = dtb_classcategory.class_id '; … … 722 762 * @return int 723 763 */ 724 function sfGetProductClassId($product_id, $classcategory_id1=0, $classcategory_id2=0) { 764 function sfGetProductClassId($product_id, $classcategory_id1=0, $classcategory_id2=0) 765 { 725 766 $where = 'product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?'; 726 767 if (!$classcategory_id1) { //NULLが入ってきた場合への対策 … … 736 777 737 778 /* 文末の「/」をなくす */ 738 function sfTrimURL($url) { 779 function sfTrimURL($url) 780 { 739 781 $ret = rtrim($url, '/'); 740 782 return $ret; … … 742 784 743 785 /* DBから取り出した日付の文字列を調整する。*/ 744 function sfDispDBDate($dbdate, $time = true) { 786 function sfDispDBDate($dbdate, $time = true) 787 { 745 788 list($y, $m, $d, $H, $M) = preg_split('/[- :]/', $dbdate); 746 789 … … 758 801 759 802 /* 配列をキー名ごとの配列に変更する */ 760 function sfSwapArray($array, $isColumnName = true) { 803 function sfSwapArray($array, $isColumnName = true) 804 { 761 805 $arrRet = array(); 762 806 foreach ($array as $key1 => $arr1) { … … 783 827 * @return array 連想配列の値のみの配列 784 828 */ 785 function getHash2Array($hash, $requires = array()) { 829 function getHash2Array($hash, $requires = array()) 830 { 786 831 $array = array(); 787 832 $i = 0; … … 801 846 802 847 /* かけ算をする(Smarty用) */ 803 function sfMultiply($num1, $num2) { 848 function sfMultiply($num1, $num2) 849 { 804 850 return $num1 * $num2; 805 851 } … … 815 861 * @return integer 加算ポイント 816 862 */ 817 function sfGetAddPoint($totalpoint, $use_point, $point_rate) { 863 function sfGetAddPoint($totalpoint, $use_point, $point_rate) 864 { 818 865 // 購入商品の合計ポイントから利用したポイントのポイント換算価値を引く方式 819 866 $add_point = $totalpoint - intval($use_point * ($point_rate / 100)); … … 826 873 827 874 /* 一意かつ予測されにくいID */ 828 function sfGetUniqRandomId($head = '') { 875 function sfGetUniqRandomId($head = '') 876 { 829 877 // 予測されないようにランダム文字列を付与する。 830 878 $random = GC_Utils_Ex::gfMakePassword(8); … … 835 883 836 884 // 二回以上繰り返されているスラッシュ[/]を一つに変換する。 837 function sfRmDupSlash($istr) { 885 function sfRmDupSlash($istr) 886 { 838 887 if (preg_match('|^http://|', $istr)) { 839 888 $str = substr($istr, 7); … … 867 916 * @return string 変換後のテキストファイルのパス 868 917 */ 869 function sfEncodeFile($filepath, $enc_type, $out_dir) { 918 function sfEncodeFile($filepath, $enc_type, $out_dir) 919 { 870 920 $ifp = fopen($filepath, 'r'); 871 921 … … 895 945 } 896 946 897 function sfCutString($str, $len, $byte = true, $commadisp = true) { 947 function sfCutString($str, $len, $byte = true, $commadisp = true) 948 { 898 949 if ($byte) { 899 950 if (strlen($str) > ($len + 2)) { … … 943 994 944 995 // 年、月、締め日から、先月の締め日+1、今月の締め日を求める。 945 function sfTermMonth($year, $month, $close_day) { 996 function sfTermMonth($year, $month, $close_day) 997 { 946 998 $end_year = $year; 947 999 $end_month = $month; … … 985 1037 986 1038 // 再帰的に多段配列を検索して一次元配列(Hidden引渡し用配列)に変換する。 987 function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = '') { 1039 function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = '') 1040 { 988 1041 if (is_array($arrSrc)) { 989 1042 foreach ($arrSrc as $key => $val) { … … 1004 1057 1005 1058 // DB取得日時をタイムに変換 1006 function sfDBDatetoTime($db_date) { 1059 function sfDBDatetoTime($db_date) 1060 { 1007 1061 $date = preg_replace("|\..*$|",'',$db_date); 1008 1062 $time = strtotime($date); … … 1015 1069 * XXX この関数を使っている箇所は、ほぼ設計誤りと思われる。変数にフェッチするか、出力時のエンコーディングで対応すべきと見受ける。 1016 1070 */ 1017 function sfMbConvertEncoding($str, $encode = CHAR_CODE) { 1071 function sfMbConvertEncoding($str, $encode = CHAR_CODE) 1072 { 1018 1073 return mb_convert_encoding($str, $encode); 1019 1074 } 1020 1075 1021 1076 // 2つの配列を用いて連想配列を作成する 1022 function sfArrCombine($arrKeys, $arrValues) { 1077 function sfArrCombine($arrKeys, $arrValues) 1078 { 1023 1079 1024 1080 if (count($arrKeys) <= 0 and count($arrValues) <= 0) return array(); … … 1038 1094 1039 1095 /* 階層構造のテーブルから与えられたIDの兄弟を取得する */ 1040 function sfGetBrothersArray($arrData, $pid_name, $id_name, $arrPID) { 1096 function sfGetBrothersArray($arrData, $pid_name, $id_name, $arrPID) 1097 { 1041 1098 $max = count($arrData); 1042 1099 … … 1061 1118 1062 1119 /* 階層構造のテーブルから与えられたIDの直属の子を取得する */ 1063 function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent) { 1120 function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent) 1121 { 1064 1122 $max = count($arrData); 1065 1123 … … 1078 1136 * @deprecated SC_Query::quote() を使用すること 1079 1137 */ 1080 function sfQuoteSmart($in) { 1138 function sfQuoteSmart($in) 1139 { 1081 1140 1082 1141 if (is_int($in) || is_double($in)) { … … 1092 1151 1093 1152 // ディレクトリを再帰的に生成する 1094 function sfMakeDir($path) { 1153 function sfMakeDir($path) 1154 { 1095 1155 static $count = 0; 1096 1156 $count++; // 無限ループ回避 … … 1119 1179 1120 1180 // ディレクトリ以下のファイルを再帰的にコピー 1121 function sfCopyDir($src, $des, $mess = '', $override = false) { 1181 function sfCopyDir($src, $des, $mess = '', $override = false) 1182 { 1122 1183 if (!is_dir($src)) { 1123 1184 return false; … … 1176 1237 * @return void 1177 1238 */ 1178 function sfFlush($output = false, $sleep = 0) { 1239 function sfFlush($output = false, $sleep = 0) 1240 { 1179 1241 // 出力をバッファリングしない(==日本語自動変換もしない) 1180 1242 while (@ob_end_flush()); … … 1198 1260 1199 1261 // @versionの記載があるファイルからバージョンを取得する。 1200 function sfGetFileVersion($path) { 1262 function sfGetFileVersion($path) 1263 { 1201 1264 if (file_exists($path)) { 1202 1265 $src_fp = fopen($path, 'rb'); … … 1223 1286 * @see mb_convert_kana 1224 1287 */ 1225 function mbConvertKanaWithArray($array, $arrConvList) { 1288 function mbConvertKanaWithArray($array, $arrConvList) 1289 { 1226 1290 foreach ($arrConvList as $key => $val) { 1227 1291 if (isset($array[$key])) { … … 1239 1303 * @return array 添字を定義した配列 1240 1304 */ 1241 function arrayDefineIndexes($array, $defineIndexes) { 1305 function arrayDefineIndexes($array, $defineIndexes) 1306 { 1242 1307 foreach ($defineIndexes as $key) { 1243 1308 if (!isset($array[$key])) $array[$key] = ''; … … 1255 1320 * @return array 1256 1321 */ 1257 function sfArrayIntersectKeys($arrSrc, $arrKey) { 1322 function sfArrayIntersectKeys($arrSrc, $arrKey) 1323 { 1258 1324 $arrRet = array(); 1259 1325 foreach ($arrKey as $key) { … … 1268 1334 * @deprecated 2.12.0 GC_Utils_Ex::printXMLDeclaration を使用すること 1269 1335 */ 1270 function printXMLDeclaration() { 1336 function printXMLDeclaration() 1337 { 1271 1338 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1272 1339 GC_Utils_Ex::printXMLDeclaration(); … … 1278 1345 * @return string 1279 1346 */ 1280 function getTableTag($array) { 1347 function getTableTag($array) 1348 { 1281 1349 $html = '<table>'; 1282 1350 $html.= '<tr>'; … … 1304 1372 * @return string 1305 1373 */ 1306 function sfNoImageMainList($filename = '') { 1374 function sfNoImageMainList($filename = '') 1375 { 1307 1376 if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') { 1308 1377 $filename .= 'noimage_main_list.jpg'; … … 1317 1386 * @return string 1318 1387 */ 1319 function sfNoImageMain($filename = '') { 1388 function sfNoImageMain($filename = '') 1389 { 1320 1390 if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') { 1321 1391 $filename .= 'noimage_main.png'; … … 1325 1395 1326 1396 /* デバッグ用 ------------------------------------------------------------------------------------------------*/ 1327 function sfPrintR($obj) { 1397 function sfPrintR($obj) 1398 { 1328 1399 echo '<div style="font-size: 12px;color: #00FF00;">' . "\n"; 1329 1400 echo '<strong>**デバッグ中**</strong><br />' . "\n"; … … 1340 1411 * @return string ランダムな文字列 1341 1412 */ 1342 function sfGetRandomString($length = 1) { 1413 function sfGetRandomString($length = 1) 1414 { 1343 1415 return Text_Password::create($length); 1344 1416 } … … 1349 1421 * @deprecated 2.12.0 GC_Utils_Ex::getUrl を使用すること 1350 1422 */ 1351 function sfGetUrl() { 1423 function sfGetUrl() 1424 { 1352 1425 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1353 1426 return GC_Utils_Ex::getUrl(); … … 1359 1432 * @deprecated 2.12.0 GC_Utils_Ex::toStringBacktrace を使用すること 1360 1433 */ 1361 function sfBacktraceToString($arrBacktrace) { 1434 function sfBacktraceToString($arrBacktrace) 1435 { 1362 1436 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1363 1437 return GC_Utils_Ex::toStringBacktrace($arrBacktrace); … … 1369 1443 * @deprecated 2.12.0 GC_Utils_Ex::isAdminFunction を使用すること 1370 1444 */ 1371 function sfIsAdminFunction() { 1445 function sfIsAdminFunction() 1446 { 1372 1447 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1373 1448 return GC_Utils_Ex::isAdminFunction(); … … 1379 1454 * @deprecated 2.12.0 GC_Utils_Ex::isFrontFunction を使用すること 1380 1455 */ 1381 function sfIsFrontFunction() { 1456 function sfIsFrontFunction() 1457 { 1382 1458 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1383 1459 return GC_Utils_Ex::isFrontFunction(); … … 1389 1465 * @deprecated 2.12.0 GC_Utils_Ex::isInstallFunction を使用すること 1390 1466 */ 1391 function sfIsInstallFunction() { 1467 function sfIsInstallFunction() 1468 { 1392 1469 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1393 1470 return GC_Utils_Ex::isInstallFunction(); … … 1395 1472 1396 1473 // 郵便番号から住所の取得 1397 function sfGetAddress($zipcode) { 1474 function sfGetAddress($zipcode) 1475 { 1398 1476 1399 1477 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 1441 1519 * @deprecated 2.12.0 microtime(true) を使用する。 1442 1520 */ 1443 function sfMicrotimeFloat() { 1521 function sfMicrotimeFloat() 1522 { 1444 1523 trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 1445 1524 return microtime(true); … … 1467 1546 * @return boolean $val が空白と判断された場合 true 1468 1547 */ 1469 function isBlank($val, $greedy = true) { 1548 function isBlank($val, $greedy = true) 1549 { 1470 1550 if (is_array($val)) { 1471 1551 if ($greedy) { … … 1509 1589 * @return boolean 1510 1590 */ 1511 function sfIsInternalDomain($url) { 1591 function sfIsInternalDomain($url) 1592 { 1512 1593 $netURL = new Net_URL(HTTP_URL); 1513 1594 $host = $netURL->host; … … 1525 1606 * @return string ハッシュ暗号化された文字列 1526 1607 */ 1527 function sfGetHashString($str, $salt) { 1608 function sfGetHashString($str, $salt) 1609 { 1528 1610 $res = ''; 1529 1611 if ($salt == '') { … … 1546 1628 * @return boolean 一致判定 1547 1629 */ 1548 function sfIsMatchHashPassword($pass, $hashpass, $salt) { 1630 function sfIsMatchHashPassword($pass, $hashpass, $salt) 1631 { 1549 1632 $res = false; 1550 1633 if ($hashpass != '') { … … 1577 1660 * @return integer 1ページあたりの最大表示件数 1578 1661 */ 1579 function sfGetSearchPageMax($search_page_max) { 1662 function sfGetSearchPageMax($search_page_max) 1663 { 1580 1664 if (SC_Utils_Ex::sfIsInt($search_page_max) && $search_page_max > 0) { 1581 1665 $page_max = intval($search_page_max); … … 1598 1682 * @see Services_JSON::encode() 1599 1683 */ 1600 function jsonEncode($value) { 1684 function jsonEncode($value) 1685 { 1601 1686 if (function_exists('json_encode')) { 1602 1687 return json_encode($value); … … 1620 1705 * @see Services_JSON::decode() 1621 1706 */ 1622 function jsonDecode($json) { 1707 function jsonDecode($json) 1708 { 1623 1709 if (function_exists('json_decode')) { 1624 1710 return json_decode($json); … … 1639 1725 * @return boolean 絶対パスの場合 true 1640 1726 */ 1641 function isAbsoluteRealPath($realpath) { 1727 function isAbsoluteRealPath($realpath) 1728 { 1642 1729 if (strpos(PHP_OS, 'WIN') === false) { 1643 1730 return substr($realpath, 0, 1) == '/'; … … 1657 1744 * @see http://jp.php.net/mkdir 1658 1745 */ 1659 function recursiveMkdir($pathname, $mode = 0777) { 1746 function recursiveMkdir($pathname, $mode = 0777) 1747 { 1660 1748 /* 1661 1749 * SC_Utils_Ex への再帰は無限ループやメモリリークの懸念 … … 1666 1754 } 1667 1755 1668 function isAppInnerUrl($url) { 1756 function isAppInnerUrl($url) 1757 { 1669 1758 $pattern = '/^(' . preg_quote(HTTP_URL, '/') . '|' . preg_quote(HTTPS_URL, '/') . ')/'; 1670 1759 return preg_match($pattern, $url) >= 1; … … 1679 1768 * @return boolean 成功=true, 失敗=false 1680 1769 */ 1681 function extendTimeOut($seconds = null) { 1770 function extendTimeOut($seconds = null) 1771 { 1682 1772 $safe_mode = (boolean)ini_get('safe_mode'); 1683 1773 if ($safe_mode) return false; … … 1701 1791 * @return void 1702 1792 */ 1703 function clearCompliedTemplate() { 1793 function clearCompliedTemplate() 1794 { 1704 1795 // コンパイルファイルの削除処理 1705 1796 SC_Helper_FileManager_Ex::deleteFile(COMPILE_REALDIR, false); … … 1715 1806 * @return void 1716 1807 */ 1717 function copyDirectory($source_path, $dest_path) { 1808 function copyDirectory($source_path, $dest_path) 1809 { 1718 1810 1719 1811 $handle=opendir($source_path); … … 1741 1833 * @return string 1742 1834 */ 1743 function repeatStrWithSeparator($input, $multiplier, $separator = ',') { 1835 function repeatStrWithSeparator($input, $multiplier, $separator = ',') 1836 { 1744 1837 return implode($separator, array_fill(0, $multiplier, $input)); 1745 1838 } … … 1752 1845 * @return string RFC3986エンコード文字列 1753 1846 */ 1754 function encodeRFC3986($str) { 1847 function encodeRFC3986($str) 1848 { 1755 1849 return str_replace('%7E', '~', rawurlencode($str)); 1756 1850 } … … 1763 1857 * @return string 変更後の文字列 1764 1858 */ 1765 static function trim($str, $charlist = null) { 1859 static function trim($str, $charlist = null) 1860 { 1766 1861 $re = SC_Utils_Ex::getTrimPregPattern($charlist); 1767 1862 return preg_replace('/(^' . $re . ')|(' . $re . '$)/us', '', $str); … … 1775 1870 * @return string 変更後の文字列 1776 1871 */ 1777 static function ltrim($str, $charlist = null) { 1872 static function ltrim($str, $charlist = null) 1873 { 1778 1874 $re = SC_Utils_Ex::getTrimPregPattern($charlist); 1779 1875 return preg_replace('/^' . $re . '/us', '', $str); … … 1787 1883 * @return string 変更後の文字列 1788 1884 */ 1789 static function rtrim($str, $charlist = null) { 1885 static function rtrim($str, $charlist = null) 1886 { 1790 1887 $re = SC_Utils_Ex::getTrimPregPattern($charlist); 1791 1888 return preg_replace('/' . $re . '$/us', '', $str); … … 1798 1895 * @return string パターン 1799 1896 */ 1800 static function getTrimPregPattern($charlist = null) { 1897 static function getTrimPregPattern($charlist = null) 1898 { 1801 1899 if (is_null($charlist)) { 1802 1900 return '\s+'; … … 1812 1910 * @return string 1813 1911 */ 1814 function getUnitDataSize($data){ 1912 function getUnitDataSize($data) 1913 { 1815 1914 1816 1915 if($data < 1000){
Note: See TracChangeset
for help on using the changeset viewer.
