Ignore:
Timestamp:
2013/05/02 18:11:36 (11 years ago)
Author:
h_yoshimoto
Message:

#2236 2.12.3リリース以降の2.12-devへのコミット差し戻し

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/util/SC_Utils.php

    r22603 r22796  
    3333 * @version $Id:SC_Utils.php 15532 2007-08-31 14:39:46Z nanasess $ 
    3434 */ 
    35 class SC_Utils  
    36 { 
     35class SC_Utils { 
    3736 
    3837    // インストール初期処理 
    39     function sfInitInstall() 
    40     { 
     38    function sfInitInstall() { 
    4139        // インストール済みが定義されていない。 
    4240        if (!defined('ECCUBE_INSTALL')) { 
     
    6664     * @return string インストーラの URL 
    6765     */ 
    68     function searchInstallerPath($path) 
    69     { 
     66    function searchInstallerPath($path) { 
    7067        $installer = 'install/' . DIR_INDEX_PATH; 
    7168 
     
    104101     * @return string $url を絶対パスに変換した URL 
    105102     */ 
    106     function getRealURL($url) 
    107     { 
     103    function getRealURL($url) { 
    108104        $parse = parse_url($url); 
    109105        $tmp = explode('/', $parse['path']); 
     
    124120 
    125121    // 装飾付きエラーメッセージの表示 
    126     function sfErrorHeader($mess, $print = false) 
    127     { 
     122    function sfErrorHeader($mess, $print = false) { 
    128123        global $GLOBAL_ERR; 
    129124        $GLOBAL_ERR.= '<div id="errorHeader">'; 
     
    136131 
    137132    /* エラーページの表示 */ 
    138     function sfDispError($type) 
    139     { 
     133    function sfDispError($type) { 
    140134 
    141135        require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_DispError_Ex.php'; 
     
    150144 
    151145    /* サイトエラーページの表示 */ 
    152     function sfDispSiteError($type, $objSiteSess = '', $return_top = false, $err_msg = '') 
    153     { 
     146    function sfDispSiteError($type, $objSiteSess = '', $return_top = false, $err_msg = '') { 
    154147 
    155148        require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_Ex.php'; 
     
    172165     * @deprecated 2.12.0 trigger_error($debugMsg, E_USER_ERROR) を使用すること 
    173166     */ 
    174     function sfDispException($debugMsg = null) 
    175     { 
     167    function sfDispException($debugMsg = null) { 
    176168        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    177169        trigger_error($debugMsg, E_USER_ERROR); 
     
    179171 
    180172    /* 認証の可否判定 */ 
    181     function sfIsSuccess($objSess, $disp_error = true) 
    182     { 
     173    function sfIsSuccess($objSess, $disp_error = true) { 
    183174        $ret = $objSess->IsSuccess(); 
    184175        if ($ret != SUCCESS) { 
     
    215206     * @return string アスタリスクへ変換した文字列 
    216207     */ 
    217     function sfPassLen($passlen) 
    218     { 
     208    function sfPassLen($passlen) { 
    219209        $ret = ''; 
    220210        for ($i=0;$i<$passlen;true) { 
     
    230220     * @return bool 
    231221     */ 
    232     function sfIsHTTPS() 
    233     { 
     222    function sfIsHTTPS() { 
    234223        // HTTPS時には$_SERVER['HTTPS']には空でない値が入る 
    235224        // $_SERVER['HTTPS'] != 'off' はIIS用 
     
    247236     *  @return bool 
    248237     */ 
    249     function sfIsValidTransition($objSess) 
    250     { 
     238    function sfIsValidTransition($objSess) { 
    251239        // 前画面からPOSTされるuniqidが正しいものかどうかをチェック 
    252240        $uniqid = $objSess->getUniqId(); 
     
    259247 
    260248    /* DB用日付文字列取得 */ 
    261     function sfGetTimestamp($year, $month, $day, $last = false) 
    262     { 
     249    function sfGetTimestamp($year, $month, $day, $last = false) { 
    263250        if ($year != '' && $month != '' && $day != '') { 
    264251            if ($last) { 
     
    283270     */ 
    284271    // 
    285     function sfIsInt($value) 
    286     { 
     272    function sfIsInt($value) { 
    287273        if (strlen($value) >= 1 && strlen($value) <= INT_LEN && is_numeric($value)) { 
    288274            return true; 
     
    297283     * @return boolean 0で埋められている 
    298284     */ 
    299     function sfIsZeroFilling($value) 
    300     { 
     285    function sfIsZeroFilling($value) { 
    301286        if (strlen($value) > 1 && $value{0} === '0') 
    302287            return true; 
     
    304289    } 
    305290 
    306     function sfGetCSVData($data, $prefix = '') 
    307     { 
     291    function sfGetCSVData($data, $prefix = '') { 
    308292        if ($prefix == '') { 
    309293            $dir_name = SC_Utils_Ex::sfUpDirName(); 
     
    322306 
    323307    /* 1階層上のディレクトリ名を取得する */ 
    324     function sfUpDirName() 
    325     { 
     308    function sfUpDirName() { 
    326309        $path = $_SERVER['SCRIPT_NAME']; 
    327310        $arrVal = explode('/', $path); 
     
    334317     * @deprecated 
    335318     */ 
    336     function sfMergeCBValue($keyname, $max) 
    337     { 
     319    function sfMergeCBValue($keyname, $max) { 
    338320        $conv = ''; 
    339321        $cnt = 1; 
     
    352334     * @deprecated 
    353335     */ 
    354     function sfMergeCheckBoxes($array, $max) 
    355     { 
     336    function sfMergeCheckBoxes($array, $max) { 
    356337        $ret = ''; 
    357338        $arrTmp = array(); 
     
    375356     * @deprecated 
    376357     */ 
    377     function sfMergeParamCheckBoxes($array) 
    378     { 
     358    function sfMergeParamCheckBoxes($array) { 
    379359        $ret = ''; 
    380360        if (is_array($array)) { 
     
    396376     * @deprecated 
    397377     */ 
    398     function sfSearchCheckBoxes($array) 
    399     { 
     378    function sfSearchCheckBoxes($array) { 
    400379        $max = max($array); 
    401380        $ret = ''; 
     
    413392     * @deprecated 
    414393     */ 
    415     function sfSplitCheckBoxes($val) 
    416     { 
     394    function sfSplitCheckBoxes($val) { 
    417395        $arrRet = array(); 
    418396        $len = strlen($val); 
     
    429407     * @deprecated 
    430408     */ 
    431     function sfMergeCBSearchValue($keyname, $max) 
    432     { 
     409    function sfMergeCBSearchValue($keyname, $max) { 
    433410        $conv = ''; 
    434411        $cnt = 1; 
     
    447424     * @deprecated 
    448425     */ 
    449     function sfSplitCBValue($val, $keyname = '') 
    450     { 
     426    function sfSplitCBValue($val, $keyname = '') { 
    451427        $arr = array(); 
    452428        $len = strlen($val); 
     
    464440 
    465441    // キーと値をセットした配列を取得 
    466     function sfArrKeyValue($arrList, $keyname, $valname, $len_max = '', $keysize = '') 
    467     { 
     442    function sfArrKeyValue($arrList, $keyname, $valname, $len_max = '', $keysize = '') { 
    468443        $arrRet = array(); 
    469444        $max = count($arrList); 
     
    490465 
    491466    // キーと値をセットした配列を取得(値が複数の場合) 
    492     function sfArrKeyValues($arrList, $keyname, $valname, $len_max = '', $keysize = '', $connect = '') 
    493     { 
     467    function sfArrKeyValues($arrList, $keyname, $valname, $len_max = '', $keysize = '', $connect = '') { 
    494468 
    495469        $max = count($arrList); 
     
    518492 
    519493    // 配列の値をカンマ区切りで返す。 
    520     function sfGetCommaList($array, $space=true, $arrPop = array()) 
    521     { 
     494    function sfGetCommaList($array, $space=true, $arrPop = array()) { 
    522495        if (count($array) > 0) { 
    523496            $line = ''; 
     
    544517 
    545518    /* 配列の要素をCSVフォーマットで出力する。*/ 
    546     function sfGetCSVList($array) 
    547     { 
     519    function sfGetCSVList($array) { 
    548520        $line = ''; 
    549521        if (count($array) > 0) { 
     
    568540    /*            3.エラー (0 = OK, 1 = NG) 
    569541    /*-----------------------------------------------------------------*/ 
    570     function sfCheckSetTerm($start_year, $start_month, $start_day, $end_year, $end_month, $end_day) 
    571     { 
     542    function sfCheckSetTerm($start_year, $start_month, $start_day, $end_year, $end_month, $end_day) { 
    572543 
    573544        // 期間指定 
     
    592563 
    593564    // エラー箇所の背景色を変更するためのfunction SC_Viewで読み込む 
    594     function sfSetErrorStyle() 
    595     { 
     565    function sfSetErrorStyle() { 
    596566        return 'style="background-color:'.ERR_COLOR.'"'; 
    597567    } 
    598568 
    599569    // 一致した値のキー名を取得 
    600     function sfSearchKey($array, $word, $default) 
    601     { 
     570    function sfSearchKey($array, $word, $default) { 
    602571        foreach ($array as $key => $val) { 
    603572            if ($val == $word) { 
     
    608577    } 
    609578 
    610     function sfGetErrorColor($val) 
    611     { 
     579    function sfGetErrorColor($val) { 
    612580        if ($val != '') { 
    613581            return 'background-color:' . ERR_COLOR; 
     
    616584    } 
    617585 
    618     function sfGetEnabled($val) 
    619     { 
     586    function sfGetEnabled($val) { 
    620587        if (! $val) { 
    621588            return ' disabled="disabled"'; 
     
    624591    } 
    625592 
    626     function sfGetChecked($param, $value) 
    627     { 
     593    function sfGetChecked($param, $value) { 
    628594        if ((string)$param === (string)$value) { 
    629595            return 'checked="checked"'; 
     
    632598    } 
    633599 
    634     function sfTrim($str) 
    635     { 
     600    function sfTrim($str) { 
    636601        $ret = mb_ereg_replace("^[  \n\r]*", '', $str); 
    637602        $ret = mb_ereg_replace("[  \n\r]*$", '', $ret); 
     
    650615     * @return integer 税金額 
    651616     */ 
    652     function sfTax($price, $tax, $tax_rule) 
    653     { 
     617    function sfTax($price, $tax, $tax_rule) { 
    654618        $real_tax = $tax / 100; 
    655619        $ret = $price * $real_tax; 
     
    686650     * @return integer 税金付与した金額 
    687651     */ 
    688     function sfCalcIncTax($price, $tax, $tax_rule) 
    689     { 
     652    function sfCalcIncTax($price, $tax, $tax_rule) { 
    690653        return $price + SC_Utils_Ex::sfTax($price, $tax, $tax_rule); 
    691654    } 
    692655 
    693656    // 桁数を指定して四捨五入 
    694     function sfRound($value, $pow = 0) 
    695     { 
     657    function sfRound($value, $pow = 0) { 
    696658        $adjust = pow(10 ,$pow-1); 
    697659 
     
    715677     * @return int  
    716678     */ 
    717     function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = '') 
    718     { 
     679    function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = '') { 
    719680        $real_point = $point_rate / 100; 
    720681        $ret = $price * $real_point; 
     
    741702 
    742703    /* 規格分類の件数取得 */ 
    743     function sfGetClassCatCount() 
    744     { 
     704    function sfGetClassCatCount() { 
    745705        $sql = 'select count(dtb_class.class_id) as count, dtb_class.class_id '; 
    746706        $sql.= 'from dtb_class inner join dtb_classcategory on dtb_class.class_id = dtb_classcategory.class_id '; 
     
    756716 
    757717    /** 
    758      * 商品IDとカテゴリIDから商品規格IDを取得する 
     718     * $classcategory_id1 と $classcategory_id2 が使用されていない。 
    759719     * @param int $product_id 
    760      * @param int $classcategory_id1 デフォルト値0 
    761      * @param int $classcategory_id2 デフォルト値0 
     720     * @param int $classcategory_id1 
     721     * @param int $classcategory_id2 
    762722     * @return int  
    763723     */ 
    764     function sfGetProductClassId($product_id, $classcategory_id1=0, $classcategory_id2=0) 
    765     { 
    766         $where = 'product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?'; 
    767         if (!$classcategory_id1) { //NULLが入ってきた場合への対策 
    768           $classcategory_id1 = 0; 
    769         } 
    770         if (!$classcategory_id2) { 
    771           $classcategory_id2 = 0; 
    772         } 
     724    function sfGetProductClassId($product_id, $classcategory_id1, $classcategory_id2) { 
     725        $where = 'product_id = ?'; 
    773726        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    774         $ret = $objQuery->get('product_class_id', 'dtb_products_class', $where, Array($product_id, $classcategory_id1, $classcategory_id2)); 
     727        $ret = $objQuery->get('product_class_id', 'dtb_products_class', $where, Array($product_id)); 
    775728        return $ret; 
    776729    } 
    777730 
    778731    /* 文末の「/」をなくす */ 
    779     function sfTrimURL($url) 
    780     { 
     732    function sfTrimURL($url) { 
    781733        $ret = rtrim($url, '/'); 
    782734        return $ret; 
     
    784736 
    785737    /* DBから取り出した日付の文字列を調整する。*/ 
    786     function sfDispDBDate($dbdate, $time = true) 
    787     { 
     738    function sfDispDBDate($dbdate, $time = true) { 
    788739        list($y, $m, $d, $H, $M) = preg_split('/[- :]/', $dbdate); 
    789740 
     
    801752 
    802753    /* 配列をキー名ごとの配列に変更する */ 
    803     function sfSwapArray($array, $isColumnName = true) 
    804     { 
     754    function sfSwapArray($array, $isColumnName = true) { 
    805755        $arrRet = array(); 
    806756        foreach ($array as $key1 => $arr1) { 
     
    827777     * @return array 連想配列の値のみの配列 
    828778     */ 
    829     function getHash2Array($hash, $requires = array()) 
    830     { 
     779    function getHash2Array($hash, $requires = array()) { 
    831780        $array = array(); 
    832781        $i = 0; 
     
    846795 
    847796    /* かけ算をする(Smarty用) */ 
    848     function sfMultiply($num1, $num2) 
    849     { 
     797    function sfMultiply($num1, $num2) { 
    850798        return $num1 * $num2; 
    851799    } 
     
    861809     * @return integer 加算ポイント 
    862810     */ 
    863     function sfGetAddPoint($totalpoint, $use_point, $point_rate) 
    864     { 
     811    function sfGetAddPoint($totalpoint, $use_point, $point_rate) { 
    865812        // 購入商品の合計ポイントから利用したポイントのポイント換算価値を引く方式 
    866813        $add_point = $totalpoint - intval($use_point * ($point_rate / 100)); 
     
    873820 
    874821    /* 一意かつ予測されにくいID */ 
    875     function sfGetUniqRandomId($head = '') 
    876     { 
     822    function sfGetUniqRandomId($head = '') { 
    877823        // 予測されないようにランダム文字列を付与する。 
    878824        $random = GC_Utils_Ex::gfMakePassword(8); 
     
    883829 
    884830    // 二回以上繰り返されているスラッシュ[/]を一つに変換する。 
    885     function sfRmDupSlash($istr) 
    886     { 
     831    function sfRmDupSlash($istr) { 
    887832        if (preg_match('|^http://|', $istr)) { 
    888833            $str = substr($istr, 7); 
     
    916861     * @return string 変換後のテキストファイルのパス 
    917862     */ 
    918     function sfEncodeFile($filepath, $enc_type, $out_dir) 
    919     { 
     863    function sfEncodeFile($filepath, $enc_type, $out_dir) { 
    920864        $ifp = fopen($filepath, 'r'); 
    921865 
     
    945889    } 
    946890 
    947     function sfCutString($str, $len, $byte = true, $commadisp = true) 
    948     { 
     891    function sfCutString($str, $len, $byte = true, $commadisp = true) { 
    949892        if ($byte) { 
    950893            if (strlen($str) > ($len + 2)) { 
     
    994937 
    995938    // 年、月、締め日から、先月の締め日+1、今月の締め日を求める。 
    996     function sfTermMonth($year, $month, $close_day) 
    997     { 
     939    function sfTermMonth($year, $month, $close_day) { 
    998940        $end_year = $year; 
    999941        $end_month = $month; 
     
    1037979 
    1038980    // 再帰的に多段配列を検索して一次元配列(Hidden引渡し用配列)に変換する。 
    1039     function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = '') 
    1040     { 
     981    function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = '') { 
    1041982        if (is_array($arrSrc)) { 
    1042983            foreach ($arrSrc as $key => $val) { 
     
    1057998 
    1058999    // DB取得日時をタイムに変換 
    1059     function sfDBDatetoTime($db_date) 
    1060     { 
     1000    function sfDBDatetoTime($db_date) { 
    10611001        $date = preg_replace("|\..*$|",'',$db_date); 
    10621002        $time = strtotime($date); 
     
    10691009     * XXX この関数を使っている箇所は、ほぼ設計誤りと思われる。変数にフェッチするか、出力時のエンコーディングで対応すべきと見受ける。 
    10701010     */ 
    1071     function sfMbConvertEncoding($str, $encode = CHAR_CODE) 
    1072     { 
     1011    function sfMbConvertEncoding($str, $encode = CHAR_CODE) { 
    10731012        return mb_convert_encoding($str, $encode); 
    10741013    } 
    10751014 
    10761015    // 2つの配列を用いて連想配列を作成する 
    1077     function sfArrCombine($arrKeys, $arrValues) 
    1078     { 
     1016    function sfArrCombine($arrKeys, $arrValues) { 
    10791017 
    10801018        if (count($arrKeys) <= 0 and count($arrValues) <= 0) return array(); 
     
    10931031    } 
    10941032 
     1033    /* 階層構造のテーブルから与えられたIDの兄弟を取得する */ 
     1034    function sfGetBrothersArray($arrData, $pid_name, $id_name, $arrPID) { 
     1035        $max = count($arrData); 
     1036 
     1037        $arrBrothers = array(); 
     1038        foreach ($arrPID as $id) { 
     1039            // 親IDを検索する 
     1040            for ($i = 0; $i < $max; $i++) { 
     1041                if ($arrData[$i][$id_name] == $id) { 
     1042                    $parent = $arrData[$i][$pid_name]; 
     1043                    break; 
     1044                } 
     1045            } 
     1046            // 兄弟IDを検索する 
     1047            for ($i = 0; $i < $max; $i++) { 
     1048                if ($arrData[$i][$pid_name] == $parent) { 
     1049                    $arrBrothers[] = $arrData[$i][$id_name]; 
     1050                } 
     1051            } 
     1052        } 
     1053        return $arrBrothers; 
     1054    } 
     1055 
    10951056    /* 階層構造のテーブルから与えられたIDの直属の子を取得する */ 
    1096     function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent) 
    1097     { 
     1057    function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent) { 
    10981058        $max = count($arrData); 
    10991059 
     
    11121072     * @deprecated SC_Query::quote() を使用すること 
    11131073     */ 
    1114     function sfQuoteSmart($in) 
    1115     { 
     1074    function sfQuoteSmart($in) { 
    11161075 
    11171076        if (is_int($in) || is_double($in)) { 
     
    11271086 
    11281087    // ディレクトリを再帰的に生成する 
    1129     function sfMakeDir($path) 
    1130     { 
     1088    function sfMakeDir($path) { 
    11311089        static $count = 0; 
    11321090        $count++;  // 無限ループ回避 
     
    11551113 
    11561114    // ディレクトリ以下のファイルを再帰的にコピー 
    1157     function sfCopyDir($src, $des, $mess = '', $override = false) 
    1158     { 
     1115    function sfCopyDir($src, $des, $mess = '', $override = false) { 
    11591116        if (!is_dir($src)) { 
    11601117            return false; 
     
    12131170     * @return void 
    12141171     */ 
    1215     function sfFlush($output = false, $sleep = 0) 
    1216     { 
     1172    function sfFlush($output = false, $sleep = 0) { 
    12171173        // 出力をバッファリングしない(==日本語自動変換もしない) 
    12181174        while (@ob_end_flush()); 
     
    12361192 
    12371193    // @versionの記載があるファイルからバージョンを取得する。 
    1238     function sfGetFileVersion($path) 
    1239     { 
     1194    function sfGetFileVersion($path) { 
    12401195        if (file_exists($path)) { 
    12411196            $src_fp = fopen($path, 'rb'); 
     
    12621217     * @see mb_convert_kana 
    12631218     */ 
    1264     function mbConvertKanaWithArray($array, $arrConvList) 
    1265     { 
     1219    function mbConvertKanaWithArray($array, $arrConvList) { 
    12661220        foreach ($arrConvList as $key => $val) { 
    12671221            if (isset($array[$key])) { 
     
    12791233     * @return array 添字を定義した配列 
    12801234     */ 
    1281     function arrayDefineIndexes($array, $defineIndexes) 
    1282     { 
     1235    function arrayDefineIndexes($array, $defineIndexes) { 
    12831236        foreach ($defineIndexes as $key) { 
    12841237            if (!isset($array[$key])) $array[$key] = ''; 
     
    12961249     * @return array 
    12971250     */ 
    1298     function sfArrayIntersectKeys($arrSrc, $arrKey) 
    1299     { 
     1251    function sfArrayIntersectKeys($arrSrc, $arrKey) { 
    13001252        $arrRet = array(); 
    13011253        foreach ($arrKey as $key) { 
     
    13101262     * @deprecated 2.12.0 GC_Utils_Ex::printXMLDeclaration を使用すること 
    13111263     */ 
    1312     function printXMLDeclaration() 
    1313     { 
     1264    function printXMLDeclaration() { 
    13141265        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    13151266        GC_Utils_Ex::printXMLDeclaration(); 
     
    13211272     * @return string 
    13221273     */ 
    1323     function getTableTag($array) 
    1324     { 
     1274    function getTableTag($array) { 
    13251275        $html = '<table>'; 
    13261276        $html.= '<tr>'; 
     
    13481298     * @return string 
    13491299     */ 
    1350     function sfNoImageMainList($filename = '') 
    1351     { 
     1300    function sfNoImageMainList($filename = '') { 
    13521301        if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') { 
    13531302            $filename .= 'noimage_main_list.jpg'; 
     
    13621311     * @return string 
    13631312     */ 
    1364     function sfNoImageMain($filename = '') 
    1365     { 
     1313    function sfNoImageMain($filename = '') { 
    13661314        if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') { 
    13671315            $filename .= 'noimage_main.png'; 
     
    13711319 
    13721320    /* デバッグ用 ------------------------------------------------------------------------------------------------*/ 
    1373     function sfPrintR($obj) 
    1374     { 
     1321    function sfPrintR($obj) { 
    13751322        echo '<div style="font-size: 12px;color: #00FF00;">' . "\n"; 
    13761323        echo '<strong>**デバッグ中**</strong><br />' . "\n"; 
     
    13871334     * @return string ランダムな文字列 
    13881335     */ 
    1389     function sfGetRandomString($length = 1) 
    1390     { 
     1336    function sfGetRandomString($length = 1) { 
    13911337        return Text_Password::create($length); 
    13921338    } 
     
    13971343     * @deprecated 2.12.0 GC_Utils_Ex::getUrl を使用すること 
    13981344     */ 
    1399     function sfGetUrl() 
    1400     { 
     1345    function sfGetUrl() { 
    14011346        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    14021347        return GC_Utils_Ex::getUrl(); 
     
    14081353     * @deprecated 2.12.0 GC_Utils_Ex::toStringBacktrace を使用すること 
    14091354     */ 
    1410     function sfBacktraceToString($arrBacktrace) 
    1411     { 
     1355    function sfBacktraceToString($arrBacktrace) { 
    14121356        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    14131357        return GC_Utils_Ex::toStringBacktrace($arrBacktrace); 
     
    14191363     * @deprecated 2.12.0 GC_Utils_Ex::isAdminFunction を使用すること 
    14201364     */ 
    1421     function sfIsAdminFunction() 
    1422     { 
     1365    function sfIsAdminFunction() { 
    14231366        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    14241367        return GC_Utils_Ex::isAdminFunction(); 
     
    14301373     * @deprecated 2.12.0 GC_Utils_Ex::isFrontFunction を使用すること 
    14311374     */ 
    1432     function sfIsFrontFunction() 
    1433     { 
     1375    function sfIsFrontFunction() { 
    14341376        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    14351377        return GC_Utils_Ex::isFrontFunction(); 
     
    14411383     * @deprecated 2.12.0 GC_Utils_Ex::isInstallFunction を使用すること 
    14421384     */ 
    1443     function sfIsInstallFunction() 
    1444     { 
     1385    function sfIsInstallFunction() { 
    14451386        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    14461387        return GC_Utils_Ex::isInstallFunction(); 
     
    14481389 
    14491390    // 郵便番号から住所の取得 
    1450     function sfGetAddress($zipcode) 
    1451     { 
     1391    function sfGetAddress($zipcode) { 
    14521392 
    14531393        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     
    14951435     * @deprecated 2.12.0 microtime(true) を使用する。 
    14961436     */ 
    1497     function sfMicrotimeFloat() 
    1498     { 
     1437    function sfMicrotimeFloat() { 
    14991438        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING); 
    15001439        return microtime(true); 
     
    15221461     * @return boolean $val が空白と判断された場合 true 
    15231462     */ 
    1524     function isBlank($val, $greedy = true) 
    1525     { 
     1463    function isBlank($val, $greedy = true) { 
    15261464        if (is_array($val)) { 
    15271465            if ($greedy) { 
     
    15651503     * @return boolean 
    15661504     */ 
    1567     function sfIsInternalDomain($url) 
    1568     { 
     1505    function sfIsInternalDomain($url) { 
    15691506        $netURL = new Net_URL(HTTP_URL); 
    15701507        $host = $netURL->host; 
     
    15821519     * @return string ハッシュ暗号化された文字列 
    15831520     */ 
    1584     function sfGetHashString($str, $salt) 
    1585     { 
     1521    function sfGetHashString($str, $salt) { 
    15861522        $res = ''; 
    15871523        if ($salt == '') { 
     
    16041540     * @return boolean 一致判定 
    16051541     */ 
    1606     function sfIsMatchHashPassword($pass, $hashpass, $salt) 
    1607     { 
     1542    function sfIsMatchHashPassword($pass, $hashpass, $salt) { 
    16081543        $res = false; 
    16091544        if ($hashpass != '') { 
     
    16361571     * @return integer 1ページあたりの最大表示件数 
    16371572     */ 
    1638     function sfGetSearchPageMax($search_page_max) 
    1639     { 
     1573    function sfGetSearchPageMax($search_page_max) { 
    16401574        if (SC_Utils_Ex::sfIsInt($search_page_max) && $search_page_max > 0) { 
    16411575            $page_max = intval($search_page_max); 
     
    16581592     * @see Services_JSON::encode() 
    16591593     */ 
    1660     function jsonEncode($value) 
    1661     { 
     1594    function jsonEncode($value) { 
    16621595        if (function_exists('json_encode')) { 
    16631596            return json_encode($value); 
     
    16811614     * @see Services_JSON::decode() 
    16821615     */ 
    1683     function jsonDecode($json) 
    1684     { 
     1616    function jsonDecode($json) { 
    16851617        if (function_exists('json_decode')) { 
    16861618            return json_decode($json); 
     
    17011633     * @return boolean 絶対パスの場合 true 
    17021634     */ 
    1703     function isAbsoluteRealPath($realpath) 
    1704     { 
     1635    function isAbsoluteRealPath($realpath) { 
    17051636        if (strpos(PHP_OS, 'WIN') === false) { 
    17061637            return substr($realpath, 0, 1) == '/'; 
     
    17201651     * @see http://jp.php.net/mkdir 
    17211652     */ 
    1722     function recursiveMkdir($pathname, $mode = 0777) 
    1723     { 
     1653    function recursiveMkdir($pathname, $mode = 0777) { 
    17241654        /* 
    17251655         * SC_Utils_Ex への再帰は無限ループやメモリリークの懸念 
     
    17301660    } 
    17311661 
    1732     function isAppInnerUrl($url) 
    1733     { 
     1662    function isAppInnerUrl($url) { 
    17341663        $pattern = '/^(' . preg_quote(HTTP_URL, '/') . '|' . preg_quote(HTTPS_URL, '/') . ')/'; 
    17351664        return preg_match($pattern, $url) >= 1; 
     
    17441673     * @return boolean 成功=true, 失敗=false 
    17451674     */ 
    1746     function extendTimeOut($seconds = null) 
    1747     { 
     1675    function extendTimeOut($seconds = null) { 
    17481676        $safe_mode = (boolean)ini_get('safe_mode'); 
    17491677        if ($safe_mode) return false; 
     
    17671695     * @return void 
    17681696     */ 
    1769     function clearCompliedTemplate() 
    1770     { 
     1697    function clearCompliedTemplate() { 
    17711698        // コンパイルファイルの削除処理 
    17721699        SC_Helper_FileManager_Ex::deleteFile(COMPILE_REALDIR, false); 
     
    17821709     * @return void 
    17831710     */ 
    1784     function copyDirectory($source_path, $dest_path) 
    1785     { 
     1711    function copyDirectory($source_path, $dest_path) { 
    17861712 
    17871713        $handle=opendir($source_path);   
     
    18091735     * @return string 
    18101736     */ 
    1811     function repeatStrWithSeparator($input, $multiplier, $separator = ',') 
    1812     { 
     1737    function repeatStrWithSeparator($input, $multiplier, $separator = ',') { 
    18131738        return implode($separator, array_fill(0, $multiplier, $input)); 
    18141739    } 
     
    18211746     * @return string RFC3986エンコード文字列 
    18221747     */ 
    1823     function encodeRFC3986($str) 
    1824     { 
     1748    function encodeRFC3986($str) { 
    18251749        return str_replace('%7E', '~', rawurlencode($str)); 
    18261750    } 
     
    18331757     * @return string 変更後の文字列 
    18341758     */ 
    1835     static function trim($str, $charlist = null) 
    1836     { 
     1759    static function trim($str, $charlist = null) { 
    18371760        $re = SC_Utils_Ex::getTrimPregPattern($charlist); 
    18381761        return preg_replace('/(^' . $re . ')|(' . $re . '$)/us', '', $str); 
     
    18461769     * @return string 変更後の文字列 
    18471770     */ 
    1848     static function ltrim($str, $charlist = null) 
    1849     { 
     1771    static function ltrim($str, $charlist = null) { 
    18501772        $re = SC_Utils_Ex::getTrimPregPattern($charlist); 
    18511773        return preg_replace('/^' . $re . '/us', '', $str); 
     
    18591781     * @return string 変更後の文字列 
    18601782     */ 
    1861     static function rtrim($str, $charlist = null) 
    1862     { 
     1783    static function rtrim($str, $charlist = null) { 
    18631784        $re = SC_Utils_Ex::getTrimPregPattern($charlist); 
    18641785        return preg_replace('/' . $re . '$/us', '', $str); 
     
    18711792     * @return string パターン 
    18721793     */ 
    1873     static function getTrimPregPattern($charlist = null) 
    1874     { 
     1794    static function getTrimPregPattern($charlist = null) { 
    18751795        if (is_null($charlist)) { 
    18761796            return '\s+'; 
     
    18791799        } 
    18801800    } 
    1881  
    1882     /** 
    1883      * データ量の単位を付与する 
    1884      *  
    1885      * @param int $data 
    1886      * @return string 
    1887      */ 
    1888     function getUnitDataSize($data) 
    1889     { 
    1890  
    1891         if($data < 1000){ 
    1892             $return = $data . "KB"; 
    1893         }elseif($data < 1000000){  
    1894             $return = $data/1000 . "MB"; 
    1895         }else{ 
    1896             $return = $data/1000000 . "GB"; 
    1897         } 
    1898         return $return; 
    1899     } 
    1900  
    1901     /** 
    1902      * カテゴリーツリー状の配列を作成. 
    1903      *  
    1904      * @param string $primary_key 
    1905      * @param string $glue_key 
    1906      * @param integer $max_depth 
    1907      * @param array $correction 
    1908      * @param integer $root_id 
    1909      * @return array ツリーの配列 
    1910      */ 
    1911     public static function buildTree($primary_key, $glue_key, $max_depth, $correction = array(), $root_id = 0) 
    1912     { 
    1913         $children = array(); 
    1914         foreach ($correction as $child) { 
    1915             $children[$child[$glue_key]][] = $child; 
    1916         } 
    1917         $arrTree = $children[$root_id]; 
    1918         foreach ($arrTree as &$child) { 
    1919             SC_Utils_Ex::addChild($child, $primary_key, 1, $max_depth, $children); 
    1920         } 
    1921         return $arrTree; 
    1922     } 
    1923  
    1924     /** 
    1925      * ツリーの親子をつなげるルーチン. 
    1926      *  
    1927      * @param array $target 親 
    1928      * @param string $primary_key 主キーの識別子 
    1929      * @param integer $level 親の階層 
    1930      * @param integer $max_depth 階層の深さの最大値 
    1931      * @param array $children 子の配列(キーが親ID) 
    1932      * @return void 
    1933      */ 
    1934     public static function addChild(&$target, $primary_key, $level, $max_depth, &$children = array()) 
    1935     { 
    1936         if (isset($children[$target[$primary_key]])) { 
    1937             $target['children'] = $children[$target[$primary_key]]; 
    1938             if ($level + 1 < $max_depth) { 
    1939                 foreach ($target['children'] as &$child) { 
    1940                     SC_Utils_Ex::addChild($child, $primary_key, $level++, $max_depth, $children); 
    1941                 } 
    1942             } 
    1943         } 
    1944     } 
    1945  
    1946     /** 
    1947      * 配列のキーをIDにした配列を作成. 
    1948      *  
    1949      * @param string $ID_name IDが格納されているキー名 
    1950      * @param array $correction 元の配列 
    1951      * @return array 
    1952      */ 
    1953     public static function makeArrayIDToKey($ID_name, $correction = array()) 
    1954     { 
    1955         $arrTmp = array(); 
    1956         foreach ($correction as $item) { 
    1957             $arrTmp[$item[$ID_name]] = $item; 
    1958         } 
    1959         $return =& $arrTmp; 
    1960         unset($arrTmp); 
    1961         return $return; 
    1962     } 
    1963  
    1964     /** 
    1965      * 階層情報が含まれている配列から親ID配列を取得する. 
    1966      *  
    1967      * @param integer $start_id 取得起点 
    1968      * @param string $primary_key 主キー名 
    1969      * @param string $glue_key 親IDキー名 
    1970      * @param array $correction 階層構造が含まれている配列 
    1971      * @param boolean $cid_is_key キーがIDの配列の場合はtrue 
    1972      * @param integer $root_id ルートID 
    1973      * @param boolean $id_only IDだけの配列を返す場合はtrue 
    1974      * @return array 親ID配列 
    1975      */ 
    1976     public static function getTreeTrail($start_id, $primary_key, $glue_key, $correction = array(), $cid_is_key = FALSE, $root_id = 0, $id_only = TRUE) 
    1977     { 
    1978         if ($cid_is_key) { 
    1979             $arrIDToKay = $correction; 
    1980         } else { 
    1981             $arrIDToKay = SC_Utils_Ex::makeArrayIDToKey($primary_key, $correction); 
    1982         } 
    1983         $id = $start_id; 
    1984         $arrTrail = array(); 
    1985         while ($id != $root_id && !SC_Utils_Ex::isBlank($id)) { 
    1986             if ($id_only) { 
    1987                 $arrTrail[] = $id; 
    1988             } else { 
    1989                 $arrTrail[] = $arrIDToKay[$id]; 
    1990             } 
    1991             if (isset($arrIDToKay[$id][$glue_key])) { 
    1992                 $id = $arrIDToKay[$id][$glue_key]; 
    1993             } else { 
    1994                 $id = $root_id; 
    1995             } 
    1996         } 
    1997         return array_reverse($arrTrail); 
    1998     } 
    19991801} 
Note: See TracChangeset for help on using the changeset viewer.