-<?
-function plugin_newpage_init()
-{
- $_plugin_recent_messages = array(
- '_msg_newpage' => '¥Ú¡¼¥¸¿·µ¬ºîÀ®'
- );
- set_plugin_messages($_plugin_recent_messages);
-}
+<?php
+// PukiWiki - Yet another WikiWikiWeb clone.
+// newpage.inc.php
+// Copyright 2002-2017 PukiWiki Development Team
+// License: GPL v2 or (at your option) any later version
+//
+// Newpage plugin
function plugin_newpage_convert()
{
- global $script,$vars,$_btn_edit,$_msg_newpage;
-
- $ret = "<form action=\"$script\" method=\"post\">\n";
- $ret.= "<input type=\"hidden\" name=\"plugin\" value=\"newpage\">\n";
- $ret.= "<input type=\"hidden\" name=\"refer\" value=\"$vars[page]\">\n";
- $ret.= "$_msg_newpage: ";
- $ret.= "<input type=\"text\" name=\"page\" size=\"30\" value=\"\">\n";
- $ret.= "<input type=\"submit\" value=\"$_btn_edit\">\n";
- $ret.= "</form>\n";
+ global $vars, $_btn_edit, $_msg_newpage, $BracketName;
+ static $id = 0;
+
+ $script = get_base_uri();
+ if (PKWK_READONLY) return ''; // Show nothing
+
+ $newpage = '';
+ if (func_num_args()) list($newpage) = func_get_args();
+ if (! preg_match('/^' . $BracketName . '$/', $newpage)) $newpage = '';
+
+ $s_page = htmlsc(isset($vars['refer']) ? $vars['refer'] : $vars['page']);
+ $s_newpage = htmlsc($newpage);
+ ++$id;
+
+ $ret = <<<EOD
+<form action="$script" method="post">
+ <div>
+ <input type="hidden" name="plugin" value="newpage" />
+ <input type="hidden" name="refer" value="$s_page" />
+ <label for="_p_newpage_$id">$_msg_newpage:</label>
+ <input type="text" name="page" id="_p_newpage_$id" value="$s_newpage" size="30" />
+ <input type="submit" value="$_btn_edit" />
+ </div>
+</form>
+EOD;
return $ret;
}
function plugin_newpage_action()
{
- global $vars,$script,$_btn_edit,$_msg_newpage;
-
- if(!$vars["page"]) {
- $retvars["msg"] = $_msg_newpage;
- $retvars["body"] = "<form action=\"$script\" method=\"post\">\n";
- $retvars["body"].= "<input type=\"hidden\" name=\"plugin\" value=\"newpage\">\n";
- $retvars["body"].= "<input type=\"hidden\" name=\"refer\" value=\"$vars[page]\">\n";
- $retvars["body"].= "$_msg_newpage: ";
- $retvars["body"].= "<input type=\"text\" name=\"page\" size=\"30\" value=\"\">\n";
- $retvars["body"].= "<input type=\"submit\" value=\"$_btn_edit\">\n";
- $retvars["body"].= "</form>\n";
+ global $vars, $_btn_edit, $_msg_newpage;
+
+ if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
+ if ($vars['page'] == '') {
+ $retvars['msg'] = $_msg_newpage;
+ $retvars['body'] = plugin_newpage_convert();
return $retvars;
- }
-
- if(!preg_match("/^($BracketName)|($InterWikiName)$/",$vars["page"]))
- {
- $vars["page"] = "[[$vars[page]]]";
- }
+ } else {
+ $page = strip_bracket($vars['page']);
+ $r_page = rawurlencode(isset($vars['refer']) ?
+ get_fullname($page, $vars['refer']) : $page);
+ $r_refer = rawurlencode($vars['refer']);
- $wikiname = rawurlencode($vars["page"]);
-
- header("Location: $script?$wikiname");
- die();
+ pkwk_headers_sent();
+ header('Location: ' . get_base_uri(PKWK_URI_ROOT) .
+ '?cmd=read&page=' . $r_page . '&refer=' . $r_refer);
+ exit;
+ }
}
-?>