Changeset 18375


Ignore:
Timestamp:
2009/11/10 01:45:30 (11 years ago)
Author:
Seasoft
Message:

HTMLエンコードのデコード漏れを改修。URLで「&」を含む場合に実害があった。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/SC_MobileImage.php

    r18305 r18375  
    6969            if ($carrier == "docomo" or $carrier == "softbank") { 
    7070                if( $result != false && $result > 0){ 
    71                     // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 - 変換後の画像名のバイト数(目安値) ) / HTML中の画像数 
    72                     $temp_imagefilesize = ($cacheSize - strlen($buffer) - (140 * $result) ) / $result; 
    73                 } else { 
    74                     // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 ) 
    75                     $temp_imagefilesize = ($cacheSize - strlen($buffer) ); 
    76                 } 
     71                    // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 - 変換後の画像名のバイト数(目安値) ) / HTML中の画像数 
     72                    $temp_imagefilesize = ($cacheSize - strlen($buffer) - (140 * $result) ) / $result; 
     73                } else { 
     74                    // 計算式:(利用端末で表示可能なcacheサイズ - HTMLのバイト数 ) 
     75                    $temp_imagefilesize = ($cacheSize - strlen($buffer) ); 
     76                } 
    7777                // 計算結果が端末の表示可能ファイルサイズ上限より小さい場合は計算結果の値を有効にする 
    7878                if ($temp_imagefilesize < $imageFileSize) { 
     
    9090 
    9191            // HTML中のIMGタグを変換後のファイルパスに置換する 
    92             foreach ($images[1] as $key => $value) { 
    93                 $converted = $imageConverter->execute(preg_replace('|^' . URL_DIR . '|', HTML_PATH, $value)); 
     92            foreach ($images[1] as $key => $path) { 
     93                $realpath = html_entity_decode($path, ENT_QUOTES); 
     94                $realpath = preg_replace('|^' . URL_DIR . '|', HTML_PATH, $realpath); 
     95                $converted = $imageConverter->execute($realpath); 
    9496                if (isset($converted['outputImageName'])) { 
    95                     $buffer = str_replace($value, MOBILE_IMAGE_URL . '/' . $converted['outputImageName'], $buffer); 
     97                    $buffer = str_replace($path, MOBILE_IMAGE_URL . '/' . $converted['outputImageName'], $buffer); 
    9698                } else { 
    9799                    $buffer = str_replace($images[0][$key], '<!--No image-->', $buffer); 
Note: See TracChangeset for help on using the changeset viewer.