OSDN Git Service

Remove charset selector, use UTF-8
[pukiwiki/pukiwiki.git] / plugin / img.inc.php
index de448cf..06769ed 100644 (file)
@@ -1,22 +1,45 @@
-<?
-// $Id: img.inc.php,v 1.2 2002/06/26 06:23:57 masui Exp $
+<?php
+// PukiWiki - Yet another WikiWikiWeb clone.
+// $Id: img.inc.php,v 1.15 2007/04/08 10:22:18 henoheno Exp $
+// Copyright (C) 2002-2005, 2007 PukiWiki Developers Team
+// License: GPL v2 or (at your option) any later version
+//
+// Inline-image plugin (Output inline-image tag from a URI)
+
+define('PLUGIN_IMG_USAGE', '#img(): Usage: (URI-to-image[,right[,clear]])<br />' . "\n");
+define('PLUGIN_IMG_CLEAR', '<div style="clear:both"></div>' . "\n"); // Stop word-wrapping
 
 function plugin_img_convert()
 {
-       if(func_num_args()!=2) {
-               return;
-       }
-       $aryargs = func_get_args();
-       $url = $aryargs[0];
-       $align = strtoupper($aryargs[1]);
-       
-       if($align == 'R' || $align == 'RIGHT') {
-               $align = 'right';
-       }
-       else {
+       if (PKWK_DISABLE_INLINE_IMAGE_FROM_URI)
+               return '#img(): PKWK_DISABLE_INLINE_IMAGE_FROM_URI prohibits this' .
+                       '<br />' . "\n";
+
+       $args = func_get_args();
+
+       // Check the 2nd argument first, for compatibility
+       $arg = isset($args[1]) ? strtoupper($args[1]) : '';
+       if ($arg == '' || $arg == 'L' || $arg == 'LEFT') {
                $align = 'left';
+       } else if ($arg == 'R' || $arg == 'RIGHT') {
+               $align = 'right';
+       } else {
+               // Stop word-wrapping only (Ugly but compatible)
+               // Short usage: #img(,clear)
+               return PLUGIN_IMG_CLEAR;
        }
-       
-       return "<div style=\"float:$align\"><img src=\"$url\"></div>";
+
+       $url = isset($args[0]) ? $args[0] : '';
+       if (! is_url($url) || ! preg_match('/\.(jpe?g|gif|png)$/i', $url))
+               return PLUGIN_IMG_USAGE;
+
+       $arg = isset($args[2]) ? strtoupper($args[2]) : '';
+       $clear = ($arg == 'C' || $arg == 'CLEAR') ? PLUGIN_IMG_CLEAR : '';
+
+       return <<<EOD
+<div style="float:$align;padding:.5em 1.5em .5em 1.5em">
+ <img src="$url" alt="" />
+</div>$clear
+EOD;
 }
 ?>