OSDN Git Service

BugTrack2/192, BugTrack2/229: Comment out: 1.3.x-compat replacement keywords
[pukiwiki/pukiwiki.git] / plugin / source.inc.php
index 989c6d0..f213dfc 100644 (file)
@@ -1,12 +1,25 @@
-<?
+<?php
+// PukiWiki - Yet another WikiWikiWeb clone
+// $Id: source.inc.php,v 1.16 2011/01/25 15:01:01 henoheno Exp $
+//
+// Source plugin
+
+// Output source text of the page
 function plugin_source_action()
 {
-       global $post,$vars,$script,$InterWikiName,$WikiName,$BracketName,$defaultpage;
+       global $vars, $_source_messages;
 
-       header("Content-type: text/plain");
-       readfile(get_filename(encode($vars["page"])));
+       if (PKWK_SAFE_MODE) die_message('PKWK_SAFE_MODE prohibits this');
 
-       die();
-}
+       $page = isset($vars['page']) ? $vars['page'] : '';
+       $vars['refer'] = $page;
 
+       if (! is_page($page) || ! check_readable($page, false, false))
+               return array('msg' => $_source_messages['msg_notfound'],
+                       'body' => $_source_messages['err_notfound']);
+
+       return array('msg' => $_source_messages['msg_title'],
+               'body' => '<pre id="source">' .
+               htmlsc(join('', get_source($page))) . '</pre>');
+}
 ?>