OSDN Git Service

Convert character code of the source code to UTF-8 from EUC-JP
[pukiwiki/pukiwiki.git] / plugin / ref.inc.php
index f0095cf..6df69b6 100644 (file)
@@ -24,18 +24,18 @@ define('PLUGIN_REF_DEFAULT_ALIGN', 'left'); // 'left', 'center', 'right'
 // Text wrapping
 define('PLUGIN_REF_WRAP_TABLE', FALSE); // TRUE, FALSE
 
-// URL»ØÄê»þ¤Ë²èÁü¥µ¥¤¥º¤ò¼èÆÀ¤¹¤ë¤«
+// URL指定時に画像サイズを取得するか
 define('PLUGIN_REF_URL_GET_IMAGE_SIZE', FALSE); // FALSE, TRUE
 
-// UPLOAD_DIR ¤Î¥Ç¡¼¥¿(²èÁü¥Õ¥¡¥¤¥ë¤Î¤ß)¤ËľÀÜ¥¢¥¯¥»¥¹¤µ¤»¤ë
+// UPLOAD_DIR のデータ(画像ファイルのみ)に直接アクセスさせる
 define('PLUGIN_REF_DIRECT_ACCESS', FALSE); // FALSE or TRUE
-// - ¤³¤ì¤Ï½¾Íè¤Î¥¤¥ó¥é¥¤¥ó¥¤¥á¡¼¥¸½èÍý¤ò¸ß´¹¤Î¤¿¤á¤Ë»Ä¤¹¤â¤Î¤Ç
-//   ¤¢¤ê¡¢¹â®²½¤Î¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
-// - UPLOAD_DIR ¤òWeb¥µ¡¼¥Ð¡¼¾å¤ËϪ½Ð¤µ¤»¤Æ¤ª¤ê¡¢¤«¤ÄľÀÜ¥¢¥¯¥»¥¹
-//   ¤Ç¤­¤ë(¥¢¥¯¥»¥¹À©¸Â¤¬¤Ê¤¤)¾õÂ֤Ǥ¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
-// - Apache ¤Ê¤É¤Ç¤Ï UPLOAD_DIR/.htaccess ¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
-// - ¥Ö¥é¥¦¥¶¤Ë¤è¤Ã¤Æ¤Ï¥¤¥ó¥é¥¤¥ó¥¤¥á¡¼¥¸¤Îɽ¼¨¤ä¡¢¡Ö¥¤¥ó¥é¥¤¥ó
-//   ¥¤¥á¡¼¥¸¤À¤±¤òɽ¼¨¡×¤µ¤»¤¿»þ¤Ê¤É¤ËÉÔ¶ñ¹ç¤¬½Ð¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹
+// - これは従来のインラインイメージ処理を互換のために残すもので
+//   あり、高速化のためのオプションではありません
+// - UPLOAD_DIR ã\82\92Webã\82µã\83¼ã\83\90ã\83¼ä¸\8aã\81«é\9c²å\87ºã\81\95ã\81\9bã\81¦ã\81\8aã\82\8aã\80\81ã\81\8bã\81¤ç\9b´æ\8e¥ã\82¢ã\82¯ã\82»ã\82¹
+//   できる(アクセス制限がない)状態である必要があります
+// - Apache などでは UPLOAD_DIR/.htaccess を削除する必要があります
+// - ブラウザによってはインラインイメージの表示や、「インライン
+//   イメージだけを表示」させた時などに不具合が出る場合があります
 
 /////////////////////////////////////////////////
 
@@ -73,16 +73,16 @@ function plugin_ref_convert()
        }
 
        if ((PLUGIN_REF_WRAP_TABLE && ! $params['nowrap']) || $params['wrap']) {
-               // ÏȤÇÊñ¤à
+               // 枠で包む
                // margin:auto
-               //      Mozilla 1.x  = x (wrap,around¤¬¸ú¤«¤Ê¤¤)
+               //      Mozilla 1.x  = x (wrap,aroundが効かない)
                //      Opera 6      = o
-               //      Netscape 6   = x (wrap,around¤¬¸ú¤«¤Ê¤¤)
-               //      IE 6         = x (wrap,around¤¬¸ú¤«¤Ê¤¤)
+               //      Netscape 6   = x (wrap,aroundが効かない)
+               //      IE 6         = x (wrap,aroundが効かない)
                // margin:0px
-               //      Mozilla 1.x  = x (wrap¤Ç´ó¤»¤¬¸ú¤«¤Ê¤¤)
-               //      Opera 6      = x (wrap¤Ç´ó¤»¤¬¸ú¤«¤Ê¤¤)
-               //      Netscape 6   = x (wrap¤Ç´ó¤»¤¬¸ú¤«¤Ê¤¤)
+               //      Mozilla 1.x  = x (wrapで寄せが効かない)
+               //      Opera 6      = x (wrapで寄せが効かない)
+               //      Netscape 6   = x (wrapで寄せが効かない)
                //      IE6          = o
                $margin = ($params['around'] ? '0px' : 'auto');
                $margin_align = ($params['_align'] == 'center') ? '' : ";margin-{$params['_align']}:0px";
@@ -101,7 +101,7 @@ EOD;
                $style = "text-align:{$params['_align']}";
        }
 
