Ignore:
Timestamp:
2007/07/20 15:58:59 (17 years ago)
Author:
nanasess
Message:

r15064 から svn cp
とりあえず暫定コミット.

  • UTF-8 に変更
  • slib.php, glib.php のクラス化
  • LC_Page の抽象化(一部)
Location:
branches/feature-module-update
Files:
1 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update

    • Property svn:ignore set to
      .cache

      .settings

      .projectOptions
  • branches/feature-module-update/data/class/GC_MobileImage.php

    r12157 r15078  
    88 * 
    99 * 
    10  * üËö¤Î²èÌ̲òÁüÅ٤ˤ¢¤ï¤»¤Æ²èÁü¤òÊÑ´¹¤¹¤ë 
     10 * 端末の画面解像度にあわせて画像を変換する 
    1111 */ 
    1212 
     
    1515 
    1616/** 
    17  * ²èÁüÊÑ´¹¥¯¥é¥¹ 
     17 * 画像変換クラス 
    1818 */ 
    1919class GC_MobileImage { 
    2020    /** 
    21      * ²èÁü¤òüËö¤Î²òÁüÅ٤˹ç¤ï¤»¤ÆÊÑ´¹¤¹¤ë 
    22      * output buffering ÍÑ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô 
     21     * 画像を端末の解像度に合わせて変換する 
     22     * output buffering 用コールバック関数 
    2323     * 
    24      * @param string ÆþÎÏ 
    25      * @return string ½ÐÎÏ 
     24     * @param string 入力 
     25     * @return string 出力 
    2626     */ 
    2727    function handler($buffer) { 
    2828 
    29         // üËö¾ðÊó¤ò¼èÆÀ¤¹¤ë 
     29        // 端末情報を取得する 
    3030        $carrier = GC_MobileUserAgent::getCarrier(); 
    3131        $model   = GC_MobileUserAgent::getModel(); 
    3232 
    33         // ·ÈÂÓÅÅÏäξì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦ 
     33        // 携帯電話の場合のみ処理を行う 
    3434        if ($carrier !== FALSE) { 
    3535 
    36             // HTMLÃæ¤ÎIMG¥¿¥°¤ò¼èÆÀ¤¹¤ë 
     36            // HTML中のIMGタグを取得する 
    3737            $pattern = '/<img\s+src=[\'"]([^>"]+)[\'"]\s*\/*>/i'; 
    3838            $result = preg_match_all($pattern, $buffer, $images); 
    3939 
    40             // üËö¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë 
     40            // 端末の情報を取得する 
    4141            $fp = fopen(MOBILE_IMAGE_INC_PATH . "/mobile_image_map_$carrier.csv", "r"); 
    4242            while (($data = fgetcsv($fp, 1000, ",")) !== FALSE) { 
     
    5151            fclose($fp); 
    5252 
    53             // docomo¤Èsoftbank¤Î¾ì¹ç¤Ï²èÁü¥Õ¥¡¥¤¥ë°ì¤Ä¤ËÍøÍѲÄǽ¤Ê¥µ¥¤¥º¤Î¾å¸Â¤ò·×»»¤¹¤ë 
    54             // au¤ÏHTML¤Îbyte¿ô¾å¸Â¤Ë²èÁü¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬´Þ¤Þ¤ì¤Ê¤¤¤Î¤ÇimageFileSize¤Î¤Þ¤Þ¡£ 
     53            // docomoとsoftbankの場合は画像ファイル一つに利用可能なサイズの上限を計算する 
     54            // auはHTMLのbyte数上限に画像ファイルサイズが含まれないのでimageFileSizeのまま。 
    5555            if ($carrier == "docomo" or $carrier == "softbank") { 
    56                 // ·×»»¼°¡§(ÍøÍÑüËö¤Çɽ¼¨²Äǽ¤Êcache¥µ¥¤¥º - HTML¤Î¥Ð¥¤¥È¿ô - ÊÑ´¹¸å¤Î²èÁü̾¤Î¥Ð¥¤¥È¿ô(ÌÜ°ÂÃÍ) ) / HTMLÃæ¤Î²èÁü¿ô 
     56                // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 - 変換後の画像名のバイト数(目安値) ) / HTML中の画像数 
    5757                $temp_imagefilesize = ($cacheSize - strlen($buffer) - (140 * $result) ) / $result; 
    58                 // ·×»»·ë²Ì¤¬Ã¼Ëö¤Îɽ¼¨²Äǽ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¾å¸Â¤è¤ê¾®¤µ¤¤¾ì¹ç¤Ï·×»»·ë²Ì¤ÎÃͤòÍ­¸ú¤Ë¤¹¤ë 
     58                // 計算結果が端末の表示可能ファイルサイズ上限より小さい場合は計算結果の値を有効にする 
    5959                if ($temp_imagefilesize < $imageFileSize) { 
    6060                    $imageFileSize = $temp_imagefilesize; 
     
    6262            } 
    6363 
    64             // ²èÁüÊÑ´¹¤Î¾ðÊó¤ò¥»¥Ã¥È¤¹¤ë 
     64            // 画像変換の情報をセットする 
    6565            $imageConverter = New ImageConverter(); 
    6666            $imageConverter->setOutputDir(MOBILE_IMAGE_DIR); 
     
    6969            $imageConverter->setFileSize($imageFileSize); 
    7070 
    71             // HTMLÃæ¤ÎIMG¥¿¥°¤òÊÑ´¹¸å¤Î¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ËÃÖ´¹¤¹¤ë 
     71            // HTML中のIMGタグを変換後のファイルパスに置換する 
    7272            foreach ($images[1] as $key => $value) { 
    7373                $converted = $imageConverter->execute(preg_replace('|^' . URL_DIR . '|', HTML_PATH, $value)); 
Note: See TracChangeset for help on using the changeset viewer.