OSDN Git Service

Re-order functions.
authorhenoheno <henoheno>
Sun, 3 Apr 2005 03:09:30 +0000 (12:09 +0900)
committerhenoheno <henoheno>
Sun, 3 Apr 2005 03:09:30 +0000 (12:09 +0900)
Rename plugin_bugtrack_pageinfo() => plugin_bugtrack_list_pageinfo()

plugin/bugtrack.inc.php

index 5d0ed14..ab3eb35 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-// $Id: bugtrack.inc.php,v 1.23 2005/04/02 15:09:59 henoheno Exp $
+// $Id: bugtrack.inc.php,v 1.24 2005/04/03 03:09:30 henoheno Exp $
 //
 // PukiWiki BugTrack plugin
 //
@@ -7,8 +7,9 @@
 // 2002-2005 PukiWiki Developers Team
 // 2002 Y.MASUI GPL2  http://masui.net/pukiwiki/ masui@masui.net
 
-define('PLUGIN_BUGTRACK_NUMBER_FORMAT', '%d'); // From 'page/1'
-//define('PLUGIN_BUGTRACK_NUMBER_FORMAT', '%03d'); // From 'page/001'
+// Numbering format
+define('PLUGIN_BUGTRACK_NUMBER_FORMAT', '%d'); // Like 'page/1'
+//define('PLUGIN_BUGTRACK_NUMBER_FORMAT', '%03d'); // Like 'page/001'
 
 function plugin_bugtrack_init()
 {
@@ -43,21 +44,22 @@ function plugin_bugtrack_init()
                );
 }
 
-// Add new issue
-function plugin_bugtrack_action()
+// #bugtrack: Show bugtrack form
+function plugin_bugtrack_convert()
 {
-       global $post;
+       global $vars;
 
-       if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
-       if ($post['mode'] != 'submit') return FALSE;
+       if (PKWK_READONLY) return ''; // Show nothing
 
-       $page = plugin_bugtrack_write($post['base'], $post['pagename'], $post['summary'],
-               $post['name'], $post['priority'], $post['state'], $post['category'],
-               $post['version'], $post['body']);
+       $base = $vars['page'];
+       $category = array();
+       if (func_num_args()) {
+               $category = func_get_args();
+               $_base    = get_fullname(strip_bracket(array_shift($category)), $base);
+               if (is_pagename($_base)) $base = $_base;
+       }
 
-       pkwk_headers_sent();
-       header('Location: ' . get_script_uri() . '?' . rawurlencode($page));
-       exit;
+       return plugin_bugtrack_print_form($base, $category);
 }
 
 function plugin_bugtrack_print_form($base, $category)
@@ -162,33 +164,21 @@ EOD;
        return $body;
 }
 
-function plugin_bugtrack_template($base, $summary, $name, $priority, $state, $category, $version, $body)
+// Add new issue
+function plugin_bugtrack_action()
 {
-       global $_plugin_bugtrack, $WikiName;
-
-       if (! preg_match("/^$WikiName$$/",$base)) $base = '[[' . $base . ']]';
-       if ($name != '' && ! preg_match("/^$WikiName$$/",$name)) $name = '[[' . $name . ']]';
-
-       if ($name    == '') $name    = $_plugin_bugtrack['noname'];
-       if ($summary == '') $summary = $_plugin_bugtrack['nosummary'];
-
-        return <<<EOD
-* $summary
+       global $post;
 
-- ${_plugin_bugtrack['base'    ]}: $base
-- ${_plugin_bugtrack['name'    ]}: $name
-- ${_plugin_bugtrack['priority']}: $priority
-- ${_plugin_bugtrack['state'   ]}: $state
-- ${_plugin_bugtrack['category']}: $category
-- ${_plugin_bugtrack['date'    ]}: now?
-- ${_plugin_bugtrack['version' ]}: $version
+       if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
+       if ($post['mode'] != 'submit') return FALSE;
 
-** ${_plugin_bugtrack['body']}
-$body
---------
+       $page = plugin_bugtrack_write($post['base'], $post['pagename'], $post['summary'],
+               $post['name'], $post['priority'], $post['state'], $post['category'],
+               $post['version'], $post['body']);
 
-#comment
-EOD;
+       pkwk_headers_sent();
+       header('Location: ' . get_script_uri() . '?' . rawurlencode($page));
+       exit;
 }
 
 function plugin_bugtrack_write($base, $pagename, $summary, $name, $priority, $state, $category, $version, $body)
@@ -227,62 +217,40 @@ function plugin_bugtrack_write($base, $pagename, $summary, $name, $priority, $st
        return $page;
 }
 