-       // div¤ÇÊñ¤à
+       // divで包む
        return "<div class=\"img_margin\" style=\"$style\">{$params['_body']}</div>\n";
 }
 
@@ -110,49 +110,49 @@ function plugin_ref_body($args)
        global $script, $vars;
        global $WikiName, $BracketName; // compat
 
-       // Ìá¤êÃÍ
+       // 戻り値
        $params = array(
-               'left'   => FALSE, // º¸´ó¤»
-               'center' => FALSE, // Ãæ±û´ó¤»
-               'right'  => FALSE, // ±¦´ó¤»
-               'wrap'   => FALSE, // TABLE¤Ç°Ï¤à
-               'nowrap' => FALSE, // TABLE¤Ç°Ï¤Þ¤Ê¤¤
-               'around' => FALSE, // ²ó¤ê¹þ¤ß
-               'noicon' => FALSE, // ¥¢¥¤¥³¥ó¤òɽ¼¨¤·¤Ê¤¤
-               'nolink' => FALSE, // ¸µ¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯¤òÄ¥¤é¤Ê¤¤
-               'noimg'  => FALSE, // ²èÁü¤òŸ³«¤·¤Ê¤¤
-               'zoom'   => FALSE, // ½Ä²£Èæ¤òÊÝ»ý¤¹¤ë
-               '_size'  => FALSE, // ¥µ¥¤¥º»ØÄꤢ¤ê
-               '_w'     => 0,       // Éý
-               '_h'     => 0,       // ¹â¤µ
-               '_%'     => 0,     // ³ÈÂçΨ
+               'left'   => FALSE, // 左寄せ
+               'center' => FALSE, // 中央寄せ
+               'right'  => FALSE, // 右寄せ
+               'wrap'   => FALSE, // TABLEで囲む
+               'nowrap' => FALSE, // TABLEで囲まない
+               'around' => FALSE, // 回り込み
+               'noicon' => FALSE, // アイコンを表示しない
+               'nolink' => FALSE, // 元ファイルへのリンクを張らない
+               'noimg'  => FALSE, // 画像を展開しない
+               'zoom'   => FALSE, // 縦横比を保持する
+               '_size'  => FALSE, // サイズ指定あり
+               '_w'     => 0,       // 
+               '_h'     => 0,       // 高さ
+               '_%'     => 0,     // 拡大率
                '_args'  => array(),
                '_done'  => FALSE,
                '_error' => ''
        );
 
-       // ÅºÉÕ¥Õ¥¡¥¤¥ë¤Î¤¢¤ë¥Ú¡¼¥¸: default¤Ï¸½ºß¤Î¥Ú¡¼¥¸Ì¾
+       // 添付ファイルのあるページ: defaultは現在のページ名
        $page = isset($vars['page']) ? $vars['page'] : '';
 
-       // ÅºÉÕ¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾
+       // 添付ファイルのファイル名
        $name = '';
 
-       // ÅºÉÕ¥Õ¥¡¥¤¥ë¤Þ¤Ç¤Î¥Ñ¥¹¤ª¤è¤Ó(¼ÂºÝ¤Î)¥Õ¥¡¥¤¥ë̾
+       // 添付ファイルまでのパスおよび(実際の)ファイル名
        $file = '';
 
