source: temp/branches/mobile/data/class/GC_MobileImage.php @ 11457

Revision 11457, 1.7 KB checked in by rebelt, 20 years ago (diff)

修正です。

  • Property svn:eol-style set to native
RevLine 
[11418]1<?php
2/**
3 * üËö¤Î²èÌ̲òÁüÅ٤ˤ¢¤ï¤»¤Æ²èÁü¤òÊÑ´¹¤¹¤ë
4 */
5
[11457]6define("MOBILE_IMAGE_INC_PATH", realpath(dirname( __FILE__)) . "/../include");
7require_once(MOBILE_IMAGE_INC_PATH . "/image_converter.inc");
[11418]8
9/**
[11457]10 * ²èÁüÊÑ´¹¥¯¥é¥¹
[11418]11 */
12class GC_MobileImage {
13    /**
14     * ²èÁü¤òüËö¤Î²òÁüÅ٤˹ç¤ï¤»¤ÆÊÑ´¹¤¹¤ë
15     * output buffering ÍÑ¥³¡¼¥ë¥Ð¥Ã¥¯´Ø¿ô
16     *
17     * @param string ÆþÎÏ
18     * @return string ½ÐÎÏ
19     */
20    function handler($buffer) {
21
22        // üËö¾ðÊó¤ò¼èÆÀ¤¹¤ë
23        $carrier = GC_MobileUserAgent::getCarrier();
24        $model   = GC_MobileUserAgent::getModel();
[11430]25
[11457]26        // ·ÈÂÓÅÅÏäξì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦
[11418]27        if ($carrier !== FALSE) {
[11431]28
[11457]29            // HTMLÃæ¤ÎIMG¥¿¥°¤ò¼èÆÀ¤¹¤ë
[11418]30            $pattern = '/<img\s+src=[\'"]([^>"]+)[\'"]\s*\/*>/i';
31            preg_match_all($pattern, $buffer, $images);
[11421]32
[11457]33            // üËö¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë
34            $fp = fopen(MOBILE_IMAGE_INC_PATH . "/mobile_image_map_$carrier.csv", "r");
[11418]35            while (($data = fgetcsv($fp, 1000, ",")) !== FALSE) {
36                if ($data[1] == $model) {
37                    $imageType  = $data[6];
38                    $imageWidth = $data[5];
39                }
40            }
41            fclose($fp);
42
[11457]43            // ²èÁüÊÑ´¹¤Î¾ðÊó¤ò¥»¥Ã¥È¤¹¤ë
[11418]44            $imageConverter = New ImageConverter();
45            $imageConverter->setOutputDir(MOBILE_IMAGE_DIR);
46            $imageConverter->setImageType($imageType);
47            $imageConverter->setImageWidth($imageWidth);
48
[11457]49            // HTMLÃæ¤ÎIMG¥¿¥°¤òÊÑ´¹¸å¤Î¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ËÃÖ´¹¤¹¤ë
[11418]50            foreach ($images[1] as $key => $value) {
[11453]51                $converted = $imageConverter->execute(preg_replace('|^' . PC_URL_DIR . '|', PC_HTML_PATH, $value));
[11457]52                if (isset($converted['outputImageName'])) {
53                    $buffer = str_replace($value, MOBILE_IMAGE_URL . '/' . $converted['outputImageName'], $buffer);
54                } else {
55                    $buffer = str_replace($images[0][$key], '<!--No image-->', $buffer);
56                }
[11418]57            }
58        }
59        return $buffer;
60    }
61}
62?>
Note: See TracBrowser for help on using the repository browser.