-// #bugtrack: Show bugtrack form
-function plugin_bugtrack_convert()
-{
-       global $vars;
-
-       if (PKWK_READONLY) return ''; // Show nothing
-
-       $base = $vars['page'];
-       $category = array();
-       if (func_num_args()) {
-               $category = func_get_args();
-               $_base    = get_fullname(strip_bracket(array_shift($category)), $base);
-               if (is_pagename($_base)) $base = $_base;
-       }
-
-       return plugin_bugtrack_print_form($base, $category);
-}
-
-// Get data from a page (or a page moved from $page)
-function plugin_bugtrack_pageinfo($page, $no = NULL, $recurse = TRUE)
+// Generate new page contents
+function plugin_bugtrack_template($base, $summary, $name, $priority, $state, $category, $version, $body)
 {
-       global $WikiName, $InterWikiName, $BracketName, $_plugin_bugtrack;
+       global $_plugin_bugtrack, $WikiName;
 
-       if ($no === NULL)
-               $no = preg_match('/\/([0-9]+)$/', $page, $matches) ? $matches[1] : 0;
+       if (! preg_match("/^$WikiName$$/",$base)) $base = '[[' . $base . ']]';
+       if ($name != '' && ! preg_match("/^$WikiName$$/",$name)) $name = '[[' . $name . ']]';
 
-       $source = get_source($page);
+       if ($name    == '') $name    = $_plugin_bugtrack['noname'];
+       if ($summary == '') $summary = $_plugin_bugtrack['nosummary'];
 
-       // Check 'moved' page _just once_
-       $regex  = "/move\s*to\s*($WikiName|$InterWikiName|\[\[$BracketName\]\])/";
-       $match  = array();
-       if ($recurse && preg_match($regex, $source[0], $match))
-               return plugin_bugtrack_pageinfo(strip_bracket($match[1]), $no, FALSE);
+        return <<<EOD
+* $summary
 
-       $body = join("\n", $source);
-       foreach(array('summary', 'name', 'priority', 'state', 'category') as $item) {
-               $regex = '/-\s*' . preg_quote($_plugin_bugtrack[$item], '/') . '\s*:(.*)/';
-               if (preg_match($regex, $body, $matches)) {
-                       if ($item == 'name') {
-                               $$item = htmlspecialchars(strip_bracket(trim($matches[1])));
-                       } else {
-                               $$item = htmlspecialchars(trim($matches[1]));
-                       }
-               } else {
-                               $$item = ''; // Data not found
-               }
-       }
+- ${_plugin_bugtrack['base'    ]}: $base
+- ${_plugin_bugtrack['name'    ]}: $name
+- ${_plugin_bugtrack['priority']}: $priority
+- ${_plugin_bugtrack['state'   ]}: $state
+- ${_plugin_bugtrack['category']}: $category
+- ${_plugin_bugtrack['date'    ]}: now?
+- ${_plugin_bugtrack['version' ]}: $version
 
-       if (preg_match("/\*([^\n]*)/", $body, $matches)) {
-               $summary = $matches[1];
-               make_heading($summary);
-       }
+** ${_plugin_bugtrack['body']}
+$body
+--------
 
-       return array($page, $no, $summary, $name, $priority, $state, $category);
+#comment
+EOD;
 }
 
+// ----------------------------------------
+// BugTrack-List plugin
+
+// #bugtrack_list plugin itself
 function plugin_bugtrack_list_convert()
 {
        global $script, $vars, $_plugin_bugtrack;
@@ -299,7 +267,7 @@ function plugin_bugtrack_list_convert()
        $pattern_len = strlen($pattern);
        foreach (get_existpages() as $page) {
                if (strpos($page, $pattern) === 0 && is_numeric(substr($page, $pattern_len))) {
-                       $line = plugin_bugtrack_pageinfo($page);
+                       $line = plugin_bugtrack_list_pageinfo($page);
                        array_push($data, $line);
                }
        }
@@ -351,4 +319,42 @@ EOD;
                $table_html . "\n" .
                '</table>';
 }
+
+// Get one set of data from a page (or a page moved to $page)
+function plugin_bugtrack_list_pageinfo($page, $no = NULL, $recurse = TRUE)
+{
+       global $WikiName, $InterWikiName, $BracketName, $_plugin_bugtrack;
+
+       if ($no === NULL)
+               $no = preg_match('/\/([0-9]+)$/', $page, $matches) ? $matches[1] : 0;
+
+       $source = get_source($page);
+
+       // Check 'moved' page _just once_
+       $regex  = "/move\s*to\s*($WikiName|$InterWikiName|\[\[$BracketName\]\])/";
+       $match  = array();
+       if ($recurse && preg_match($regex, $source[0], $match))
+               return plugin_bugtrack_list_pageinfo(strip_bracket($match[1]), $no, FALSE);
+
+       $body = join("\n", $source);
+       foreach(array('summary', 'name', 'priority', 'state', 'category') as $item) {
+               $regex = '/-\s*' . preg_quote($_plugin_bugtrack[$item], '/') . '\s*:(.*)/';
+               if (preg_match($regex, $body, $matches)) {
+                       if ($item == 'name') {
+                               $$item = htmlspecialchars(strip_bracket(trim($matches[1])));
+                       } else {
+                               $$item = htmlspecialchars(trim($matches[1]));
+                       }
+               } else {
+                               $$item = ''; // Data not found
+               }
+       }
+
+       if (preg_match("/\*([^\n]*)/", $body, $matches)) {
+               $summary = $matches[1];
+               make_heading($summary);
+       }
+
+       return array($page, $no, $summary, $name, $priority, $state, $category);
+}
 ?>