OSDN Git Service

Cleanup. true/false => TRUE/FALSE. Added spaces.
[pukiwiki/pukiwiki.git] / plugin / aname.inc.php
index c9df2be..fb4aad7 100644 (file)
@@ -2,32 +2,33 @@
 /////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
 //
-// $Id: aname.inc.php,v 1.9 2003/03/21 22:49:48 panda Exp $
+// $Id: aname.inc.php,v 1.16 2004/08/09 14:03:42 henoheno Exp $
 //
 
 function plugin_aname_inline()
 {
        $args = func_get_args();
-       return call_user_func_array('plugin_aname_convert',$args);
+       return call_user_func_array('plugin_aname_convert', $args);
 }
+
 function plugin_aname_convert()
 {
-       if (func_num_args() < 1)
-       {
-               return FALSE;
-       }
-       
+       global $script, $vars;
+
+       if (func_num_args() < 1) return FALSE;
+
        $args = func_get_args();
-       $id = $args[0];
-       $body = (func_num_args() > 1) ? $args[1] : '';
-       
-       if (!preg_match('/^[A-Za-z][\w\-]*$/',$id))
-       {
+       $id = array_shift($args);
+
+       if (! preg_match('/^[A-Za-z][\w\-]*$/', $id))
                return FALSE;
-       }
-       
-       $s_body = htmlspecialchars($body);
-       
-       return "<a id=\"$id\">$s_body</a>";
+
+       $body = count($args) ? preg_replace('/<\/?a[^>]*>/', '', array_pop($args)) : '';
+
+       $class   = in_array('super', $args) ? 'anchor_super' : 'anchor';
+       $url     = in_array('full',  $args) ? "$script?" . rawurlencode($vars['page']) : '';
+       $attr_id = in_array('noid',  $args) ? '' : " id=\"$id\"";
+
+       return "<a class=\"$class\"$attr_id href=\"$url#$id\" title=\"$id\">$body</a>";
 }
 ?>