Index: branches/version-2_12-dev/data/class/util/SC_Utils.php
===================================================================
--- branches/version-2_12-dev/data/class/util/SC_Utils.php	(revision 22603)
+++ branches/version-2_12-dev/data/class/util/SC_Utils.php	(revision 22796)
@@ -33,10 +33,8 @@
  * @version $Id:SC_Utils.php 15532 2007-08-31 14:39:46Z nanasess $
  */
-class SC_Utils 
-{
+class SC_Utils {
 
     // インストール初期処理
-    function sfInitInstall()
-    {
+    function sfInitInstall() {
         // インストール済みが定義されていない。
         if (!defined('ECCUBE_INSTALL')) {
@@ -66,6 +64,5 @@
      * @return string インストーラの URL
      */
-    function searchInstallerPath($path)
-    {
+    function searchInstallerPath($path) {
         $installer = 'install/' . DIR_INDEX_PATH;
 
@@ -104,6 +101,5 @@
      * @return string $url を絶対パスに変換した URL
      */
-    function getRealURL($url)
-    {
+    function getRealURL($url) {
         $parse = parse_url($url);
         $tmp = explode('/', $parse['path']);
@@ -124,6 +120,5 @@
 
     // 装飾付きエラーメッセージの表示
-    function sfErrorHeader($mess, $print = false)
-    {
+    function sfErrorHeader($mess, $print = false) {
         global $GLOBAL_ERR;
         $GLOBAL_ERR.= '<div id="errorHeader">';
@@ -136,6 +131,5 @@
 
     /* エラーページの表示 */
-    function sfDispError($type)
-    {
+    function sfDispError($type) {
 
         require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_DispError_Ex.php';
@@ -150,6 +144,5 @@
 
     /* サイトエラーページの表示 */
-    function sfDispSiteError($type, $objSiteSess = '', $return_top = false, $err_msg = '')
-    {
+    function sfDispSiteError($type, $objSiteSess = '', $return_top = false, $err_msg = '') {
 
         require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_Ex.php';
@@ -172,6 +165,5 @@
      * @deprecated 2.12.0 trigger_error($debugMsg, E_USER_ERROR) を使用すること
      */
-    function sfDispException($debugMsg = null)
-    {
+    function sfDispException($debugMsg = null) {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         trigger_error($debugMsg, E_USER_ERROR);
@@ -179,6 +171,5 @@
 
     /* 認証の可否判定 */
-    function sfIsSuccess($objSess, $disp_error = true)
-    {
+    function sfIsSuccess($objSess, $disp_error = true) {
         $ret = $objSess->IsSuccess();
         if ($ret != SUCCESS) {
@@ -215,6 +206,5 @@
      * @return string アスタリスクへ変換した文字列
      */
-    function sfPassLen($passlen)
-    {
+    function sfPassLen($passlen) {
         $ret = '';
         for ($i=0;$i<$passlen;true) {
@@ -230,6 +220,5 @@
      * @return bool
      */
-    function sfIsHTTPS()
-    {
+    function sfIsHTTPS() {
         // HTTPS時には$_SERVER['HTTPS']には空でない値が入る
         // $_SERVER['HTTPS'] != 'off' はIIS用
@@ -247,6 +236,5 @@
      *  @return bool
      */
-    function sfIsValidTransition($objSess)
-    {
+    function sfIsValidTransition($objSess) {
         // 前画面からPOSTされるuniqidが正しいものかどうかをチェック
         $uniqid = $objSess->getUniqId();
@@ -259,6 +247,5 @@
 
     /* DB用日付文字列取得 */
-    function sfGetTimestamp($year, $month, $day, $last = false)
-    {
+    function sfGetTimestamp($year, $month, $day, $last = false) {
         if ($year != '' && $month != '' && $day != '') {
             if ($last) {
@@ -283,6 +270,5 @@
      */
     //
-    function sfIsInt($value)
-    {
+    function sfIsInt($value) {
         if (strlen($value) >= 1 && strlen($value) <= INT_LEN && is_numeric($value)) {
             return true;
@@ -297,6 +283,5 @@
      * @return boolean 0で埋められている
      */
-    function sfIsZeroFilling($value)
-    {
+    function sfIsZeroFilling($value) {
         if (strlen($value) > 1 && $value{0} === '0')
             return true;
@@ -304,6 +289,5 @@
     }
 
-    function sfGetCSVData($data, $prefix = '')
-    {
+    function sfGetCSVData($data, $prefix = '') {
         if ($prefix == '') {
             $dir_name = SC_Utils_Ex::sfUpDirName();
@@ -322,6 +306,5 @@
 
     /* 1階層上のディレクトリ名を取得する */
-    function sfUpDirName()
-    {
+    function sfUpDirName() {
         $path = $_SERVER['SCRIPT_NAME'];
         $arrVal = explode('/', $path);
@@ -334,6 +317,5 @@
      * @deprecated
      */
-    function sfMergeCBValue($keyname, $max)
-    {
+    function sfMergeCBValue($keyname, $max) {
         $conv = '';
         $cnt = 1;
@@ -352,6 +334,5 @@
      * @deprecated
      */
-    function sfMergeCheckBoxes($array, $max)
-    {
+    function sfMergeCheckBoxes($array, $max) {
         $ret = '';
         $arrTmp = array();
@@ -375,6 +356,5 @@
      * @deprecated
      */
-    function sfMergeParamCheckBoxes($array)
-    {
+    function sfMergeParamCheckBoxes($array) {
         $ret = '';
         if (is_array($array)) {
@@ -396,6 +376,5 @@
      * @deprecated
      */
-    function sfSearchCheckBoxes($array)
-    {
+    function sfSearchCheckBoxes($array) {
         $max = max($array);
         $ret = '';
@@ -413,6 +392,5 @@
      * @deprecated
      */
-    function sfSplitCheckBoxes($val)
-    {
+    function sfSplitCheckBoxes($val) {
         $arrRet = array();
         $len = strlen($val);
@@ -429,6 +407,5 @@
      * @deprecated
      */
-    function sfMergeCBSearchValue($keyname, $max)
-    {
+    function sfMergeCBSearchValue($keyname, $max) {
         $conv = '';
         $cnt = 1;
@@ -447,6 +424,5 @@
      * @deprecated
      */
-    function sfSplitCBValue($val, $keyname = '')
-    {
+    function sfSplitCBValue($val, $keyname = '') {
         $arr = array();
         $len = strlen($val);
@@ -464,6 +440,5 @@
 
     // キーと値をセットした配列を取得
-    function sfArrKeyValue($arrList, $keyname, $valname, $len_max = '', $keysize = '')
-    {
+    function sfArrKeyValue($arrList, $keyname, $valname, $len_max = '', $keysize = '') {
         $arrRet = array();
         $max = count($arrList);
@@ -490,6 +465,5 @@
 
     // キーと値をセットした配列を取得(値が複数の場合)
-    function sfArrKeyValues($arrList, $keyname, $valname, $len_max = '', $keysize = '', $connect = '')
-    {
+    function sfArrKeyValues($arrList, $keyname, $valname, $len_max = '', $keysize = '', $connect = '') {
 
         $max = count($arrList);
@@ -518,6 +492,5 @@
 
     // 配列の値をカンマ区切りで返す。
-    function sfGetCommaList($array, $space=true, $arrPop = array())
-    {
+    function sfGetCommaList($array, $space=true, $arrPop = array()) {
         if (count($array) > 0) {
             $line = '';
@@ -544,6 +517,5 @@
 
     /* 配列の要素をCSVフォーマットで出力する。*/
-    function sfGetCSVList($array)
-    {
+    function sfGetCSVList($array) {
         $line = '';
         if (count($array) > 0) {
@@ -568,6 +540,5 @@
     /*            ３．エラー (0 = OK, 1 = NG)
     /*-----------------------------------------------------------------*/
-    function sfCheckSetTerm($start_year, $start_month, $start_day, $end_year, $end_month, $end_day)
-    {
+    function sfCheckSetTerm($start_year, $start_month, $start_day, $end_year, $end_month, $end_day) {
 
         // 期間指定
@@ -592,12 +563,10 @@
 
     // エラー箇所の背景色を変更するためのfunction SC_Viewで読み込む
-    function sfSetErrorStyle()
-    {
+    function sfSetErrorStyle() {
         return 'style="background-color:'.ERR_COLOR.'"';
     }
 
     // 一致した値のキー名を取得
-    function sfSearchKey($array, $word, $default)
-    {
+    function sfSearchKey($array, $word, $default) {
         foreach ($array as $key => $val) {
             if ($val == $word) {
@@ -608,6 +577,5 @@
     }
 
-    function sfGetErrorColor($val)
-    {
+    function sfGetErrorColor($val) {
         if ($val != '') {
             return 'background-color:' . ERR_COLOR;
@@ -616,6 +584,5 @@
     }
 
-    function sfGetEnabled($val)
-    {
+    function sfGetEnabled($val) {
         if (! $val) {
             return ' disabled="disabled"';
@@ -624,6 +591,5 @@
     }
 
-    function sfGetChecked($param, $value)
-    {
+    function sfGetChecked($param, $value) {
         if ((string)$param === (string)$value) {
             return 'checked="checked"';
@@ -632,6 +598,5 @@
     }
 
-    function sfTrim($str)
-    {
+    function sfTrim($str) {
         $ret = mb_ereg_replace("^[　 \n\r]*", '', $str);
         $ret = mb_ereg_replace("[　 \n\r]*$", '', $ret);
@@ -650,6 +615,5 @@
      * @return integer 税金額
      */
-    function sfTax($price, $tax, $tax_rule)
-    {
+    function sfTax($price, $tax, $tax_rule) {
         $real_tax = $tax / 100;
         $ret = $price * $real_tax;
@@ -686,12 +650,10 @@
      * @return integer 税金付与した金額
      */
-    function sfCalcIncTax($price, $tax, $tax_rule)
-    {
+    function sfCalcIncTax($price, $tax, $tax_rule) {
         return $price + SC_Utils_Ex::sfTax($price, $tax, $tax_rule);
     }
 
     // 桁数を指定して四捨五入
-    function sfRound($value, $pow = 0)
-    {
+    function sfRound($value, $pow = 0) {
         $adjust = pow(10 ,$pow-1);
 
@@ -715,6 +677,5 @@
      * @return int 
      */
-    function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = '')
-    {
+    function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = '') {
         $real_point = $point_rate / 100;
         $ret = $price * $real_point;
@@ -741,6 +702,5 @@
 
     /* 規格分類の件数取得 */
-    function sfGetClassCatCount()
-    {
+    function sfGetClassCatCount() {
         $sql = 'select count(dtb_class.class_id) as count, dtb_class.class_id ';
         $sql.= 'from dtb_class inner join dtb_classcategory on dtb_class.class_id = dtb_classcategory.class_id ';
@@ -756,27 +716,19 @@
 
     /**
-     * 商品IDとカテゴリIDから商品規格IDを取得する
+     * $classcategory_id1 と $classcategory_id2 が使用されていない。
      * @param int $product_id
-     * @param int $classcategory_id1 デフォルト値0
-     * @param int $classcategory_id2 デフォルト値0
+     * @param int $classcategory_id1
+     * @param int $classcategory_id2
      * @return int 
      */
-    function sfGetProductClassId($product_id, $classcategory_id1=0, $classcategory_id2=0)
-    {
-        $where = 'product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?';
-        if (!$classcategory_id1) { //NULLが入ってきた場合への対策
-          $classcategory_id1 = 0;
-        }
-        if (!$classcategory_id2) {
-          $classcategory_id2 = 0;
-        }
+    function sfGetProductClassId($product_id, $classcategory_id1, $classcategory_id2) {
+        $where = 'product_id = ?';
         $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $ret = $objQuery->get('product_class_id', 'dtb_products_class', $where, Array($product_id, $classcategory_id1, $classcategory_id2));
+        $ret = $objQuery->get('product_class_id', 'dtb_products_class', $where, Array($product_id));
         return $ret;
     }
 
     /* 文末の「/」をなくす */
-    function sfTrimURL($url)
-    {
+    function sfTrimURL($url) {
         $ret = rtrim($url, '/');
         return $ret;
@@ -784,6 +736,5 @@
 
     /* DBから取り出した日付の文字列を調整する。*/
-    function sfDispDBDate($dbdate, $time = true)
-    {
+    function sfDispDBDate($dbdate, $time = true) {
         list($y, $m, $d, $H, $M) = preg_split('/[- :]/', $dbdate);
 
@@ -801,6 +752,5 @@
 
     /* 配列をキー名ごとの配列に変更する */
-    function sfSwapArray($array, $isColumnName = true)
-    {
+    function sfSwapArray($array, $isColumnName = true) {
         $arrRet = array();
         foreach ($array as $key1 => $arr1) {
@@ -827,6 +777,5 @@
      * @return array 連想配列の値のみの配列
      */
-    function getHash2Array($hash, $requires = array())
-    {
+    function getHash2Array($hash, $requires = array()) {
         $array = array();
         $i = 0;
@@ -846,6 +795,5 @@
 
     /* かけ算をする（Smarty用) */
-    function sfMultiply($num1, $num2)
-    {
+    function sfMultiply($num1, $num2) {
         return $num1 * $num2;
     }
@@ -861,6 +809,5 @@
      * @return integer 加算ポイント
      */
-    function sfGetAddPoint($totalpoint, $use_point, $point_rate)
-    {
+    function sfGetAddPoint($totalpoint, $use_point, $point_rate) {
         // 購入商品の合計ポイントから利用したポイントのポイント換算価値を引く方式
         $add_point = $totalpoint - intval($use_point * ($point_rate / 100));
@@ -873,6 +820,5 @@
 
     /* 一意かつ予測されにくいID */
-    function sfGetUniqRandomId($head = '')
-    {
+    function sfGetUniqRandomId($head = '') {
         // 予測されないようにランダム文字列を付与する。
         $random = GC_Utils_Ex::gfMakePassword(8);
@@ -883,6 +829,5 @@
 
     // 二回以上繰り返されているスラッシュ[/]を一つに変換する。
-    function sfRmDupSlash($istr)
-    {
+    function sfRmDupSlash($istr) {
         if (preg_match('|^http://|', $istr)) {
             $str = substr($istr, 7);
@@ -916,6 +861,5 @@
      * @return string 変換後のテキストファイルのパス
      */
-    function sfEncodeFile($filepath, $enc_type, $out_dir)
-    {
+    function sfEncodeFile($filepath, $enc_type, $out_dir) {
         $ifp = fopen($filepath, 'r');
 
@@ -945,6 +889,5 @@
     }
 
-    function sfCutString($str, $len, $byte = true, $commadisp = true)
-    {
+    function sfCutString($str, $len, $byte = true, $commadisp = true) {
         if ($byte) {
             if (strlen($str) > ($len + 2)) {
@@ -994,6 +937,5 @@
 
     // 年、月、締め日から、先月の締め日+1、今月の締め日を求める。
-    function sfTermMonth($year, $month, $close_day)
-    {
+    function sfTermMonth($year, $month, $close_day) {
         $end_year = $year;
         $end_month = $month;
@@ -1037,6 +979,5 @@
 
     // 再帰的に多段配列を検索して一次元配列(Hidden引渡し用配列)に変換する。
-    function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = '')
-    {
+    function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = '') {
         if (is_array($arrSrc)) {
             foreach ($arrSrc as $key => $val) {
@@ -1057,6 +998,5 @@
 
     // DB取得日時をタイムに変換
-    function sfDBDatetoTime($db_date)
-    {
+    function sfDBDatetoTime($db_date) {
         $date = preg_replace("|\..*$|",'',$db_date);
         $time = strtotime($date);
@@ -1069,12 +1009,10 @@
      * XXX この関数を使っている箇所は、ほぼ設計誤りと思われる。変数にフェッチするか、出力時のエンコーディングで対応すべきと見受ける。
      */
-    function sfMbConvertEncoding($str, $encode = CHAR_CODE)
-    {
+    function sfMbConvertEncoding($str, $encode = CHAR_CODE) {
         return mb_convert_encoding($str, $encode);
     }
 
     // 2つの配列を用いて連想配列を作成する
-    function sfArrCombine($arrKeys, $arrValues)
-    {
+    function sfArrCombine($arrKeys, $arrValues) {
 
         if (count($arrKeys) <= 0 and count($arrValues) <= 0) return array();
@@ -1093,7 +1031,29 @@
     }
 
+    /* 階層構造のテーブルから与えられたIDの兄弟を取得する */
+    function sfGetBrothersArray($arrData, $pid_name, $id_name, $arrPID) {
+        $max = count($arrData);
+
+        $arrBrothers = array();
+        foreach ($arrPID as $id) {
+            // 親IDを検索する
+            for ($i = 0; $i < $max; $i++) {
+                if ($arrData[$i][$id_name] == $id) {
+                    $parent = $arrData[$i][$pid_name];
+                    break;
+                }
+            }
+            // 兄弟IDを検索する
+            for ($i = 0; $i < $max; $i++) {
+                if ($arrData[$i][$pid_name] == $parent) {
+                    $arrBrothers[] = $arrData[$i][$id_name];
+                }
+            }
+        }
+        return $arrBrothers;
+    }
+
     /* 階層構造のテーブルから与えられたIDの直属の子を取得する */
-    function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent)
-    {
+    function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent) {
         $max = count($arrData);
 
@@ -1112,6 +1072,5 @@
      * @deprecated SC_Query::quote() を使用すること
      */
-    function sfQuoteSmart($in)
-    {
+    function sfQuoteSmart($in) {
 
         if (is_int($in) || is_double($in)) {
@@ -1127,6 +1086,5 @@
 
     // ディレクトリを再帰的に生成する
-    function sfMakeDir($path)
-    {
+    function sfMakeDir($path) {
         static $count = 0;
         $count++;  // 無限ループ回避
@@ -1155,6 +1113,5 @@
 
     // ディレクトリ以下のファイルを再帰的にコピー
-    function sfCopyDir($src, $des, $mess = '', $override = false)
-    {
+    function sfCopyDir($src, $des, $mess = '', $override = false) {
         if (!is_dir($src)) {
             return false;
@@ -1213,6 +1170,5 @@
      * @return void
      */
-    function sfFlush($output = false, $sleep = 0)
-    {
+    function sfFlush($output = false, $sleep = 0) {
         // 出力をバッファリングしない(==日本語自動変換もしない)
         while (@ob_end_flush());
@@ -1236,6 +1192,5 @@
 
     // @versionの記載があるファイルからバージョンを取得する。
-    function sfGetFileVersion($path)
-    {
+    function sfGetFileVersion($path) {
         if (file_exists($path)) {
             $src_fp = fopen($path, 'rb');
@@ -1262,6 +1217,5 @@
      * @see mb_convert_kana
      */
-    function mbConvertKanaWithArray($array, $arrConvList)
-    {
+    function mbConvertKanaWithArray($array, $arrConvList) {
         foreach ($arrConvList as $key => $val) {
             if (isset($array[$key])) {
@@ -1279,6 +1233,5 @@
      * @return array 添字を定義した配列
      */
-    function arrayDefineIndexes($array, $defineIndexes)
-    {
+    function arrayDefineIndexes($array, $defineIndexes) {
         foreach ($defineIndexes as $key) {
             if (!isset($array[$key])) $array[$key] = '';
@@ -1296,6 +1249,5 @@
      * @return array
      */
-    function sfArrayIntersectKeys($arrSrc, $arrKey)
-    {
+    function sfArrayIntersectKeys($arrSrc, $arrKey) {
         $arrRet = array();
         foreach ($arrKey as $key) {
@@ -1310,6 +1262,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::printXMLDeclaration を使用すること
      */
-    function printXMLDeclaration()
-    {
+    function printXMLDeclaration() {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         GC_Utils_Ex::printXMLDeclaration();
@@ -1321,6 +1272,5 @@
      * @return string
      */
-    function getTableTag($array)
-    {
+    function getTableTag($array) {
         $html = '<table>';
         $html.= '<tr>';
@@ -1348,6 +1298,5 @@
      * @return string
      */
-    function sfNoImageMainList($filename = '')
-    {
+    function sfNoImageMainList($filename = '') {
         if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') {
             $filename .= 'noimage_main_list.jpg';
@@ -1362,6 +1311,5 @@
      * @return string
      */
-    function sfNoImageMain($filename = '')
-    {
+    function sfNoImageMain($filename = '') {
         if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') {
             $filename .= 'noimage_main.png';
@@ -1371,6 +1319,5 @@
 
     /* デバッグ用 ------------------------------------------------------------------------------------------------*/
-    function sfPrintR($obj)
-    {
+    function sfPrintR($obj) {
         echo '<div style="font-size: 12px;color: #00FF00;">' . "\n";
         echo '<strong>**デバッグ中**</strong><br />' . "\n";
@@ -1387,6 +1334,5 @@
      * @return string ランダムな文字列
      */
-    function sfGetRandomString($length = 1)
-    {
+    function sfGetRandomString($length = 1) {
         return Text_Password::create($length);
     }
@@ -1397,6 +1343,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::getUrl を使用すること
      */
-    function sfGetUrl()
-    {
+    function sfGetUrl() {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         return GC_Utils_Ex::getUrl();
@@ -1408,6 +1353,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::toStringBacktrace を使用すること
      */
-    function sfBacktraceToString($arrBacktrace)
-    {
+    function sfBacktraceToString($arrBacktrace) {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         return GC_Utils_Ex::toStringBacktrace($arrBacktrace);
@@ -1419,6 +1363,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::isAdminFunction を使用すること
      */
-    function sfIsAdminFunction()
-    {
+    function sfIsAdminFunction() {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         return GC_Utils_Ex::isAdminFunction();
@@ -1430,6 +1373,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::isFrontFunction を使用すること
      */
-    function sfIsFrontFunction()
-    {
+    function sfIsFrontFunction() {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         return GC_Utils_Ex::isFrontFunction();
@@ -1441,6 +1383,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::isInstallFunction を使用すること
      */
-    function sfIsInstallFunction()
-    {
+    function sfIsInstallFunction() {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         return GC_Utils_Ex::isInstallFunction();
@@ -1448,6 +1389,5 @@
 
     // 郵便番号から住所の取得
-    function sfGetAddress($zipcode)
-    {
+    function sfGetAddress($zipcode) {
 
         $objQuery =& SC_Query_Ex::getSingletonInstance();
@@ -1495,6 +1435,5 @@
      * @deprecated 2.12.0 microtime(true) を使用する。
      */
-    function sfMicrotimeFloat()
-    {
+    function sfMicrotimeFloat() {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         return microtime(true);
@@ -1522,6 +1461,5 @@
      * @return boolean $val が空白と判断された場合 true
      */
-    function isBlank($val, $greedy = true)
-    {
+    function isBlank($val, $greedy = true) {
         if (is_array($val)) {
             if ($greedy) {
@@ -1565,6 +1503,5 @@
      * @return boolean
      */
-    function sfIsInternalDomain($url)
-    {
+    function sfIsInternalDomain($url) {
         $netURL = new Net_URL(HTTP_URL);
         $host = $netURL->host;
@@ -1582,6 +1519,5 @@
      * @return string ハッシュ暗号化された文字列
      */
-    function sfGetHashString($str, $salt)
-    {
+    function sfGetHashString($str, $salt) {
         $res = '';
         if ($salt == '') {
@@ -1604,6 +1540,5 @@
      * @return boolean 一致判定
      */
-    function sfIsMatchHashPassword($pass, $hashpass, $salt)
-    {
+    function sfIsMatchHashPassword($pass, $hashpass, $salt) {
         $res = false;
         if ($hashpass != '') {
@@ -1636,6 +1571,5 @@
      * @return integer 1ページあたりの最大表示件数
      */
-    function sfGetSearchPageMax($search_page_max)
-    {
+    function sfGetSearchPageMax($search_page_max) {
         if (SC_Utils_Ex::sfIsInt($search_page_max) && $search_page_max > 0) {
             $page_max = intval($search_page_max);
@@ -1658,6 +1592,5 @@
      * @see Services_JSON::encode()
      */
-    function jsonEncode($value)
-    {
+    function jsonEncode($value) {
         if (function_exists('json_encode')) {
             return json_encode($value);
@@ -1681,6 +1614,5 @@
      * @see Services_JSON::decode()
      */
-    function jsonDecode($json)
-    {
+    function jsonDecode($json) {
         if (function_exists('json_decode')) {
             return json_decode($json);
@@ -1701,6 +1633,5 @@
      * @return boolean 絶対パスの場合 true
      */
-    function isAbsoluteRealPath($realpath)
-    {
+    function isAbsoluteRealPath($realpath) {
         if (strpos(PHP_OS, 'WIN') === false) {
             return substr($realpath, 0, 1) == '/';
@@ -1720,6 +1651,5 @@
      * @see http://jp.php.net/mkdir
      */
-    function recursiveMkdir($pathname, $mode = 0777)
-    {
+    function recursiveMkdir($pathname, $mode = 0777) {
         /*
          * SC_Utils_Ex への再帰は無限ループやメモリリークの懸念
@@ -1730,6 +1660,5 @@
     }
 
-    function isAppInnerUrl($url)
-    {
+    function isAppInnerUrl($url) {
         $pattern = '/^(' . preg_quote(HTTP_URL, '/') . '|' . preg_quote(HTTPS_URL, '/') . ')/';
         return preg_match($pattern, $url) >= 1;
@@ -1744,6 +1673,5 @@
      * @return boolean 成功=true, 失敗=false
      */
-    function extendTimeOut($seconds = null)
-    {
+    function extendTimeOut($seconds = null) {
         $safe_mode = (boolean)ini_get('safe_mode');
         if ($safe_mode) return false;
@@ -1767,6 +1695,5 @@
      * @return void
      */
-    function clearCompliedTemplate()
-    {
+    function clearCompliedTemplate() {
         // コンパイルファイルの削除処理
         SC_Helper_FileManager_Ex::deleteFile(COMPILE_REALDIR, false);
@@ -1782,6 +1709,5 @@
      * @return void
      */
-    function copyDirectory($source_path, $dest_path)
-    {
+    function copyDirectory($source_path, $dest_path) {
 
         $handle=opendir($source_path);  
@@ -1809,6 +1735,5 @@
      * @return string
      */
-    function repeatStrWithSeparator($input, $multiplier, $separator = ',')
-    {
+    function repeatStrWithSeparator($input, $multiplier, $separator = ',') {
         return implode($separator, array_fill(0, $multiplier, $input));
     }
@@ -1821,6 +1746,5 @@
      * @return string RFC3986エンコード文字列
      */
-    function encodeRFC3986($str)
-    {
+    function encodeRFC3986($str) {
         return str_replace('%7E', '~', rawurlencode($str));
     }
@@ -1833,6 +1757,5 @@
      * @return string 変更後の文字列
      */
-    static function trim($str, $charlist = null)
-    {
+    static function trim($str, $charlist = null) {
         $re = SC_Utils_Ex::getTrimPregPattern($charlist);
         return preg_replace('/(^' . $re . ')|(' . $re . '$)/us', '', $str);
@@ -1846,6 +1769,5 @@
      * @return string 変更後の文字列
      */
-    static function ltrim($str, $charlist = null)
-    {
+    static function ltrim($str, $charlist = null) {
         $re = SC_Utils_Ex::getTrimPregPattern($charlist);
         return preg_replace('/^' . $re . '/us', '', $str);
@@ -1859,6 +1781,5 @@
      * @return string 変更後の文字列
      */
-    static function rtrim($str, $charlist = null)
-    {
+    static function rtrim($str, $charlist = null) {
         $re = SC_Utils_Ex::getTrimPregPattern($charlist);
         return preg_replace('/' . $re . '$/us', '', $str);
@@ -1871,6 +1792,5 @@
      * @return string パターン
      */
-    static function getTrimPregPattern($charlist = null)
-    {
+    static function getTrimPregPattern($charlist = null) {
         if (is_null($charlist)) {
             return '\s+';
@@ -1879,121 +1799,3 @@
         }
     }
-
-    /**
-     * データ量の単位を付与する
-     * 
-     * @param int $data
-     * @return string
-     */
-    function getUnitDataSize($data)
-    {
-
-        if($data < 1000){
-            $return = $data . "KB";
-        }elseif($data < 1000000){ 
-            $return = $data/1000 . "MB";
-        }else{
-            $return = $data/1000000 . "GB";
-        }
-        return $return;
-    }
-
-    /**
-     * カテゴリーツリー状の配列を作成.
-     * 
-     * @param string $primary_key
-     * @param string $glue_key
-     * @param integer $max_depth
-     * @param array $correction
-     * @param integer $root_id
-     * @return array ツリーの配列
-     */
-    public static function buildTree($primary_key, $glue_key, $max_depth, $correction = array(), $root_id = 0)
-    {
-        $children = array();
-        foreach ($correction as $child) {
-            $children[$child[$glue_key]][] = $child;
-        }
-        $arrTree = $children[$root_id];
-        foreach ($arrTree as &$child) {
-            SC_Utils_Ex::addChild($child, $primary_key, 1, $max_depth, $children);
-        }
-        return $arrTree;
-    }
-
-    /**
-     * ツリーの親子をつなげるルーチン.
-     * 
-     * @param array $target 親
-     * @param string $primary_key 主キーの識別子
-     * @param integer $level 親の階層
-     * @param integer $max_depth 階層の深さの最大値
-     * @param array $children 子の配列（キーが親ID）
-     * @return void
-     */
-    public static function addChild(&$target, $primary_key, $level, $max_depth, &$children = array())
-    {
-        if (isset($children[$target[$primary_key]])) {
-            $target['children'] = $children[$target[$primary_key]];
-            if ($level + 1 < $max_depth) {
-                foreach ($target['children'] as &$child) {
-                    SC_Utils_Ex::addChild($child, $primary_key, $level++, $max_depth, $children);
-                }
-            }
-        }
-    }
-
-    /**
-     * 配列のキーをIDにした配列を作成.
-     * 
-     * @param string $ID_name IDが格納されているキー名
-     * @param array $correction 元の配列
-     * @return array
-     */
-    public static function makeArrayIDToKey($ID_name, $correction = array())
-    {
-        $arrTmp = array();
-        foreach ($correction as $item) {
-            $arrTmp[$item[$ID_name]] = $item;
-        }
-        $return =& $arrTmp;
-        unset($arrTmp);
-        return $return;
-    }
-
-    /**
-     * 階層情報が含まれている配列から親ID配列を取得する.
-     * 
-     * @param integer $start_id 取得起点
-     * @param string $primary_key 主キー名
-     * @param string $glue_key 親IDキー名
-     * @param array $correction 階層構造が含まれている配列
-     * @param boolean $cid_is_key キーがIDの配列の場合はtrue
-     * @param integer $root_id ルートID
-     * @param boolean $id_only IDだけの配列を返す場合はtrue
-     * @return array 親ID配列
-     */
-    public static function getTreeTrail($start_id, $primary_key, $glue_key, $correction = array(), $cid_is_key = FALSE, $root_id = 0, $id_only = TRUE)
-    {
-        if ($cid_is_key) {
-            $arrIDToKay = $correction;
-        } else {
-            $arrIDToKay = SC_Utils_Ex::makeArrayIDToKey($primary_key, $correction);
-        }
-        $id = $start_id;
-        $arrTrail = array();
-        while ($id != $root_id && !SC_Utils_Ex::isBlank($id)) {
-            if ($id_only) {
-                $arrTrail[] = $id;
-            } else {
-                $arrTrail[] = $arrIDToKay[$id];
-            }
-            if (isset($arrIDToKay[$id][$glue_key])) {
-                $id = $arrIDToKay[$id][$glue_key];
-            } else {
-                $id = $root_id;
-            }
-        }
-        return array_reverse($arrTrail);
-    }
 }
Index: branches/version-2_12-dev/data/class/util/GC_Utils.php
===================================================================
--- branches/version-2_12-dev/data/class/util/GC_Utils.php	(revision 22567)
+++ branches/version-2_12-dev/data/class/util/GC_Utils.php	(revision 22796)
@@ -31,6 +31,5 @@
  * @version $Id$
  */
-class GC_Utils 
-{
+class GC_Utils {
 
     /**
@@ -40,6 +39,5 @@
      * @return void
      */
-    function gfDebugLog($obj)
-    {
+    function gfDebugLog($obj) {
         if (USE_VERBOSE_LOG === true) {
             $msg = "DEBUG\n"
@@ -55,6 +53,5 @@
      * @return string 呼び出し元クラス、関数名、行数の文字列表現
      */
-    function gfGetCallerInfo($forLogInfo = true)
-    {
+    function gfGetCallerInfo($forLogInfo = true) {
         // バックトレースを取得する
         $traces = debug_backtrace(false);
@@ -77,6 +74,5 @@
      * エラーハンドリングに関わる情報を切り捨てる。
      */
-    function getDebugBacktrace($arrBacktrace = null)
-    {
+    function getDebugBacktrace($arrBacktrace = null) {
         if (is_null($arrBacktrace)) {
             $arrBacktrace = debug_backtrace(false);
@@ -123,6 +119,5 @@
      * @deprecated 2.12.0
      */
-    function gfGetLogStr($mess, $log_level = 'Info')
-    {
+    function gfGetLogStr($mess, $log_level = 'Info') {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         // メッセージの前に、ログ出力元関数名とログ出力関数呼び出し部分の行数を付与
@@ -142,6 +137,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::gfPrintLog を使用すること
      */
-    function gfAdminLog($mess, $log_level = 'Info')
-    {
+    function gfAdminLog($mess, $log_level = 'Info') {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         // ログレベル=Debugの場合は、DEBUG_MODEがtrueの場合のみログ出力する
@@ -159,6 +153,5 @@
      * @deprecated 2.12.0 GC_Utils_Ex::gfPrintLog を使用すること
      */
-    function gfFrontLog($mess, $log_level = 'Info')
-    {
+    function gfFrontLog($mess, $log_level = 'Info') {
         trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
         // ログレベル=Debugの場合は、DEBUG_MODEがtrueの場合のみログ出力する
@@ -179,6 +172,5 @@
      * @param bool $verbose 冗長な出力を行うか
      */
-    function gfPrintLog($msg, $path = '', $verbose = USE_VERBOSE_LOG)
-    {
+    function gfPrintLog($msg, $path = '', $verbose = USE_VERBOSE_LOG) {
         // 日付の取得
         $today = date('Y/m/d H:i:s');
@@ -216,6 +208,5 @@
      * @return void
      */
-    function gfLogRotation($max_log, $max_size, $path)
-    {
+    function gfLogRotation($max_log, $max_size, $path) {
 
         // ファイルが存在しない場合、終了
@@ -254,6 +245,5 @@
      * [注釈] -
      *----------------------------------------------------------------------*/
-    function gfMakePassword($pwLength)
-    {
+    function gfMakePassword($pwLength) {
 
         // 乱数表のシードを決定
@@ -281,6 +271,5 @@
      *----------------------------------------------------------------------------------------------------------------------*/
 
-    function gfMailHeaderAddr($str)
-    {
+    function gfMailHeaderAddr($str) {
         $addrs = explode(',', $str); //アドレスを配列に入れる
         $mailaddrs = array();
@@ -304,6 +293,5 @@
      * @return string テキストで表現したバックトレース
      */
-    function toStringBacktrace($arrBacktrace)
-    {
+    function toStringBacktrace($arrBacktrace) {
         $string = '';
 
@@ -328,6 +316,5 @@
      * @return string|integer エラー定数名
      */
-    function getErrorTypeName($error_type)
-    {
+    function getErrorTypeName($error_type) {
         $arrDefinedConstants = get_defined_constants(true);
 
@@ -360,6 +347,5 @@
      * @return string 現在のURL
      */
-    function getUrl()
-    {
+    function getUrl() {
         $url = '';
 
@@ -383,6 +369,5 @@
      * @return bool 管理機能か
      */
-    function isAdminFunction()
-    {
+    function isAdminFunction() {
         return defined('ADMIN_FUNCTION') && ADMIN_FUNCTION === true;
     }
@@ -393,6 +378,5 @@
      * @return bool フロント機能か
      */
-    function isFrontFunction()
-    {
+    function isFrontFunction() {
         return defined('FRONT_FUNCTION') && FRONT_FUNCTION === true;
     }
@@ -403,6 +387,5 @@
      * @return bool インストール機能か
      */
-    function isInstallFunction()
-    {
+    function isInstallFunction() {
         return defined('INSTALL_FUNCTION') && INSTALL_FUNCTION === true;
     }
@@ -415,6 +398,5 @@
      * @return string XML宣言の文字列
      */
-    function printXMLDeclaration()
-    {
+    function printXMLDeclaration() {
         $ua = $_SERVER['HTTP_USER_AGENT'];
         if (!preg_match('/MSIE/', $ua) || preg_match('/MSIE 7/', $ua)) {