-       // Âè°ì°ú¿ô: "[¥Ú¡¼¥¸Ì¾¤ª¤è¤Ó/]źÉÕ¥Õ¥¡¥¤¥ë̾"¡¢¤¢¤ë¤¤¤Ï"URL"¤ò¼èÆÀ
+       // 第一引数: "[ページ名および/]添付ファイル名"、あるいは"URL"を取得
        $name = array_shift($args);
        $is_url = is_url($name);
 
        if(! $is_url) {
-               // ÅºÉÕ¥Õ¥¡¥¤¥ë
+               // 添付ファイル
                if (! is_dir(UPLOAD_DIR)) {
                        $params['_error'] = 'No UPLOAD_DIR';
                        return $params;
                }
 
                $matches = array();
-               // ¥Õ¥¡¥¤¥ë̾¤Ë¥Ú¡¼¥¸Ì¾(¥Ú¡¼¥¸»²¾È¥Ñ¥¹)¤¬¹çÀ®¤µ¤ì¤Æ¤¤¤ë¤«
+               // ファイル名にページ名(ページ参照パス)が合成されているか
                //   (Page_name/maybe-separated-with/slashes/ATTACHED_FILENAME)
                if (preg_match('#^(.+)/([^/]+)$#', $name, $matches)) {
                        if ($matches[1] == '.' || $matches[1] == '..') {
@@ -163,7 +163,7 @@ function plugin_ref_body($args)
                        $file = UPLOAD_DIR . encode($page) . '_' . encode($name);
                        $is_file = is_file($file);
 
-               // ÂèÆó°ú¿ô°Ê¹ß¤¬Â¸ºß¤·¡¢¤½¤ì¤Ïref¤Î¥ª¥×¥·¥ç¥ó̾¾Î¤Ê¤É¤È°ìÃפ·¤Ê¤¤
+               // 第二引数以降が存在し、それはrefのオプション名称などと一致しない
                } else if (isset($args[0]) && $args[0] != '' && ! isset($params[$args[0]])) {
                        $e_name = encode($name);
 
@@ -210,20 +210,20 @@ function plugin_ref_body($args)
                }
        }
 
-       // »Ä¤ê¤Î°ú¿ô¤Î½èÍý
+       // 残りの引数の処理
        if (! empty($args))
                foreach ($args as $arg)
                        ref_check_arg($arg, $params);
 
 /*
- $name¤ò¤â¤È¤Ë°Ê²¼¤ÎÊÑ¿ô¤òÀßÄê
+ $nameをもとに以下の変数を設定
  $url,$url2 : URL
- $title :¥¿¥¤¥È¥ë
- $is_image : ²èÁü¤Î¤È¤­TRUE
- $info : ²èÁü¥Õ¥¡¥¤¥ë¤Î¤È¤­getimagesize()¤Î'size'
-         ²èÁü¥Õ¥¡¥¤¥ë°Ê³°¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó
-         ÅºÉÕ¥Õ¥¡¥¤¥ë¤Î¤È¤­ : ¥Õ¥¡¥¤¥ë¤ÎºÇ½ª¹¹¿·Æü¤È¥µ¥¤¥º
-         URL¤Î¤È¤­ : URL¤½¤Î¤â¤Î
+ $title :タイトル
+ $is_image : 画像のときTRUE
+ $info : 画像ファイルのときgetimagesize()の'size'
+         画像ファイル以外のファイルの情報
+         æ·»ä»\98ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\81¨ã\81\8d : ã\83\95ã\82¡ã\82¤ã\83«ã\81®æ\9c\80çµ\82æ\9b´æ\96°æ\97¥ã\81¨ã\82µã\82¤ã\82º
+         URLのとき : URLそのもの
 */
        $title = $url = $url2 = $info = '';
        $width = $height = 0;
@@ -252,7 +252,7 @@ function plugin_ref_body($args)
                        }
                }
 
-       } else { // ÅºÉÕ¥Õ¥¡¥¤¥ë
+       } else { // 添付ファイル
 
                $title = htmlsc($name);
 
@@ -288,7 +288,7 @@ function plugin_ref_body($args)
                }
        }
 
-       // ³ÈÄ¥¥Ñ¥é¥á¡¼¥¿¤ò¥Á¥§¥Ã¥¯
+       // æ\8b¡å¼µã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\82\92ã\83\81ã\82§ã\83\83ã\82¯
        if (! empty($params['_args'])) {
                $_title = array();
                foreach ($params['_args'] as $arg) {
@@ -311,9 +311,9 @@ function plugin_ref_body($args)
                }
        }
 
-       // ²èÁü¥µ¥¤¥ºÄ´À°
+       // 画像サイズ調整
        if ($is_image) {
-               // »ØÄꤵ¤ì¤¿¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë
+               // 指定されたサイズを使用する
                if ($params['_size']) {
                        if ($width == 0 && $height == 0) {
                                $width  = $params['_w'];
@@ -338,7 +338,7 @@ function plugin_ref_body($args)
                if ($width && $height) $info = "width=\"$width\" height=\"$height\" ";
        }
 
-       // ¥¢¥é¥¤¥ó¥á¥ó¥ÈȽÄê
+       // アラインメント判定
        $params['_align'] = PLUGIN_REF_DEFAULT_ALIGN;
        foreach (array('right', 'left', 'center') as $align) {
                if ($params[$align])  {
@@ -347,7 +347,7 @@ function plugin_ref_body($args)
                }
        }
 
-       if ($is_image) { // ²èÁü
+       if ($is_image) { // 画像
                $params['_body'] = "<img src=\"$url\" alt=\"$title\" title=\"$title\" $info/>";
                if (! $params['nolink'] && $url2)
                        $params['_body'] = "<a href=\"$url2\" title=\"$title\">{$params['_body']}</a>";
@@ -359,7 +359,7 @@ function plugin_ref_body($args)
        return $params;
 }
 
-// ¥ª¥×¥·¥ç¥ó¤ò²òÀϤ¹¤ë
+// オプションを解析する
 function ref_check_arg($val, & $params)
 {
        if ($val == '') {