Ignore:
Timestamp:
2007/03/11 06:27:25 (16 years ago)
Author:
nanasess
Message:

r11729 の変更を取消

Location:
branches/comu/data/lib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/comu/data/lib/gdthumb.php

    r11729 r11730  
    22/*  
    33 
    4 ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 
    5 GD自動サムネイル作成 + 中川修正2006/02/03 
     4¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡ 
     5GD¼«Æ°¥µ¥à¥Í¥¤¥ëºîÀ® + ÃæÀÀµ2006/02/03 
    66 
    77Copyright 2002- Akihiro Asai. All rights reserved. 
     
    1010aki@mx3.adam.ne.jp 
    1111 
    12 ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 
    13  
    14 □ 機能概要 
    15 ・指定されたイメージのサムネイルを表示します。 
    16 ・出力する大きさを指定する事ができます。 
    17 ・出力されるイメージのアスペクト比は維持されます。 
    18  
    19 □ 使用方法 
    20 指定は gdthumb.php?path=xxx/xxx.[ jpg | png | gif ]&mw=xx&mh=xx 
    21 ※ passの部分には画像へのパスを指定 
    22 ※ mwに表示画像の最大横幅、mhに表示画像の最大横幅を外部より指定可能。 
    23 ※ 指定しなかった場合はデフォルトの設定値を採用。 
    24 ★クラスとして使用する場合は、「クラスとして使用する場合には・・・」以降をコメントアウトして下さい。 
    25  
    26 □ 更新履歴 
    27 2002/08/19 最大縦幅の部分を一部手直し 
    28 2003/01/31 デフォルトでアスペクト比が固定 
    29 2003/04/11 最大横幅と最大縦幅を外部より指定可能 
    30 2003/04/25 GD2用に関数変更 
    31 2003/06/21 GD1/2をバージョンに応じて変更できるように修正 
    32 2003/06/25 imageCopyResampledの部分を修正 
    33 2004/01/28 スクリプト全体を書き直し。引数「pass」を「path」に変更。 
    34 2005/12/08 関数の自動判別 gif形式に対応 透過gif・透過pngに対応(GD2.0.1以降)   
     12¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡ 
     13 
     14¢¢ µ¡Ç½³µÍ× 
     15¡¦»ØÄꤵ¤ì¤¿¥¤¥á¡¼¥¸¤Î¥µ¥à¥Í¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£ 
     16¡¦½ÐÎϤ¹¤ëÂ礭¤µ¤ò»ØÄꤹ¤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£ 
     17¡¦½ÐÎϤµ¤ì¤ë¥¤¥á¡¼¥¸¤Î¥¢¥¹¥Ú¥¯¥ÈÈæ¤Ï°Ý»ý¤µ¤ì¤Þ¤¹¡£ 
     18 
     19¢¢ »ÈÍÑÊýË¡ 
     20»ØÄê¤Ï gdthumb.php?path=xxx/xxx.[ jpg | png | gif ]&mw=xx&mh=xx 
     21¢¨ pass¤ÎÉôʬ¤Ë¤Ï²èÁü¤Ø¤Î¥Ñ¥¹¤ò»ØÄê 
     22¢¨ mw¤Ëɽ¼¨²èÁü¤ÎºÇÂç²£Éý¡¢mh¤Ëɽ¼¨²èÁü¤ÎºÇÂç²£Éý¤ò³°Éô¤è¤ê»ØÄê²Äǽ¡£ 
     23¢¨ »ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄêÃͤòºÎÍÑ¡£ 
     24¡ú¥¯¥é¥¹¤È¤·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¡Ö¥¯¥é¥¹¤È¤·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¦¡¦¡¦¡×°Ê¹ß¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ²¼¤µ¤¤¡£ 
     25 
     26¢¢ ¹¹¿·ÍúÎò 
     272002/08/19 ºÇÂç½ÄÉý¤ÎÉôʬ¤ò°ìÉô¼êľ¤· 
     282003/01/31 ¥Ç¥Õ¥©¥ë¥È¤Ç¥¢¥¹¥Ú¥¯¥ÈÈ椬¸ÇÄê 
     292003/04/11 ºÇÂç²£Éý¤ÈºÇÂç½ÄÉý¤ò³°Éô¤è¤ê»ØÄê²Äǽ 
     302003/04/25 GD2ÍѤ˴ؿôÊѹ¹ 
     312003/06/21 GD1/2¤ò¥Ð¡¼¥¸¥ç¥ó¤Ë±þ¤¸¤ÆÊѹ¹¤Ç¤­¤ë¤è¤¦¤Ë½¤Àµ 
     322003/06/25 imageCopyResampled¤ÎÉôʬ¤ò½¤Àµ 
     332004/01/28 ¥¹¥¯¥ê¥×¥ÈÁ´ÂΤò½ñ¤­Ä¾¤·¡£°ú¿ô¡Öpass¡×¤ò¡Öpath¡×¤ËÊѹ¹¡£ 
     342005/12/08 ´Ø¿ô¤Î¼«Æ°È½ÊÌ gif·Á¼°¤ËÂбþ Æ©²ágif¡¦Æ©²ápng¤ËÂбþ¡ÊGD2.0.1°Ê¹ß¡Ë   
    3535*/ 
    3636 
    37 // クラスとして使用する場合には、以下の6行をコメントアウト 
     37// ¥¯¥é¥¹¤È¤·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤Î6¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È 
    3838/* 
    3939$objg = new gdthumb(); 
    4040list($Ck, $Msg) = $objg->Main($_GET["path"], $_GET["mw"], $_GET["mh"]); 
    41 if(!$Ck) { // エラーの場合 
     41if(!$Ck) { // ¥¨¥é¡¼¤Î¾ì¹ç 
    4242    header("Content-Type: text/html; charset=" . CHAR_CODE); 
    4343    print $Msg; 
     
    5252     
    5353    /* 
    54     * コンストラクタ 
     54    * ¥³¥ó¥¹¥È¥é¥¯¥¿ 
    5555    */ 
    5656    function gdthumb() { 
    5757         
    58         // スクリプトのデフォルト設定 
    59          
    60         // 画像の最大横幅 
    61         $this->imgMaxWidth = 240; // 1以上の値 
    62          
    63         // 画像の最大縦幅 
    64         $this->imgMaxHeight = 0; // 指定しない場合は0 指定する場合は1以上の値 
     58        // ¥¹¥¯¥ê¥×¥È¤Î¥Ç¥Õ¥©¥ë¥ÈÀßÄê 
     59         
     60        // ²èÁü¤ÎºÇÂç²£Éý 
     61        $this->imgMaxWidth = 240; // 1°Ê¾å¤ÎÃÍ 
     62         
     63        // ²èÁü¤ÎºÇÂç½ÄÉý 
     64        $this->imgMaxHeight = 0; // »ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï0 »ØÄꤹ¤ë¾ì¹ç¤Ï1°Ê¾å¤ÎÃÍ 
    6565         
    6666    } 
    6767     
    6868    /* 
    69     * サムネイル画像の作成 
     69    * ¥µ¥à¥Í¥¤¥ë²èÁü¤ÎºîÀ® 
    7070    * string $path 
    7171    * integer $width 
     
    7575         
    7676        if(!isset($path)) { 
    77             return array(0, "イメージのパスが設定されていません。"); 
     77            return array(0, "¥¤¥á¡¼¥¸¤Î¥Ñ¥¹¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"); 
    7878        } 
    7979         
    8080        if(!file_exists($path)) { 
    81             return array(0, "指定されたパスにファイルが見つかりません。"); 
    82         } 
    83          
    84         // 画像の大きさをセット 
     81            return array(0, "»ØÄꤵ¤ì¤¿¥Ñ¥¹¤Ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"); 
     82        } 
     83         
     84        // ²èÁü¤ÎÂ礭¤µ¤ò¥»¥Ã¥È 
    8585        if($width) $this->imgMaxWidth = $width; 
    8686        if($height) $this->imgMaxHeight = $height; 
     
    8989        $re_size = $size; 
    9090         
    91         //アスペクト比固定処理 
     91        //¥¢¥¹¥Ú¥¯¥ÈÈæ¸ÇÄê½èÍý 
    9292        if($this->imgMaxWidth != 0) { 
    9393            $tmp_w = $size[0] / $this->imgMaxWidth; 
     
    120120        switch($size[2]) { 
    121121             
    122             // gif形式 
     122            // gif·Á¼° 
    123123            case "1": 
    124124                if(function_exists("imagecreatefromgif")) { 
     
    139139                    if(function_exists("imagegif")) { 
    140140                         
    141                         // 画像出力 
     141                        // ²èÁü½ÐÎÏ 
    142142                        if($header){ 
    143143                            header("Content-Type: image/gif"); 
     
    152152                        imagedestroy($dst_im); 
    153153                    } else { 
    154                         // 画像出力 
     154                        // ²èÁü½ÐÎÏ 
    155155                        if($header){ 
    156156                            header("Content-Type: image/png"); 
     
    165165                    } 
    166166                } else { 
    167                     // サムネイル作成不可の場合(旧バージョン対策) 
     167                    // ¥µ¥à¥Í¥¤¥ëºîÀ®ÉԲĤξì¹ç¡Êµì¥Ð¡¼¥¸¥ç¥óÂкö¡Ë 
    168168                    $dst_im = imageCreate($re_size[0], $re_size[1]); 
    169                     imageColorAllocate($dst_im, 255, 255, 214); //背景色 
    170                      
    171                     // 枠線と文字色の設定 
     169                    imageColorAllocate($dst_im, 255, 255, 214); //ÇØ·Ê¿§ 
     170                     
     171                    // ÏÈÀþ¤Èʸ»ú¿§¤ÎÀßÄê 
    172172                    $black = imageColorAllocate($dst_im, 0, 0, 0); 
    173173                    $red = imageColorAllocate($dst_im, 255, 0, 0); 
     
    176176                    imageRectangle ($dst_im, 0, 0, ($re_size[0]-1), ($re_size[1]-1), $black); 
    177177                     
    178                     // 画像出力 
     178                    // ²èÁü½ÐÎÏ 
    179179                    if($header){ 
    180180                        header("Content-Type: image/png"); 
     
    190190                break; 
    191191                 
    192             // jpg形式 
     192            // jpg·Á¼° 
    193193            case "2":  
    194194             
     
    197197                $imageresize( $dst_im, $src_im, 0, 0, 0, 0, $re_size[0], $re_size[1], $size[0], $size[1]); 
    198198 
    199                 // 画像出力 
     199                // ²èÁü½ÐÎÏ 
    200200                if($header){ 
    201201                    header("Content-Type: image/jpeg"); 
     
    212212                break; 
    213213     
    214             // png形式     
     214            // png·Á¼°     
    215215            case "3":  
    216216 
     
    233233                } 
    234234                 
    235                 // 画像出力 
     235                // ²èÁü½ÐÎÏ 
    236236                if($header){ 
    237237                    header("Content-Type: image/png"); 
     
    248248                 
    249249            default: 
    250                 return array(0, "イメージの形式が不明です。"); 
     250                return array(0, "¥¤¥á¡¼¥¸¤Î·Á¼°¤¬ÉÔÌÀ¤Ç¤¹¡£"); 
    251251        } 
    252252 
  • branches/comu/data/lib/glib.php

    r11729 r11730  
    77 
    88/*---------------------------------------------------------------------- 
    9  * [名称] gfDownloadCsv 
    10  * [概要] 引数データをCSVとして、クライアントにダウンロードさせる 
    11  * [引数] 1:ヘッダ文字列 2:CSVデータ 
    12  * [戻値] - 
    13  * [依存] - 
    14  * [注釈] 引数は1,2ともカンマ区切りになっていること 
     9 * [̾¾Î] gfDownloadCsv 
     10 * [³µÍ×] °ú¿ô¥Ç¡¼¥¿¤òCSV¤È¤·¤Æ¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ë¥À¥¦¥ó¥í¡¼¥É¤µ¤»¤ë 
     11 * [°ú¿ô] 1:¥Ø¥Ã¥Àʸ»úÎó 2:CSV¥Ç¡¼¥¿ 
     12 * [ÌáÃÍ] - 
     13 * [°Í¸] - 
     14 * [Ãí¼á] °ú¿ô¤Ï£±¡¤£²¤È¤â¥«¥ó¥Þ¶èÀÚ¤ê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È 
    1515 *----------------------------------------------------------------------*/ 
    1616function gfDownloadCsv($header, $contents){ 
     
    1818    $fiest_name = date("YmdHis") .".csv"; 
    1919     
    20     /* HTTPヘッダの出力 */ 
     20    /* HTTP¥Ø¥Ã¥À¤Î½ÐÎÏ */ 
    2121    Header("Content-disposition: attachment; filename=${fiest_name}"); 
    2222    Header("Content-type: application/octet-stream; name=${fiest_name}"); 
    2323     
    2424    $return = $header.$contents; 
    25     if (mb_detect_encoding($return) == CHAR_CODE){                      //文字コード変換 
     25    if (mb_detect_encoding($return) == CHAR_CODE){                      //ʸ»ú¥³¡¼¥ÉÊÑ´¹ 
    2626        $return = mb_convert_encoding($return,'SJIS',CHAR_CODE); 
    27         $return = str_replace( array( "\r\n", "\r" ), "\n", $return);   // 改行方法の統一 
     27        $return = str_replace( array( "\r\n", "\r" ), "\n", $return);   // ²þ¹ÔÊýË¡¤ÎÅý°ì 
    2828    } 
    2929    echo $return; 
     
    3131 
    3232/*---------------------------------------------------------------------- 
    33  * [名称] gfSetCsv 
    34  * [概要] 引数の配列をCSV形式に変換する 
    35  * [引数] 1:CSVにする配列 2:引数1が連想配列時の添え字を指定した配列 
    36  * [戻値] CSVデータ 
    37  * [依存] - 
    38  * [注釈] - 
     33 * [̾¾Î] gfSetCsv 
     34 * [³µÍ×] °ú¿ô¤ÎÇÛÎó¤òCSV·Á¼°¤ËÊÑ´¹¤¹¤ë 
     35 * [°ú¿ô] 1:CSV¤Ë¤¹¤ëÇÛÎó 2:°ú¿ô1¤¬Ï¢ÁÛÇÛÎó»þ¤Îź¤¨»ú¤ò»ØÄꤷ¤¿ÇÛÎó 
     36 * [ÌáÃÍ] CSV¥Ç¡¼¥¿ 
     37 * [°Í¸] - 
     38 * [Ãí¼á] - 
    3939 *----------------------------------------------------------------------*/ 
    4040function gfSetCsv( $array, $arrayIndex = "" ){   
    41     //引数$arrayIndexは、$arrayが連想配列のときに添え字を指定してやるために使用する 
     41    //°ú¿ô$arrayIndex¤Ï¡¢$array¤¬Ï¢ÁÛÇÛÎó¤Î¤È¤­¤Ëź¤¨»ú¤ò»ØÄꤷ¤Æ¤ä¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë 
    4242     
    4343    $return = ""; 
     
    4848            $return .= "\"";             
    4949            if ( $arrayIndex ){ 
    50                 $return .= mb_ereg_replace("<","",mb_ereg_replace( "\"","\"\"",$array[$i][$arrayIndex[$j]] )) ."\"";            
     50                $return .= mb_ereg_replace("<","¡ã",mb_ereg_replace( "\"","\"\"",$array[$i][$arrayIndex[$j]] )) ."\"";           
    5151            } else { 
    52                 $return .= mb_ereg_replace("<","",mb_ereg_replace( "\"","\"\"",$array[$i][$j] )) ."\""; 
     52                $return .= mb_ereg_replace("<","¡ã",mb_ereg_replace( "\"","\"\"",$array[$i][$j] )) ."\""; 
    5353            } 
    5454        } 
     
    6060 
    6161/*---------------------------------------------------------------------- 
    62  * [名称] gfGetAge 
    63  * [概要] 日付より年齢を計算する。 
    64  * [引数] 1:日付文字列(yyyy/mm/dd、yyyy-mm-dd hh:mm:ss等) 
    65  * [戻値] 年齢の数値 
    66  * [依存] - 
    67  * [注釈] - 
     62 * [̾¾Î] gfGetAge 
     63 * [³µÍ×] ÆüÉÕ¤è¤êǯÎð¤ò·×»»¤¹¤ë¡£ 
     64 * [°ú¿ô] 1:ÆüÉÕʸ»úÎó(yyyy/mm/dd¡¢yyyy-mm-dd hh:mm:ssÅù) 
     65 * [ÌáÃÍ] ǯÎð¤Î¿ôÃÍ 
     66 * [°Í¸] - 
     67 * [Ãí¼á] - 
    6868 *----------------------------------------------------------------------*/ 
    6969function gfGetAge($dbdate) 
     
    7979 
    8080/*---------------------------------------------------------------------- 
    81  * [名称] gfDebugLog 
    82  * [概要] ログファイルに変数の詳細を出力する。 
    83  * [引数] 対象となる変数 
    84  * [戻値] なし 
    85  * [依存] gfPrintLog 
    86  * [注釈] - 
     81 * [̾¾Î] gfDebugLog 
     82 * [³µÍ×] ¥í¥°¥Õ¥¡¥¤¥ë¤ËÊÑ¿ô¤Î¾ÜºÙ¤ò½ÐÎϤ¹¤ë¡£ 
     83 * [°ú¿ô] ÂоݤȤʤëÊÑ¿ô 
     84 * [ÌáÃÍ] ¤Ê¤· 
     85 * [°Í¸] gfPrintLog 
     86 * [Ãí¼á] - 
    8787 *----------------------------------------------------------------------*/ 
    8888function gfDebugLog($obj){ 
     
    9797        gfPrintLog("*** end Debug ***"); 
    9898 
    99         // ログテーション 
     99        // ¥í¥°¥Æ¡¼¥·¥ç¥ó 
    100100        gfLogRotation(MAX_LOG_QUANTITY, MAX_LOG_SIZE, LOG_PATH); 
    101101} 
    102102 
    103103/*---------------------------------------------------------------------- 
    104  * [名称] gfPrintLog 
    105  * [概要] ログファイルに日時、処理ファイル名、メッセージを出力 
    106  * [引数] 表示したいメッセージ 
    107  * [戻値] なし 
    108  * [依存] なし 
    109  * [注釈] - 
     104 * [̾¾Î] gfPrintLog 
     105 * [³µÍ×] ¥í¥°¥Õ¥¡¥¤¥ë¤ËÆü»þ¡¢½èÍý¥Õ¥¡¥¤¥ë̾¡¢¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ 
     106 * [°ú¿ô] ɽ¼¨¤·¤¿¤¤¥á¥Ã¥»¡¼¥¸ 
     107 * [ÌáÃÍ] ¤Ê¤· 
     108 * [°Í¸] ¤Ê¤· 
     109 * [Ãí¼á] - 
    110110 *----------------------------------------------------------------------*/ 
    111111function gfPrintLog($mess, $path = '') { 
    112     // 日付の取得 
     112    // ÆüÉդμèÆÀ 
    113113    $today = date("Y/m/d H:i:s"); 
    114     // 出力パスの作成 
     114    // ½ÐÎϥѥ¹¤ÎºîÀ® 
    115115    if ($path == "") { 
    116116        $path = LOG_PATH; 
    117117    } 
    118118 
    119     // エスケープされている文字をもとに戻す 
     119    // ¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤ëʸ»ú¤ò¤â¤È¤ËÌ᤹ 
    120120    $trans_tbl = get_html_translation_table (HTML_ENTITIES); 
    121121    $trans_tbl = array_flip ($trans_tbl); 
     
    128128    } 
    129129     
    130     // ログテーション 
     130    // ¥í¥°¥Æ¡¼¥·¥ç¥ó 
    131131    gfLogRotation(MAX_LOG_QUANTITY, MAX_LOG_SIZE, $path); 
    132132} 
    133133 
    134134/**          
    135  * ログローテーション機能           
     135 * ¥í¥°¥í¡¼¥Æ¡¼¥·¥ç¥óµ¡Ç½            
    136136 *           
    137  * @param integer $max_log 最大ファイル数 
    138  * @param integer $max_size 最大サイズ 
    139  * @param string  $path ファイルパス 
    140  * @return void なし 
     137 * @param integer $max_log ºÇÂç¥Õ¥¡¥¤¥ë¿ô 
     138 * @param integer $max_size ºÇÂ祵¥¤¥º 
     139 * @param string  $path ¥Õ¥¡¥¤¥ë¥Ñ¥¹ 
     140 * @return void ¤Ê¤· 
    141141 */          
    142142function gfLogRotation($max_log, $max_size, $path) { 
    143143     
    144     // ディレクトリ名を取得 
     144    // ¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¼èÆÀ 
    145145    $dirname = dirname($path); 
    146     // ファイル名を取得 
     146    // ¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ 
    147147    $basename = basename($path); 
    148148     
    149     // ファイルが最大サイズを超えていないかチェック 
     149    // ¥Õ¥¡¥¤¥ë¤¬ºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Ê¤¤¤«¥Á¥§¥Ã¥¯ 
    150150    if(filesize($path) > $max_size) { 
    151151        if ($dh = opendir($dirname)) { 
    152152            while (($file = readdir($dh)) !== false) { 
    153                 // ログローテーションにて作成されたファイルを取得 
     153                // ¥í¥°¥í¡¼¥Æ¡¼¥·¥ç¥ó¤Ë¤ÆºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¼èÆÀ 
    154154                if(ereg("^". $basename . "\." , $file)) { 
    155155                    $arrLog[] = $file; 
     
    157157            } 
    158158             
    159             // ファイルログが最大個数なら以上なら古いファイルから削除する 
     159            // ¥Õ¥¡¥¤¥ë¥í¥°¤¬ºÇÂç¸Ä¿ô¤Ê¤é°Ê¾å¤Ê¤é¸Å¤¤¥Õ¥¡¥¤¥ë¤«¤éºï½ü¤¹¤ë 
    160160            $count = count($arrLog); 
    161161            if($count >= $max_log) { 
     
    166166            } 
    167167             
    168             // ログファイルの添え字をずらす 
     168            // ¥í¥°¥Õ¥¡¥¤¥ë¤Îź¤¨»ú¤ò¤º¤é¤¹ 
    169169            $count = count($arrLog); 
    170170            for($i = $count; 1 <= $i; $i--) { 
     
    177177            $ret = copy($path, "$path.1"); 
    178178             
    179             // 新規ログファイルを作成 
     179            // ¿·µ¬¥í¥°¥Õ¥¡¥¤¥ë¤òºîÀ® 
    180180            if($ret) { 
    181181                unlink($path);           
     
    187187 
    188188/*---------------------------------------------------------------------- 
    189  * [名称] gfMakePassword 
    190  * [概要] ランダムパスワード生成(英数字) 
    191  * [引数] パスワードの桁数 
    192  * [戻値] ランダム生成されたパスワード 
    193  * [依存] なし 
    194  * [注釈] - 
     189 * [̾¾Î] gfMakePassword 
     190 * [³µÍ×] ¥é¥ó¥À¥à¥Ñ¥¹¥ï¡¼¥ÉÀ¸À®¡Ê±Ñ¿ô»ú¡Ë 
     191 * [°ú¿ô] ¥Ñ¥¹¥ï¡¼¥É¤Î·å¿ô 
     192 * [ÌáÃÍ] ¥é¥ó¥À¥àÀ¸À®¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É 
     193 * [°Í¸] ¤Ê¤· 
     194 * [Ãí¼á] - 
    195195 *----------------------------------------------------------------------*/ 
    196196function gfMakePassword($pwLength) { 
    197197     
    198     // 乱数表のシードを決定 
     198    // Íð¿ôɽ¤Î¥·¡¼¥É¤ò·èÄê 
    199199    srand((double)microtime() * 54234853); 
    200200     
    201     // パスワード文字列の配列を作成 
     201    // ¥Ñ¥¹¥ï¡¼¥Éʸ»úÎó¤ÎÇÛÎó¤òºîÀ® 
    202202    $character = "abcdefghkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ2345679"; 
    203203    $pw = preg_split("//", $character, 0, PREG_SPLIT_NO_EMPTY); 
     
    212212 
    213213/*---------------------------------------------------------------------- 
    214  * [名称] sf_explodeExt 
    215  * [概要] ファイルの拡張子取得 
    216  * [引数] ファイル名 
    217  * [戻値] 拡張子 
    218  * [依存] なし 
    219  * [注釈] - 
     214 * [̾¾Î] sf_explodeExt 
     215 * [³µÍ×] ¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¼èÆÀ 
     216 * [°ú¿ô] ¥Õ¥¡¥¤¥ë̾ 
     217 * [ÌáÃÍ] ³ÈÄ¥»Ò 
     218 * [°Í¸] ¤Ê¤· 
     219 * [Ãí¼á] - 
    220220 *----------------------------------------------------------------------*/ 
    221221function gf_explodeExt($fileName) { 
     
    228228 
    229229/*---------------------------------------------------------------------------------------------------------------------- 
    230  * [名称] gfMailHeaderAddr 
    231  * [概要] 入力されたメールアドレスをメール関数用の宛先に変換 
    232  * [引数] 「メールアドレス」または「名前<メールアドレス>」、複数アドレス指定時はカンマ区切りで指定する。 
    233  * [戻値] 「メールアドレス」または「JIS_MIMEにコード変換した名前 <メールアドレス>」、複数アドレス指定時はカンマ区切りで返却する。 
    234  * [依存] なし 
    235  * [注釈] - 
     230 * [̾¾Î] gfMailHeaderAddr 
     231 * [³µÍ×] ÆþÎϤµ¤ì¤¿¥á¡¼¥ë¥¢¥É¥ì¥¹¤ò¥á¡¼¥ë´Ø¿ôÍѤΰ¸Àè¤ËÊÑ´¹ 
     232 * [°ú¿ô] ¡Ö¥á¡¼¥ë¥¢¥É¥ì¥¹¡×¤Þ¤¿¤Ï¡Ö̾Á°<¥á¡¼¥ë¥¢¥É¥ì¥¹>¡×¡¢Ê£¿ô¥¢¥É¥ì¥¹»ØÄê»þ¤Ï¥«¥ó¥Þ¶èÀÚ¤ê¤Ç»ØÄꤹ¤ë¡£ 
     233 * [ÌáÃÍ] ¡Ö¥á¡¼¥ë¥¢¥É¥ì¥¹¡×¤Þ¤¿¤Ï¡ÖJIS_MIME¤Ë¥³¡¼¥ÉÊÑ´¹¤·¤¿Ì¾Á° <¥á¡¼¥ë¥¢¥É¥ì¥¹>¡×¡¢Ê£¿ô¥¢¥É¥ì¥¹»ØÄê»þ¤Ï¥«¥ó¥Þ¶èÀÚ¤ê¤ÇÊֵѤ¹¤ë¡£ 
     234 * [°Í¸] ¤Ê¤· 
     235 * [Ãí¼á] - 
    236236 *----------------------------------------------------------------------------------------------------------------------*/ 
    237237 
    238238function gfMailHeaderAddr($str) { 
    239     $addrs = explode(",", $str); //アドレスを配列に入れる 
     239    $addrs = explode(",", $str); //¥¢¥É¥ì¥¹¤òÇÛÎó¤ËÆþ¤ì¤ë 
    240240    foreach ($addrs as $addr) { 
    241241        if (preg_match("/^(.+)<(.+)>$/", $addr, $matches)) { 
    242             //引数が「名前<メールアドレス>」の場合 
     242            //°ú¿ô¤¬¡Ö̾Á°<¥á¡¼¥ë¥¢¥É¥ì¥¹>¡×¤Î¾ì¹ç 
    243243            $mailaddrs[] = mb_encode_mimeheader(trim($matches[1]))." <".trim($matches[2]).">"; 
    244244        } else { 
    245             //メールアドレスのみの場合 
     245            //¥á¡¼¥ë¥¢¥É¥ì¥¹¤Î¤ß¤Î¾ì¹ç 
    246246            $mailaddrs[] =  trim($addr); 
    247247        } 
    248248    } 
    249     return implode(", ", $mailaddrs); //複数アドレスはカンマ区切りにする 
     249    return implode(", ", $mailaddrs); //Ê£¿ô¥¢¥É¥ì¥¹¤Ï¥«¥ó¥Þ¶èÀÚ¤ê¤Ë¤¹¤ë 
    250250} 
    251251?> 
  • branches/comu/data/lib/slib.php

    r11729 r11730  
    66 */ 
    77 
    8 //---このファイルのパスを指定 
     8//---¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄê 
    99$INC_PATH = realpath( dirname( __FILE__) ); 
    1010require_once( $INC_PATH ."/../conf/conf.php" ); 
     
    1414require_once( $INC_PATH ."/../include/session.inc" ); 
    1515 
    16 // 全ページ共通エラー 
     16// Á´¥Ú¡¼¥¸¶¦ÄÌ¥¨¥é¡¼ 
    1717$GLOBAL_ERR = ""; 
    1818 
    19 // インストール初期処理 
     19// ¥¤¥ó¥¹¥È¡¼¥ë½é´ü½èÍý 
    2020sfInitInstall(); 
    2121 
    22 /* データベースのバージョン所得 */ 
     22/* ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¡¼¥¸¥ç¥ó½êÆÀ */ 
    2323function sfGetDBVersion($dsn = "") { 
    2424    if($dsn == "") { 
     
    4444} 
    4545 
    46 /* テーブルの存在チェック */ 
     46/* ¥Æ¡¼¥Ö¥ë¤Î¸ºß¥Á¥§¥Ã¥¯ */ 
    4747function sfTabaleExists($table_name, $dsn = "") { 
    4848    if($dsn == "") { 
     
    5555     
    5656    $objQuery = new SC_Query($dsn, true, true); 
    57     // 正常に接続されている場合 
     57    // Àµ¾ï¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç 
    5858    if(!$objQuery->isError()) { 
    5959        list($db_type) = split(":", $dsn); 
    60         // postgresqlとmysqlとで処理を分ける 
     60        // postgresql¤Èmysql¤È¤Ç½èÍý¤òʬ¤±¤ë 
    6161        if ($db_type == "pgsql") { 
    6262            $sql = "SELECT 
     
    8484} 
    8585 
    86 // カラムの存在チェック 
     86// ¥«¥é¥à¤Î¸ºß¥Á¥§¥Ã¥¯ 
    8787function sfColumnExists($table_name, $col_name, $col_type = "", $dsn = "", $add = false) { 
    8888    if($dsn == "") { 
     
    9494    } 
    9595 
    96     // テーブルが無ければエラー 
     96    // ¥Æ¡¼¥Ö¥ë¤¬Ìµ¤±¤ì¤Ð¥¨¥é¡¼ 
    9797    if(!sfTabaleExists($table_name, $dsn)) return false; 
    9898     
    9999    $objQuery = new SC_Query($dsn, true, true); 
    100     // 正常に接続されている場合 
     100    // Àµ¾ï¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç 
    101101    if(!$objQuery->isError()) { 
    102102        list($db_type) = split(":", $dsn); 
    103103         
    104         // カラムリストを取得 
     104        // ¥«¥é¥à¥ê¥¹¥È¤ò¼èÆÀ 
    105105        $arrRet = sfGetColumnList($table_name, $objQuery, $db_type); 
    106106        if(count($arrRet) > 0) { 
     
    111111    } 
    112112     
    113     // カラムを追加する 
     113    // ¥«¥é¥à¤òÄɲ乤ë 
    114114    if($add){ 
    115115        $objQuery->query("ALTER TABLE $table_name ADD $col_name $col_type "); 
     
    120120} 
    121121 
    122 // データの存在チェック 
     122// ¥Ç¡¼¥¿¤Î¸ºß¥Á¥§¥Ã¥¯ 
    123123function sfDataExists($table_name, $where, $arrval, $dsn = "", $sql = "", $add = false) { 
    124124    if($dsn == "") { 
     
    137137        $ret = false; 
    138138    } 
    139     // データを追加する 
     139    // ¥Ç¡¼¥¿¤òÄɲ乤ë 
    140140    if(!$ret && $add) { 
    141141        $objQuery->exec($sql); 
     
    145145} 
    146146 
    147 // テーブルのカラム一覧を取得する 
     147// ¥Æ¡¼¥Ö¥ë¤Î¥«¥é¥à°ìÍ÷¤ò¼èÆÀ¤¹¤ë 
    148148function sfGetColumnList($table_name, $objQuery = "", $db_type = DB_TYPE){ 
    149149    if($objQuery == "") $objQuery = new SC_Query(); 
    150150    $arrRet = array(); 
    151151     
    152     // postgresqlとmysqlとで処理を分ける 
     152    // postgresql¤Èmysql¤È¤Ç½èÍý¤òʬ¤±¤ë 
    153153    if ($db_type == "pgsql") { 
    154154        $sql = "SELECT a.attname FROM pg_class c, pg_attribute a WHERE c.relname=? AND c.oid=a.attrelid AND a.attnum > 0 ORDER BY a.attnum"; 
     
    165165} 
    166166 
    167 // インストール初期処理 
     167// ¥¤¥ó¥¹¥È¡¼¥ë½é´ü½èÍý 
    168168function sfInitInstall() { 
    169     // インストール済みが定義されていない。 
     169    // ¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ 
    170170    if(!defined('ECCUBE_INSTALL')) { 
    171171        if(!ereg("/install/", $_SERVER['PHP_SELF'])) { 
     
    175175        $path = HTML_PATH . "install/index.php"; 
    176176        if(file_exists($path)) { 
    177             sfErrorHeader(">> /install/index.phpは、インストール完了後にファイルを削除してください。"); 
    178         } 
    179          
    180         // 旧バージョンのinstall.incのチェック 
     177            sfErrorHeader(">> /install/index.php¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë´°Î»¸å¤Ë¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£"); 
     178        } 
     179         
     180        // µì¥Ð¡¼¥¸¥ç¥ó¤Îinstall.inc¤Î¥Á¥§¥Ã¥¯ 
    181181        $path = HTML_PATH . "install.inc"; 
    182182        if(file_exists($path)) { 
    183             sfErrorHeader(">> /install.incはセキュリティーホールとなります。削除してください。"); 
     183            sfErrorHeader(">> /install.inc¤Ï¥»¥­¥å¥ê¥Æ¥£¡¼¥Û¡¼¥ë¤È¤Ê¤ê¤Þ¤¹¡£ºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£"); 
    184184        }        
    185185    } 
    186186} 
    187187 
    188 // アップデートで生成されたPHPを読み出し 
     188// ¥¢¥Ã¥×¥Ç¡¼¥È¤ÇÀ¸À®¤µ¤ì¤¿PHP¤òÆɤ߽Ф· 
    189189function sfLoadUpdateModule() { 
    190     // URL設定ディレクトリを削除 
     190    // URLÀßÄê¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü 
    191191    $main_php = ereg_replace(URL_DIR, "", $_SERVER['PHP_SELF']); 
    192192    $extern_php = UPDATE_PATH . $main_php; 
     
    197197 
    198198function sf_getBasisData() { 
    199     //DBから設定情報を取得 
     199    //DB¤«¤éÀßÄê¾ðÊó¤ò¼èÆÀ 
    200200    $objConn = new SC_DbConn(DEFAULT_DSN); 
    201201    $result = $objConn->getAll("SELECT * FROM dtb_baseinfo"); 
     
    208208} 
    209209 
    210 // 装飾付きエラーメッセージの表示 
     210// Áõ¾þÉÕ¤­¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨ 
    211211function sfErrorHeader($mess, $print = false) { 
    212212    global $GLOBAL_ERR; 
     
    227227} 
    228228 
    229 /* エラーページの表示 */ 
     229/* ¥¨¥é¡¼¥Ú¡¼¥¸¤Îɽ¼¨ */ 
    230230function sfDispError($type) { 
    231231     
     
    233233        function LC_ErrorPage() { 
    234234            $this->tpl_mainpage = 'login_error.tpl'; 
    235             $this->tpl_title = 'エラー'; 
     235            $this->tpl_title = '¥¨¥é¡¼'; 
    236236        } 
    237237    } 
     
    242242    switch ($type) { 
    243243        case LOGIN_ERROR: 
    244             $objPage->tpl_error="IDまたはパスワードが正しくありません。<br />もう一度ご確認のうえ、再度入力してください。"; 
     244            $objPage->tpl_error="£É£Ä¤Þ¤¿¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£<br />¤â¤¦°ìÅÙ¤´³Îǧ¤Î¤¦¤¨¡¢ºÆÅÙÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£"; 
    245245            break; 
    246246        case ACCESS_ERROR: 
    247             $objPage->tpl_error="ログイン認証の有効期限切れの可能性があります。<br />もう一度ご確認のうえ、再度ログインしてください。"; 
     247            $objPage->tpl_error="¥í¥°¥¤¥óǧ¾Ú¤ÎÍ­¸ú´ü¸ÂÀÚ¤ì¤Î²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£<br />¤â¤¦°ìÅÙ¤´³Îǧ¤Î¤¦¤¨¡¢ºÆÅÙ¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£"; 
    248248            break; 
    249249        case AUTH_ERROR: 
    250             $objPage->tpl_error="このファイルにはアクセス権限がありません。<br />もう一度ご確認のうえ、再度ログインしてください。"; 
     250            $objPage->tpl_error="¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¥¢¥¯¥»¥¹¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£<br />¤â¤¦°ìÅÙ¤´³Îǧ¤Î¤¦¤¨¡¢ºÆÅÙ¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£"; 
    251251            break; 
    252252        case PAGE_ERROR: 
    253             $objPage->tpl_error="不正なページ移動です。<br />もう一度ご確認のうえ、再度入力してください。"; 
     253            $objPage->tpl_error="ÉÔÀµ¤Ê¥Ú¡¼¥¸°ÜÆ°¤Ç¤¹¡£<br />¤â¤¦°ìÅÙ¤´³Îǧ¤Î¤¦¤¨¡¢ºÆÅÙÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£"; 
    254254            break; 
    255255        default: 
    256             $objPage->tpl_error="エラーが発生しました。<br />もう一度ご確認のうえ、再度ログインしてください。"; 
     256            $objPage->tpl_error="¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br />¤â¤¦°ìÅÙ¤´³Îǧ¤Î¤¦¤¨¡¢ºÆÅÙ¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£"; 
    257257            break; 
    258258    } 
     
    264264} 
    265265 
    266 /* サイトエラーページの表示 */ 
     266/* ¥µ¥¤¥È¥¨¥é¡¼¥Ú¡¼¥¸¤Îɽ¼¨ */ 
    267267function sfDispSiteError($type, $objSiteSess = "", $return_top = false, $err_msg = "") { 
    268268    global $objCampaignSess; 
     
    276276            $this->tpl_mainpage = 'error.tpl'; 
    277277            $this->tpl_css = URL_DIR.'css/layout/error.css'; 
    278             $this->tpl_title = 'エラー'; 
     278            $this->tpl_title = '¥¨¥é¡¼'; 
    279279        } 
    280280    } 
     
    285285    switch ($type) { 
    286286        case PRODUCT_NOT_FOUND: 
    287             $objPage->tpl_error="ご指定のページはございません。"; 
     287            $objPage->tpl_error="¤´»ØÄê¤Î¥Ú¡¼¥¸¤Ï¤´¤¶¤¤¤Þ¤»¤ó¡£"; 
    288288            break; 
    289289        case PAGE_ERROR: 
    290             $objPage->tpl_error="不正なページ移動です。"; 
     290            $objPage->tpl_error="ÉÔÀµ¤Ê¥Ú¡¼¥¸°ÜÆ°¤Ç¤¹¡£"; 
    291291            break; 
    292292        case CART_EMPTY: 
    293             $objPage->tpl_error="カートに商品ががありません。"; 
     293            $objPage->tpl_error="¥«¡¼¥È¤Ë¾¦Éʤ¬¤¬¤¢¤ê¤Þ¤»¤ó¡£"; 
    294294            break; 
    295295        case CART_ADD_ERROR: 
    296             $objPage->tpl_error="購入処理中は、カートに商品を追加することはできません。"; 
     296            $objPage->tpl_error="¹ØÆþ½èÍýÃæ¤Ï¡¢¥«¡¼¥È¤Ë¾¦ÉʤòÄɲ乤뤳¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"; 
    297297            break; 
    298298        case CANCEL_PURCHASE: 
    299             $objPage->tpl_error="この手続きは無効となりました。以下の要因が考えられます。<br />・セッション情報の有効期限が切れてる場合<br />・購入手続き中に新しい購入手続きを実行した場合<br />・すでに購入手続きを完了している場合"; 
     299            $objPage->tpl_error="¤³¤Î¼ê³¤­¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤·¤¿¡£°Ê²¼¤ÎÍ×°ø¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£<br />¡¦¥»¥Ã¥·¥ç¥ó¾ðÊó¤ÎÍ­¸ú´ü¸Â¤¬ÀÚ¤ì¤Æ¤ë¾ì¹ç<br />¡¦¹ØÆþ¼ê³¤­Ãæ¤Ë¿·¤·¤¤¹ØÆþ¼ê³¤­¤ò¼Â¹Ô¤·¤¿¾ì¹ç<br />¡¦¤¹¤Ç¤Ë¹ØÆþ¼ê³¤­¤ò´°Î»¤·¤Æ¤¤¤ë¾ì¹ç"; 
    300300            break; 
    301301        case CATEGORY_NOT_FOUND: 
    302             $objPage->tpl_error="ご指定のカテゴリは存在しません。"; 
     302            $objPage->tpl_error="¤´»ØÄê¤Î¥«¥Æ¥´¥ê¤Ï¸ºß¤·¤Þ¤»¤ó¡£"; 
    303303            break; 
    304304        case SITE_LOGIN_ERROR: 
    305             $objPage->tpl_error="メールアドレスもしくはパスワードが正しくありません。"; 
     305            $objPage->tpl_error="¥á¡¼¥ë¥¢¥É¥ì¥¹¤â¤·¤¯¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£"; 
    306306            break; 
    307307        case TEMP_LOGIN_ERROR: 
    308             $objPage->tpl_error="メールアドレスもしくはパスワードが正しくありません。<br />本登録がお済みでない場合は、仮登録メールに記載されている<br />URLより本登録を行ってください。"; 
     308            $objPage->tpl_error="¥á¡¼¥ë¥¢¥É¥ì¥¹¤â¤·¤¯¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£<br />ËÜÅÐÏ¿¤¬¤ªºÑ¤ß¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢²¾ÅÐÏ¿¥á¡¼¥ë¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë<br />URL¤è¤êËÜÅÐÏ¿¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£"; 
    309309            break; 
    310310        case CUSTOMER_ERROR: 
    311             $objPage->tpl_error="不正なアクセスです。"; 
     311            $objPage->tpl_error="ÉÔÀµ¤Ê¥¢¥¯¥»¥¹¤Ç¤¹¡£"; 
    312312            break; 
    313313        case SOLD_OUT: 
    314             $objPage->tpl_error="申し訳ございませんが、ご購入の直前で売り切れた商品があります。この手続きは無効となりました。"; 
     314            $objPage->tpl_error="¿½¤·Ìõ¤´¤¶¤¤¤Þ¤»¤ó¤¬¡¢¤´¹ØÆþ¤ÎľÁ°¤ÇÇä¤êÀڤ줿¾¦Éʤ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¼ê³¤­¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤·¤¿¡£"; 
    315315            break; 
    316316        case CART_NOT_FOUND: 
    317             $objPage->tpl_error="申し訳ございませんが、カート内の商品情報の取得に失敗しました。この手続きは無効となりました。"; 
     317            $objPage->tpl_error="¿½¤·Ìõ¤´¤¶¤¤¤Þ¤»¤ó¤¬¡¢¥«¡¼¥ÈÆâ¤Î¾¦ÉʾðÊó¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤³¤Î¼ê³¤­¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤·¤¿¡£"; 
    318318            break; 
    319319        case LACK_POINT: 
    320             $objPage->tpl_error="申し訳ございませんが、ポイントが不足しております。この手続きは無効となりました。"; 
     320            $objPage->tpl_error="¿½¤·Ìõ¤´¤¶¤¤¤Þ¤»¤ó¤¬¡¢¥Ý¥¤¥ó¥È¤¬ÉÔ­¤·¤Æ¤ª¤ê¤Þ¤¹¡£¤³¤Î¼ê³¤­¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤·¤¿¡£"; 
    321321            break; 
    322322        case FAVORITE_ERROR: 
    323             $objPage->tpl_error="既にお気に入りに追加されている商品です。"; 
     323            $objPage->tpl_error="´û¤Ë¤ªµ¤¤ËÆþ¤ê¤ËÄɲ䵤ì¤Æ¤¤¤ë¾¦ÉʤǤ¹¡£"; 
    324324            break; 
    325325        case EXTRACT_ERROR: 
    326             $objPage->tpl_error="ファイルの解凍に失敗しました。\n指定のディレクトリに書き込み権限が与えられていない可能性があります。"; 
     326            $objPage->tpl_error="¥Õ¥¡¥¤¥ë¤Î²òÅà¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n»ØÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ñ¤­¹þ¤ß¸¢¸Â¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£"; 
    327327            break; 
    328328        case FTP_DOWNLOAD_ERROR: 
    329             $objPage->tpl_error="ファイルのFTPダウンロードに失敗しました。"; 
     329            $objPage->tpl_error="¥Õ¥¡¥¤¥ë¤ÎFTP¥À¥¦¥ó¥í¡¼¥É¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"; 
    330330            break; 
    331331        case FTP_LOGIN_ERROR: 
    332             $objPage->tpl_error="FTPログインに失敗しました。"; 
     332            $objPage->tpl_error="FTP¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"; 
    333333            break; 
    334334        case FTP_CONNECT_ERROR: 
    335             $objPage->tpl_error="FTPログインに失敗しました。"; 
     335            $objPage->tpl_error="FTP¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"; 
    336336            break; 
    337337        case CREATE_DB_ERROR: 
    338             $objPage->tpl_error="DBの作成に失敗しました。\n指定のユーザーには、DB作成の権限が与えられていない可能性があります。"; 
     338            $objPage->tpl_error="DB¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n»ØÄê¤Î¥æ¡¼¥¶¡¼¤Ë¤Ï¡¢DBºîÀ®¤Î¸¢¸Â¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£"; 
    339339            break; 
    340340        case DB_IMPORT_ERROR: 
    341             $objPage->tpl_error="データベース構造のインポートに失敗しました。\nsqlファイルが壊れている可能性があります。"; 
     341            $objPage->tpl_error="¥Ç¡¼¥¿¥Ù¡¼¥¹¹½Â¤¤Î¥¤¥ó¥Ý¡¼¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\nsql¥Õ¥¡¥¤¥ë¤¬²õ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£"; 
    342342            break; 
    343343        case FILE_NOT_FOUND: 
    344             $objPage->tpl_error="指定のパスに、設定ファイルが存在しません。"; 
     344            $objPage->tpl_error="»ØÄê¤Î¥Ñ¥¹¤Ë¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤»¤ó¡£"; 
    345345            break; 
    346346        case WRITE_FILE_ERROR: 
    347             $objPage->tpl_error="設定ファイルに書き込めません。\n設定ファイルに書き込み権限を与えてください。"; 
     347            $objPage->tpl_error="ÀßÄê¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó¡£\nÀßÄê¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤ß¸¢¸Â¤òÍ¿¤¨¤Æ¤¯¤À¤µ¤¤¡£"; 
    348348            break; 
    349349        case FREE_ERROR_MSG: 
     
    351351            break; 
    352352        default: 
    353             $objPage->tpl_error="エラーが発生しました。"; 
     353            $objPage->tpl_error="¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£"; 
    354354            break; 
    355355    } 
     
    360360     
    361361    if(is_object($objCampaignSess)) { 
    362         // フレームを選択(キャンペーンページから遷移なら変更) 
     362        // ¥Õ¥ì¡¼¥à¤òÁªÂò(¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹) 
    363363        $objCampaignSess->pageView($objView); 
    364364    } else { 
     
    368368} 
    369369 
    370 /* 認証の可否判定 */ 
     370/* ǧ¾Ú¤Î²ÄÈÝȽÄê */ 
    371371function sfIsSuccess($objSess, $disp_error = true) {  
    372372    $ret = $objSess->IsSuccess(); 
    373373    if($ret != SUCCESS) { 
    374374        if($disp_error) { 
    375             // エラーページの表示 
     375            // ¥¨¥é¡¼¥Ú¡¼¥¸¤Îɽ¼¨ 
    376376            sfDispError($ret); 
    377377        } 
     
    381381} 
    382382 
    383 /* 前のページで正しく登録が行われたか判定 */ 
     383/* Á°¤Î¥Ú¡¼¥¸¤ÇÀµ¤·¤¯ÅÐÏ¿¤¬¹Ô¤ï¤ì¤¿¤«È½Äê */ 
    384384function sfIsPrePage($objSiteSess) { 
    385385    $ret = $objSiteSess->isPrePage(); 
    386386    if($ret != true) { 
    387         // エラーページの表示 
     387        // ¥¨¥é¡¼¥Ú¡¼¥¸¤Îɽ¼¨ 
    388388        sfDispSiteError(PAGE_ERROR, $objSiteSess); 
    389389    } 
     
    391391 
    392392function sfCheckNormalAccess($objSiteSess, $objCartSess) { 
    393     // ユーザユニークIDの取得 
     393    // ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ 
    394394    $uniqid = $objSiteSess->getUniqId(); 
    395     // 購入ボタンを押した時のカート内容がコピーされていない場合のみコピーする。 
     395    // ¹ØÆþ¥Ü¥¿¥ó¤ò²¡¤·¤¿»þ¤Î¥«¡¼¥ÈÆâÍƤ¬¥³¥Ô¡¼¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î¤ß¥³¥Ô¡¼¤¹¤ë¡£ 
    396396    $objCartSess->saveCurrentCart($uniqid); 
    397     // POSTのユニークIDとセッションのユニークIDを比較(ユニークIDがPOSTされていない場合はスルー) 
     397    // POST¤Î¥æ¥Ë¡¼¥¯ID¤È¥»¥Ã¥·¥ç¥ó¤Î¥æ¥Ë¡¼¥¯ID¤òÈæ³Ó(¥æ¥Ë¡¼¥¯ID¤¬POST¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥¹¥ë¡¼) 
    398398    $ret = $objSiteSess->checkUniqId(); 
    399399    if($ret != true) { 
    400         // エラーページの表示 
     400        // ¥¨¥é¡¼¥Ú¡¼¥¸¤Îɽ¼¨ 
    401401        sfDispSiteError(CANCEL_PURCHASE, $objSiteSess); 
    402402    } 
    403403     
    404     // カート内が空でないか || 購入ボタンを押してから変化がないか 
     404    // ¥«¡¼¥ÈÆ⤬¶õ¤Ç¤Ê¤¤¤« || ¹ØÆþ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤«¤éÊѲ½¤¬¤Ê¤¤¤« 
    405405    $quantity = $objCartSess->getTotalQuantity(); 
    406406    $ret = $objCartSess->checkChangeCart(); 
    407407    if($ret == true || !($quantity > 0)) { 
    408         // カート情報表示に強制移動する 
     408        // ¥«¡¼¥È¾ðÊóɽ¼¨¤Ë¶¯À©°ÜÆ°¤¹¤ë 
    409409        header("Location: ".URL_CART_TOP); 
    410410        exit; 
     
    413413} 
    414414 
    415 /* DB用日付文字列取得 */ 
     415/* DBÍÑÆüÉÕʸ»úÎó¼èÆÀ */ 
    416416function sfGetTimestamp($year, $month, $day, $last = false) { 
    417417    if($year != "" && $month != "" && $day != "") {  
     
    428428} 
    429429 
    430 // INT型の数値チェック 
     430// INT·¿¤Î¿ôÃÍ¥Á¥§¥Ã¥¯ 
    431431function sfIsInt($value) { 
    432432    if($value != "" && strlen($value) <= INT_LEN && is_numeric($value)) { 
     
    445445    } 
    446446     
    447     /* HTTPヘッダの出力 */ 
     447    /* HTTP¥Ø¥Ã¥À¤Î½ÐÎÏ */ 
    448448    Header("Content-disposition: attachment; filename=${file_name}"); 
    449449    Header("Content-type: application/octet-stream; name=${file_name}"); 
     
    451451    Header("Pragma: "); 
    452452     
    453     /* i18n~ だと正常に動作しないため、mb~ に変更 
     453    /* i18n¢· ¤À¤ÈÀµ¾ï¤ËÆ°ºî¤·¤Ê¤¤¤¿¤á¡¢mb¢· ¤ËÊѹ¹ 
    454454    if (i18n_discover_encoding($data) == CHAR_CODE){ 
    455455        $data = i18n_convert($data,'SJIS',CHAR_CODE); 
     
    460460    } 
    461461     
    462     /* データを出力 */ 
     462    /* ¥Ç¡¼¥¿¤ò½ÐÎÏ */ 
    463463    echo $data; 
    464464} 
    465465 
    466 /* 1階層上のディレクトリ名を取得する */ 
     466/* 1³¬Áؾå¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¼èÆÀ¤¹¤ë */ 
    467467function sfUpDirName() { 
    468468    $path = $_SERVER['PHP_SELF']; 
     
    472472} 
    473473 
    474 // 現在のサイトを更新(ただしポストは行わない) 
     474// ¸½ºß¤Î¥µ¥¤¥È¤ò¹¹¿·¡Ê¤¿¤À¤·¥Ý¥¹¥È¤Ï¹Ô¤ï¤Ê¤¤¡Ë 
    475475function sfReload($get = "") { 
    476476    if ($_SERVER["SERVER_PORT"] == "443" ){ 
     
    488488} 
    489489 
    490 // ランキングを上げる。 
     490// ¥é¥ó¥­¥ó¥°¤ò¾å¤²¤ë¡£ 
    491491function sfRankUp($table, $colname, $id, $andwhere = "") { 
    492492    $objQuery = new SC_Query(); 
     
    496496        $where.= " AND $andwhere"; 
    497497    } 
    498     // 対象項目のランクを取得 
     498    // ÂоݹàÌܤΥé¥ó¥¯¤ò¼èÆÀ 
    499499    $rank = $objQuery->get($table, "rank", $where, array($id)); 
    500     // ランクの最大値を取得 
     500    // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ 
    501501    $maxrank = $objQuery->max($table, "rank", $andwhere); 
    502     // ランクが最大値よりも小さい場合に実行する。 
     502    // ¥é¥ó¥¯¤¬ºÇÂçÃͤè¤ê¤â¾®¤µ¤¤¾ì¹ç¤Ë¼Â¹Ô¤¹¤ë¡£ 
    503503    if($rank < $maxrank) { 
    504         // ランクが一つ上のIDを取得する。 
     504        // ¥é¥ó¥¯¤¬°ì¤Ä¾å¤ÎID¤ò¼èÆÀ¤¹¤ë¡£ 
    505505        $where = "rank = ?"; 
    506506        if($andwhere != "") { 
     
    509509        $uprank = $rank + 1; 
    510510        $up_id = $objQuery->get($table, $colname, $where, array($uprank)); 
    511         // ランク入れ替えの実行 
     511        // ¥é¥ó¥¯Æþ¤ìÂؤ¨¤Î¼Â¹Ô 
    512512        $sqlup = "UPDATE $table SET rank = ?, update_date = Now() WHERE $colname = ?"; 
    513513        $objQuery->exec($sqlup, array($rank + 1, $id)); 
     
    517517} 
    518518 
    519 // ランキングを下げる。 
     519// ¥é¥ó¥­¥ó¥°¤ò²¼¤²¤ë¡£ 
    520520function sfRankDown($table, $colname, $id, $andwhere = "") { 
    521521    $objQuery = new SC_Query(); 
     
    525525        $where.= " AND $andwhere"; 
    526526    } 
    527     // 対象項目のランクを取得 
     527    // ÂоݹàÌܤΥé¥ó¥¯¤ò¼èÆÀ 
    528528    $rank = $objQuery->get($table, "rank", $where, array($id)); 
    529529         
    530     // ランクが1(最小値)よりも大きい場合に実行する。 
     530    // ¥é¥ó¥¯¤¬1(ºÇ¾®ÃÍ)¤è¤ê¤âÂ礭¤¤¾ì¹ç¤Ë¼Â¹Ô¤¹¤ë¡£ 
    531531    if($rank > 1) { 
    532         // ランクが一つ下のIDを取得する。 
     532        // ¥é¥ó¥¯¤¬°ì¤Ä²¼¤ÎID¤ò¼èÆÀ¤¹¤ë¡£ 
    533533        $where = "rank = ?"; 
    534534        if($andwhere != "") { 
     
    537537        $downrank = $rank - 1; 
    538538        $down_id = $objQuery->get($table, $colname, $where, array($downrank)); 
    539         // ランク入れ替えの実行 
     539        // ¥é¥ó¥¯Æþ¤ìÂؤ¨¤Î¼Â¹Ô 
    540540        $sqlup = "UPDATE $table SET rank = ?, update_date = Now() WHERE $colname = ?"; 
    541541        $objQuery->exec($sqlup, array($rank - 1, $id)); 
     
    545545} 
    546546 
    547 //---- 指定順位へ移動 
     547//----¡¡»ØÄê½ç°Ì¤Ø°ÜÆ° 
    548548function sfMoveRank($tableName, $keyIdColumn, $keyId, $pos, $where = "") { 
    549549    $objQuery = new SC_Query(); 
    550550    $objQuery->begin(); 
    551551         
    552     // 自身のランクを取得する 
     552    // ¼«¿È¤Î¥é¥ó¥¯¤ò¼èÆÀ¤¹¤ë 
    553553    $rank = $objQuery->get($tableName, "rank", "$keyIdColumn = ?", array($keyId));   
    554554    $max = $objQuery->max($tableName, "rank", $where); 
    555555         
    556     // 値の調整(逆順) 
     556    // ÃͤÎÄ´À°¡ÊµÕ½ç¡Ë 
    557557    if($pos > $max) { 
    558558        $position = 1; 
     
    563563    } 
    564564     
    565     if( $position > $rank ) $term = "rank - 1"; //入れ替え先の順位が入れ換え元の順位より大きい場合 
    566     if( $position < $rank ) $term = "rank + 1"; //入れ替え先の順位が入れ換え元の順位より小さい場合 
    567  
    568     //-- 指定した順位の商品から移動させる商品までのrankを1つずらす 
     565    if( $position > $rank ) $term = "rank - 1"; //Æþ¤ìÂؤ¨Àè¤Î½ç°Ì¤¬Æþ¤ì´¹¤¨¸µ¤Î½ç°Ì¤è¤êÂ礭¤¤¾ì¹ç 
     566    if( $position < $rank ) $term = "rank + 1"; //Æþ¤ìÂؤ¨Àè¤Î½ç°Ì¤¬Æþ¤ì´¹¤¨¸µ¤Î½ç°Ì¤è¤ê¾®¤µ¤¤¾ì¹ç 
     567 
     568    //--¡¡»ØÄꤷ¤¿½ç°Ì¤Î¾¦Éʤ«¤é°ÜÆ°¤µ¤»¤ë¾¦ÉʤޤǤÎrank¤ò£±¤Ä¤º¤é¤¹ 
    569569    $sql = "UPDATE $tableName SET rank = $term, update_date = NOW() WHERE rank BETWEEN ? AND ? AND del_flg = 0"; 
    570570    if($where != "") { 
     
    575575    if( $position < $rank ) $objQuery->exec( $sql, array( $position, $rank - 1 )); 
    576576 
    577     //-- 指定した順位へrankを書き換える。 
     577    //-- »ØÄꤷ¤¿½ç°Ì¤Ørank¤ò½ñ¤­´¹¤¨¤ë¡£ 
    578578    $sql  = "UPDATE $tableName SET rank = ?, update_date = NOW() WHERE $keyIdColumn = ? AND del_flg = 0 "; 
    579579    if($where != "") { 
     
    585585} 
    586586 
    587 // ランクを含むレコードの削除 
    588 // レコードごと削除する場合は、$deleteをtrueにする。 
     587// ¥é¥ó¥¯¤ò´Þ¤à¥ì¥³¡¼¥É¤Îºï½ü 
     588// ¥ì¥³¡¼¥É¤´¤Èºï½ü¤¹¤ë¾ì¹ç¤Ï¡¢$delete¤òtrue¤Ë¤¹¤ë¡£ 
    589589function sfDeleteRankRecord($table, $colname, $id, $andwhere = "", $delete = false) { 
    590590    $objQuery = new SC_Query(); 
    591591    $objQuery->begin(); 
    592     // 削除レコードのランクを取得する。      
     592    // ºï½ü¥ì¥³¡¼¥É¤Î¥é¥ó¥¯¤ò¼èÆÀ¤¹¤ë¡£      
    593593    $where = "$colname = ?"; 
    594594    if($andwhere != "") { 
     
    598598 
    599599    if(!$delete) { 
    600         // ランクを最下位にする、DELフラグON 
     600        // ¥é¥ó¥¯¤òºÇ²¼°Ì¤Ë¤¹¤ë¡¢DEL¥Õ¥é¥°ON 
    601601        $sqlup = "UPDATE $table SET rank = 0, del_flg = 1, update_date = Now() "; 
    602602        $sqlup.= "WHERE $colname = ?"; 
    603         // UPDATEの実行 
     603        // UPDATE¤Î¼Â¹Ô 
    604604        $objQuery->exec($sqlup, array($id)); 
    605605    } else { 
     
    607607    } 
    608608     
    609     // 追加レコードのランクより上のレコードを一つずらす。 
     609    // Äɲå쥳¡¼¥É¤Î¥é¥ó¥¯¤è¤ê¾å¤Î¥ì¥³¡¼¥É¤ò°ì¤Ä¤º¤é¤¹¡£ 
    610610    $where = "rank > ?"; 
    611611    if($andwhere != "") { 
     
    617617} 
    618618 
    619 // レコードの存在チェック 
     619// ¥ì¥³¡¼¥É¤Î¸ºß¥Á¥§¥Ã¥¯ 
    620620function sfIsRecord($table, $col, $arrval, $addwhere = "") { 
    621621    $objQuery = new SC_Query(); 
     
    645645} 
    646646 
    647 // チェックボックスの値をマージ 
     647// ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ÎÃͤò¥Þ¡¼¥¸ 
    648648function sfMergeCBValue($keyname, $max) { 
    649649    $conv = ""; 
     
    659659} 
    660660 
    661 // html_checkboxesの値をマージして2進数形式に変更する。 
     661// html_checkboxes¤ÎÃͤò¥Þ¡¼¥¸¤·¤Æ2¿Ê¿ô·Á¼°¤ËÊѹ¹¤¹¤ë¡£ 
    662662function sfMergeCheckBoxes($array, $max) { 
    663663    $ret = ""; 
     
    678678 
    679679 
    680 // html_checkboxesの値をマージして「-」でつなげる。 
     680// html_checkboxes¤ÎÃͤò¥Þ¡¼¥¸¤·¤Æ¡Ö-¡×¤Ç¤Ä¤Ê¤²¤ë¡£ 
    681681function sfMergeParamCheckBoxes($array) { 
    682682    if(is_array($array)) { 
     
    694694} 
    695695 
    696 // html_checkboxesの値をマージしてSQL検索用に変更する。 
     696// html_checkboxes¤ÎÃͤò¥Þ¡¼¥¸¤·¤ÆSQL¸¡º÷ÍѤËÊѹ¹¤¹¤ë¡£ 
    697697function sfSearchCheckBoxes($array) { 
    698698    $max = 0; 
     
    718718} 
    719719 
    720 // 2進数形式の値をhtml_checkboxes対応の値に切り替える 
     720// 2¿Ê¿ô·Á¼°¤ÎÃͤòhtml_checkboxesÂбþ¤ÎÃͤËÀÚ¤êÂؤ¨¤ë 
    721721function sfSplitCheckBoxes($val) { 
    722722    $len = strlen($val); 
     
    729729} 
    730730 
    731 // チェックボックスの値をマージ 
     731// ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ÎÃͤò¥Þ¡¼¥¸ 
    732732function sfMergeCBSearchValue($keyname, $max) { 
    733733    $conv = ""; 
     
    743743} 
    744744 
    745 // チェックボックスの値を分解 
     745// ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ÎÃͤòʬ²ò 
    746746function sfSplitCBValue($val, $keyname = "") { 
    747747    $len = strlen($val); 
     
    758758} 
    759759 
    760 // キーと値をセットした配列を取得 
     760// ¥­¡¼¤ÈÃͤò¥»¥Ã¥È¤·¤¿ÇÛÎó¤ò¼èÆÀ 
    761761function sfArrKeyValue($arrList, $keyname, $valname, $len_max = "", $keysize = "") { 
    762762     
     
    783783} 
    784784 
    785 // キーと値をセットした配列を取得(値が複数の場合) 
     785// ¥­¡¼¤ÈÃͤò¥»¥Ã¥È¤·¤¿ÇÛÎó¤ò¼èÆÀ(Ãͤ¬Ê£¿ô¤Î¾ì¹ç) 
    786786function sfArrKeyValues($arrList, $keyname, $valname, $len_max = "", $keysize = "", $connect = "") { 
    787787     
     
    809809} 
    810810 
    811 // 配列の値をカンマ区切りで返す。 
     811// ÇÛÎó¤ÎÃͤò¥«¥ó¥Þ¶èÀÚ¤ê¤ÇÊÖ¤¹¡£ 
    812812function sfGetCommaList($array, $space=true) { 
    813813    if (count($array) > 0) { 
     
    831831} 
    832832 
    833 /* 配列の要素をCSVフォーマットで出力する。*/ 
     833/* ÇÛÎó¤ÎÍ×ÁǤòCSV¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ÐÎϤ¹¤ë¡£*/ 
    834834function sfGetCSVList($array) { 
    835835    if (count($array) > 0) { 
     
    845845} 
    846846 
    847 /* 配列の要素をPDFフォーマットで出力する。*/ 
     847/* ÇÛÎó¤ÎÍ×ÁǤòPDF¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ÐÎϤ¹¤ë¡£*/ 
    848848function sfGetPDFList($array) { 
    849849    foreach($array as $key => $val) { 
     
    858858/*-----------------------------------------------------------------*/ 
    859859/*  check_set_term 
    860 /*  年月日に別れた2つの期間の妥当性をチェックし、整合性と期間を返す 
    861 /* 引数 (開始年,開始月,開始日,終了年,終了月,終了日) 
    862 /* 戻値 array(1,2,3) 
    863 /*          1.開始年月日 (YYYY/MM/DD 000000) 
    864 /*          2.終了年月日 (YYYY/MM/DD 235959) 
    865 /*          3.エラー ( 0 = OK, 1 = NG ) 
     860/*  ǯ·îÆü¤ËÊ̤줿2¤Ä¤Î´ü´Ö¤ÎÂÅÅöÀ­¤ò¥Á¥§¥Ã¥¯¤·¡¢À°¹çÀ­¤È´ü´Ö¤òÊÖ¤¹ 
     861/*¡¡°ú¿ô (³«»Ïǯ,³«»Ï·î,³«»ÏÆü,½ªÎ»Ç¯,½ªÎ»·î,½ªÎ»Æü) 
     862/*¡¡ÌáÃÍ array(£±¡¤£²¡¤£³¡Ë 
     863/*          £±¡¥³«»Ïǯ·îÆü (YYYY/MM/DD 000000) 
     864/*          £²¡¥½ªÎ»Ç¯·îÆü (YYYY/MM/DD 235959) 
     865/*          £³¡¥¥¨¥é¡¼ ( 0 = OK, 1 = NG ) 
    866866/*-----------------------------------------------------------------*/ 
    867867function sfCheckSetTerm ( $start_year, $start_month, $start_day, $end_year, $end_month, $end_day ) { 
    868868 
    869     // 期間指定 
     869    // ´ü´Ö»ØÄê 
    870870    $error = 0; 
    871871    if ( $start_month || $start_day || $start_year){ 
     
    887887} 
    888888 
    889 // エラー箇所の背景色を変更するためのfunction SC_Viewで読み込む 
     889// ¥¨¥é¡¼²Õ½ê¤ÎÇØ·Ê¿§¤òÊѹ¹¤¹¤ë¤¿¤á¤Îfunction SC_View¤ÇÆɤ߹þ¤à 
    890890function sfSetErrorStyle(){ 
    891891    return 'style="background-color:'.ERR_COLOR.'"'; 
    892892} 
    893893 
    894 /* DBに渡す数値のチェック 
    895  * 10桁以上はオーバーフローエラーを起こすので。 
     894/* DB¤ËÅϤ¹¿ôÃͤΥÁ¥§¥Ã¥¯ 
     895 * 10·å°Ê¾å¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¥¨¥é¡¼¤òµ¯¤³¤¹¤Î¤Ç¡£ 
    896896 */ 
    897897function sfCheckNumLength( $value ){ 
     
    907907} 
    908908 
    909 // 一致した値のキー名を取得 
     909// °ìÃפ·¤¿ÃͤΥ­¡¼Ì¾¤ò¼èÆÀ 
    910910function sfSearchKey($array, $word, $default) { 
    911911    foreach($array as $key => $val) { 
     
    917917} 
    918918 
    919 // カテゴリツリーの取得($products_check:true商品登録済みのものだけ取得) 
     919// ¥«¥Æ¥´¥ê¥Ä¥ê¡¼¤Î¼èÆÀ($products_check:true¾¦ÉÊÅÐÏ¿ºÑ¤ß¤Î¤â¤Î¤À¤±¼èÆÀ) 
    920920function sfGetCategoryList($addwhere = "", $products_check = false, $head = CATEGORY_HEAD) { 
    921921    $objQuery = new SC_Query(); 
     
    946946        /* 
    947947        for($n = 1; $n < $arrRet[$cnt]['level']; $n++) { 
    948             $arrList[$id].= " "; 
     948            $arrList[$id].= "¡¡"; 
    949949        } 
    950950        */ 
     
    957957} 
    958958 
    959 // カテゴリツリーの取得(親カテゴリのValue:0) 
     959// ¥«¥Æ¥´¥ê¥Ä¥ê¡¼¤Î¼èÆÀ¡Ê¿Æ¥«¥Æ¥´¥ê¤ÎValue:0) 
    960960function sfGetLevelCatList($parent_zero = true) { 
    961961    $objQuery = new SC_Query(); 
     
    980980        /*           
    981981        for($n = 1; $n < $arrRet[$cnt]['level']; $n++) { 
    982             $arrOutput[$cnt].= " "; 
     982            $arrOutput[$cnt].= "¡¡"; 
    983983        } 
    984984        */ 
     
    10131013} 
    10141014 
    1015 // SELECTボックス用リストの作成 
     1015// SELECT¥Ü¥Ã¥¯¥¹Íѥꥹ¥È¤ÎºîÀ® 
    10161016function sfGetIDValueList($table, $keyname, $valname) { 
    10171017    $objQuery = new SC_Query(); 
     
    10301030 
    10311031function sfTrim($str) { 
    1032     $ret = ereg_replace("^[  \n\r]*", "", $str); 
    1033     $ret = ereg_replace("[  \n\r]*$", "", $ret); 
     1032    $ret = ereg_replace("^[¡¡ \n\r]*", "", $str); 
     1033    $ret = ereg_replace("[¡¡ \n\r]*$", "", $ret); 
    10341034    return $ret; 
    10351035} 
    10361036 
    1037 /* 所属するすべての階層の親IDを配列で返す */ 
     1037/* ½ê°¤¹¤ë¤¹¤Ù¤Æ¤Î³¬ÁؤοÆID¤òÇÛÎó¤ÇÊÖ¤¹ */ 
    10381038function sfGetParents($objQuery, $table, $pid_name, $id_name, $id) { 
    10391039    $arrRet = sfGetParentsArray($table, $pid_name, $id_name, $id); 
    1040     // 配列の先頭1つを削除する。 
     1040    // ÇÛÎó¤ÎÀèƬ1¤Ä¤òºï½ü¤¹¤ë¡£ 
    10411041    array_shift($arrRet); 
    10421042    return $arrRet; 
     
    10441044 
    10451045 
    1046 /* 親IDの配列を元に特定のカラムを取得する。*/ 
     1046/* ¿ÆID¤ÎÇÛÎó¤ò¸µ¤ËÆÃÄê¤Î¥«¥é¥à¤ò¼èÆÀ¤¹¤ë¡£*/ 
    10471047function sfGetParentsCol($objQuery, $table, $id_name, $col_name, $arrId ) { 
    10481048    $col = $col_name; 
     
    10631063} 
    10641064 
    1065 /* 子IDの配列を返す */ 
     1065/* »ÒID¤ÎÇÛÎó¤òÊÖ¤¹ */ 
    10661066function sfGetChildsID($table, $pid_name, $id_name, $id) { 
    10671067    $arrRet = sfGetChildrenArray($table, $pid_name, $id_name, $id); 
     
    10691069} 
    10701070 
    1071 /* カテゴリ変更時の移動処理 */ 
     1071/* ¥«¥Æ¥´¥êÊѹ¹»þ¤Î°ÜÆ°½èÍý */ 
    10721072function sfMoveCatRank($objQuery, $table, $id_name, $cat_name, $old_catid, $new_catid, $id) { 
    10731073    if ($old_catid == $new_catid) { 
    10741074        return; 
    10751075    } 
    1076     // 旧カテゴリでのランク削除処理 
    1077     // 移動レコードのランクを取得する。      
     1076    // µì¥«¥Æ¥´¥ê¤Ç¤Î¥é¥ó¥¯ºï½ü½èÍý 
     1077    // °ÜÆ°¥ì¥³¡¼¥É¤Î¥é¥ó¥¯¤ò¼èÆÀ¤¹¤ë¡£      
    10781078    $where = "$id_name = ?"; 
    10791079    $rank = $objQuery->get($table, "rank", $where, array($id)); 
    1080     // 削除レコードのランクより上のレコードを一つ下にずらす。 
     1080    // ºï½ü¥ì¥³¡¼¥É¤Î¥é¥ó¥¯¤è¤ê¾å¤Î¥ì¥³¡¼¥É¤ò°ì¤Ä²¼¤Ë¤º¤é¤¹¡£ 
    10811081    $where = "rank > ? AND $cat_name = ?"; 
    10821082    $sqlup = "UPDATE $table SET rank = (rank - 1) WHERE $where"; 
    10831083    $objQuery->exec($sqlup, array($rank, $old_catid)); 
    1084     // 新カテゴリでの登録処理 
    1085     // 新カテゴリの最大ランクを取得する。 
     1084    // ¿·¥«¥Æ¥´¥ê¤Ç¤ÎÅÐÏ¿½èÍý 
     1085    // ¿·¥«¥Æ¥´¥ê¤ÎºÇÂç¥é¥ó¥¯¤ò¼èÆÀ¤¹¤ë¡£ 
    10861086    $max_rank = $objQuery->max($table, "rank", "$cat_name = ?", array($new_catid)) + 1; 
    10871087    $where = "$id_name = ?"; 
     
    10901090} 
    10911091 
    1092 /* 税金計算 */ 
     1092/* ÀǶâ·×»» */ 
    10931093function sfTax($price, $tax, $tax_rule) { 
    10941094    $real_tax = $tax / 100; 
    10951095    $ret = $price * $real_tax; 
    10961096    switch($tax_rule) { 
    1097     // 四捨五入 
     1097    // »Í¼Î¸ÞÆþ 
    10981098    case 1: 
    10991099        $ret = round($ret); 
    11001100        break; 
    1101     // 切り捨て 
     1101    // ÀÚ¤ê¼Î¤Æ 
    11021102    case 2: 
    11031103        $ret = floor($ret); 
    11041104        break; 
    1105     // 切り上げ 
     1105    // ÀÚ¤ê¾å¤² 
    11061106    case 3: 
    11071107        $ret = ceil($ret); 
    11081108        break; 
    1109     // デフォルト:切り上げ 
     1109    // ¥Ç¥Õ¥©¥ë¥È:ÀÚ¤ê¾å¤² 
    11101110    default: 
    11111111        $ret = ceil($ret); 
     
    11151115} 
    11161116 
    1117 /* 税金付与 */ 
     1117/* ÀǶâÉÕÍ¿ */ 
    11181118function sfPreTax($price, $tax, $tax_rule) { 
    11191119    $real_tax = $tax / 100; 
     
    11211121     
    11221122    switch($tax_rule) { 
    1123     // 四捨五入 
     1123    // »Í¼Î¸ÞÆþ 
    11241124    case 1: 
    11251125        $ret = round($ret); 
    11261126        break; 
    1127     // 切り捨て 
     1127    // ÀÚ¤ê¼Î¤Æ 
    11281128    case 2: 
    11291129        $ret = floor($ret); 
    11301130        break; 
    1131     // 切り上げ 
     1131    // ÀÚ¤ê¾å¤² 
    11321132    case 3: 
    11331133        $ret = ceil($ret); 
    11341134        break; 
    1135     // デフォルト:切り上げ 
     1135    // ¥Ç¥Õ¥©¥ë¥È:ÀÚ¤ê¾å¤² 
    11361136    default: 
    11371137        $ret = ceil($ret); 
     
    11411141} 
    11421142 
    1143 // 桁数を指定して四捨五入 
     1143// ·å¿ô¤ò»ØÄꤷ¤Æ»Í¼Î¸ÞÆþ 
    11441144function sfRound($value, $pow = 0){ 
    11451145    $adjust = pow(10 ,$pow-1); 
    11461146 
    1147     // 整数且つ0出なければ桁数指定を行う 
     1147    // À°¿ô³î¤Ä0½Ð¤Ê¤±¤ì¤Ð·å¿ô»ØÄê¤ò¹Ô¤¦ 
    11481148    if(sfIsInt($adjust) and $pow > 1){ 
    11491149        $ret = (round($value * $adjust)/$adjust); 
     
    11551155} 
    11561156 
    1157 /* ポイント付与 */ 
     1157/* ¥Ý¥¤¥ó¥ÈÉÕÍ¿ */ 
    11581158function sfPrePoint($price, $point_rate, $rule = POINT_RULE, $product_id = "") { 
    11591159    if(sfIsInt($product_id)) { 
     
    11631163         
    11641164        $where .= "del_flg = 0 AND campaign_id IN (SELECT campaign_id FROM dtb_campaign_detail where product_id = ? )"; 
    1165         //登録(更新)日付順 
     1165        //ÅÐÏ¿(¹¹¿·)ÆüÉÕ½ç 
    11661166        $objQuery->setorder('update_date DESC'); 
    1167         //キャンペーンポイントの取得 
     1167        //¥­¥ã¥ó¥Ú¡¼¥ó¥Ý¥¤¥ó¥È¤Î¼èÆÀ 
    11681168        $arrRet = $objQuery->select("campaign_name, campaign_point_rate", "dtb_campaign", $where, array($product_id)); 
    11691169    } 
    1170     //複数のキャンペーンに登録されている商品は、最新のキャンペーンからポイントを取得 
     1170    //Ê£¿ô¤Î¥­¥ã¥ó¥Ú¡¼¥ó¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾¦Éʤϡ¢ºÇ¿·¤Î¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¥Ý¥¤¥ó¥È¤ò¼èÆÀ 
    11711171    if($arrRet[0]['campaign_point_rate'] != "") { 
    11721172        $campaign_point_rate = $arrRet[0]['campaign_point_rate']; 
     
    11771177    $ret = $price * $real_point; 
    11781178    switch($rule) { 
    1179     // 四捨五入 
     1179    // »Í¼Î¸ÞÆþ 
    11801180    case 1: 
    11811181        $ret = round($ret); 
    11821182        break; 
    1183     // 切り捨て 
     1183    // ÀÚ¤ê¼Î¤Æ 
    11841184    case 2: 
    11851185        $ret = floor($ret); 
    11861186        break; 
    1187     // 切り上げ 
     1187    // ÀÚ¤ê¾å¤² 
    11881188    case 3: 
    11891189        $ret = ceil($ret); 
    11901190        break; 
    1191     // デフォルト:切り上げ 
     1191    // ¥Ç¥Õ¥©¥ë¥È:ÀÚ¤ê¾å¤² 
    11921192    default: 
    11931193        $ret = ceil($ret); 
    11941194        break; 
    11951195    } 
    1196     //キャンペーン商品の場合 
     1196    //¥­¥ã¥ó¥Ú¡¼¥ó¾¦Éʤξì¹ç 
    11971197    if($campaign_point_rate != "") { 
    1198         $ret = "(".$arrRet[0]['campaign_name']."ポイント率".$campaign_point_rate."%)".$ret; 
     1198        $ret = "(".$arrRet[0]['campaign_name']."¥Ý¥¤¥ó¥ÈΨ".$campaign_point_rate."%)".$ret; 
    11991199    } 
    12001200    return $ret; 
    12011201} 
    12021202 
    1203 /* 規格分類の件数取得 */ 
     1203/* µ¬³ÊʬÎà¤Î·ï¿ô¼èÆÀ */ 
    12041204function sfGetClassCatCount() { 
    12051205    $sql = "select count(dtb_class.class_id) as count, dtb_class.class_id "; 
     
    12091209    $objQuery = new SC_Query(); 
    12101210    $arrList = $objQuery->getall($sql); 
    1211     // キーと値をセットした配列を取得 
     1211    // ¥­¡¼¤ÈÃͤò¥»¥Ã¥È¤·¤¿ÇÛÎó¤ò¼èÆÀ 
    12121212    $arrRet = sfArrKeyValue($arrList, 'class_id', 'count'); 
    12131213     
     
    12151215} 
    12161216 
    1217 /* 規格の登録 */ 
     1217/* µ¬³Ê¤ÎÅÐÏ¿ */ 
    12181218function sfInsertProductClass($objQuery, $arrList, $product_id) { 
    1219     // すでに規格登録があるかどうかをチェックする。 
     1219    // ¤¹¤Ç¤Ëµ¬³ÊÅÐÏ¿¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡£ 
    12201220    $where = "product_id = ? AND classcategory_id1 <> 0 AND classcategory_id1 <> 0"; 
    12211221    $count = $objQuery->count("dtb_products_class", $where,  array($product_id)); 
    12221222     
    1223     // すでに規格登録がない場合 
     1223    // ¤¹¤Ç¤Ëµ¬³ÊÅÐÏ¿¤¬¤Ê¤¤¾ì¹ç 
    12241224    if($count == 0) { 
    1225         // 既存規格の削除 
     1225        // ´û¸µ¬³Ê¤Îºï½ü 
    12261226        $where = "product_id = ?"; 
    12271227        $objQuery->delete("dtb_products_class", $where, array($product_id)); 
     
    12411241        } 
    12421242         
    1243         // INSERTの実行 
     1243        // INSERT¤Î¼Â¹Ô 
    12441244        $objQuery->insert("dtb_products_class", $sqlval); 
    12451245    } 
     
    12531253} 
    12541254 
    1255 /* 文末の「/」をなくす */ 
     1255/* ʸËö¤Î¡Ö/¡×¤ò¤Ê¤¯¤¹ */ 
    12561256function sfTrimURL($url) { 
    12571257    $ret = ereg_replace("[/]+$", "", $url); 
     
    12591259} 
    12601260 
    1261 /* 商品規格情報の取得 */ 
     1261/* ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ */ 
    12621262function sfGetProductsClass($arrID) { 
    12631263    list($product_id, $classcategory_id1, $classcategory_id2) = $arrID;  
     
    12701270    } 
    12711271         
    1272     // 商品規格取得 
     1272    // ¾¦Éʵ¬³Ê¼èÆÀ 
    12731273    $objQuery = new SC_Query(); 
    12741274    $col = "product_id, deliv_fee, name, product_code, main_list_image, main_image, price01, price02, point_rate, product_class_id, classcategory_id1, classcategory_id2, class_id1, class_id2, stock, stock_unlimited, sale_limit, sale_unlimited"; 
     
    12801280} 
    12811281 
    1282 /* 集計情報を元に最終計算 */ 
     1282/* ½¸·×¾ðÊó¤ò¸µ¤ËºÇ½ª·×»» */ 
    12831283function sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo, $objCustomer = "") { 
    1284     // 商品の合計個数 
     1284    // ¾¦Éʤιç·×¸Ä¿ô 
    12851285    $total_quantity = $objCartSess->getTotalQuantity(true); 
    12861286     
    1287     // 税金の取得 
     1287    // ÀǶâ¤Î¼èÆÀ 
    12881288    $arrData['tax'] = $objPage->tpl_total_tax; 
    1289     // 小計の取得 
     1289    // ¾®·×¤Î¼èÆÀ 
    12901290    $arrData['subtotal'] = $objPage->tpl_total_pretax;   
    12911291     
    1292     // 合計送料の取得 
     1292    // ¹ç·×Á÷ÎÁ¤Î¼èÆÀ 
    12931293    $arrData['deliv_fee'] = 0; 
    12941294         
    1295     // 商品ごとの送料が有効の場合 
     1295    // ¾¦Éʤ´¤È¤ÎÁ÷ÎÁ¤¬Í­¸ú¤Î¾ì¹ç 
    12961296    if (OPTION_PRODUCT_DELIV_FEE == 1) { 
    12971297        $arrData['deliv_fee']+= $objCartSess->getAllProductsDelivFee(); 
    12981298    } 
    12991299     
    1300     // 配送業者の送料が有効の場合 
     1300    // ÇÛÁ÷¶È¼Ô¤ÎÁ÷ÎÁ¤¬Í­¸ú¤Î¾ì¹ç 
    13011301    if (OPTION_DELIV_FEE == 1) { 
    1302         // 送料の合計を計算する 
     1302        // Á÷ÎÁ¤Î¹ç·×¤ò·×»»¤¹¤ë 
    13031303        $arrData['deliv_fee']+= sfGetDelivFee($arrData['deliv_pref'], $arrData['payment_id']); 
    13041304    } 
    13051305     
    1306     // 送料無料の購入数が設定されている場合 
     1306    // Á÷ÎÁ̵ÎÁ¤Î¹ØÆþ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç 
    13071307    if(DELIV_FREE_AMOUNT > 0) { 
    13081308        if($total_quantity >= DELIV_FREE_AMOUNT) { 
     
    13111311    } 
    13121312         
    1313     // 送料無料条件が設定されている場合 
     1313    // Á÷ÎÁ̵ÎÁ¾ò·ï¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç 
    13141314    if($arrInfo['free_rule'] > 0) { 
    1315         // 小計が無料条件を超えている場合 
     1315        // ¾®·×¤¬ÌµÎÁ¾ò·ï¤òĶ¤¨¤Æ¤¤¤ë¾ì¹ç 
    13161316        if($arrData['subtotal'] >= $arrInfo['free_rule']) { 
    13171317            $arrData['deliv_fee'] = 0; 
     
    13191319    } 
    13201320 
    1321     // 合計の計算 
    1322     $arrData['total'] = $objPage->tpl_total_pretax; // 商品合計 
    1323     $arrData['total']+= $arrData['deliv_fee'];      // 送料 
    1324     $arrData['total']+= $arrData['charge'];         // 手数料 
    1325     // お支払い合計 
     1321    // ¹ç·×¤Î·×»» 
     1322    $arrData['total'] = $objPage->tpl_total_pretax; // ¾¦Éʹç·× 
     1323    $arrData['total']+= $arrData['deliv_fee'];      // Á÷ÎÁ 
     1324    $arrData['total']+= $arrData['charge'];         // ¼ê¿ôÎÁ 
     1325    // ¤ª»Ùʧ¤¤¹ç·× 
    13261326    $arrData['payment_total'] = $arrData['total'] - ($arrData['use_point'] * POINT_VALUE); 
    1327     // 加算ポイントの計算 
     1327    // ²Ã»»¥Ý¥¤¥ó¥È¤Î·×»» 
    13281328    $arrData['add_point'] = sfGetAddPoint($objPage->tpl_total_point, $arrData['use_point'], $arrInfo); 
    13291329     
    13301330    if($objCustomer != "") { 
    1331         // 誕生日月であった場合 
     1331        // ÃÂÀ¸Æü·î¤Ç¤¢¤Ã¤¿¾ì¹ç 
    13321332        if($objCustomer->isBirthMonth()) { 
    13331333            $arrData['birth_point'] = BIRTH_MONTH_POINT; 
     
    13431343} 
    13441344 
    1345 /* カート内商品の集計処理 */ 
     1345/* ¥«¡¼¥ÈÆ⾦Éʤν¸·×½èÍý */ 
    13461346function sfTotalCart($objPage, $objCartSess, $arrInfo) { 
    1347     // 規格名一覧 
     1347    // µ¬³Ê̾°ìÍ÷ 
    13481348    $arrClassName = sfGetIDValueList("dtb_class", "class_id", "name"); 
    1349     // 規格分類名一覧 
     1349    // µ¬³ÊʬÎà̾°ìÍ÷ 
    13501350    $arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 
    13511351     
    1352     $objPage->tpl_total_pretax = 0;     // 費用合計(税込み) 
    1353     $objPage->tpl_total_tax = 0;        // 消費税合計 
    1354     $objPage->tpl_total_point = 0;      // ポイント合計 
    1355      
    1356     // カート内情報の取得 
     1352    $objPage->tpl_total_pretax = 0;     // ÈñÍѹç·×(Àǹþ¤ß) 
     1353    $objPage->tpl_total_tax = 0;        // ¾ÃÈñÀǹç·× 
     1354    $objPage->tpl_total_point = 0;      // ¥Ý¥¤¥ó¥È¹ç·× 
     1355     
     1356    // ¥«¡¼¥ÈÆâ¾ðÊó¤Î¼èÆÀ 
    13571357    $arrCart = $objCartSess->getCartList(); 
    13581358    $max = count($arrCart); 
     
    13601360 
    13611361    for ($i = 0; $i < $max; $i++) { 
    1362         // 商品規格情報の取得     
     1362        // ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ    
    13631363        $arrData = sfGetProductsClass($arrCart[$i]['id']); 
    13641364        $limit = ""; 
    1365         // DBに存在する商品 
     1365        // DB¤Ë¸ºß¤¹¤ë¾¦ÉÊ 
    13661366        if (count($arrData) > 0) { 
    13671367             
    1368             // 購入制限数を求める。            
     1368            // ¹ØÆþÀ©¸Â¿ô¤òµá¤á¤ë¡£          
    13691369            if ($arrData['stock_unlimited'] != '1' && $arrData['sale_unlimited'] != '1') { 
    13701370                if($arrData['sale_limit'] < $arrData['stock']) { 
     
    13831383                         
    13841384            if($limit != "" && $limit < $arrCart[$i]['quantity']) { 
    1385                 // カート内商品数を制限に合わせる 
     1385                // ¥«¡¼¥ÈÆ⾦ÉÊ¿ô¤òÀ©¸Â¤Ë¹ç¤ï¤»¤ë 
    13861386                $objCartSess->setProductValue($arrCart[$i]['id'], 'quantity', $limit); 
    13871387                $quantity = $limit; 
    1388                 $objPage->tpl_message = "※「" . $arrData['name'] . "」は販売制限しております、一度にこれ以上の購入はできません。"; 
     1388                $objPage->tpl_message = "¢¨¡Ö" . $arrData['name'] . "¡×¤ÏÈÎÇäÀ©¸Â¤·¤Æ¤ª¤ê¤Þ¤¹¡¢°ìÅ٤ˤ³¤ì°Ê¾å¤Î¹ØÆþ¤Ï¤Ç¤­¤Þ¤»¤ó¡£"; 
    13891389            } else { 
    13901390                $quantity = $arrCart[$i]['quantity']; 
     
    13991399            $objPage->arrProductsClass[$cnt]['classcategory_name2'] = $arrClassCatName[$arrData['classcategory_id2']]; 
    14001400             
    1401             // 画像サイズ 
     1401            // ²èÁü¥µ¥¤¥º 
    14021402            list($image_width, $image_height) = getimagesize(IMAGE_SAVE_DIR . basename($objPage->arrProductsClass[$cnt]["main_image"])); 
    14031403            $objPage->arrProductsClass[$cnt]["tpl_image_width"] = $image_width + 60; 
    14041404            $objPage->arrProductsClass[$cnt]["tpl_image_height"] = $image_height + 80; 
    14051405             
    1406             // 価格の登録 
     1406            // ²Á³Ê¤ÎÅÐÏ¿ 
    14071407            if ($arrData['price02'] != "") { 
    14081408                $objCartSess->setProductValue($arrCart[$i]['id'], 'price', $arrData['price02']); 
     
    14121412                $objPage->arrProductsClass[$cnt]['uniq_price'] = $arrData['price01']; 
    14131413            } 
    1414             // ポイント付与率の登録 
     1414            // ¥Ý¥¤¥ó¥ÈÉÕͿΨ¤ÎÅÐÏ¿ 
    14151415            $objCartSess->setProductValue($arrCart[$i]['id'], 'point_rate', $arrData['point_rate']); 
    1416             // 商品ごとの合計金額 
     1416            // ¾¦Éʤ´¤È¤Î¹ç·×¶â³Û 
    14171417            $objPage->arrProductsClass[$cnt]['total_pretax'] = $objCartSess->getProductTotal($arrInfo, $arrCart[$i]['id']); 
    1418             // 送料の合計を計算する 
     1418            // Á÷ÎÁ¤Î¹ç·×¤ò·×»»¤¹¤ë 
    14191419            $objPage->tpl_total_deliv_fee+= ($arrData['deliv_fee'] * $arrCart[$i]['quantity']); 
    14201420            $cnt++; 
    14211421        } else { 
    1422             // DBに商品が見つからない場合はカート商品の削除 
     1422            // DB¤Ë¾¦Éʤ¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¥«¡¼¥È¾¦Éʤκï½ü 
    14231423            $objCartSess->delProductKey('id', $arrCart[$i]['id']); 
    14241424        } 
    14251425    } 
    14261426     
    1427     // 全商品合計金額(税込み) 
     1427    // Á´¾¦Éʹç·×¶â³Û(Àǹþ¤ß) 
    14281428    $objPage->tpl_total_pretax = $objCartSess->getAllProductsTotal($arrInfo); 
    1429     // 全商品合計消費税 
     1429    // Á´¾¦Éʹç·×¾ÃÈñÀÇ 
    14301430    $objPage->tpl_total_tax = $objCartSess->getAllProductsTax($arrInfo); 
    1431     // 全商品合計ポイント 
     1431    // Á´¾¦Éʹç·×¥Ý¥¤¥ó¥È 
    14321432    $objPage->tpl_total_point = $objCartSess->getAllProductsPoint(); 
    14331433     
     
    14351435} 
    14361436 
    1437 /* DBから取り出した日付の文字列を調整する。*/ 
     1437/* DB¤«¤é¼è¤ê½Ð¤·¤¿ÆüÉÕ¤Îʸ»úÎó¤òÄ´À°¤¹¤ë¡£*/ 
    14381438function sfDispDBDate($dbdate, $time = true) { 
    14391439    list($y, $m, $d, $H, $M) = split("[- :]", $dbdate); 
     
    14721472 
    14731473 
    1474 // 都道府県、支払い方法から配送料金を取得する 
     1474// ÅÔÆ»Éܸ©¡¢»Ùʧ¤¤ÊýË¡¤«¤éÇÛÁ÷ÎÁ¶â¤ò¼èÆÀ¤¹¤ë 
    14751475function sfGetDelivFee($pref, $payment_id = "") { 
    14761476    $objQuery = new SC_Query(); 
     
    14781478    $deliv_id = ""; 
    14791479     
    1480     // 支払い方法が指定されている場合は、対応した配送業者を取得する 
     1480    // »Ùʧ¤¤ÊýË¡¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Âбþ¤·¤¿ÇÛÁ÷¶È¼Ô¤ò¼èÆÀ¤¹¤ë 
    14811481    if($payment_id != "") { 
    14821482        $where = "del_flg = 0 AND payment_id = ?"; 
    14831483        $arrRet = $objQuery->select("deliv_id", "dtb_payment", $where, array($payment_id)); 
    14841484        $deliv_id = $arrRet[0]['deliv_id']; 
    1485     // 支払い方法が指定されていない場合は、先頭の配送業者を取得する 
     1485    // »Ùʧ¤¤ÊýË¡¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ÀèƬ¤ÎÇÛÁ÷¶È¼Ô¤ò¼èÆÀ¤¹¤ë 
    14861486    } else { 
    14871487        $where = "del_flg = 0"; 
     
    14921492    } 
    14931493     
    1494     // 配送業者から配送料を取得 
     1494    // ÇÛÁ÷¶È¼Ô¤«¤éÇÛÁ÷ÎÁ¤ò¼èÆÀ 
    14951495    if($deliv_id != "") { 
    14961496         
    1497         // 都道府県が指定されていない場合は、東京都の番号を指定しておく 
     1497        // ÅÔÆ»Éܸ©¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ÅìµþÅÔ¤ÎÈÖ¹æ¤ò»ØÄꤷ¤Æ¤ª¤¯ 
    14981498        if($pref == "") { 
    14991499            $pref = 13; 
     
    15071507} 
    15081508 
    1509 /* 支払い方法の取得 */ 
     1509/* »Ùʧ¤¤ÊýË¡¤Î¼èÆÀ */ 
    15101510function sfGetPayment() { 
    15111511    $objQuery = new SC_Query(); 
    1512     // 購入金額が条件額以下の項目を取得 
     1512    // ¹ØÆþ¶â³Û¤¬¾ò·ï³Û°Ê²¼¤Î¹àÌܤò¼èÆÀ 
    15131513    $where = "del_flg = 0"; 
    15141514    $objQuery->setorder("fix, rank DESC"); 
     
    15171517} 
    15181518 
    1519 /* 配列をキー名ごとの配列に変更する */ 
     1519/* ÇÛÎó¤ò¥­¡¼Ì¾¤´¤È¤ÎÇÛÎó¤ËÊѹ¹¤¹¤ë */ 
    15201520function sfSwapArray($array) { 
    15211521    $max = count($array); 
     
    15281528} 
    15291529 
    1530 /* かけ算をする(Smarty用) */ 
     1530/* ¤«¤±»»¤ò¤¹¤ë¡ÊSmartyÍÑ) */ 
    15311531function sfMultiply($num1, $num2) { 
    15321532    return ($num1 * $num2); 
    15331533} 
    15341534 
    1535 /* DBに登録されたテンプレートメールの送信 */ 
     1535/* DB¤ËÅÐÏ¿¤µ¤ì¤¿¥Æ¥ó¥×¥ì¡¼¥È¥á¡¼¥ë¤ÎÁ÷¿® */ 
    15361536function sfSendTemplateMail($to, $to_name, $template_id, $objPage) { 
    15371537    global $arrMAILTPLPATH; 
    15381538    $objQuery = new SC_Query(); 
    1539     // メールテンプレート情報の取得 
     1539    // ¥á¡¼¥ë¥Æ¥ó¥×¥ì¡¼¥È¾ðÊó¤Î¼èÆÀ 
    15401540    $where = "template_id = ?"; 
    15411541    $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($template_id)); 
     
    15481548     
    15491549    $objMailView = new SC_SiteView(); 
    1550     // メール本文の取得 
     1550    // ¥á¡¼¥ëËÜʸ¤Î¼èÆÀ 
    15511551    $objMailView->assignobj($objPage); 
    15521552    $body = $objMailView->fetch($arrMAILTPLPATH[$template_id]); 
    15531553     
    1554     // メール送信処理 
     1554    // ¥á¡¼¥ëÁ÷¿®½èÍý 
    15551555    $objSendMail = new GC_SendMail(); 
    15561556    $from = $arrInfo['email03']; 
     
    15591559    $objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error); 
    15601560    $objSendMail->setTo($to, $to_name); 
    1561     $objSendMail->sendMail();   // メール送信 
    1562 } 
    1563  
    1564 /* 受注完了メール送信 */ 
     1561    $objSendMail->sendMail();   // ¥á¡¼¥ëÁ÷¿® 
     1562} 
     1563 
     1564/* ¼õÃí´°Î»¥á¡¼¥ëÁ÷¿® */ 
    15651565function sfSendOrderMail($order_id, $template_id, $subject = "", $header = "", $footer = "", $send = true) { 
    15661566    global $arrMAILTPLPATH; 
     
    15741574         
    15751575    if($subject == "" && $header == "" && $footer == "") { 
    1576         // メールテンプレート情報の取得 
     1576        // ¥á¡¼¥ë¥Æ¥ó¥×¥ì¡¼¥È¾ðÊó¤Î¼èÆÀ 
    15771577        $where = "template_id = ?"; 
    15781578        $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array('1')); 
     
    15861586    } 
    15871587     
    1588     // 受注情報の取得 
     1588    // ¼õÃí¾ðÊó¤Î¼èÆÀ 
    15891589    $where = "order_id = ?"; 
    15901590    $arrRet = $objQuery->select("*", "dtb_order", $where, array($order_id)); 
     
    15941594    $objPage->Message_tmp = $arrOrder['message']; 
    15951595         
    1596     // 顧客情報の取得 
     1596    // ¸ÜµÒ¾ðÊó¤Î¼èÆÀ 
    15971597    $customer_id = $arrOrder['customer_id']; 
    15981598    $arrRet = $objQuery->select("point", "dtb_customer", "customer_id = ?", array($customer_id)); 
     
    16021602    $objPage->arrOrder = $arrOrder; 
    16031603 
    1604     //その他決済情報 
     1604    //¤½¤Î¾·èºÑ¾ðÊó 
    16051605    if($arrOrder['memo02'] != "") { 
    16061606        $arrOther = unserialize($arrOrder['memo02']); 
     
    16151615    } 
    16161616 
    1617     // 都道府県変換 
     1617    // ÅÔÆ»Éܸ©ÊÑ´¹ 
    16181618    global $arrPref; 
    16191619    $objPage->arrOrder['deliv_pref'] = $arrPref[$objPage->arrOrder['deliv_pref']]; 
     
    16251625     
    16261626    $objMailView = new SC_SiteView(); 
    1627     // メール本文の取得 
     1627    // ¥á¡¼¥ëËÜʸ¤Î¼èÆÀ 
    16281628    $objMailView->assignobj($objPage); 
    16291629    $body = $objMailView->fetch($arrMAILTPLPATH[$template_id]); 
    16301630     
    1631     // メール送信処理 
     1631    // ¥á¡¼¥ëÁ÷¿®½èÍý 
    16321632    $objSendMail = new GC_SendMail(); 
    16331633    $bcc = $arrInfo['email01']; 
     
    16381638     
    16391639    $objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error, $bcc); 
    1640     $objSendMail->setTo($arrOrder["order_email"], $arrOrder["order_name01"] . " ". $arrOrder["order_name02"] ." "); 
    1641  
    1642  
    1643     // 送信フラグ:trueの場合は、送信する。 
     1640    $objSendMail->setTo($arrOrder["order_email"], $arrOrder["order_name01"] . " ". $arrOrder["order_name02"] ." ÍÍ"); 
     1641 
     1642 
     1643    // Á÷¿®¥Õ¥é¥°:true¤Î¾ì¹ç¤Ï¡¢Á÷¿®¤¹¤ë¡£ 
    16441644    if($send) { 
    16451645        if ($objSendMail->sendMail()) { 
     
    16511651} 
    16521652 
    1653 // テンプレートを使用したメールの送信 
     1653// ¥Æ¥ó¥×¥ì¡¼¥È¤ò»ÈÍѤ·¤¿¥á¡¼¥ë¤ÎÁ÷¿® 
    16541654function sfSendTplMail($to, $subject, $tplpath, $objPage) { 
    16551655    $objMailView = new SC_SiteView(); 
    16561656    $objSiteInfo = new SC_SiteInfo(); 
    16571657    $arrInfo = $objSiteInfo->data; 
    1658     // メール本文の取得 
     1658    // ¥á¡¼¥ëËÜʸ¤Î¼èÆÀ 
    16591659    $objPage->tpl_shopname=$arrInfo['shop_name']; 
    16601660    $objPage->tpl_infoemail = $arrInfo['email02']; 
    16611661    $objMailView->assignobj($objPage); 
    16621662    $body = $objMailView->fetch($tplpath); 
    1663     // メール送信処理 
     1663    // ¥á¡¼¥ëÁ÷¿®½èÍý 
    16641664    $objSendMail = new GC_SendMail(); 
    16651665    $to = mb_encode_mimeheader($to); 
     
    16711671} 
    16721672 
    1673 // 通常のメール送信 
     1673// Ä̾ï¤Î¥á¡¼¥ëÁ÷¿® 
    16741674function sfSendMail($to, $subject, $body) { 
    16751675    $objSiteInfo = new SC_SiteInfo(); 
    16761676    $arrInfo = $objSiteInfo->data; 
    1677     // メール送信処理 
     1677    // ¥á¡¼¥ëÁ÷¿®½èÍý 
    16781678    $objSendMail = new GC_SendMail(); 
    16791679    $bcc = $arrInfo['email01']; 
     
    16841684} 
    16851685 
    1686 //件名にテンプレートを用いる 
     1686//·ï̾¤Ë¥Æ¥ó¥×¥ì¡¼¥È¤òÍѤ¤¤ë 
    16871687function sfMakeSubject($subject){ 
    16881688     
     
    17011701} 
    17021702 
    1703 // メール配信履歴への登録 
     1703// ¥á¡¼¥ëÇÛ¿®ÍúÎò¤Ø¤ÎÅÐÏ¿ 
    17041704function sfSaveMailHistory($order_id, $template_id, $subject, $body) { 
    17051705    $sqlval['subject'] = $subject; 
     
    17181718} 
    17191719 
    1720 /* 会員情報を一時受注テーブルへ */ 
     1720/* ²ñ°÷¾ðÊó¤ò°ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Ø */ 
    17211721function sfGetCustomerSqlVal($uniqid, $sqlval) { 
    17221722    $objCustomer = new SC_Customer(); 
    1723     // 会員情報登録処理 
     1723    // ²ñ°÷¾ðÊóÅÐÏ¿½èÍý 
    17241724    if ($objCustomer->isLoginSuccess()) { 
    1725         // 登録データの作成 
     1725        // ÅÐÏ¿¥Ç¡¼¥¿¤ÎºîÀ® 
    17261726        $sqlval['order_temp_id'] = $uniqid; 
    17271727        $sqlval['update_date'] = 'Now()'; 
     
    17471747} 
    17481748 
    1749 // 受注一時テーブルへの書き込み処理 
     1749// ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ø¤Î½ñ¤­¹þ¤ß½èÍý 
    17501750function sfRegistTempOrder($uniqid, $sqlval) { 
    17511751    if($uniqid != "") { 
    1752         // 既存データのチェック 
     1752        // ´û¸¥Ç¡¼¥¿¤Î¥Á¥§¥Ã¥¯ 
    17531753        $objQuery = new SC_Query(); 
    17541754        $where = "order_temp_id = ?"; 
    17551755        $cnt = $objQuery->count("dtb_order_temp", $where, array($uniqid)); 
    1756         // 既存データがない場合 
     1756        // ´û¸¥Ç¡¼¥¿¤¬¤Ê¤¤¾ì¹ç 
    17571757        if ($cnt == 0) { 
    1758             // 初回書き込み時に会員の登録済み情報を取り込む 
     1758            // ½é²ó½ñ¤­¹þ¤ß»þ¤Ë²ñ°÷¤ÎÅÐÏ¿ºÑ¤ß¾ðÊó¤ò¼è¤ê¹þ¤à 
    17591759            $sqlval = sfGetCustomerSqlVal($uniqid, $sqlval); 
    17601760            $sqlval['create_date'] = "now()"; 
     
    17661766} 
    17671767 
    1768 /* 会員のメルマガ登録があるかどうかのチェック(仮会員を含まない) */ 
     1768/* ²ñ°÷¤Î¥á¥ë¥Þ¥¬ÅÐÏ¿¤¬¤¢¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯(²¾²ñ°÷¤ò´Þ¤Þ¤Ê¤¤) */ 
    17691769function sfCheckCustomerMailMaga($email) { 
    17701770    $col = "T1.email, T1.mail_flag, T2.customer_id"; 
     
    17731773    $objQuery = new SC_Query(); 
    17741774    $arrRet = $objQuery->select($col, $from, $where, array($email)); 
    1775     // 会員のメールアドレスが登録されている 
     1775    // ²ñ°÷¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë 
    17761776    if($arrRet[0]['customer_id'] != "") { 
    17771777        return true; 
     
    17801780} 
    17811781 
    1782 // カードの処理結果を返す 
     1782// ¥«¡¼¥É¤Î½èÍý·ë²Ì¤òÊÖ¤¹ 
    17831783function sfGetAuthonlyResult($dir, $file_name, $name01, $name02, $card_no, $card_exp, $amount, $order_id, $jpo_info = "10"){ 
    17841784 
    1785     $path = $dir .$file_name;       // cgiファイルのフルパス生成 
    1786     $now_dir = getcwd();            // requireがうまくいかないので、cgi実行ディレクトリに移動する 
     1785    $path = $dir .$file_name;       // cgi¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹À¸À® 
     1786    $now_dir = getcwd();            // require¤¬¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤Î¤Ç¡¢cgi¼Â¹Ô¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤¹¤ë 
    17871787    chdir($dir); 
    17881788     
    1789     // パイプ渡しでコマンドラインからcgi起動 
     1789    // ¥Ñ¥¤¥×ÅϤ·¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤écgiµ¯Æ° 
    17901790    $cmd = "$path card_no=$card_no name01=$name01 name02=$name02 card_exp=$card_exp amount=$amount order_id=$order_id jpo_info=$jpo_info"; 
    17911791 
    17921792    $tmpResult = popen($cmd, "r"); 
    17931793     
    1794     // 結果取得 
     1794    // ·ë²Ì¼èÆÀ 
    17951795    while( ! FEOF ( $tmpResult ) ) { 
    17961796        $result .= FGETS($tmpResult); 
    17971797    } 
    1798     pclose($tmpResult);             //  パイプを閉じる 
    1799     chdir($now_dir);                // 元にいたディレクトリに帰る 
    1800      
    1801     // 結果を連想配列へ格納 
     1798    pclose($tmpResult);             //  ¥Ñ¥¤¥×¤òÊĤ¸¤ë 
     1799    chdir($now_dir);                //¡¡¸µ¤Ë¤¤¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ëµ¢¤ë 
     1800     
     1801    // ·ë²Ì¤òÏ¢ÁÛÇÛÎó¤Ø³ÊǼ 
    18021802    $result = ereg_replace("&$", "", $result); 
    18031803    foreach (explode("&",$result) as $data) { 
     
    18091809} 
    18101810 
    1811 // 受注一時テーブルから情報を取得する 
     1811// ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤«¤é¾ðÊó¤ò¼èÆÀ¤¹¤ë 
    18121812function sfGetOrderTemp($order_temp_id) { 
    18131813    $objQuery = new SC_Query(); 
     
    18171817} 
    18181818 
    1819 // カテゴリID取得判定用のグローバル変数(一度取得されていたら再取得しないようにする) 
     1819// ¥«¥Æ¥´¥êID¼èÆÀȽÄêÍѤΥ°¥í¡¼¥Ð¥ëÊÑ¿ô(°ìÅÙ¼èÆÀ¤µ¤ì¤Æ¤¤¤¿¤éºÆ¼èÆÀ¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë) 
    18201820$g_category_on = false; 
    18211821$g_category_id = ""; 
    18221822 
    1823 /* 選択中のカテゴリを取得する */ 
     1823/* ÁªÂòÃæ¤Î¥«¥Æ¥´¥ê¤ò¼èÆÀ¤¹¤ë */ 
    18241824function sfGetCategoryId($product_id, $category_id) { 
    18251825    global $g_category_on; 
     
    18351835            $g_category_id = $category_id; 
    18361836        } else { 
    1837             // 不正な場合は、0を返す。 
     1837            // ÉÔÀµ¤Ê¾ì¹ç¤Ï¡¢0¤òÊÖ¤¹¡£ 
    18381838            $g_category_id = 0; 
    18391839        } 
     
    18421842} 
    18431843 
    1844 // ROOTID取得判定用のグローバル変数(一度取得されていたら再取得しないようにする) 
     1844// ROOTID¼èÆÀȽÄêÍѤΥ°¥í¡¼¥Ð¥ëÊÑ¿ô(°ìÅÙ¼èÆÀ¤µ¤ì¤Æ¤¤¤¿¤éºÆ¼èÆÀ¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë) 
    18451845$g_root_on = false; 
    18461846$g_root_id = ""; 
    18471847 
    1848 /* 選択中のアイテムのルートカテゴリIDを取得する */ 
     1848/* ÁªÂòÃæ¤Î¥¢¥¤¥Æ¥à¤Î¥ë¡¼¥È¥«¥Æ¥´¥êID¤ò¼èÆÀ¤¹¤ë */ 
    18491849function sfGetRootId() { 
    18501850    global $g_root_on; 
     
    18541854        $objQuery = new SC_Query(); 
    18551855        if($_GET['product_id'] != "" || $_GET['category_id'] != "") { 
    1856             // 選択中のカテゴリIDを判定する 
     1856            // ÁªÂòÃæ¤Î¥«¥Æ¥´¥êID¤òȽÄꤹ¤ë 
    18571857            $category_id = sfGetCategoryId($_GET['product_id'], $_GET['category_id']); 
    1858             // ROOTカテゴリIDの取得 
     1858            // ROOT¥«¥Æ¥´¥êID¤Î¼èÆÀ 
    18591859             $arrRet = sfGetParents($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $category_id); 
    18601860             $root_id = $arrRet[0]; 
    18611861        } else { 
    1862             // ROOTカテゴリIDをなしに設定する 
     1862            // ROOT¥«¥Æ¥´¥êID¤ò¤Ê¤·¤ËÀßÄꤹ¤ë 
    18631863            $root_id = ""; 
    18641864        } 
     
    18681868} 
    18691869 
    1870 /* カテゴリから商品を検索する場合のWHERE文と値を返す */ 
     1870/* ¥«¥Æ¥´¥ê¤«¤é¾¦Éʤò¸¡º÷¤¹¤ë¾ì¹ç¤ÎWHEREʸ¤ÈÃͤòÊÖ¤¹ */ 
    18711871function sfGetCatWhere($category_id) { 
    1872     // 子カテゴリIDの取得 
     1872    // »Ò¥«¥Æ¥´¥êID¤Î¼èÆÀ 
    18731873    $arrRet = sfGetChildsID("dtb_category", "parent_category_id", "category_id", $category_id); 
    18741874    $tmp_where = ""; 
     
    18851885} 
    18861886 
    1887 /* 加算ポイントの計算式 */ 
     1887/* ²Ã»»¥Ý¥¤¥ó¥È¤Î·×»»¼° */ 
    18881888function sfGetAddPoint($totalpoint, $use_point, $arrInfo) { 
    1889     // 購入商品の合計ポイントから利用したポイントのポイント換算価値を引く方式 
     1889    // ¹ØÆþ¾¦Éʤιç·×¥Ý¥¤¥ó¥È¤«¤éÍøÍѤ·¤¿¥Ý¥¤¥ó¥È¤Î¥Ý¥¤¥ó¥È´¹»»²ÁÃͤò°ú¤¯Êý¼° 
    18901890    $add_point = $totalpoint - intval($use_point * ($arrInfo['point_rate'] / 100)); 
    18911891     
     
    18961896} 
    18971897 
    1898 /* 一意かつ予測されにくいID */ 
     1898/* °ì°Õ¤«¤Äͽ¬¤µ¤ì¤Ë¤¯¤¤ID */ 
    18991899function sfGetUniqRandomId($head = "") { 
    1900     // 予測されないようにランダム文字列を付与する。 
     1900    // ͽ¬¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¥é¥ó¥À¥àʸ»úÎó¤òÉÕÍ¿¤¹¤ë¡£ 
    19011901    $random = gfMakePassword(8); 
    1902     // 同一ホスト内で一意なIDを生成 
     1902    // Ʊ°ì¥Û¥¹¥ÈÆâ¤Ç°ì°Õ¤ÊID¤òÀ¸À® 
    19031903    $id = uniqid($head); 
    19041904    return ($id . $random); 
    19051905} 
    19061906 
    1907 // カテゴリ別オススメ品の取得 
     1907// ¥«¥Æ¥´¥êÊÌ¥ª¥¹¥¹¥áÉʤμèÆÀ 
    19081908function sfGetBestProducts( $conn, $category_id = 0){ 
    1909     // 既に登録されている内容を取得する 
     1909    // ´û¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ëÆâÍƤò¼èÆÀ¤¹¤ë 
    19101910    $sql = "SELECT name, main_image, main_list_image, price01_min, price01_max, price02_min, price02_max, point_rate, 
    19111911             A.product_id, A.comment FROM dtb_best_products as A LEFT JOIN vw_products_allclass AS allcls  
     
    19161916} 
    19171917 
    1918 // 特殊制御文字の手動エスケープ 
     1918// ÆüìÀ©¸æʸ»ú¤Î¼êÆ°¥¨¥¹¥±¡¼¥× 
    19191919function sfManualEscape($data) { 
    1920     // 配列でない場合 
     1920    // ÇÛÎó¤Ç¤Ê¤¤¾ì¹ç 
    19211921    if(!is_array($data)) { 
    19221922        if (DB_TYPE == "pgsql") { 
     
    19301930    } 
    19311931     
    1932     // 配列の場合 
     1932    // ÇÛÎó¤Î¾ì¹ç 
    19331933    foreach($data as $val) { 
    19341934        if (DB_TYPE == "pgsql") { 
     
    19461946} 
    19471947 
    1948 // 受注番号、利用ポイント、加算ポイントから最終ポイントを取得 
     1948// ¼õÃíÈֹ桢ÍøÍѥݥ¤¥ó¥È¡¢²Ã»»¥Ý¥¤¥ó¥È¤«¤éºÇ½ª¥Ý¥¤¥ó¥È¤ò¼èÆÀ 
    19491949function sfGetCustomerPoint($order_id, $use_point, $add_point) { 
    19501950    $objQuery = new SC_Query(); 
     
    19621962} 
    19631963 
    1964 /* ドメイン間で有効なセッションのスタート */ 
     1964/* ¥É¥á¥¤¥ó´Ö¤ÇÍ­¸ú¤Ê¥»¥Ã¥·¥ç¥ó¤Î¥¹¥¿¡¼¥È */ 
    19651965function sfDomainSessionStart() { 
    19661966    $ret = session_id(); 
    19671967/* 
    1968     ヘッダーを送信していてもsession_start()が必要なページがあるので 
    1969     コメントアウトしておく 
     1968    ¥Ø¥Ã¥À¡¼¤òÁ÷¿®¤·¤Æ¤¤¤Æ¤âsession_start()¤¬É¬Íפʥڡ¼¥¸¤¬¤¢¤ë¤Î¤Ç 
     1969    ¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤ª¤¯ 
    19701970    if($ret == "" && !headers_sent()) { 
    19711971*/ 
    19721972    if($ret == "") { 
    1973         /* セッションパラメータの指定 
    1974          ・ブラウザを閉じるまで有効 
    1975          ・すべてのパスで有効 
    1976          ・同じドメイン間で共有 */ 
     1973        /* ¥»¥Ã¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿¤Î»ØÄê 
     1974         ¡¦¥Ö¥é¥¦¥¶¤òÊĤ¸¤ë¤Þ¤ÇÍ­¸ú 
     1975         ¡¦¤¹¤Ù¤Æ¤Î¥Ñ¥¹¤ÇÍ­¸ú 
     1976         ¡¦Æ±¤¸¥É¥á¥¤¥ó´Ö¤Ç¶¦Í­ */ 
    19771977        session_set_cookie_params (0, "/", DOMAIN_NAME); 
    19781978 
    19791979        if(!ini_get("session.auto_start")){ 
    1980             // セッション開始 
     1980            // ¥»¥Ã¥·¥ç¥ó³«»Ï 
    19811981            session_start(); 
    19821982        } 
     
    19841984} 
    19851985 
    1986 /* 文字列に強制的に改行を入れる */ 
     1986/* ʸ»úÎó¤Ë¶¯À©Åª¤Ë²þ¹Ô¤òÆþ¤ì¤ë */ 
    19871987function sfPutBR($str, $size) { 
    19881988    $i = 0; 
     
    20062006} 
    20072007 
    2008 // 二回以上繰り返されているスラッシュ[/]を一つに変換する。 
     2008// Æó²ó°Ê¾å·«¤êÊÖ¤µ¤ì¤Æ¤¤¤ë¥¹¥é¥Ã¥·¥å[/]¤ò°ì¤Ä¤ËÊÑ´¹¤¹¤ë¡£ 
    20092009function sfRmDupSlash($istr){ 
    20102010    if(ereg("^http://", $istr)) { 
     
    20642064} 
    20652065 
    2066 // 年、月、締め日から、先月の締め日+1、今月の締め日を求める。 
     2066// ǯ¡¢·î¡¢Äù¤áÆü¤«¤é¡¢Àè·î¤ÎÄù¤áÆü+1¡¢º£·î¤ÎÄù¤áÆü¤òµá¤á¤ë¡£ 
    20672067function sfTermMonth($year, $month, $close_day) { 
    20682068    $end_year = $year; 
    20692069    $end_month = $month; 
    20702070     
    2071     // 開始月が終了月と同じか否か 
     2071    // ³«»Ï·î¤¬½ªÎ»·î¤ÈƱ¤¸¤«Èݤ« 
    20722072    $same_month = false; 
    20732073     
    2074     // 該当月の末日を求める。 
     2074    // ³ºÅö·î¤ÎËöÆü¤òµá¤á¤ë¡£ 
    20752075    $end_last_day = date("d", mktime(0, 0, 0, $month + 1, 0, $year)); 
    20762076     
    2077     // 月の末日が締め日より少ない場合 
     2077    // ·î¤ÎËöÆü¤¬Äù¤áÆü¤è¤ê¾¯¤Ê¤¤¾ì¹ç 
    20782078    if($end_last_day < $close_day) { 
    2079         // 締め日を月末日に合わせる 
     2079        // Äù¤áÆü¤ò·îËöÆü¤Ë¹ç¤ï¤»¤ë 
    20802080        $end_day = $end_last_day; 
    20812081    } else { 
     
    20832083    } 
    20842084     
    2085     // 前月の取得 
     2085    // Á°·î¤Î¼èÆÀ 
    20862086    $tmp_year = date("Y", mktime(0, 0, 0, $month, 0, $year)); 
    20872087    $tmp_month = date("m", mktime(0, 0, 0, $month, 0, $year)); 
    2088     // 前月の末日を求める。 
     2088    // Á°·î¤ÎËöÆü¤òµá¤á¤ë¡£ 
    20892089    $start_last_day = date("d", mktime(0, 0, 0, $month, 0, $year)); 
    20902090     
    2091     // 前月の末日が締め日より少ない場合 
     2091    // Á°·î¤ÎËöÆü¤¬Äù¤áÆü¤è¤ê¾¯¤Ê¤¤¾ì¹ç 
    20922092    if ($start_last_day < $close_day) { 
    2093         // 月末日に合わせる 
     2093        // ·îËöÆü¤Ë¹ç¤ï¤»¤ë 
    20942094        $tmp_day = $start_last_day; 
    20952095    } else { 
     
    20972097    } 
    20982098     
    2099     // 先月の末日の翌日を取得する 
     2099    // Àè·î¤ÎËöÆü¤ÎÍâÆü¤ò¼èÆÀ¤¹¤ë 
    21002100    $start_year = date("Y", mktime(0, 0, 0, $tmp_month, $tmp_day + 1, $tmp_year)); 
    21012101    $start_month = date("m", mktime(0, 0, 0, $tmp_month, $tmp_day + 1, $tmp_year)); 
    21022102    $start_day = date("d", mktime(0, 0, 0, $tmp_month, $tmp_day + 1, $tmp_year)); 
    21032103     
    2104     // 日付の作成 
     2104    // ÆüÉդκîÀ® 
    21052105    $start_date = sprintf("%d/%d/%d 00:00:00", $start_year, $start_month, $start_day); 
    21062106    $end_date = sprintf("%d/%d/%d 23:59:59", $end_year, $end_month, $end_day); 
     
    21092109} 
    21102110 
    2111 // PDF用のRGBカラーを返す 
     2111// PDFÍѤÎRGB¥«¥é¡¼¤òÊÖ¤¹ 
    21122112function sfGetPdfRgb($hexrgb) { 
    21132113    $hex = substr($hexrgb, 0, 2); 
     
    21232123} 
    21242124 
    2125 //メルマガ仮登録とメール配信 
     2125//¥á¥ë¥Þ¥¬²¾ÅÐÏ¿¤È¥á¡¼¥ëÇÛ¿® 
    21262126function sfRegistTmpMailData($mail_flag, $email){ 
    21272127    $objQuery = new SC_Query(); 
     
    21362136    $arrRegistMailMagazine["update_date"] = 'now()'; 
    21372137     
    2138     //メルマガ仮登録用フラグ 
     2138    //¥á¥ë¥Þ¥¬²¾ÅÐÏ¿Íѥե饰 
    21392139    $flag = $objQuery->count("dtb_customer_mail_temp", "email=?", array($email)); 
    21402140    $objConn->query("BEGIN"); 
     
    21492149    } 
    21502150    $objConn->query("COMMIT"); 
    2151     $subject = sfMakeSubject('メルマガ仮登録が完了しました。'); 
     2151    $subject = sfMakeSubject('¥á¥ë¥Þ¥¬²¾ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£'); 
    21522152    $objPage->tpl_url = SSL_URL."mailmagazine/regist.php?temp_id=".$arrRegistMailMagazine['temp_id']; 
    21532153    switch ($mail_flag){ 
    21542154        case '1': 
    2155         $objPage->tpl_name = "登録"; 
     2155        $objPage->tpl_name = "ÅÐÏ¿"; 
    21562156        $objPage->tpl_kindname = "HTML"; 
    21572157        break; 
    21582158         
    21592159        case '2': 
    2160         $objPage->tpl_name = "登録"; 
    2161         $objPage->tpl_kindname = "テキスト"; 
     2160        $objPage->tpl_name = "ÅÐÏ¿"; 
     2161        $objPage->tpl_kindname = "¥Æ¥­¥¹¥È"; 
    21622162        break; 
    21632163         
    21642164        case '3': 
    2165         $objPage->tpl_name = "解除"; 
     2165        $objPage->tpl_name = "²ò½ü"; 
    21662166        break; 
    21672167    } 
     
    21702170} 
    21712171 
    2172 // 再帰的に多段配列を検索して一次元配列(Hidden引渡し用配列)に変換する。 
     2172// ºÆµ¢Åª¤Ë¿ÃÊÇÛÎó¤ò¸¡º÷¤·¤Æ°ì¼¡¸µÇÛÎó(Hidden°úÅϤ·ÍÑÇÛÎó)¤ËÊÑ´¹¤¹¤ë¡£ 
    21732173function sfMakeHiddenArray($arrSrc, $arrDst = array(), $parent_key = "") { 
    21742174    if(is_array($arrSrc)) { 
     
    21892189} 
    21902190 
    2191 // DB取得日時をタイムに変換 
     2191// DB¼èÆÀÆü»þ¤ò¥¿¥¤¥à¤ËÊÑ´¹ 
    21922192function sfDBDatetoTime($db_date) { 
    21932193    $date = ereg_replace("\..*$","",$db_date); 
     
    21962196} 
    21972197 
    2198 // 出力の際にテンプレートを切り替えられる 
     2198// ½ÐÎϤκݤ˥ƥó¥×¥ì¡¼¥È¤òÀÚ¤êÂؤ¨¤é¤ì¤ë 
    21992199/* 
    22002200    index.php?tpl=test.tpl 
     
    22302230} 
    22312231 
    2232 //会員編集登録処理 
     2232//²ñ°÷ÊÔ½¸ÅÐÏ¿½èÍý 
    22332233function sfEditCustomerData($array, $arrRegistColumn) { 
    22342234    $objQuery = new SC_Query(); 
     
    22492249    } 
    22502250 
    2251     //-- パスワードの更新がある場合は暗号化。(更新がない場合はUPDATE文を構成しない) 
     2251    //-- ¥Ñ¥¹¥ï¡¼¥É¤Î¹¹¿·¤¬¤¢¤ë¾ì¹ç¤Ï°Å¹æ²½¡£¡Ê¹¹¿·¤¬¤Ê¤¤¾ì¹ç¤ÏUPDATEʸ¤ò¹½À®¤·¤Ê¤¤¡Ë 
    22522252    if ($array["password"] != DEFAULT_PASSWORD) $arrRegist["password"] = sha1($array["password"] . ":" . AUTH_MAGIC);  
    22532253    $arrRegist["update_date"] = "NOW()"; 
     
    22572257    $sqlval['email'] = $array['email']; 
    22582258    $sqlval['mail_flag'] = $array['mail_flag']; 
    2259     //-- 編集登録実行 
     2259    //-- ÊÔ½¸ÅÐÏ¿¼Â¹Ô 
    22602260    $objQuery->begin(); 
    22612261    $objQuery->update("dtb_customer", $arrRegist, "customer_id = ? ", array($array['customer_id'])); 
     
    22652265} 
    22662266 
    2267 // PHPのmb_convert_encoding関数をSmartyでも使えるようにする 
     2267// PHP¤Îmb_convert_encoding´Ø¿ô¤òSmarty¤Ç¤â»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë 
    22682268function sf_mb_convert_encoding($str, $encode = 'CHAR_CODE') { 
    22692269    return  mb_convert_encoding($str, $encode); 
    22702270}    
    22712271 
    2272 // PHPのmktime関数をSmartyでも使えるようにする 
     2272// PHP¤Îmktime´Ø¿ô¤òSmarty¤Ç¤â»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë 
    22732273function sf_mktime($format, $hour=0, $minute=0, $second=0, $month=1, $day=1, $year=1999) { 
    22742274    return  date($format,mktime($hour, $minute, $second, $month, $day, $year)); 
    22752275}    
    22762276 
    2277 // PHPのdate関数をSmartyでも使えるようにする 
     2277// PHP¤Îdate´Ø¿ô¤òSmarty¤Ç¤â»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë 
    22782278function sf_date($format, $timestamp = '') { 
    22792279    return  date( $format, $timestamp); 
    22802280} 
    22812281 
    2282 // チェックボックスの型を変換する 
     2282// ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤Î·¿¤òÊÑ´¹¤¹¤ë 
    22832283function sfChangeCheckBox($data , $tpl = false){ 
    22842284    if ($tpl) { 
     
    23002300    $sql = ""; 
    23012301     
    2302     //テーブル内容の削除 
     2302    //¥Æ¡¼¥Ö¥ëÆâÍƤκï½ü 
    23032303    $objQuery->query("DELETE FROM dtb_category_count"); 
    23042304    $objQuery->query("DELETE FROM dtb_category_total_count"); 
    23052305     
    2306     //各カテゴリ内の商品数を数えて格納 
     2306    //³Æ¥«¥Æ¥´¥êÆâ¤Î¾¦ÉÊ¿ô¤ò¿ô¤¨¤Æ³ÊǼ 
    23072307    $sql = " INSERT INTO dtb_category_count(category_id, product_count, create_date) "; 
    23082308    $sql .= " SELECT T1.category_id, count(T2.category_id), now() FROM dtb_category AS T1 LEFT JOIN dtb_products AS T2 "; 
     
    23122312    $objQuery->query($sql); 
    23132313     
    2314     //子カテゴリ内の商品数を集計する 
     2314    //»Ò¥«¥Æ¥´¥êÆâ¤Î¾¦ÉÊ¿ô¤ò½¸·×¤¹¤ë 
    23152315    $arrCat = $objQuery->getAll("SELECT * FROM dtb_category"); 
    23162316     
     
    23182318    foreach($arrCat as $key => $val){ 
    23192319         
    2320         // 子ID一覧を取得 
     2320        // »ÒID°ìÍ÷¤ò¼èÆÀ 
    23212321        $arrRet = sfGetChildrenArray('dtb_category', 'parent_category_id', 'category_id', $val['category_id']);  
    23222322        $line = sfGetCommaList($arrRet); 
     
    23302330} 
    23312331 
    2332 // 2つの配列を用いて連想配列を作成する 
     2332// 2¤Ä¤ÎÇÛÎó¤òÍѤ¤¤ÆÏ¢ÁÛÇÛÎó¤òºîÀ®¤¹¤ë 
    23332333function sfarrCombine($arrKeys, $arrValues) { 
    23342334 
     
    23482348} 
    23492349 
    2350 /* 階層構造のテーブルから子ID配列を取得する */ 
     2350/* ³¬Áع½Â¤¤Î¥Æ¡¼¥Ö¥ë¤«¤é»ÒIDÇÛÎó¤ò¼èÆÀ¤¹¤ë */ 
    23512351function sfGetChildrenArray($table, $pid_name, $id_name, $id) { 
    23522352    $objQuery = new SC_Query(); 
     
    23692369} 
    23702370 
    2371 /* 親ID直下の子IDをすべて取得する */ 
     2371/* ¿ÆIDľ²¼¤Î»ÒID¤ò¤¹¤Ù¤Æ¼èÆÀ¤¹¤ë */ 
    23722372function sfGetChildrenArraySub($arrData, $pid_name, $id_name, $arrPID) { 
    23732373    $arrChildren = array(); 
     
    23852385 
    23862386 
    2387 /* 階層構造のテーブルから親ID配列を取得する */ 
     2387/* ³¬Áع½Â¤¤Î¥Æ¡¼¥Ö¥ë¤«¤é¿ÆIDÇÛÎó¤ò¼èÆÀ¤¹¤ë */ 
    23882388function sfGetParentsArray($table, $pid_name, $id_name, $id) { 
    23892389    $objQuery = new SC_Query(); 
     
    24072407} 
    24082408 
    2409 /* 子ID所属する親IDを取得する */ 
     2409/* »ÒID½ê°¤¹¤ë¿ÆID¤ò¼èÆÀ¤¹¤ë */ 
    24102410function sfGetParentsArraySub($arrData, $pid_name, $id_name, $child) { 
    24112411    $max = count($arrData); 
     
    24202420} 
    24212421 
    2422 /* 階層構造のテーブルから与えられたIDの兄弟を取得する */ 
     2422/* ³¬Áع½Â¤¤Î¥Æ¡¼¥Ö¥ë¤«¤éÍ¿¤¨¤é¤ì¤¿ID¤Î·»Äï¤ò¼èÆÀ¤¹¤ë */ 
    24232423function sfGetBrothersArray($arrData, $pid_name, $id_name, $arrPID) { 
    24242424    $max = count($arrData); 
     
    24262426    $arrBrothers = array(); 
    24272427    foreach($arrPID as $id) { 
    2428         // 親IDを検索する 
     2428        // ¿ÆID¤ò¸¡º÷¤¹¤ë 
    24292429        for($i = 0; $i < $max; $i++) { 
    24302430            if($arrData[$i][$id_name] == $id) { 
     
    24332433            } 
    24342434        } 
    2435         // 兄弟IDを検索する 
     2435        // ·»ÄïID¤ò¸¡º÷¤¹¤ë 
    24362436        for($i = 0; $i < $max; $i++) { 
    24372437            if($arrData[$i][$pid_name] == $parent) { 
     
    24432443} 
    24442444 
    2445 /* 階層構造のテーブルから与えられたIDの直属の子を取得する */ 
     2445/* ³¬Áع½Â¤¤Î¥Æ¡¼¥Ö¥ë¤«¤éÍ¿¤¨¤é¤ì¤¿ID¤Îľ°¤Î»Ò¤ò¼èÆÀ¤¹¤ë */ 
    24462446function sfGetUnderChildrenArray($arrData, $pid_name, $id_name, $parent) { 
    24472447    $max = count($arrData); 
    24482448     
    24492449    $arrChildren = array(); 
    2450     // 子IDを検索する 
     2450    // »ÒID¤ò¸¡º÷¤¹¤ë 
    24512451    for($i = 0; $i < $max; $i++) { 
    24522452        if($arrData[$i][$pid_name] == $parent) { 
     
    24582458 
    24592459 
    2460 // カテゴリツリーの取得 
     2460// ¥«¥Æ¥´¥ê¥Ä¥ê¡¼¤Î¼èÆÀ 
    24612461function sfGetCatTree($parent_category_id, $count_check = false) { 
    24622462    $objQuery = new SC_Query(); 
     
    24732473    $col .= " ttl.product_count";    
    24742474    $from = "dtb_category as cat left join dtb_category_total_count as ttl on ttl.category_id = cat.category_id"; 
    2475     // 登録商品数のチェック 
     2475    // ÅÐÏ¿¾¦ÉÊ¿ô¤Î¥Á¥§¥Ã¥¯ 
    24762476    if($count_check) { 
    24772477        $where = "del_flg = 0 AND product_count > 0"; 
     
    24962496} 
    24972497 
    2498 // 親カテゴリーを連結した文字列を取得する 
     2498// ¿Æ¥«¥Æ¥´¥ê¡¼¤òÏ¢·ë¤·¤¿Ê¸»úÎó¤ò¼èÆÀ¤¹¤ë 
    24992499function sfGetCatCombName($category_id){ 
    2500     // 商品が属するカテゴリIDを縦に取得 
     2500    // ¾¦Éʤ¬Â°¤¹¤ë¥«¥Æ¥´¥êID¤ò½Ä¤Ë¼èÆÀ 
    25012501    $objQuery = new SC_Query(); 
    25022502    $arrCatID = sfGetParents($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);  
    25032503    $ConbName = ""; 
    25042504     
    2505     // カテゴリー名称を取得する 
     2505    // ¥«¥Æ¥´¥ê¡¼Ì¾¾Î¤ò¼èÆÀ¤¹¤ë 
    25062506    foreach($arrCatID as $key => $val){ 
    25072507        $sql = "SELECT category_name FROM dtb_category WHERE category_id = ?"; 
     
    25102510        $ConbName .= $CatName . ' | '; 
    25112511    } 
    2512     // 最後の | をカットする 
     2512    // ºÇ¸å¤Î ¡Ã ¤ò¥«¥Ã¥È¤¹¤ë 
    25132513    $ConbName = substr_replace($ConbName, "", strlen($ConbName) - 2, 2); 
    25142514     
     
    25162516} 
    25172517 
    2518 // 指定したカテゴリーIDの大カテゴリーを取得する 
     2518// »ØÄꤷ¤¿¥«¥Æ¥´¥ê¡¼ID¤ÎÂ祫¥Æ¥´¥ê¡¼¤ò¼èÆÀ¤¹¤ë 
    25192519function GetFirstCat($category_id){ 
    2520     // 商品が属するカテゴリIDを縦に取得 
     2520    // ¾¦Éʤ¬Â°¤¹¤ë¥«¥Æ¥´¥êID¤ò½Ä¤Ë¼èÆÀ 
    25212521    $objQuery = new SC_Query(); 
    25222522    $arrRet = array(); 
     
    25242524    $arrRet['id'] = $arrCatID[0]; 
    25252525     
    2526     // カテゴリー名称を取得する 
     2526    // ¥«¥Æ¥´¥ê¡¼Ì¾¾Î¤ò¼èÆÀ¤¹¤ë 
    25272527    $sql = "SELECT category_name FROM dtb_category WHERE category_id = ?"; 
    25282528    $arrVal = array($arrRet['id']); 
     
    25322532} 
    25332533 
    2534 //MySQL用のSQL文に変更する 
     2534//MySQLÍѤÎSQLʸ¤ËÊѹ¹¤¹¤ë 
    25352535function sfChangeMySQL($sql){ 
    2536     // 改行、タブを1スペースに変換 
     2536    // ²þ¹Ô¡¢¥¿¥Ö¤ò1¥¹¥Ú¡¼¥¹¤ËÊÑ´¹ 
    25372537    $sql = preg_replace("/[\r\n\t]/"," ",$sql); 
    25382538     
    2539     $sql = sfChangeView($sql);      // view表をインラインビューに変換する 
    2540     $sql = sfChangeILIKE($sql);     // ILIKE検索をLIKE検索に変換する 
    2541     $sql = sfChangeRANDOM($sql);    // RANDOM()をRAND()に変換する 
     2539    $sql = sfChangeView($sql);      // viewɽ¤ò¥¤¥ó¥é¥¤¥ó¥Ó¥å¡¼¤ËÊÑ´¹¤¹¤ë 
     2540    $sql = sfChangeILIKE($sql);     // ILIKE¸¡º÷¤òLIKE¸¡º÷¤ËÊÑ´¹¤¹¤ë 
     2541    $sql = sfChangeRANDOM($sql);    // RANDOM()¤òRAND()¤ËÊÑ´¹¤¹¤ë 
    25422542 
    25432543    return $sql; 
    25442544} 
    25452545 
    2546 // SQLの中にviewが存在しているかチェックを行う。 
     2546// SQL¤ÎÃæ¤Ëview¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¡£ 
    25472547function sfInArray($sql){ 
    25482548    global $arrView; 
     
    25572557} 
    25582558 
    2559 // SQLシングルクォート対応 
     2559// SQL¥·¥ó¥°¥ë¥¯¥©¡¼¥ÈÂбþ 
    25602560function sfQuoteSmart($in){ 
    25612561     
     
    25712571} 
    25722572     
    2573 // view表をインラインビューに変換する 
     2573// viewɽ¤ò¥¤¥ó¥é¥¤¥ó¥Ó¥å¡¼¤ËÊÑ´¹¤¹¤ë 
    25742574function sfChangeView($sql){ 
    25752575    global $arrView; 
     
    25782578    $arrViewTmp = $arrView; 
    25792579 
    2580     // viewのwhereを変換 
     2580    // view¤Îwhere¤òÊÑ´¹ 
    25812581    foreach($arrViewTmp as $key => $val){ 
    25822582        $arrViewTmp[$key] = strtr($arrViewTmp[$key], $arrViewWhere); 
    25832583    } 
    25842584     
    2585     // viewを変換 
     2585    // view¤òÊÑ´¹ 
    25862586    $changesql = strtr($sql, $arrViewTmp); 
    25872587 
     
    25892589} 
    25902590 
    2591 // ILIKE検索をLIKE検索に変換する 
     2591// ILIKE¸¡º÷¤òLIKE¸¡º÷¤ËÊÑ´¹¤¹¤ë 
    25922592function sfChangeILIKE($sql){ 
    25932593    $changesql = eregi_replace("(ILIKE )", "LIKE BINARY ", $sql); 
     
    25952595} 
    25962596 
    2597 // RANDOM()をRAND()に変換する 
     2597// RANDOM()¤òRAND()¤ËÊÑ´¹¤¹¤ë 
    25982598function sfChangeRANDOM($sql){ 
    25992599    $changesql = eregi_replace("( RANDOM)", " RAND", $sql); 
     
    26012601} 
    26022602 
    2603 // viewのwhereを置換する 
     2603// view¤Îwhere¤òÃÖ´¹¤¹¤ë 
    26042604function sfViewWhere($target, $where = "", $arrval = array(), $option = ""){ 
    26052605    global $arrViewWhere; 
     
    26122612} 
    26132613 
    2614 // ディレクトリ以下のファイルを再帰的にコピー 
     2614// ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë¥³¥Ô¡¼ 
    26152615function sfCopyDir($src, $des, $mess, $override = false){ 
    26162616    if(!is_dir($src)){ 
     
    26212621    $mod= stat($src); 
    26222622     
    2623     // ディレクトリがなければ作成する 
     2623    // ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë 
    26242624    if(!file_exists($des)) { 
    26252625        if(!mkdir($des, $mod[2])) { 
     
    26302630    $fileArray=glob( $src."*" ); 
    26312631    foreach( $fileArray as $key => $data_ ){ 
    2632         // CVS管理ファイルはコピーしない 
     2632        // CVS´ÉÍý¥Õ¥¡¥¤¥ë¤Ï¥³¥Ô¡¼¤·¤Ê¤¤ 
    26332633        if(ereg("/CVS/Entries", $data_)) { 
    26342634            break; 
     
    26472647        }else{ 
    26482648            if(!$override && file_exists($des.$data)) { 
    2649                 $mess.= $des.$data . ":ファイルが存在します\n"; 
     2649                $mess.= $des.$data . "¡§¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹\n"; 
    26502650            } else { 
    26512651                if(@copy( $data_, $des.$data)) { 
    2652                     $mess.= $des.$data . ":コピー成功\n"; 
     2652                    $mess.= $des.$data . "¡§¥³¥Ô¡¼À®¸ù\n"; 
    26532653                } else { 
    2654                     $mess.= $des.$data . ":コピー失敗\n"; 
     2654                    $mess.= $des.$data . "¡§¥³¥Ô¡¼¼ºÇÔ\n"; 
    26552655                } 
    26562656            } 
     
    26622662} 
    26632663 
    2664 // 指定したフォルダ内のファイルを全て削除する 
     2664// »ØÄꤷ¤¿¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤òÁ´¤Æºï½ü¤¹¤ë 
    26652665function sfDelFile($dir){ 
    26662666    $dh = opendir($dir); 
    2667     // フォルダ内のファイルを削除 
     2667    // ¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤òºï½ü 
    26682668    while($file = readdir($dh)){ 
    26692669        if ($file == "." or $file == "..") continue; 
     
    26792679        } 
    26802680    } 
    2681     // フォルダを削除 
     2681    // ¥Õ¥©¥ë¥À¤òºï½ü 
    26822682    return rmdir($dir); 
    26832683     
     
    26852685 
    26862686/*  
    2687  * 関数名:sfWriteFile 
    2688  * 引数1 :書き込むデータ 
    2689  * 引数2 :ファイルパス 
    2690  * 引数3 :書き込みタイプ 
    2691  * 引数4 :パーミッション 
    2692  * 戻り値:結果フラグ 成功なら true 失敗なら false 
    2693  * 説明 :ファイル書き出し 
     2687 * ´Ø¿ô̾¡§sfWriteFile 
     2688 * °ú¿ô1 ¡§½ñ¤­¹þ¤à¥Ç¡¼¥¿ 
     2689 * °ú¿ô2 ¡§¥Õ¥¡¥¤¥ë¥Ñ¥¹ 
     2690 * °ú¿ô3 ¡§½ñ¤­¹þ¤ß¥¿¥¤¥× 
     2691 * °ú¿ô4 ¡§¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó 
     2692 * Ìá¤êÃÍ¡§·ë²Ì¥Õ¥é¥° À®¸ù¤Ê¤é true ¼ºÇԤʤé false 
     2693 * ÀâÌÀ¡¡¡§¥Õ¥¡¥¤¥ë½ñ¤­½Ð¤· 
    26942694 */ 
    26952695function sfWriteFile($str, $path, $type, $permission = "") { 
    2696     //ファイルを開く 
     2696    //¥Õ¥¡¥¤¥ë¤ò³«¤¯ 
    26972697    if (!($file = fopen ($path, $type))) { 
    26982698        return false; 
    26992699    } 
    27002700 
    2701     //ファイルロック 
     2701    //¥Õ¥¡¥¤¥ë¥í¥Ã¥¯ 
    27022702    flock ($file, LOCK_EX); 
    2703     //ファイルの書き込み 
     2703    //¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß 
    27042704    fputs ($file, $str); 
    2705     //ファイルロックの解除 
     2705    //¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¤Î²ò½ü 
    27062706    flock ($file, LOCK_UN); 
    2707     //ファイルを閉じる 
     2707    //¥Õ¥¡¥¤¥ë¤òÊĤ¸¤ë 
    27082708    fclose ($file); 
    2709     // 権限を指定 
     2709    // ¸¢¸Â¤ò»ØÄê 
    27102710    if($permission != "") { 
    27112711        chmod($path, $permission); 
     
    27162716     
    27172717function sfFlush($output = " ", $sleep = 0){ 
    2718     // 実行時間を制限しない 
     2718    // ¼Â¹Ô»þ´Ö¤òÀ©¸Â¤·¤Ê¤¤ 
    27192719    set_time_limit(0); 
    2720     // 出力をバッファリングしない(==日本語自動変換もしない) 
     2720    // ½ÐÎϤò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤·¤Ê¤¤(==ÆüËܸ켫ưÊÑ´¹¤â¤·¤Ê¤¤) 
    27212721    ob_end_clean(); 
    27222722     
    2723     // IEのために256バイト空文字出力 
     2723    // IE¤Î¤¿¤á¤Ë256¥Ð¥¤¥È¶õʸ»ú½ÐÎÏ 
    27242724    echo str_pad('',256); 
    27252725     
    2726     // 出力はブランクだけでもいいと思う 
     2726    // ½ÐÎϤϥ֥é¥ó¥¯¤À¤±¤Ç¤â¤¤¤¤¤È»×¤¦ 
    27272727    echo $output; 
    2728     // 出力をフラッシュする 
     2728    // ½ÐÎϤò¥Õ¥é¥Ã¥·¥å¤¹¤ë 
    27292729    flush(); 
    27302730     
     
    27322732    ob_start();  
    27332733     
    2734     // 時間のかかる処理 
     2734    // »þ´Ö¤Î¤«¤«¤ë½èÍý 
    27352735    sleep($sleep); 
    27362736} 
    27372737 
    2738 // @versionの記載があるファイルからバージョンを取得する。 
     2738// @version¤Îµ­ºÜ¤¬¤¢¤ë¥Õ¥¡¥¤¥ë¤«¤é¥Ð¡¼¥¸¥ç¥ó¤ò¼èÆÀ¤¹¤ë¡£ 
    27392739function sfGetFileVersion($path) { 
    27402740    if(file_exists($path)) { 
     
    27542754} 
    27552755 
    2756 // 指定したURLに対してPOSTでデータを送信する 
     2756// »ØÄꤷ¤¿URL¤ËÂФ·¤ÆPOST¤Ç¥Ç¡¼¥¿¤òÁ÷¿®¤¹¤ë 
    27572757function sfSendPostData($url, $arrData, $arrOkCode = array()){ 
    27582758    require_once(DATA_PATH . "module/Request.php"); 
    27592759     
    2760     // 送信インスタンス生成 
     2760    // Á÷¿®¥¤¥ó¥¹¥¿¥ó¥¹À¸À® 
    27612761    $req = new HTTP_Request($url); 
    27622762     
    2763     $req->addHeader('User-Agent', 'DoCoMo/2.0 P2101V(c100)'); 
     2763    $req->addHeader('User-Agent', 'DoCoMo/2.0¡¡P2101V(c100)'); 
    27642764    $req->setMethod(HTTP_REQUEST_METHOD_POST); 
    27652765     
    2766     // POSTデータ送信 
     2766    // POST¥Ç¡¼¥¿Á÷¿® 
    27672767    $req->addPostDataArray($arrData); 
    27682768     
    2769     // エラーが無ければ、応答情報を取得する 
     2769    // ¥¨¥é¡¼¤¬Ìµ¤±¤ì¤Ð¡¢±þÅú¾ðÊó¤ò¼èÆÀ¤¹¤ë 
    27702770    if (!PEAR::isError($req->sendRequest())) { 
    27712771         
    2772         // レスポンスコードがエラー判定なら、空を返す 
     2772        // ¥ì¥¹¥Ý¥ó¥¹¥³¡¼¥É¤¬¥¨¥é¡¼È½Äê¤Ê¤é¡¢¶õ¤òÊÖ¤¹ 
    27732773        $res_code = $req->getResponseCode(); 
    27742774         
     
    27832783    } 
    27842784     
    2785     // POSTデータクリア 
     2785    // POST¥Ç¡¼¥¿¥¯¥ê¥¢ 
    27862786    $req->clearPostData();   
    27872787     
     
    27892789} 
    27902790 
    2791 /* デバッグ用 ------------------------------------------------------------------------------------------------*/ 
     2791/* ¥Ç¥Ð¥Ã¥°ÍÑ ------------------------------------------------------------------------------------------------*/ 
    27922792function sfPrintR($obj) { 
    27932793    print("<div style='font-size: 12px;color: #00FF00;'>\n"); 
    2794     print("<strong>**デバッグ中**</strong><br />\n"); 
     2794    print("<strong>**¥Ç¥Ð¥Ã¥°Ãæ**</strong><br />\n"); 
    27952795    print("<pre>\n"); 
    27962796    print_r($obj); 
    27972797    print("</pre>\n"); 
    2798     print("<strong>**デバッグ中**</strong></div>\n"); 
     2798    print("<strong>**¥Ç¥Ð¥Ã¥°Ãæ**</strong></div>\n"); 
    27992799} 
    28002800 
  • branches/comu/data/lib/thumb.php

    r11729 r11730  
    11<?php 
    2 # MakeThumb(出力元画像パス(ファイル名まで), 出力先フォルダ(/home/hoge/ など) , 最大横幅 , 最大縦幅 , 新ファイル名) 
     2# MakeThumb(½ÐÎϸµ²èÁü¥Ñ¥¹¡Ê¥Õ¥¡¥¤¥ë̾¤Þ¤Ç¡Ë, ½ÐÎÏÀè¥Õ¥©¥ë¥À¡Ê/home/hoge/ ¤Ê¤É¡Ë , ºÇÂç²£Éý , ºÇÂç½ÄÉý , ¿·¥Õ¥¡¥¤¥ë̾¡Ë 
    33function MakeThumb($FromImgPath , $ToImgPath , $tmpMW , $tmpMH, $newFileName = ''){ 
    44 
    5 # ◆◇◆ デフォルト値の設定 ◆◇◆ 
    6 # 必要に応じて変更して下さい。 
     5# ¢¡¡þ¢¡¡¡¥Ç¥Õ¥©¥ë¥ÈÃͤÎÀßÄê¡¡¢¡¡þ¢¡ 
     6# ɬÍפ˱þ¤¸¤ÆÊѹ¹¤·¤Æ²¼¤µ¤¤¡£ 
    77 
    8 # 画像の最大横幅(単位:ピクセル) 
     8# ²èÁü¤ÎºÇÂç²£Éý¡Êñ°Ì¡§¥Ô¥¯¥»¥ë¡Ë 
    99$ThmMaxWidth = 500; 
    1010 
    11 # 画像の最大縦幅(単位:ピクセル) 
     11# ²èÁü¤ÎºÇÂç½ÄÉý¡Êñ°Ì¡§¥Ô¥¯¥»¥ë¡Ë 
    1212$ThmMaxHeight = 500; 
    1313 
    14 # サムネイル画像の接頭文字 
     14# ¥µ¥à¥Í¥¤¥ë²èÁü¤ÎÀÜƬʸ»ú 
    1515$PreWord = $head; 
    1616 
    17 # ◆◇◆ 設定ここまで ◆◇◆ 
     17# ¢¡¡þ¢¡¡¡ÀßÄꤳ¤³¤Þ¤Ç¡¡¢¡¡þ¢¡ 
    1818 
    19     //拡張子取得 
     19    //³ÈÄ¥»Ò¼èÆÀ 
    2020    if (!$ext) { 
    2121        $array_ext = explode(".", $FromImgPath); 
     
    2424     
    2525    $MW = $ThmMaxWidth; 
    26     if($tmpMW) $MW = $tmpMW; # $MWに最大横幅セット   
     26    if($tmpMW) $MW = $tmpMW; # $MW¤ËºÇÂç²£Éý¥»¥Ã¥È   
    2727     
    2828    $MH = $ThmMaxHeight; 
    29     if($tmpMH) $MH = $tmpMH; # $MHに最大縦幅セット 
     29    if($tmpMH) $MH = $tmpMH; # $MH¤ËºÇÂç½ÄÉý¥»¥Ã¥È 
    3030     
    31     if(empty($FromImgPath) || empty($ToImgPath)){ # エラー処理 
    32         return array(0,"出力元画像パス、または出力先フォルダが指定されていません。"); 
     31    if(empty($FromImgPath) || empty($ToImgPath)){ # ¥¨¥é¡¼½èÍý 
     32        return array(0,"½ÐÎϸµ²èÁü¥Ñ¥¹¡¢¤Þ¤¿¤Ï½ÐÎÏÀè¥Õ¥©¥ë¥À¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"); 
    3333    } 
    3434     
    35     if(!file_exists($FromImgPath)){ # エラー処理 
    36         return array(0,"出力元画像が見つかりません。"); 
     35    if(!file_exists($FromImgPath)){ # ¥¨¥é¡¼½èÍý 
     36        return array(0,"½ÐÎϸµ²èÁü¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"); 
    3737    } 
    3838     
     
    4040    $re_size = $size; 
    4141     
    42     if(!$size[2] || $size[2] > 3){ # 画像の種類が不明 or swf 
    43         return array(0,"画像形式がサポートされていません。"); 
     42    if(!$size[2] || $size[2] > 3){ # ²èÁü¤Î¼ïÎबÉÔÌÀ or swf 
     43        return array(0,"²èÁü·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"); 
    4444    } 
    4545 
    46     //アスペクト比固定処理 
     46    //¥¢¥¹¥Ú¥¯¥ÈÈæ¸ÇÄê½èÍý 
    4747    $tmp_w = $size[0] / $MW; 
    4848     
     
    6868    }    
    6969     
    70     # サムネイル画像ファイル名作成処理 
    71     $tmp = array_pop(explode("/",$FromImgPath)); # /の一番最後を切り出し 
    72     $FromFileName = array_shift(explode(".",$tmp)); # .で区切られた部分を切り出し 
    73     $ToFile = $PreWord.$FromFileName; # 拡張子以外の部分までを作成 
     70    # ¥µ¥à¥Í¥¤¥ë²èÁü¥Õ¥¡¥¤¥ë̾ºîÀ®½èÍý 
     71    $tmp = array_pop(explode("/",$FromImgPath)); # /¤Î°ìÈֺǸå¤òÀÚ¤ê½Ð¤· 
     72    $FromFileName = array_shift(explode(".",$tmp)); # .¤Ç¶èÀÚ¤é¤ì¤¿Éôʬ¤òÀÚ¤ê½Ð¤· 
     73    $ToFile = $PreWord.$FromFileName; # ³ÈÄ¥»Ò°Ê³°¤ÎÉôʬ¤Þ¤Ç¤òºîÀ® 
    7474     
    7575    $ImgNew = imagecreatetruecolor($re_size[0],$re_size[1]); 
    7676     
    7777    switch($size[2]) { 
    78         case "1": //gif形式 
     78        case "1": //gif·Á¼° 
    7979            if($tmp_w <= 1 && $tmp_h <= 1){ 
    8080                if ( $newFileName ) { 
     
    8585                    $ToFile .= ".gif"; 
    8686                } 
    87                 if(!@copy($FromImgPath , $ToImgPath.$ToFile)) { # エラー処理 
    88                     return array(0,"ファイルのコピーに失敗しました。"); 
     87                if(!@copy($FromImgPath , $ToImgPath.$ToFile)) { # ¥¨¥é¡¼½èÍý 
     88                    return array(0,"¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    8989                } 
    9090                ImageDestroy($ImgNew); 
     
    9292            } 
    9393                     
    94             ImageColorAllocate($ImgNew,255,235,214); //背景色 
     94            ImageColorAllocate($ImgNew,255,235,214); //ÇØ·Ê¿§ 
    9595            $black = ImageColorAllocate($ImgNew,0,0,0); 
    9696            $red = ImageColorAllocate($ImgNew,255,0,0); 
     
    107107            $TmpPath = $ToImgPath.$ToFile; 
    108108            @Imagepng($ImgNew,$TmpPath); 
    109             if(!@file_exists($TmpPath)){ # 画像が作成されていない場合 
    110                 return array(0,"画像の出力に失敗しました。"); 
     109            if(!@file_exists($TmpPath)){ # ²èÁü¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç 
     110                return array(0,"²èÁü¤Î½ÐÎϤ˼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    111111            } 
    112112            ImageDestroy($ImgNew); 
    113113            return array(1,$ToFile); 
    114114             
    115         case "2": //jpg形式 
     115        case "2": //jpg·Á¼° 
    116116            $ImgDefault = ImageCreateFromJpeg($FromImgPath); 
    117117            //ImageCopyResized( $ImgNew,$ImgDefault, 0, 0, 0, 0,$re_size[0], $re_size[1],$size[0], $size[1]); 
     
    127127            $TmpPath = $ToImgPath.$ToFile; 
    128128            @ImageJpeg($ImgNew,$TmpPath); 
    129             if(!@file_exists($TmpPath)){ # 画像が作成されていない場合 
    130                 return array(0,"画像の出力に失敗しました。<br>${ImgNew}<br>${TmpPath}"); 
     129            if(!@file_exists($TmpPath)){ # ²èÁü¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç 
     130                return array(0,"²èÁü¤Î½ÐÎϤ˼ºÇÔ¤·¤Þ¤·¤¿¡£<br>${ImgNew}<br>${TmpPath}"); 
    131131            } 
    132132            $RetVal = $ToFile; 
    133133            break; 
    134134             
    135         case "3": //png形式 
     135        case "3": //png·Á¼° 
    136136            $ImgDefault = ImageCreateFromPNG($FromImgPath); 
    137137            //ImageCopyResized($ImgNew, $ImgDefault, 0, 0, 0, 0,$re_size[0], $re_size[1],$size[0], $size[1]); 
     
    147147            $TmpPath = $ToImgPath.$ToFile; 
    148148            @ImagePNG($ImgNew,$TmpPath ); 
    149             if(!@file_exists($TmpPath)){ # 画像が作成されていない場合 
    150                 return array(0,"画像の出力に失敗しました。"); 
     149            if(!@file_exists($TmpPath)){ # ²èÁü¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç 
     150                return array(0,"²èÁü¤Î½ÐÎϤ˼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    151151            } 
    152152            $RetVal = $ToFile; 
Note: See TracChangeset for help on using the changeset viewer.