OSDN Git Service

BugTrack/2420 AutoTicketLink - Improve regex and JSON encode
[pukiwiki/pukiwiki.git] / plugin / random.inc.php
index c76ca19..1388c97 100644 (file)
@@ -1,58 +1,55 @@
 <?php
-/////////////////////////////////////////////////
-// PukiWiki - Yet another WikiWikiWeb clone.
-//
-// $Id: random.inc.php,v 1.6 2004/07/31 03:09:20 henoheno Exp $
+// PukiWiki - Yet another WikiWikiWeb clone
+// random.inc.php
+// Copyright 2002-2017 PukiWiki Development Team
+// License: GPL v2 or (at your option) any later version
 //
+// Show random page plugin
 
 /*
- *¥×¥é¥°¥¤¥ó random
-  ÇÛ²¼¤Î¥Ú¡¼¥¸¤ò¥é¥ó¥À¥à¤Ëɽ¼¨¤¹¤ë
+ *プラグイン random
+  配下のページをランダムに表示する
 
  *Usage
-  #random(¥á¥Ã¥»¡¼¥¸)
+  #random(ã\83¡ã\83\83ã\82»ã\83¼ã\82¸)
 
- *¥Ñ¥é¥á¡¼¥¿
- -¥á¥Ã¥»¡¼¥¸~
- ¥ê¥ó¥¯¤Ëɽ¼¨¤¹¤ëʸ»úÎó
+ *ã\83\91ã\83©ã\83¡ã\83¼ã\82¿
+ -ã\83¡ã\83\83ã\82»ã\83¼ã\82¸~
+ リンクに表示する文字列
 
  */
+
 function plugin_random_convert()
 {
-       global $script, $vars;
+       global $vars;
 
-       $title = 'press here.';
-
-       if (func_num_args())
-       {
-               $args = func_get_args();
-               $title = htmlspecialchars($args[0]);
+       $script = $get_base_uri();
+       $title = '[Random Link]'; // default
+       if (func_num_args()) {
+               $args  = func_get_args();
+               $title = $args[0];
        }
-       return "<p><a href=\"$script?plugin=random&refer={$vars['page']}\">$title</a></p>";
+
+       return "<p><a href=\"$script?plugin=random&amp;refer=" .
+               pagename_urlencode($vars['page']) . '">' .
+               htmlsc($title) . '</a></p>';
 }
 
 function plugin_random_action()
 {
-       global $script, $vars;
+       global $vars;
 
        $pattern = strip_bracket($vars['refer']) . '/';
-
        $pages = array();
-       foreach (get_existpages() as $_page)
-       {
-               if (strpos($_page,$pattern) === 0)
-               {
+       foreach (get_existpages() as $_page) {
+               if (strpos($_page, $pattern) === 0)
                        $pages[$_page] = strip_bracket($_page);
-               }
        }
-//     natcasesort($pages);
-       srand((double)microtime()*1000000);
+
+       srand((double)microtime() * 1000000);
        $page = array_rand($pages);
 
-       if ($page != '')
-       {
-               $vars['refer'] = $page;
-       }
+       if ($page != '') $vars['refer'] = $page;
+
        return array('body'=>'','msg'=>'');
 }
-?>