Update docs

This commit is contained in:
Starbeamrainbowlabs 2019-02-24 16:03:11 +00:00
parent 64fa493e45
commit f33fa13aad
Signed by: sbrl
GPG Key ID: 1BE5172E637709C2
66 changed files with 1372 additions and 559 deletions

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1582381369"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1451445204"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1582381369" class="accordion-body collapse in">
<div id="namespace-1451445204" class="accordion-body collapse in">
<div class="accordion-inner">
@ -401,7 +401,7 @@ with a URL encoded version of the page name.</em></p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1706303921"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1107645414"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1706303921" class="accordion-body collapse in">
<div id="namespace-1107645414" class="accordion-body collapse in">
<div class="accordion-inner">
@ -414,7 +414,7 @@ Added image support</p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2137466323"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-580170222"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2137466323" class="accordion-body collapse in">
<div id="namespace-580170222" class="accordion-body collapse in">
<div class="accordion-inner">
@ -525,7 +525,7 @@ index.</p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1748061323"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1129447739"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1748061323" class="accordion-body collapse in">
<div id="namespace-1129447739" class="accordion-body collapse in">
<div class="accordion-inner">
@ -194,9 +194,10 @@
<a href="../classes/page_renderer.html#method_get_header_html" class="">get_header_html()</a><br />
<a href="../classes/page_renderer.html#method_is_css_url" class="">is_css_url()</a><br />
<a href="../classes/page_renderer.html#method_get_css_as_html" class="">get_css_as_html()</a><br />
<a href="../classes/page_renderer.html#method_AddJSLink" class="">AddJSLink()</a><br />
<a href="../classes/page_renderer.html#method_AddJSSnippet" class="">AddJSSnippet()</a><br />
<a href="../classes/page_renderer.html#method_AddServerPushIndicator" class="">AddServerPushIndicator()</a><br />
<a href="../classes/page_renderer.html#method_add_js_link" class="">add_js_link()</a><br />
<a href="../classes/page_renderer.html#method_add_js_snippet" class="">add_js_snippet()</a><br />
<a href="../classes/page_renderer.html#method_add_header_html" class="">add_header_html()</a><br />
<a href="../classes/page_renderer.html#method_add_server_push_indicator" class="">add_server_push_indicator()</a><br />
<a href="../classes/page_renderer.html#method_render_navigation_bar" class="">render_navigation_bar()</a><br />
<a href="../classes/page_renderer.html#method_render_username" class="">render_username()</a><br />
<a href="../classes/page_renderer.html#method_generate_all_pages_datalist" class="">generate_all_pages_datalist()</a><br />
@ -740,11 +741,11 @@ value of the function passed is discarded.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_AddJSLink" name="method_AddJSLink" class="anchor"></a>
<a id="method_add_js_link" name="method_add_js_link" class="anchor"></a>
<article class="method">
<h3 class="public ">AddJSLink()</h3>
<h3 class="public ">add_js_link()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">AddJSLink(string <span class="argument">$scriptUrl</span>) </pre>
<pre class="signature" style="margin-right: 54px;">add_js_link(string <span class="argument">$scriptUrl</span>) </pre>
<p><em>Adds the specified url to a javascript file as a reference to the page.</em></p>
@ -781,11 +782,11 @@ value of the function passed is discarded.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_AddJSSnippet" name="method_AddJSSnippet" class="anchor"></a>
<a id="method_add_js_snippet" name="method_add_js_snippet" class="anchor"></a>
<article class="method">
<h3 class="public ">AddJSSnippet()</h3>
<h3 class="public ">add_js_snippet()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">AddJSSnippet(string <span class="argument">$script</span>) </pre>
<pre class="signature" style="margin-right: 54px;">add_js_snippet(string <span class="argument">$script</span>) </pre>
<p><em>Adds a javascript snippet to the page.</em></p>
@ -822,11 +823,46 @@ value of the function passed is discarded.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_AddServerPushIndicator" name="method_AddServerPushIndicator" class="anchor"></a>
<a id="method_add_header_html" name="method_add_header_html" class="anchor"></a>
<article class="method">
<h3 class="public ">AddServerPushIndicator()</h3>
<h3 class="public ">add_header_html()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">AddServerPushIndicator(string <span class="argument">$type</span>, string <span class="argument">$path</span>) </pre>
<pre class="signature" style="margin-right: 54px;">add_header_html(string <span class="argument">$html</span>) </pre>
<p><em>Adds a string of HTML to the header of the rendered page.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$html </td>
<td><p>The string of HTML to add.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_add_server_push_indicator" name="method_add_server_push_indicator" class="anchor"></a>
<article class="method">
<h3 class="public ">add_server_push_indicator()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">add_server_push_indicator(string <span class="argument">$type</span>, string <span class="argument">$path</span>) </pre>
<p><em>Adds a resource to the list of items to indicate that the web server should send via HTTP/2.0 Server Push.</em></p>
<p>Note: Only specify static files here, as you might end up with strange (and possibly dangerous) results!</p>
@ -1046,7 +1082,7 @@ navigation bar.</p></td>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-97999474"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1533466966"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-97999474" class="accordion-body collapse in">
<div id="namespace-1533466966" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<dt>File</dt>
<dd><a href="../files/modules.feature-search.html"><div class="path-wrapper">modules/feature-search.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">Default</div></dd>
<dd><div class="namespace-wrapper">search</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\search</div>
@ -934,7 +934,7 @@ in a list of search results.</em></p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-633657306"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-543842817"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-633657306" class="accordion-body collapse in">
<div id="namespace-543842817" class="accordion-body collapse in">
<div class="accordion-inner">
@ -2143,7 +2143,7 @@ action is requested.</p></td>
<article class="method">
<h3 class=" ">add_parser()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">add_parser(string <span class="argument">$name</span>, \function <span class="argument">$parser_code</span>) </pre>
<pre class="signature" style="margin-right: 54px;">add_parser(string <span class="argument">$name</span>, \function <span class="argument">$parser_code</span>, \function <span class="argument">$hash_generator</span>) </pre>
<p><em>Registers a new parser.</em></p>
@ -2158,6 +2158,11 @@ action is requested.</p></td>
<td>\function</td>
<td>$parser_code </td>
<td><p>The function to register as a new parser.</p></td>
</tr>
<tr>
<td>\function</td>
<td>$hash_generator </td>
<td><p>A function that should take a single argument of the input source text, and return a unique hash for that content. The return value is used as the filename for cache entries, so should be safe to use as such.</p></td>
</tr>
</table>
@ -2192,10 +2197,10 @@ action is requested.</p></td>
<article class="method">
<h3 class=" ">parse_page_source()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parse_page_source(string <span class="argument">$source</span>) : string</pre>
<pre class="signature" style="margin-right: 54px;">parse_page_source(string <span class="argument">$source</span>, string <span class="argument">$use_cache = true</span>) : string</pre>
<p><em>Parses the specified page source using the parser specified in the settings
into HTML.</em></p>
<p>The specified parser may (though it's unilkely) render it to other things.</p>
<p>The specified parser may (though it's unlikely) render it to other things.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
@ -2203,6 +2208,11 @@ into HTML.</em></p>
<td>string</td>
<td>$source </td>
<td><p>The source to render.</p></td>
</tr>
<tr>
<td>string</td>
<td>$use_cache </td>
<td><p>Whether to use the on-disk cache. Has no effect if parser caching is disabled in peppermint.json, or the source string is too small.</p></td>
</tr>
</table>
@ -2474,7 +2484,7 @@ an edit is saved.</em></p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -56,6 +56,8 @@ $paths->idindex = "idindex.json";
$paths->statsindex = "statsindex.json";
/** The interwiki index cache */
$paths->interwiki_index = "interwiki_index.json";
/** The cache directory, minus the trailing slash. Contains cached rendered versions of pages. If things don't update, try deleting this folder. */
$paths->cache_directory = "._cache";
// Prepend the storage data directory to all the defined paths.
foreach ($paths as &$path) {
@ -67,6 +69,10 @@ $paths->settings_file = $settingsFilename;
/** The prefix to add to uploaded files */
$paths->upload_file_prefix = "Files/";
// Create the cache directory if it doesn't exist
if(!is_dir($paths->cache_directory))
mkdir($paths->cache_directory, 0700);
session_start();
// Make sure that the login cookie lasts beyond the end of the user's session
setcookie(session_name(), session_id(), time() + $settings->sessionlifetime, "", "", false, true);
@ -1107,6 +1113,35 @@ class page_renderer
*/
protected static $http2_push_items = [];
/**
* A string of extrar HTML that should be included at the bottom of the page <head>.
* @var string
*/
private static $extraHeaderHTML = "";
/**
* The javascript snippets that will be included in the page.
* @var string[]
* @package core
*/
private static $jsSnippets = [];
/**
* The urls of the external javascript files that should be referenced
* by the page.
* @var string[]
* @package core
*/
private static $jsLinks = [];
/**
* The navigation bar divider.
* @package core
* @var string
*/
public static $nav_divider = "<span class='nav-divider inflexible'> | </span>";
/**
* An array of functions that have been registered to process the
* find / replace array before the page is rendered. Note that the function
@ -1128,8 +1163,7 @@ class page_renderer
* @package core
* @param function $function The part preprocessor to register.
*/
public static function register_part_preprocessor($function)
{
public static function register_part_preprocessor($function) {
global $settings;
// Make sure that the function we are about to register is valid
@ -1161,12 +1195,10 @@ class page_renderer
if($body_template === false)
$body_template = self::$main_content_template;
if(strlen($settings->logo_url) > 0)
{
if(strlen($settings->logo_url) > 0) {
// A logo url has been specified
$logo_html = "<img class='logo" . (isset($_GET["printable"]) ? " small" : "") . "' src='$settings->logo_url' />";
switch($settings->logo_position)
{
switch($settings->logo_position) {
case "left":
$logo_html = "$logo_html $settings->sitename";
break;
@ -1231,8 +1263,7 @@ class page_renderer
* @param string $content The content of the page.
* @return string The rendered page.
*/
public static function render_main($title, $content)
{
public static function render_main($title, $content) {
return self::render($title, $content, self::$main_content_template);
}
/**
@ -1242,8 +1273,7 @@ class page_renderer
* @param string $content The content of the page.
* @return string The rendered page.
*/
public static function render_minimal($title, $content)
{
public static function render_minimal($title, $content) {
return self::render($title, $content, self::$minimal_content_template);
}
@ -1276,23 +1306,23 @@ class page_renderer
public static function get_header_html()
{
global $settings;
$result = self::get_css_as_html();
$result .= self::getJS();
$result = self::$extraHeaderHTML;
$result .= self::get_css_as_html();
$result .= self::_get_js();
// We can't use module_exists here because sometimes global $modules
// hasn't populated yet when we get called O.o
if(class_exists("search"))
$result .= "\t\t<link rel='search' type='application/opensearchdescription+xml' href='?action=opensearch-description' title='$settings->sitename Search' />\n";
if(!empty($settings->enable_math_rendering))
{
if(!empty($settings->enable_math_rendering)) {
$result .= "<script type='text/x-mathjax-config'>
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ['\\\\(','\\\\)'] ],
processEscapes: true,
skipTags: ['script','noscript','style','textarea','pre','code']
}
tex2jax: {
inlineMath: [ ['$','$'], ['\\\\(','\\\\)'] ],
processEscapes: true,
skipTags: ['script','noscript','style','textarea','pre','code']
}
});
</script>";
}
@ -1319,12 +1349,11 @@ class page_renderer
if(self::is_css_url()) {
if($settings->css[0] === "/") // Push it if it's a relative resource
self::AddServerPushIndicator("style", $settings->css);
self::add_server_push_indicator("style", $settings->css);
return "<link rel='stylesheet' href='$settings->css' />\n";
} else {
$css = $settings->css == "auto" ? $defaultCSS : $settings->css;
if(!empty($settings->optimize_pages))
{
if(!empty($settings->optimize_pages)) {
// CSS Minification ideas by Jean from catswhocode.com
// Link: http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php
// Remove comments
@ -1350,26 +1379,14 @@ class page_renderer
return "<style>$css</style>\n";
}
}
/**
* The javascript snippets that will be included in the page.
* @var string[]
* @package core
*/
private static $jsSnippets = [];
/**
* The urls of the external javascript files that should be referenced
* by the page.
* @var string[]
* @package core
*/
private static $jsLinks = [];
/**
* Adds the specified url to a javascript file as a reference to the page.
* @package core
* @param string $scriptUrl The url of the javascript file to reference.
*/
public function AddJSLink(string $scriptUrl)
{
public function add_js_link(string $scriptUrl) {
static::$jsLinks[] = $scriptUrl;
}
/**
@ -1377,8 +1394,7 @@ class page_renderer
* @package core
* @param string $script The snippet of javascript to add.
*/
public function AddJSSnippet(string $script)
{
public function add_js_snippet(string $script) {
static::$jsSnippets[] = $script;
}
/**
@ -1387,20 +1403,29 @@ class page_renderer
* @package core
* @return string The rendered javascript ready for inclusion in the page.
*/
private static function getJS()
{
private static function _get_js() {
$result = "<!-- Javascript -->\n";
foreach(static::$jsSnippets as $snippet)
$result .= "<script defer>\n$snippet\n</script>\n";
foreach(static::$jsLinks as $link) {
// Push it via HTTP/2.0 if it's relative
if($link[0] === "/") self::AddServerPushIndicator("script", $link);
if($link[0] === "/") self::add_server_push_indicator("script", $link);
$result .= "<script src='" . $link . "' defer></script>\n";
}
return $result;
}
// ~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* Adds a string of HTML to the header of the rendered page.
* @param string $html The string of HTML to add.
*/
public static function add_header_html($html) {
self::$extraHeaderHTML .= $html;
}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* Adds a resource to the list of items to indicate that the web server should send via HTTP/2.0 Server Push.
@ -1408,19 +1433,13 @@ class page_renderer
* @param string $type The resource type. See https://fetch.spec.whatwg.org/#concept-request-destination for more information.
* @param string $path The *relative url path* to the resource.
*/
public static function AddServerPushIndicator($type, $path) {
public static function add_server_push_indicator($type, $path) {
self::$http2_push_items[] = [ $type, $path ];
}
// ~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* The navigation bar divider.
* @package core
* @var string
*/
public static $nav_divider = "<span class='nav-divider inflexible'> | </span>";
/**
* Renders a navigation bar from an array of links. See
* $settings->nav_links for format information.
@ -1431,62 +1450,56 @@ class page_renderer
* @param string $class The class(es) to assign to the rendered
* navigation bar.
*/
public static function render_navigation_bar($nav_links, $nav_links_extra, $class = "")
{
public static function render_navigation_bar($nav_links, $nav_links_extra, $class = "") {
global $settings, $env;
$result = "<nav class='$class'>\n";
// Loop over all the navigation links
foreach($nav_links as $item)
{
if(is_string($item))
{
// The item is a string
switch($item)
{
//keywords
case "user-status": // Renders the user status box
if($env->is_logged_in)
{
$result .= "<span class='inflexible logged-in" . ($env->is_logged_in ? " moderator" : " normal-user") . "'>";
if(module_exists("feature-user-preferences")) {
$result .= "<a href='?action=user-preferences'>$settings->user_preferences_button_text</a>";
}
$result .= self::render_username($env->user);
$result .= " <small>(<a href='index.php?action=logout'>Logout</a>)</small>";
$result .= "</span>";
//$result .= page_renderer::$nav_divider;
}
else {
$returnto_url = $env->action !== "logout" ? $_SERVER["REQUEST_URI"] : "?action=view&page=" . rawurlencode($settings->defaultpage);
$result .= "<span class='not-logged-in'><a href='index.php?action=login&returnto=" . rawurlencode($returnto_url) . "'>Login</a></span>";
}
break;
case "search": // Renders the search bar
$result .= "<span class='inflexible'><form method='get' action='index.php' style='display: inline;'><input type='search' name='page' list='allpages' placeholder='Type a page name here and hit enter' /><input type='hidden' name='search-redirect' value='true' /></form></span>";
break;
case "divider": // Renders a divider
$result .= page_renderer::$nav_divider;
break;
case "menu": // Renders the "More..." menu
$result .= "<span class='inflexible nav-more'><label for='more-menu-toggler'>More...</label>
<input type='checkbox' class='off-screen' id='more-menu-toggler' />";
$result .= page_renderer::render_navigation_bar($nav_links_extra, [], "nav-more-menu");
$result .= "</span>";
break;
// It isn't a keyword, so just output it directly
default:
$result .= "<span>$item</span>";
}
}
else
{
foreach($nav_links as $item) {
if(!is_string($item)) {
// Output the item as a link to a url
$result .= "<span><a href='" . str_replace("{page}", rawurlencode($env->page), $item[1]) . "'>$item[0]</a></span>";
continue;
}
// The item is a string
switch($item) {
//keywords
case "user-status": // Renders the user status box
if($env->is_logged_in) {
$result .= "<span class='inflexible logged-in" . ($env->is_logged_in ? " moderator" : " normal-user") . "'>";
if(module_exists("feature-user-preferences")) {
$result .= "<a href='?action=user-preferences'>$settings->user_preferences_button_text</a>";
}
$result .= self::render_username($env->user);
$result .= " <small>(<a href='index.php?action=logout'>Logout</a>)</small>";
$result .= "</span>";
//$result .= page_renderer::$nav_divider;
}
else {
$returnto_url = $env->action !== "logout" ? $_SERVER["REQUEST_URI"] : "?action=view&page=" . rawurlencode($settings->defaultpage);
$result .= "<span class='not-logged-in'><a href='index.php?action=login&returnto=" . rawurlencode($returnto_url) . "'>Login</a></span>";
}
break;
case "search": // Renders the search bar
$result .= "<span class='inflexible'><form method='get' action='index.php' style='display: inline;'><input type='search' name='page' list='allpages' placeholder='Type a page name here and hit enter' /><input type='hidden' name='search-redirect' value='true' /></form></span>";
break;
case "divider": // Renders a divider
$result .= page_renderer::$nav_divider;
break;
case "menu": // Renders the "More..." menu
$result .= "<span class='inflexible nav-more'><label for='more-menu-toggler'>More...</label>
<input type='checkbox' class='off-screen' id='more-menu-toggler' />";
$result .= page_renderer::render_navigation_bar($nav_links_extra, [], "nav-more-menu");
$result .= "</span>";
break;
// It isn't a keyword, so just output it directly
default:
$result .= "<span>$item</span>";
}
}
@ -1499,8 +1512,7 @@ class page_renderer
* @param string $name The username to render.
* @return string The username rendered in HTML.
*/
public static function render_username($name)
{
public static function render_username($name) {
global $settings;
$result = "";
$result .= "<a href='?page=" . rawurlencode(get_user_pagename($name)) . "'>";
@ -1514,29 +1526,24 @@ class page_renderer
return $result;
}
// ~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* Renders the datalist for the search box as HTML.
* @package core
* @return string The search box datalist as HTML.
*/
public static function generate_all_pages_datalist()
{
public static function generate_all_pages_datalist() {
global $settings, $pageindex;
$arrayPageIndex = get_object_vars($pageindex);
ksort($arrayPageIndex);
$result = "<datalist id='allpages'>\n";
// If dynamic page sugggestions are enabled, then we should send a loading message instead.
if($settings->dynamic_page_suggestion_count > 0)
{
if($settings->dynamic_page_suggestion_count > 0) {
$result .= "<option value='Loading suggestions...' />";
}
else
{
foreach($arrayPageIndex as $pagename => $pagedetails)
{
} else {
foreach($arrayPageIndex as $pagename => $pagedetails) {
$escapedPageName = str_replace('"', '&quot;', $pagename);
$result .= "\t\t\t<option value=\"$escapedPageName\" />\n";
}
@ -1549,16 +1556,16 @@ class page_renderer
// HTTP/2.0 Server Push static items
foreach($settings->http2_server_push_items as $push_item) {
page_renderer::AddServerPushIndicator($push_item[0], $push_item[1]);
page_renderer::add_server_push_indicator($push_item[0], $push_item[1]);
}
// Math rendering support
if(!empty($settings->enable_math_rendering))
{
page_renderer::AddJSLink("https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML");
page_renderer::add_js_link("https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML");
}
// alt+enter support in the search box
page_renderer::AddJSSnippet('// Alt + Enter support in the top search box
page_renderer::add_js_snippet('// Alt + Enter support in the top search box
window.addEventListener("load", function(event) {
document.querySelector("input[type=search]").addEventListener("keyup", function(event) {
// Listen for Alt + Enter
@ -1713,43 +1720,74 @@ function has_action($action_name)
}
$parsers = [
"none" => function() {
throw new Exception("No parser registered!");
}
"none" => [
"parser" => function() {
throw new Exception("No parser registered!");
},
"hash_generator" => function() {
throw new Exception("No parser registered!");
}
]
];
/**
* Registers a new parser.
* @package core
* @param string $name The name of the new parser to register.
* @param function $parser_code The function to register as a new parser.
* @package core
* @param string $name The name of the new parser to register.
* @param function $parser_code The function to register as a new parser.
* @param function $hash_generator A function that should take a single argument of the input source text, and return a unique hash for that content. The return value is used as the filename for cache entries, so should be safe to use as such.
*/
function add_parser($name, $parser_code)
{
function add_parser($name, $parser_code, $hash_generator) {
global $parsers;
if(isset($parsers[$name]))
throw new Exception("Can't register parser with name '$name' because a parser with that name already exists.");
$parsers[$name] = $parser_code;
$parsers[$name] = [
"parser" => $parser_code,
"hash_generator" => $hash_generator
];
}
/**
* Parses the specified page source using the parser specified in the settings
* into HTML.
* The specified parser may (though it's unilkely) render it to other things.
* The specified parser may (though it's unlikely) render it to other things.
* @package core
* @param string $source The source to render.
* @return string The source rendered to HTML.
* @param string $source The source to render.
* @param string $use_cache Whether to use the on-disk cache. Has no effect if parser caching is disabled in peppermint.json, or the source string is too small.
* @return string The source rendered to HTML.
*/
function parse_page_source($source)
{
global $settings, $parsers;
function parse_page_source($source, $use_cache = true) {
global $settings, $paths, $parsers, $version;
$start_time = microtime(true);
if(!$settings->parser_cache || strlen($source) < $settings->parser_cache_min_size) $use_cache = false;
if(!isset($parsers[$settings->parser]))
exit(page_renderer::render_main("Parsing error - $settings->sitename", "<p>Parsing some page source data failed. This is most likely because $settings->sitename has the parser setting set incorrectly. Please contact <a href='mailto:" . hide_email($settings->admindetails_email) . "'>" . $settings->admindetails_name . "</a>, your $settings->sitename Administrator."));
/* Not needed atm because escaping happens when saving, not when rendering *
if($settings->clean_raw_html)
$source = htmlentities($source, ENT_QUOTES | ENT_HTML5);
*/
return $parsers[$settings->parser]($source);
$cache_id = $parsers[$settings->parser]["hash_generator"]($source);
$cache_file = "{$paths->cache_directory}/{$cache_id}.html";
$result = null;
if($use_cache && file_exists($cache_file)) {
$result = file_get_contents($cache_file);
$result .= "\n<!-- cache: hit, id: $cache_id, took: " . round((microtime(true) - $start_time)*1000, 5) . "ms -->\n";
}
if($result == null) {
$result = $parsers[$settings->parser]["parser"]($source);
// If we should use the cache and we failed to write to it, warn the admin.
// It's not terribible if we can't write to the cache directory (so we shouldn't stop dead & refuse service), but it's still of concern.
if($use_cache && !file_put_contents($cache_file, $result))
error_log("[Pepperminty Wiki] Warning: Failed to write to cache file $cache_file.");
$result .= "\n<!-- cache: " . ($use_cache ? "miss" : "n/a") . ", id: $cache_id, took: " . round((microtime(true) - $start_time)*1000, 5) . "ms -->\n";
}
return $result;
}
// Function to

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-392359883"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2019124080"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-392359883" class="accordion-body collapse in">
<div id="namespace-2019124080" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-816941403"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1846194355"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-816941403" class="accordion-body collapse in">
<div id="namespace-1846194355" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-19422614"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2076418340"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-19422614" class="accordion-body collapse in">
<div id="namespace-2076418340" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-252358487"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1459239861"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-252358487" class="accordion-body collapse in">
<div id="namespace-1459239861" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1719087606"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-515291222"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1719087606" class="accordion-body collapse in">
<div id="namespace-515291222" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1835389904"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-569990969"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1835389904" class="accordion-body collapse in">
<div id="namespace-569990969" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2076427370"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-929575317"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2076427370" class="accordion-body collapse in">
<div id="namespace-929575317" class="accordion-body collapse in">
<div class="accordion-inner">
@ -298,7 +298,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1344340368"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2080703382"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1344340368" class="accordion-body collapse in">
<div id="namespace-2080703382" class="accordion-body collapse in">
<div class="accordion-inner">
@ -380,7 +380,8 @@ false if it wasn't found.</p>
package
</th>
<td>
<p>Default</p>
<p>feature-comments</p>
<p>feature-comments</p>
</td>
</tr>
</table>
@ -544,7 +545,7 @@ at which the comments are being rendered.</p></td>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2003756242"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-332531130"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2003756242" class="accordion-body collapse in">
<div id="namespace-332531130" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2007139350"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-814789295"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2007139350" class="accordion-body collapse in">
<div id="namespace-814789295" class="accordion-body collapse in">
<div class="accordion-inner">
@ -312,7 +312,7 @@ the current revision if you're not careful!</p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-16668154"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1070382056"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-16668154" class="accordion-body collapse in">
<div id="namespace-1070382056" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-54412603"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2070662548"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-54412603" class="accordion-body collapse in">
<div id="namespace-2070662548" class="accordion-body collapse in">
<div class="accordion-inner">
@ -289,6 +289,57 @@
<div class="row-fluid">
<div class="span8 content class">
<a id="method_find_revisionid_timestamp" name="method_find_revisionid_timestamp" class="anchor"></a>
<article class="method">
<h3 class=" ">find_revisionid_timestamp()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">find_revisionid_timestamp(string <span class="argument">$pagename</span>, <span class="argument">$timestamp</span>) : integer</pre>
<p><em>Given a page name and timestamp, returns the associated page revision number.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$pagename </td>
<td><p>The page name to obtain the revision number for.</p></td>
</tr>
<tr>
<td></td>
<td>$timestamp </td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
integer
&mdash; <p>The revision number of the given page at the given time.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper">modules/feature-recent-changes.php</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_render_recent_change" name="method_render_recent_change" class="anchor"></a>
<article class="method">
<h3 class=" ">render_recent_change()</h3>
@ -334,6 +385,52 @@
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_render_recent_change_atom" name="method_render_recent_change_atom" class="anchor"></a>
<article class="method">
<h3 class=" ">render_recent_change_atom()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">render_recent_change_atom(array <span class="argument">$recent_changes</span>) : string</pre>
<p><em>Renders a list of recent changes as an Atom 1.0 feed.</em></p>
<p>Requires the XMLWriter PHP class.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$recent_changes </td>
<td><p>The array of recent changes to render.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The recent changes as an Atom 1.0 feed.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper">modules/feature-recent-changes.php</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
</div>
</section>
@ -384,7 +481,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-37028824"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-331898220"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-37028824" class="accordion-body collapse in">
<div id="namespace-331898220" class="accordion-body collapse in">
<div class="accordion-inner">
@ -238,7 +238,8 @@ specified utilising the provided page content.</em></p>
package
</th>
<td>
<p>Default</p>
<p>redirect</p>
<p>redirect</p>
</td>
</tr>
</table>
@ -295,7 +296,7 @@ specified utilising the provided page content.</em></p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-271133269"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-622848331"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-271133269" class="accordion-body collapse in">
<div id="namespace-622848331" class="accordion-body collapse in">
<div class="accordion-inner">
@ -246,7 +246,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1784150326"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-973118698"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1784150326" class="accordion-body collapse in">
<div id="namespace-973118698" class="accordion-body collapse in">
<div class="accordion-inner">
@ -381,7 +381,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-503997305"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1838285008"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-503997305" class="accordion-body collapse in">
<div id="namespace-1838285008" class="accordion-body collapse in">
<div class="accordion-inner">
@ -503,7 +503,7 @@ the image.</p></td>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2034964069"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-62621910"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2034964069" class="accordion-body collapse in">
<div id="namespace-62621910" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-665612439"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1223929255"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-665612439" class="accordion-body collapse in">
<div id="namespace-1223929255" class="accordion-body collapse in">
<div class="accordion-inner">
@ -292,7 +292,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-159429236"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1866983588"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-159429236" class="accordion-body collapse in">
<div id="namespace-1866983588" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-674136135"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1540129352"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-674136135" class="accordion-body collapse in">
<div id="namespace-1540129352" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-291738382"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1679658927"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-291738382" class="accordion-body collapse in">
<div id="namespace-1679658927" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1640437813"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1149155721"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1640437813" class="accordion-body collapse in">
<div id="namespace-1149155721" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1910824177"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1077004787"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1910824177" class="accordion-body collapse in">
<div id="namespace-1077004787" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-177079126"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2117612666"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-177079126" class="accordion-body collapse in">
<div id="namespace-2117612666" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1148570770"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-8907722"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1148570770" class="accordion-body collapse in">
<div id="namespace-8907722" class="accordion-body collapse in">
<div class="accordion-inner">
@ -340,7 +340,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-365431975"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1629031204"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-365431975" class="accordion-body collapse in">
<div id="namespace-1629031204" class="accordion-body collapse in">
<div class="accordion-inner">
@ -519,7 +519,7 @@ found that's greater than the target - or 10x the target time elapses.</p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-711252884"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1736089359"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-711252884" class="accordion-body collapse in">
<div id="namespace-1736089359" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2072879072"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-50579240"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2072879072" class="accordion-body collapse in">
<div id="namespace-50579240" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-287404489"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1913308122"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-287404489" class="accordion-body collapse in">
<div id="namespace-1913308122" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1745650500"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1275541972"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1745650500" class="accordion-body collapse in">
<div id="namespace-1275541972" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-108574831"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-213700746"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-108574831" class="accordion-body collapse in">
<div id="namespace-213700746" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1176996552"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1453581312"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1176996552" class="accordion-body collapse in">
<div id="namespace-1453581312" class="accordion-body collapse in">
<div class="accordion-inner">
@ -246,7 +246,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2114345338"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1798515770"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-2114345338" class="accordion-body collapse in">
<div id="namespace-1798515770" class="accordion-body collapse in">
<div class="accordion-inner">
@ -196,7 +196,61 @@
</div>
<div class="row-fluid">
<section class="span8 content file">
<h2>Functions</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_parsedown_pagename_resolve" name="method_parsedown_pagename_resolve" class="anchor"></a>
<article class="method">
<h3 class=" ">parsedown_pagename_resolve()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parsedown_pagename_resolve(string <span class="argument">$pagename</span>) : string</pre>
<p><em>Attempts to &#039;auto-correct&#039; a page name by trying different capitalisation
combinations.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$pagename </td>
<td><p>The page name to auto-correct.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The auto-corrected page name.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper">modules/parser-parsedown.php</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
</div>
</section>
@ -246,7 +300,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -28,19 +28,16 @@ register_module([
add_action("hash", function() {
global $settings;
if(!isset($_GET["string"]))
{
if(!isset($_GET["string"])) {
http_response_code(422);
exit(page_renderer::render_main("Missing parameter", "<p>The <code>GET</code> parameter <code>string</code> must be specified.</p>
<p>It is strongly recommended that you utilise this page via a private or incognito window in order to prevent your password from appearing in your browser history.</p>"));
}
else if(!empty($_GET["raw"]))
{
else if(!empty($_GET["raw"])) {
header("content-type: text/plain");
exit(hash_password($_GET["string"]));
}
else
{
else {
exit(page_renderer::render_main("Hashed string", "<p>Algorithm: <code>$settings->password_algorithm</code></p>\n<p><code>" . $_GET["string"] . "</code> → <code>" . hash_password($_GET["string"]) . "</code></p>"));
}
});

View File

@ -1,7 +1,7 @@
<?php
register_module([
"name" => "Page Comments",
"version" => "0.3.1",
"version" => "0.3.2",
"author" => "Starbeamrainbowlabs",
"description" => "Adds threaded comments to the bottom of every page.",
"id" => "feature-comments",
@ -302,7 +302,7 @@ function display_reply_form(event)
}
REPLYJS;
page_renderer::AddJSSnippet($reply_js_snippet);
page_renderer::add_js_snippet($reply_js_snippet);
}
@ -369,6 +369,7 @@ function find_comment($comment_data, $comment_id)
/**
* Deletes the first comment found with the specified id.
* @package feature-comments
* @param array $comment_data An array of threaded comments to delete the comment from.
* @param string $target_id The id of the comment to delete.
* @return bool Whether the comment was found and deleted or not.

View File

@ -67,7 +67,7 @@ window.addEventListener("load", function(event) {
});
SCRIPT;
page_renderer::AddJSSnippet($invindex_rebuild_script);
page_renderer::add_js_snippet($invindex_rebuild_script);
$content .= "<h2>Settings</h2>";
$content .= "<p>Mouse over the name of each setting to see a description of what it does.</p>\n";

View File

@ -1,7 +1,7 @@
<?php
register_module([
"name" => "Interwiki links",
"version" => "0.1",
"version" => "0.1.1",
"author" => "Starbeamrainbowlabs",
"description" => "Adds interwiki link support. Set the interwiki_index_location setting at an index file to activate support.",
"id" => "feature-interwiki-links",
@ -16,8 +16,9 @@ register_module([
$env->interwiki_index = json_decode(file_get_contents($paths->interwiki_index));
}
// TODO: Fill this in
$doc_help = <<<HELP_BLOCK
$doc_help = "<p>$settings->sitename doesn't currently support interwiki links, but if you'd like it to, please contact $settings->admindetails_name ($settings->sitename's administrator) through their contact details at the bottom of every page and point them at <a href='https://starbeamrainbowlabs.com/labs/peppermint/_docpress/06.5-Interwiki-Links.html'>the documentation on how to set it up</a>. It's really easy, and they can always <a href='https://github.com/sbrl/Pepperminty-Wiki/issues/new'>open an issue</a> if they get stuck :-)</p>\n";
if(!empty($env->interwiki_index)) {
$doc_help = <<<HELP_BLOCK
<p>$settings->sitename supports inter-wiki links. Such a link sends the user elsewhere on the internet. By prefixing a page name with a prefix, the convenience of the internal link syntax described above can be exploited to send users elsewhere without having to type out full urls! Here are few examples (note that these prefixes are only examples, and probably aren't available on $settings->sitename - check the list below for supported prefixes):</p>
<pre><code>[[another_wiki:Apples]]
@ -28,11 +29,12 @@ register_module([
<p>Note that unlike normal internal links, the page name is case-sensitive and can't be case-corrected automatically. The wikis supported by $settings->sitename are as follows:</p>
HELP_BLOCK;
$doc_help .= "<table><tr><th>Name</th><th>Prefix</th>\n";
foreach($env->interwiki_index as $interwiki_def)
$doc_help .= "<tr><td>$interwiki_def->name</td><td><code>$interwiki_def->prefix</code></td></tr>\n";
$doc_help .= "</table>";
$doc_help .= "<table><tr><th>Name</th><th>Prefix</th>\n";
foreach($env->interwiki_index as $interwiki_def)
$doc_help .= "<tr><td>$interwiki_def->name</td><td><code>$interwiki_def->prefix</code></td></tr>\n";
$doc_help .= "</table>";
}
add_help_section("22-interwiki-links", "Interwiki Links", $doc_help);
}
@ -69,6 +71,7 @@ function interwiki_index_update() {
/**
* Parses an interwiki pagename into it's component parts.
* @package interwiki-links
* @param string $interwiki_pagename The interwiki pagename to parse.
* @return string[] An array containing the parsed components of the interwiki pagename, in the form ["prefix", "page_name"].
*/
@ -82,6 +85,7 @@ function interwiki_pagename_parse($interwiki_pagename) {
/**
* Resolves an interwiki pagename to the associated
* interwiki definition object.
* @package interwiki-links
* @param string $interwiki_pagename An interwiki pagename. Should be in the form "prefix:page name".
* @return stdClass The interwiki definition object.
*/
@ -104,6 +108,7 @@ function interwiki_pagename_resolve($interwiki_pagename) {
}
/**
* Converts an interwiki pagename into a url.
* @package interwiki-links
* @param string $interwiki_pagename The interwiki pagename (in the form "prefix:page name")
* @return string A url that points to the specified interwiki page.
*/
@ -123,6 +128,7 @@ function interwiki_get_pagename_url($interwiki_pagename) {
/**
* Returns whether a given pagename is an interwiki link or not.
* Note that this doesn't guarantee that it's a _valid_ interwiki link - only that it looks like one :P
* @package interwiki-links
* @param string $pagename The page name to check.
* @return boolean Whether the given page name is an interwiki link or not.
*/

View File

@ -1,7 +1,7 @@
<?php
register_module([
"name" => "Recent Changes",
"version" => "0.3.5",
"version" => "0.5",
"author" => "Starbeamrainbowlabs",
"description" => "Adds recent changes. Access through the 'recent-changes' action.",
"id" => "feature-recent-changes",
@ -15,12 +15,14 @@ register_module([
file_put_contents($paths->recentchanges, "[]");
/**
* @api {get} ?action=recent-changes[&format={code}] Get a list of recent changes
* @api {get} ?action=recent-changes[&offset={number}][&count={number}][&format={code}] Get a list of recent changes
* @apiName RecentChanges
* @apiGroup Stats
* @apiPermission Anonymous
*
* @apiParam {string} format The format to return the recent changes in. Values: html, json. Default: html.
* @apiParam {number} offset If specified, start returning changes from this many changes in. 0 is the beginning.
* @apiParam {number} count If specified, return at most this many changes. A value of 0 means no limit (the default) - apart from the limit on the number of changes stored by the server (configurable in pepppermint.json).
* @apiParam {string} format The format to return the recent changes in. Valid values: html, json, csv, atom. Default: html.
*/
/*
* ██████ ███████ ██████ ███████ ███ ██ ████████
@ -39,9 +41,15 @@ register_module([
global $settings, $paths, $pageindex;
$format = $_GET["format"] ?? "html";
$offset = intval($_GET["offset"] ?? 0);
$count = intval($_GET["count"] ?? 0);
$recent_changes = json_decode(file_get_contents($paths->recentchanges));
// Limit the number of changes displayed if requested
if($count > 0)
$recent_changes = array_slice($recent_changes, $offset, $count);
switch($format) {
case "html":
$content = "\t\t<h1>Recent Changes</h1>\n";
@ -51,6 +59,10 @@ register_module([
else // No changes yet :(
$content .= "<p><em>None yet! Try making a few changes and then check back here.</em></p>\n";
page_renderer::add_header_html("\t<link rel=\"alternate\" type=\"application/atom+xml\" href=\"?action=recent-changes&amp;format=atom\" />
<link rel=\"alternate\" type=\"text/csv\" href=\"?action=recent-changes&amp;format=csv\" />
<link rel=\"alternate\" type=\"application/json\" href=\"?action=recent-changes&amp;format=json\" />");
exit(page_renderer::render("Recent Changes - $settings->sitename", $content));
break;
case "json":
@ -59,6 +71,33 @@ register_module([
header("content-length: " . strlen($result));
exit($result);
break;
case "csv":
if(empty($recent_changes)) {
http_response_code(404);
header("content-type: text/plain");
exit("No changes made been recorded yet. Make some changes and then come back later!");
}
$result = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+');
fputcsv($result, array_keys(get_object_vars($recent_changes[0])));
foreach($recent_changes as $recent_change)
fputcsv($result, array_values(get_object_vars($recent_change)));
rewind($result);
header("content-type: text/csv");
header("content-length: " . fstat($result)["size"]);
exit(stream_get_contents($result));
break;
case "atom":
$result = render_recent_change_atom($recent_changes);
header("content-type: application/atom+xml");
header("content-length: " . strlen($result));
exit($result);
default:
http_response_code(406);
header("content-type: text/plain");
header("content-length: 42");
exit("Error: That format code wasnot recognised.");
}
@ -210,6 +249,26 @@ function render_recent_changes($recent_changes)
return $content;
}
/**
* Given a page name and timestamp, returns the associated page revision number.
* @param string $pagename The page name to obtain the revision number for.
* @param int $timestamap The timestamp at which the revision was saved.
* @return int The revision number of the given page at the given time.
*/
function find_revisionid_timestamp($pagename, $timestamp) {
global $pageindex;
if(!isset($pageindex->$pagename) || !isset($pageindex->$pagename->history))
return null;
foreach($pageindex->$pagename->history as $historyEntry){
if($historyEntry->timestamp == $timestamp) {
return $historyEntry->rid;
break;
}
}
}
/**
* Renders a single recent change
* @package feature-recent-changes
@ -223,18 +282,7 @@ function render_recent_change($rchange)
$editorDisplayHtml = render_editor(page_renderer::render_username($rchange->user));
$timeDisplayHtml = render_timestamp($rchange->timestamp);
$revisionId = false;
if(isset($pageindex->{$rchange->page}) && isset($pageindex->{$rchange->page}->history))
{
foreach($pageindex->{$rchange->page}->history as $historyEntry)
{
if($historyEntry->timestamp == $rchange->timestamp)
{
$revisionId = $historyEntry->rid;
break;
}
}
}
$revisionId = find_revisionid_timestamp($rchange->page, $rchange->timestamp);
$result = "";
$resultClasses = [];
@ -257,7 +305,7 @@ function render_recent_change($rchange)
if($rchange_type === "revert")
$resultClasses[] = "reversion";
$result .= "<a href='?page=" . rawurlencode($rchange->page) . ($revisionId !== false ? "&revision=$revisionId" : "") . "'>$pageDisplayHtml</a> $editorDisplayHtml $timeDisplayHtml <span class='$size_display_class' title='$size_title_display'>($size_display)</span>";
$result .= "<a href='?page=" . rawurlencode($rchange->page) . (!empty($revisionId) ? "&revision=$revisionId" : "") . "'>$pageDisplayHtml</a> $editorDisplayHtml $timeDisplayHtml <span class='$size_display_class' title='$size_title_display'>($size_display)</span>";
break;
case "deletion":
@ -285,5 +333,132 @@ function render_recent_change($rchange)
return $result;
}
?>
/**
* Renders a list of recent changes as an Atom 1.0 feed.
* Requires the XMLWriter PHP class.
* @param array $recent_changes The array of recent changes to render.
* @return string The recent changes as an Atom 1.0 feed.
*/
function render_recent_change_atom($recent_changes) {
global $version, $settings;
// See http://www.atomenabled.org/developers/syndication/#sampleFeed for easy-to-read Atom 1.0 docs
$full_url_stem = full_url();
$full_url_stem = substr($full_url_stem, 0, strpos($full_url_stem, "?"));
$xml = new XMLWriter();
$xml->openMemory();
$xml->setIndent(true); $xml->setIndentString("\t");
$xml->startDocument("1.0", "utf-8");
$xml->startElement("feed");
$xml->writeAttribute("xmlns", "http://www.w3.org/2005/Atom");
$xml->startElement("generator");
$xml->writeAttribute("uri", "https://github.com/sbrl/Pepperminty-Wiki/");
$xml->writeAttribute("version", $version);
$xml->text("Pepperminty Wiki");
$xml->endElement();
$xml->startElement("link");
$xml->writeAttribute("rel", "self");
$xml->writeAttribute("type", "application/atom+xml");
$xml->writeAttribute("href", full_url());
$xml->endElement();
$xml->startElement("link");
$xml->writeAttribute("rel", "alternate");
$xml->writeAttribute("type", "text/html");
$xml->writeAttribute("href", "$full_url_stem?action=recent-changes&format=html");
$xml->endElement();
$xml->startElement("link");
$xml->writeAttribute("rel", "alternate");
$xml->writeAttribute("type", "application/json");
$xml->writeAttribute("href", "$full_url_stem?action=recent-changes&format=json");
$xml->endElement();
$xml->startElement("link");
$xml->writeAttribute("rel", "alternate");
$xml->writeAttribute("type", "text/csv");
$xml->writeAttribute("href", "$full_url_stem?action=recent-changes&format=csv");
$xml->endElement();
$xml->writeElement("updated", date(DateTime::ATOM));
$xml->writeElement("id", full_url());
$xml->writeElement("icon", $settings->favicon);
$xml->writeElement("title", "$settings->sitename - Recent Changes");
$xml->writeElement("subtitle", "Recent Changes on $settings->sitename");
foreach($recent_changes as $recent_change) {
if(empty($recent_change->type))
$recent_change->type = "edit";
$xml->startElement("entry");
// Change types: revert, edit, deletion, move, upload, comment
$type = $recent_change->type;
$url = "$full_url_stem?page=".rawurlencode($recent_change->page);
$content = "<ul>
<li><strong>Change type:</strong> $recent_change->type</li>
<li><strong>User:</strong> $recent_change->user</li>
<li><strong>Page name:</strong> $recent_change->page</li>
<li><strong>Timestamp:</strong> ".date(DateTime::RFC1123, $recent_change->timestamp)."</li>\n";
switch($type) {
case "revert":
case "edit":
$type = ($type == "revert" ? "Reversion of" : "Edit to");
$revision_id = find_revisionid_timestamp($recent_change->page, $recent_change->timestamp);
if(!empty($revision_id))
$url .= "&revision=$revision_id";
$content .= "<li><strong>New page size:</strong> ".human_filesize($recent_change->newsize)."</li>
<li><strong>Page size difference:</strong> ".($recent_change->sizediff > 0 ? "+" : "")."$recent_change->sizediff</li>\n";
break;
case "deletion": $type = "Deletion of"; break;
case "move": $type = "Movement of"; break;
case "upload":
$type = "Upload of";
$content .= "\t<li><strong>File size:</strong> ".human_filesize($recent_change->filesize)."</li>\n";
break;
case "comment":
$type = "Comment on";
$url .= "#comment-$recent_change->comment_id";
break;
}
$content .= "</ul>";
$xml->startElement("title");
$xml->writeAttribute("type", "text");
$xml->text("$type $recent_change->page by $recent_change->user");
$xml->endElement();
$xml->writeElement("id", $url);
$xml->writeElement("updated", date(DateTime::ATOM, $recent_change->timestamp));
$xml->startElement("content");
$xml->writeAttribute("type", "html");
$xml->text($content);
$xml->endElement();
$xml->startElement("link");
$xml->writeAttribute("rel", "alternate");
$xml->writeAttribute("type", "text/html");
$xml->writeAttribute("href", $url);
$xml->endElement();
$xml->startElement("author");
$xml->writeElement("name", $recent_change->user);
$xml->writeElement("uri", "$full_url_stem?page=".rawurlencode("$settings->user_page_prefix/$recent_change->user"));
$xml->endElement();
$xml->endElement();
}
$xml->endElement();
return $xml->flush();
}

View File

@ -18,8 +18,9 @@ register_module([
/**
* Updates the metadata associated with redirects in the pageindex entry
* specified utilising the provided page content.
* @param object $index_entry The page index entry object to update.
* @param string $pagedata The page content to operate on.
* @package redirect
* @param object $index_entry The page index entry object to update.
* @param string $pagedata The page content to operate on.
*/
function update_redirect_metadata(&$index_entry, &$pagedata) {
$matches = [];

View File

@ -430,7 +430,7 @@ register_module([
if($settings->dynamic_page_suggestion_count > 0)
{
page_renderer::AddJSSnippet('/// Dynamic page suggestion system
page_renderer::add_js_snippet('/// Dynamic page suggestion system
// Micro snippet 8 - Promisified GET (fetched 20th Nov 2016)
function get(u){return new Promise(function(r,t,a){a=new XMLHttpRequest();a.onload=function(b,c){b=a.status;c=a.response;if(b>199&&b<300){r(c)}else{t(c)}};a.open("GET",u,true);a.send(null)})}
@ -477,6 +477,7 @@ window.addEventListener("load", function(event) {
/**
* Holds a collection to methods to manipulate various types of search index.
* @package search
*/
class search
{

View File

@ -535,7 +535,7 @@ register_module([
});
// Add the snippet that copies the embed markdown code to the clipboard
page_renderer::AddJSSnippet('window.addEventListener("load", function(event) {
page_renderer::add_js_snippet('window.addEventListener("load", function(event) {
let button = document.querySelector(".short-embed-markdown-button");
if(button == null) return;
button.addEventListener("click", function(inner_event) {

View File

@ -149,7 +149,7 @@ register_module([
<input name='submit-edit' class='edit-page-button' type='submit' value='Save Page' tabindex='3' />
</form>";
// Allow tab characters in the page editor
page_renderer::AddJSSnippet("window.addEventListener('load', function(event) {
page_renderer::add_js_snippet("window.addEventListener('load', function(event) {
// Adapted from https://jsfiddle.net/2wAzx/13/
document.querySelector(\"[name=content]\").addEventListener(\"keydown\", (event) => {
if(event.keyCode !== 9) return true;
@ -162,7 +162,7 @@ register_module([
});");
// Utilise the mirror to automatically resize the textarea to fit it's content
page_renderer::AddJSSnippet('function updateTextSize(textarea, mirror, event) {
page_renderer::add_js_snippet('function updateTextSize(textarea, mirror, event) {
let textareaFontSize = parseFloat(getComputedStyle(textarea).fontSize);
let textareaWidth = textarea.getBoundingClientRect().width;// - parseInt(textarea.style.padding);
@ -183,7 +183,7 @@ window.addEventListener("load", function(event) {
// ~
/// ~~~ Smart saving ~~~ ///
page_renderer::AddJSSnippet('window.addEventListener("load", function(event) {
page_renderer::add_js_snippet('window.addEventListener("load", function(event) {
"use strict";
// Smart saving
let getSmartSaveKey = function() { return document.querySelector("main h1").innerHTML.replace("Creating ", "").replace("Editing ", "").trim(); }

View File

@ -1,7 +1,7 @@
<?php
register_module([
"name" => "Export",
"version" => "0.4",
"version" => "0.5",
"author" => "Starbeamrainbowlabs",
"description" => "Adds a page that you can use to export your wiki as a .zip file. Uses \$settings->export_only_allow_admins, which controls whether only admins are allowed to export the wiki.",
"id" => "page-export",
@ -46,9 +46,10 @@ register_module([
exit(page_renderer::render("Export error - $settings->sitename", "Pepperminty Wiki was unable to open a temporary file to store the exported data in. Please contact $settings->sitename's administrator (" . $settings->admindetails_name . " at " . hide_email($settings->admindetails_email) . ") for assistance."));
}
foreach($pageindex as $entry)
{
foreach($pageindex as $entry) {
$zip->addFile("$env->storage_prefix$entry->filename", $entry->filename);
if(isset($entry->uploadedfilepath))
$zip->addFile($entry->uploadedfilepath);
}
if($zip->close() !== true)

View File

@ -32,18 +32,14 @@ register_module([
// Check to make sure that the page exists
$page = $env->page;
if(!isset($pageindex->$page))
{
// todo make this intelligent so we only redirect if the user is actually able to create the page
if($settings->editing)
{
if(!isset($pageindex->$page)) {
// TODO: make this intelligent so we only redirect if the user is actually able to create the page
if($settings->editing) {
// Editing is enabled, redirect to the editing page
http_response_code(307); // Temporary redirect
header("location: index.php?action=edit&newpage=yes&page=" . rawurlencode($env->page));
exit();
}
else
{
} else {
// Editing is disabled, show an error message
http_response_code(404);
exit(page_renderer::render_main("404: Page not found - $env->page - $settings->sitename", "<p>$env->page does not exist.</p><p>Since editing is currently disabled on this wiki, you may not create this page. If you feel that this page should exist, try contacting this wiki's Administrator.</p>"));
@ -60,16 +56,14 @@ register_module([
if(isset($_GET["redirect"]) && $_GET["redirect"] == "no")
$send_redirect = false;
if($send_redirect)
{
// Todo send an explanatory page along with the redirect
if($send_redirect) {
// TODO: Send an explanatory page along with the redirect
http_response_code(307);
$redirectUrl = "?action=$env->action&redirected_from=" . rawurlencode($env->page);
$hashCode = "";
$newPage = $pageindex->$page->redirect_target;
if(strpos($newPage, "#") !== false)
{
if(strpos($newPage, "#") !== false) {
// Extract the part after the hash symbol
$hashCode = substr($newPage, strpos($newPage, "#") + 1);
// Remove the hash from the new page name
@ -92,16 +86,14 @@ register_module([
$content = "";
if(!$env->is_history_revision)
$content .= "<h1>$env->page</h1>\n";
else
{
else {
$content .= "<h1>Revision #{$env->history->revision_number} of $env->page</h1>\n";
$content .= "<p class='revision-note'><em>(Revision saved by {$env->history->revision_data->editor} " . render_timestamp($env->history->revision_data->timestamp) . ". <a href='?page=" . rawurlencode($env->page) . "'>Jump to the current revision</a> or see a <a href='?action=history&page=" . rawurlencode($env->page) . "'>list of all revisions</a> for this page.)</em></p>\n";
}
// Add a visit parent page link if we're a subpage
if(get_page_parent($env->page) !== false) {
if(get_page_parent($env->page) !== false)
$content .= "<p class='link-parent-page'><em><a href='?action=view&page=" . rawurlencode(get_page_parent($env->page)) . "'>&laquo; " . htmlentities(get_page_parent($env->page)) . "</a></em></p>\n";
}
// Add an extra message if the requester was redirected from another page
if(isset($_GET["redirected_from"]))
@ -112,13 +104,10 @@ register_module([
$rawRenderedSource = parse_page_source(file_get_contents($env->page_filename));
$content .= $rawRenderedSource;
if(!empty($pageindex->$page->tags))
{
if(!empty($pageindex->$page->tags)) {
$content .= "<ul class='page-tags-display'>\n";
foreach($pageindex->$page->tags as $tag)
{
$content .= "<li><a href='?action=list-tags&tag=" . rawurlencode($tag) . "'>$tag</a></li>\n";
}
$content .= "\n</ul>\n";
}
/*else
@ -126,18 +115,14 @@ register_module([
$content .= "<aside class='page-tags-display'><small><em>(No tags yet! Add some by <a href='?action=edit&page=" . rawurlencode($env->page) . "'>editing this page</a>!)</em></small></aside>\n";
}*/
if($settings->show_subpages)
{
if($settings->show_subpages) {
$subpages = get_object_vars(get_subpages($pageindex, $env->page));
if(count($subpages) > 0)
{
if(count($subpages) > 0) {
$content .= "<hr />";
$content .= "Subpages: ";
foreach($subpages as $subpage => $times_removed)
{
if($times_removed <= $settings->subpages_display_depth)
{
foreach($subpages as $subpage => $times_removed) {
if($times_removed <= $settings->subpages_display_depth) {
$content .= "<a href='?action=view&page=" . rawurlencode($subpage) . "'>$subpage</a>, ";
}
}
@ -157,8 +142,7 @@ register_module([
$settings->footer_message = "$env->page was last edited by {$pageindex->{$env->page}->lasteditor} at " . date('h:ia T \o\n j F Y', $pageindex->{$env->page}->lastmodified) . ".</p>\n<p>" . $settings->footer_message; // Add the last edited time to the footer
$mode = isset($_GET["mode"]) ? strtolower(trim($_GET["mode"])) : "normal";
switch($mode)
{
switch($mode) {
case "contentonly":
// Content only mode: Send only the content of the page
exit($content);

View File

@ -1,7 +1,7 @@
<?php
register_module([
"name" => "Old Default Parser",
"version" => "0.10",
"version" => "0.10.1",
"author" => "Johnny Broadway & Starbeamrainbowlabs",
"description" => "The *old* default parser for Pepperminty Wiki. Based on Johnny Broadway's Slimdown (with more than a few modifications). This parser's features are documented in the help page. Superceded by a customised extension of parsedown extra.",
"id" => "parser-default-old",
@ -11,6 +11,13 @@ register_module([
add_parser("default", function($markdown) {
return Slimdown::render($markdown);
}, function($source) {
global $version, $settings;
return str_replace(["+","/"], ["-","_"], base64_encode(hash(
"sha256",
"$version|$settings->parser|$source",
true
)));
});
// Register the help section
@ -159,8 +166,8 @@ class Slimdown {
return trim ($text);
}
}
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
?>

View File

@ -1,7 +1,7 @@
<?php
register_module([
"name" => "Parsedown",
"version" => "0.9.12",
"version" => "0.10",
"author" => "Emanuil Rusev & Starbeamrainbowlabs",
"description" => "An upgraded (now default!) parser based on Emanuil Rusev's Parsedown Extra PHP library (https://github.com/erusev/parsedown-extra), which is licensed MIT. Please be careful, as this module adds some weight to your installation, and also *requires* write access to the disk on first load.",
"id" => "parser-parsedown",
@ -16,6 +16,28 @@ register_module([
$result = $parser->text($source);
return $result;
}, function($source) {
global $version, $settings, $pageindex;
$id_text = "$version|$settings->parser|$source";
// Find template includes
preg_match_all(
'/\{\{\s*([^|]+)\s*(?:\|[^}]*)?\}\}/',
$source, $includes
);
foreach($includes[1] as $include_pagename) {
if(empty($pageindex->$include_pagename))
continue;
$id_text .= "|$include_pagename:" . parsedown_pagename_resolve(
$pageindex->$include_pagename->lastmodified
);
}
return str_replace(["+","/"], ["-","_"], base64_encode(hash(
"sha256",
$id_text,
true
)));
});
/*
@ -203,6 +225,28 @@ if(!file_exists("./ParsedownExtra.php") || filesize("./ParsedownExtra.php") ===
require_once("./Parsedown.php");
require_once("./ParsedownExtra.php");
/**
* Attempts to 'auto-correct' a page name by trying different capitalisation
* combinations.
* @param string $pagename The page name to auto-correct.
* @return string The auto-corrected page name.
*/
function parsedown_pagename_resolve($pagename) {
global $pageindex;
// If the page doesn't exist, check varying different
// capitalisations to see if it exists under some variant.
if(!empty($pageindex->$pagename))
return $pagename;
$pagename = ucfirst($pagename);
if(!empty($pageindex->$pagename))
return $pagename;
$pagename = ucwords($pagename);
return $pagename;
}
/*
* ██████ █████ ██████ ███████ ███████ ██████ ██████ ██ ██ ███ ██
* ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██
@ -480,14 +524,10 @@ class PeppermintParsedown extends ParsedownExtra
// 3: Page name auto-correction
// -------------------------------
$is_interwiki_link = module_exists("feature-interwiki-links") && is_interwiki_link($link_page);
if(!$is_interwiki_link && empty($pageindex->$link_page)) {
// If the page doesn't exist, check varying different
// capitalisations to see if it exists under some variant.
if(!empty($pageindex->{ucfirst($link_page)}))
$link_page = ucfirst($link_page);
else if(!empty($pageindex->{ucwords($link_page)}))
$link_page = ucwords($link_page);
}
// Try different variants on the pagename to try and get it to
// match something automagically
if(!$is_interwiki_link && empty($pageindex->$link_page))
$link_page = parsedown_pagename_resolve($link_page);
// 4: Construct the full url
@ -508,6 +548,12 @@ class PeppermintParsedown extends ParsedownExtra
$is_interwiki_link = false;
}
// 5: Construct the title
// -------------------------------
$title = $link_page;
if($is_interwiki_link)
$title = interwiki_pagename_resolve($link_page)->name . ": " . interwiki_pagename_parse($link_page)[1] . " (Interwiki)";
if(strlen($hash_code) > 0)
$link_url .= "#$hash_code";
@ -519,8 +565,10 @@ class PeppermintParsedown extends ParsedownExtra
"element" => [
"name" => "a",
"text" => $display,
"attributes" => [
"href" => $link_url
"href" => $link_url,
"title" => $title
]
]
];

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1430413480"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1278516622"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1430413480" class="accordion-body collapse in">
<div id="namespace-1278516622" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-150518706"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-175286519"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-150518706" class="accordion-body collapse in">
<div id="namespace-175286519" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -106,12 +106,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -136,10 +136,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-319048648"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-437462791"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-319048648" class="accordion-body collapse in">
<div id="namespace-437462791" class="accordion-body collapse in">
<div class="accordion-inner">
@ -239,7 +239,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -83,12 +83,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -152,7 +152,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -58,12 +58,12 @@
<ul class="dropdown-menu">
<li>
<a href="reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -88,10 +88,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1489774794"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1786607748"></a>
<a href="namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1489774794" class="accordion-body collapse in">
<div id="namespace-1786607748" class="accordion-body collapse in">
<div class="accordion-inner">
@ -274,7 +274,7 @@ action is requested.</p></td>
<article class="method">
<h3 class=" ">add_parser()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">add_parser(string <span class="argument">$name</span>, \function <span class="argument">$parser_code</span>) </pre>
<pre class="signature" style="margin-right: 54px;">add_parser(string <span class="argument">$name</span>, \function <span class="argument">$parser_code</span>, \function <span class="argument">$hash_generator</span>) </pre>
<p><em>Registers a new parser.</em></p>
@ -289,6 +289,11 @@ action is requested.</p></td>
<td>\function</td>
<td>$parser_code </td>
<td><p>The function to register as a new parser.</p></td>
</tr>
<tr>
<td>\function</td>
<td>$hash_generator </td>
<td><p>A function that should take a single argument of the input source text, and return a unique hash for that content. The return value is used as the filename for cache entries, so should be safe to use as such.</p></td>
</tr>
</table>
@ -449,7 +454,8 @@ action is requested.</p></td>
package
</th>
<td>
<p>Default</p>
<p>feature-comments</p>
<p>feature-comments</p>
</td>
</tr>
</table>
@ -866,6 +872,57 @@ false if it wasn't found.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_find_revisionid_timestamp" name="method_find_revisionid_timestamp" class="anchor"></a>
<article class="method">
<h3 class=" ">find_revisionid_timestamp()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">find_revisionid_timestamp(string <span class="argument">$pagename</span>, <span class="argument">$timestamp</span>) : integer</pre>
<p><em>Given a page name and timestamp, returns the associated page revision number.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$pagename </td>
<td><p>The page name to obtain the revision number for.</p></td>
</tr>
<tr>
<td></td>
<td>$timestamp </td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
integer
&mdash; <p>The revision number of the given page at the given time.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_full_url" name="method_full_url" class="anchor"></a>
<article class="method">
<h3 class=" ">full_url()</h3>
@ -2230,10 +2287,10 @@ nothing was found.</p>
<article class="method">
<h3 class=" ">parse_page_source()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parse_page_source(string <span class="argument">$source</span>) : string</pre>
<pre class="signature" style="margin-right: 54px;">parse_page_source(string <span class="argument">$source</span>, string <span class="argument">$use_cache = true</span>) : string</pre>
<p><em>Parses the specified page source using the parser specified in the settings
into HTML.</em></p>
<p>The specified parser may (though it's unilkely) render it to other things.</p>
<p>The specified parser may (though it's unlikely) render it to other things.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
@ -2241,6 +2298,11 @@ into HTML.</em></p>
<td>string</td>
<td>$source </td>
<td><p>The source to render.</p></td>
</tr>
<tr>
<td>string</td>
<td>$use_cache </td>
<td><p>Whether to use the on-disk cache. Has no effect if parser caching is disabled in peppermint.json, or the source string is too small.</p></td>
</tr>
</table>
@ -2332,6 +2394,53 @@ size string.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_parsedown_pagename_resolve" name="method_parsedown_pagename_resolve" class="anchor"></a>
<article class="method">
<h3 class=" ">parsedown_pagename_resolve()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parsedown_pagename_resolve(string <span class="argument">$pagename</span>) : string</pre>
<p><em>Attempts to &#039;auto-correct&#039; a page name by trying different capitalisation
combinations.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$pagename </td>
<td><p>The page name to auto-correct.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The auto-corrected page name.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_register_module" name="method_register_module" class="anchor"></a>
<article class="method">
<h3 class=" ">register_module()</h3>
@ -2664,6 +2773,52 @@ at which the comments are being rendered.</p></td>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_render_recent_change_atom" name="method_render_recent_change_atom" class="anchor"></a>
<article class="method">
<h3 class=" ">render_recent_change_atom()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">render_recent_change_atom(array <span class="argument">$recent_changes</span>) : string</pre>
<p><em>Renders a list of recent changes as an Atom 1.0 feed.</em></p>
<p>Requires the XMLWriter PHP class.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$recent_changes </td>
<td><p>The array of recent changes to render.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The recent changes as an Atom 1.0 feed.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_render_recent_changes" name="method_render_recent_changes" class="anchor"></a>
<article class="method">
<h3 class=" ">render_recent_changes()</h3>
@ -3489,7 +3644,8 @@ specified utilising the provided page content.</em></p>
package
</th>
<td>
<p>Default</p>
<p>redirect</p>
<p>redirect</p>
</td>
</tr>
</table>
@ -3829,7 +3985,7 @@ specified utilising the provided page content.</em></p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -58,12 +58,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -88,10 +88,10 @@
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1466465921"></a>
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-133607805"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1466465921" class="accordion-body collapse in">
<div id="namespace-133607805" class="accordion-body collapse in">
<div class="accordion-inner">
@ -274,7 +274,7 @@ action is requested.</p></td>
<article class="method">
<h3 class=" ">add_parser()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">add_parser(string <span class="argument">$name</span>, \function <span class="argument">$parser_code</span>) </pre>
<pre class="signature" style="margin-right: 54px;">add_parser(string <span class="argument">$name</span>, \function <span class="argument">$parser_code</span>, \function <span class="argument">$hash_generator</span>) </pre>
<p><em>Registers a new parser.</em></p>
@ -289,6 +289,11 @@ action is requested.</p></td>
<td>\function</td>
<td>$parser_code </td>
<td><p>The function to register as a new parser.</p></td>
</tr>
<tr>
<td>\function</td>
<td>$hash_generator </td>
<td><p>A function that should take a single argument of the input source text, and return a unique hash for that content. The return value is used as the filename for cache entries, so should be safe to use as such.</p></td>
</tr>
</table>
@ -449,7 +454,8 @@ action is requested.</p></td>
package
</th>
<td>
<p>Default</p>
<p>feature-comments</p>
<p>feature-comments</p>
</td>
</tr>
</table>
@ -866,6 +872,57 @@ false if it wasn't found.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_find_revisionid_timestamp" name="method_find_revisionid_timestamp" class="anchor"></a>
<article class="method">
<h3 class=" ">find_revisionid_timestamp()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">find_revisionid_timestamp(string <span class="argument">$pagename</span>, <span class="argument">$timestamp</span>) : integer</pre>
<p><em>Given a page name and timestamp, returns the associated page revision number.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$pagename </td>
<td><p>The page name to obtain the revision number for.</p></td>
</tr>
<tr>
<td></td>
<td>$timestamp </td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
integer
&mdash; <p>The revision number of the given page at the given time.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_full_url" name="method_full_url" class="anchor"></a>
<article class="method">
<h3 class=" ">full_url()</h3>
@ -2230,10 +2287,10 @@ nothing was found.</p>
<article class="method">
<h3 class=" ">parse_page_source()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parse_page_source(string <span class="argument">$source</span>) : string</pre>
<pre class="signature" style="margin-right: 54px;">parse_page_source(string <span class="argument">$source</span>, string <span class="argument">$use_cache = true</span>) : string</pre>
<p><em>Parses the specified page source using the parser specified in the settings
into HTML.</em></p>
<p>The specified parser may (though it's unilkely) render it to other things.</p>
<p>The specified parser may (though it's unlikely) render it to other things.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
@ -2241,6 +2298,11 @@ into HTML.</em></p>
<td>string</td>
<td>$source </td>
<td><p>The source to render.</p></td>
</tr>
<tr>
<td>string</td>
<td>$use_cache </td>
<td><p>Whether to use the on-disk cache. Has no effect if parser caching is disabled in peppermint.json, or the source string is too small.</p></td>
</tr>
</table>
@ -2332,6 +2394,53 @@ size string.</p>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_parsedown_pagename_resolve" name="method_parsedown_pagename_resolve" class="anchor"></a>
<article class="method">
<h3 class=" ">parsedown_pagename_resolve()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parsedown_pagename_resolve(string <span class="argument">$pagename</span>) : string</pre>
<p><em>Attempts to &#039;auto-correct&#039; a page name by trying different capitalisation
combinations.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$pagename </td>
<td><p>The page name to auto-correct.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The auto-corrected page name.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_register_module" name="method_register_module" class="anchor"></a>
<article class="method">
<h3 class=" ">register_module()</h3>
@ -2664,6 +2773,52 @@ at which the comments are being rendered.</p></td>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_render_recent_change_atom" name="method_render_recent_change_atom" class="anchor"></a>
<article class="method">
<h3 class=" ">render_recent_change_atom()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">render_recent_change_atom(array <span class="argument">$recent_changes</span>) : string</pre>
<p><em>Renders a list of recent changes as an Atom 1.0 feed.</em></p>
<p>Requires the XMLWriter PHP class.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$recent_changes </td>
<td><p>The array of recent changes to render.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>The recent changes as an Atom 1.0 feed.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>File</dt>
<dd><a href=""><div class="path-wrapper"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
package
</th>
<td>
<p>Default</p>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_render_recent_changes" name="method_render_recent_changes" class="anchor"></a>
<article class="method">
<h3 class=" ">render_recent_changes()</h3>
@ -3489,7 +3644,8 @@ specified utilising the provided page content.</em></p>
package
</th>
<td>
<p>Default</p>
<p>redirect</p>
<p>redirect</p>
</td>
</tr>
</table>
@ -3829,7 +3985,7 @@ specified utilising the provided page content.</em></p>
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -59,12 +59,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -142,7 +142,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -59,12 +59,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -110,6 +110,7 @@
<li><a href="#modules/page-view.php"><i class="icon-file"></i> modules/page-view.php</a></li>
<li><a href="#modules/feature-upload.php"><i class="icon-file"></i> modules/feature-upload.php</a></li>
<li><a href="#settings.fragment.php"><i class="icon-file"></i> settings.fragment.php</a></li>
<li><a href="#modules/feature-interwiki-links.php"><i class="icon-file"></i> modules/feature-interwiki-links.php</a></li>
<li><a href="#modules/extra-sidebar.php"><i class="icon-file"></i> modules/extra-sidebar.php</a></li>
<li><a href="#modules/action-raw.php"><i class="icon-file"></i> modules/action-raw.php</a></li>
<li><a href="#modules/page-update.php"><i class="icon-file"></i> modules/page-update.php</a></li>
@ -124,7 +125,6 @@
<li><a href="#modules/api-status.php"><i class="icon-file"></i> modules/api-status.php</a></li>
<li><a href="#modules/feature-search.php"><i class="icon-file"></i> modules/feature-search.php</a></li>
<li><a href="#modules/page-move.php"><i class="icon-file"></i> modules/page-move.php</a></li>
<li><a href="#modules/feature-interwiki-links.php"><i class="icon-file"></i> modules/feature-interwiki-links.php</a></li>
</ul>
</div>
@ -166,7 +166,7 @@
<h3>
<i class="icon-file"></i>
modules/feature-recent-changes.php
<small style="float: right;padding-right: 10px;">1</small>
<small style="float: right;padding-right: 10px;">3</small>
</h3>
<div>
<table class="table markers table-bordered">
@ -182,6 +182,16 @@
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>258</td>
<td>Name of argument $timestamp does not match with the DocBlock&#039;s name $timestamap in \find_revisionid_timestamp()</td>
</tr>
<tr>
<td>notice</td>
<td>258</td>
<td>Parameter $timestamap could not be found in \find_revisionid_timestamp()</td>
</tr>
</tbody>
</table>
@ -400,22 +410,22 @@
</tr>
<tr>
<td>error</td>
<td>145</td>
<td>152</td>
<td>Argument $regex is missing from the Docblock of add_rule</td>
</tr>
<tr>
<td>error</td>
<td>145</td>
<td>152</td>
<td>Argument $replacement is missing from the Docblock of add_rule</td>
</tr>
<tr>
<td>error</td>
<td>151</td>
<td>158</td>
<td>Argument $text is missing from the Docblock of render</td>
</tr>
<tr>
<td>error</td>
<td>91</td>
<td>98</td>
<td>No summary for property $rules</td>
</tr>
</tbody>
@ -689,6 +699,32 @@
settings.fragment.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="modules/feature-interwiki-links.php" id="modules/feature-interwiki-links.php"></a>
<h3>
<i class="icon-file"></i>
modules/feature-interwiki-links.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
@ -940,22 +976,22 @@
</tr>
<tr>
<td>error</td>
<td>219</td>
<td>263</td>
<td>No summary for class \PeppermintParsedown</td>
</tr>
<tr>
<td>error</td>
<td>226</td>
<td>270</td>
<td>No summary for method __construct()</td>
</tr>
<tr>
<td>error</td>
<td>728</td>
<td>776</td>
<td>Argument $page_text is missing from the Docblock of extract_page_names</td>
</tr>
<tr>
<td>error</td>
<td>728</td>
<td>776</td>
<td>No summary for method extract_page_names()</td>
</tr>
</tbody>
@ -1073,32 +1109,6 @@
modules/page-move.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="modules/feature-interwiki-links.php" id="modules/feature-interwiki-links.php"></a>
<h3>
<i class="icon-file"></i>
modules/feature-interwiki-links.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
@ -1157,7 +1167,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -59,12 +59,12 @@
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">45</span>
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">47</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">7</span>
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">8</span>
</a>
</li>
<li>
@ -90,11 +90,11 @@
<li class="nav-header">Navigation</li>
<li><a href="#core.php"><i class="icon-file"></i> core.php</a></li>
<li><a href="#modules/page-edit.php"><i class="icon-file"></i> modules/page-edit.php</a></li>
<li><a href="#modules/feature-upload.php"><i class="icon-file"></i> modules/feature-upload.php</a></li>
<li><a href="#modules/feature-history.php"><i class="icon-file"></i> modules/feature-history.php</a></li>
<li><a href="#modules/page-view.php"><i class="icon-file"></i> modules/page-view.php</a></li>
<li><a href="#modules/feature-upload.php"><i class="icon-file"></i> modules/feature-upload.php</a></li>
<li><a href="#modules/feature-history.php"><i class="icon-file"></i> modules/feature-history.php</a></li>
<li><a href="#modules/feature-search.php"><i class="icon-file"></i> modules/feature-search.php</a></li>
<li><a href="#modules/feature-interwiki-links.php"><i class="icon-file"></i> modules/feature-interwiki-links.php</a></li>
</ul>
</ul>
</div>
<div class="span10 offset2">
@ -122,12 +122,12 @@
</tr>
<tr>
<td>TODO</td>
<td>366</td>
<td>372</td>
<td>Make this more clevererer :D</td>
</tr>
<tr>
<td>TODO</td>
<td>619</td>
<td>625</td>
<td>Identify which platforms don&#039;t have it and whether we still need this</td>
</tr>
</table>
@ -155,7 +155,34 @@
</table>
</div>
</div>
<div class="package-contents">
<div class="package-contents">
<a name="modules/page-view.php" id="modules/page-view.php"></a>
<h3>
<i class="icon-file"></i>
modules/page-view.php
<small style="float: right;padding-right: 10px;">2</small>
</h3>
<div>
<table class="table markers table-bordered">
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
<tr>
<td>TODO</td>
<td>36</td>
<td>make this intelligent so we only redirect if the user is actually able to create the page </td>
</tr>
<tr>
<td>TODO</td>
<td>60</td>
<td>Send an explanatory page along with the redirect </td>
</tr>
</table>
</div>
</div>
<div class="package-contents">
<a name="modules/feature-upload.php" id="modules/feature-upload.php"></a>
<h3>
<i class="icon-file"></i>
@ -177,7 +204,7 @@
</table>
</div>
</div>
<div class="package-contents">
<div class="package-contents">
<a name="modules/feature-history.php" id="modules/feature-history.php"></a>
<h3>
<i class="icon-file"></i>
@ -215,35 +242,13 @@
</tr>
<tr>
<td>TODO</td>
<td>685</td>
<td>686</td>
<td>Remove this function and make everything streamable</td>
</tr>
</table>
</div>
</div>
<div class="package-contents">
<a name="modules/feature-interwiki-links.php" id="modules/feature-interwiki-links.php"></a>
<h3>
<i class="icon-file"></i>
modules/feature-interwiki-links.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
<tr>
<td>TODO</td>
<td>19</td>
<td>Fill this in </td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
@ -283,7 +288,7 @@
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 5th, 2019 at 22:23.
on February 24th, 2019 at 16:02.
</section>
</section>
</section>

View File

@ -1249,7 +1249,7 @@ define({ "api": [
},
{
"type": "get",
"url": "?action=recent-changes[&format={code}]",
"url": "?action=recent-changes[&offset={number}][&count={number}][&format={code}]",
"title": "Get a list of recent changes",
"name": "RecentChanges",
"group": "Stats",
@ -1263,12 +1263,26 @@ define({ "api": [
"parameter": {
"fields": {
"Parameter": [
{
"group": "Parameter",
"type": "number",
"optional": false,
"field": "offset",
"description": "<p>If specified, start returning changes from this many changes in. 0 is the beginning.</p>"
},
{
"group": "Parameter",
"type": "number",
"optional": false,
"field": "count",
"description": "<p>If specified, return at most this many changes. A value of 0 means no limit (the default) - apart from the limit on the number of changes stored by the server (configurable in pepppermint.json).</p>"
},
{
"group": "Parameter",
"type": "string",
"optional": false,
"field": "format",
"description": "<p>The format to return the recent changes in. Values: html, json. Default: html.</p>"
"description": "<p>The format to return the recent changes in. Valid values: html, json, csv, atom. Default: html.</p>"
}
]
}

View File

@ -1249,7 +1249,7 @@
},
{
"type": "get",
"url": "?action=recent-changes[&format={code}]",
"url": "?action=recent-changes[&offset={number}][&count={number}][&format={code}]",
"title": "Get a list of recent changes",
"name": "RecentChanges",
"group": "Stats",
@ -1263,12 +1263,26 @@
"parameter": {
"fields": {
"Parameter": [
{
"group": "Parameter",
"type": "number",
"optional": false,
"field": "offset",
"description": "<p>If specified, start returning changes from this many changes in. 0 is the beginning.</p>"
},
{
"group": "Parameter",
"type": "number",
"optional": false,
"field": "count",
"description": "<p>If specified, return at most this many changes. A value of 0 means no limit (the default) - apart from the limit on the number of changes stored by the server (configurable in pepppermint.json).</p>"
},
{
"group": "Parameter",
"type": "string",
"optional": false,
"field": "format",
"description": "<p>The format to return the recent changes in. Values: html, json. Default: html.</p>"
"description": "<p>The format to return the recent changes in. Valid values: html, json, csv, atom. Default: html.</p>"
}
]
}

View File

@ -1,6 +1,6 @@
define({
"name": "Pepperminty Wiki",
"version": "0.17.1",
"version": "0.18",
"description": "A wiki in a box. This is the API documentation.",
"title": "Pepperminty Wiki (0.13-dev)",
"sampleUrl": false,
@ -8,7 +8,7 @@ define({
"apidoc": "0.3.0",
"generator": {
"name": "apidoc",
"time": "2019-01-05T22:23:17.289Z",
"time": "2019-02-24T16:02:54.716Z",
"url": "http://apidocjs.com",
"version": "0.17.7"
}

View File

@ -1,6 +1,6 @@
{
"name": "Pepperminty Wiki",
"version": "0.17.1",
"version": "0.18",
"description": "A wiki in a box. This is the API documentation.",
"title": "Pepperminty Wiki (0.13-dev)",
"sampleUrl": false,
@ -8,7 +8,7 @@
"apidoc": "0.3.0",
"generator": {
"name": "apidoc",
"time": "2019-01-05T22:23:17.289Z",
"time": "2019-02-24T16:02:54.716Z",
"url": "http://apidocjs.com",
"version": "0.17.7"
}