mirror of
https://github.com/sbrl/Pepperminty-Wiki.git
synced 2024-11-22 16:33:00 +00:00
Start working on a new extra_data system, but it's not finished yet.
Warning: Everything's broken! If you want to use the latest master, please use the commit before this one.
This commit is contained in:
parent
9bb97cad5b
commit
e93417f171
5 changed files with 115 additions and 78 deletions
|
@ -37,7 +37,8 @@ function register_module($settings)
|
||||||
"description" => $settings["description"],
|
"description" => $settings["description"],
|
||||||
"id" => $settings["id"],
|
"id" => $settings["id"],
|
||||||
"lastupdate" => filemtime("modules/" . $settings["id"] . ".php"),
|
"lastupdate" => filemtime("modules/" . $settings["id"] . ".php"),
|
||||||
"optional" => $settings["optional"]
|
"optional" => $settings["optional"],
|
||||||
|
"extra_data" => $settings["extra_data"] ?? []
|
||||||
];
|
];
|
||||||
$module_index[] = $newmodule;
|
$module_index[] = $newmodule;
|
||||||
}
|
}
|
||||||
|
|
|
@ -412,8 +412,8 @@ if($settings->sessionprefix == "auto")
|
||||||
////// Do not edit below this line unless you know what you are doing! //////
|
////// Do not edit below this line unless you know what you are doing! //////
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
/** The version of Pepperminty Wiki currently running. */
|
/** The version of Pepperminty Wiki currently running. */
|
||||||
$version = "v0.18";
|
$version = "v0.19-dev";
|
||||||
$commit = "271e391a12a3a0cd01382682be1c8a386ac32d35";
|
$commit = "9bb97cad5b4f557a79eddfa25962b356263dbb21";
|
||||||
/// Environment ///
|
/// Environment ///
|
||||||
/** Holds information about the current request environment. */
|
/** Holds information about the current request environment. */
|
||||||
$env = new stdClass();
|
$env = new stdClass();
|
||||||
|
@ -1463,7 +1463,7 @@ class page_renderer
|
||||||
<meta charset='utf-8' />
|
<meta charset='utf-8' />
|
||||||
<title>{title}</title>
|
<title>{title}</title>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1' />
|
<meta name='viewport' content='width=device-width, initial-scale=1' />
|
||||||
<meta name='generator' content='Pepperminty Wiki v0.18' />
|
<meta name='generator' content='Pepperminty Wiki v0.19-dev' />
|
||||||
<link rel='shortcut-icon' href='{favicon-url}' />
|
<link rel='shortcut-icon' href='{favicon-url}' />
|
||||||
<link rel='icon' href='{favicon-url}' />
|
<link rel='icon' href='{favicon-url}' />
|
||||||
{header-html}
|
{header-html}
|
||||||
|
@ -1487,7 +1487,7 @@ class page_renderer
|
||||||
{extra}
|
{extra}
|
||||||
<footer>
|
<footer>
|
||||||
<p>{footer-message}</p>
|
<p>{footer-message}</p>
|
||||||
<p>Powered by Pepperminty Wiki v0.18, which was built by <a href='//starbeamrainbowlabs.com/'>Starbeamrainbowlabs</a>. Send bugs to 'bugs at starbeamrainbowlabs dot com' or <a href='//github.com/sbrl/Pepperminty-Wiki' title='Github Issue Tracker'>open an issue</a>.</p>
|
<p>Powered by Pepperminty Wiki v0.19-dev, which was built by <a href='//starbeamrainbowlabs.com/'>Starbeamrainbowlabs</a>. Send bugs to 'bugs at starbeamrainbowlabs dot com' or <a href='//github.com/sbrl/Pepperminty-Wiki' title='Github Issue Tracker'>open an issue</a>.</p>
|
||||||
<p>Your local friendly moderators are {admins-name-list}.</p>
|
<p>Your local friendly moderators are {admins-name-list}.</p>
|
||||||
<p>This wiki is managed by <a href='mailto:{admin-details-email}'>{admin-details-name}</a>.</p>
|
<p>This wiki is managed by <a href='mailto:{admin-details-email}'>{admin-details-name}</a>.</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -1505,7 +1505,7 @@ class page_renderer
|
||||||
<p><em>From {sitename}, which is managed by {admin-details-name}.</em></p>
|
<p><em>From {sitename}, which is managed by {admin-details-name}.</em></p>
|
||||||
<p>{footer-message}</p>
|
<p>{footer-message}</p>
|
||||||
<p><em>Timed at {generation-date}</em></p>
|
<p><em>Timed at {generation-date}</em></p>
|
||||||
<p><em>Powered by Pepperminty Wiki v0.18.</em></p>
|
<p><em>Powered by Pepperminty Wiki v0.19-dev.</em></p>
|
||||||
</footer>";
|
</footer>";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1620,7 +1620,7 @@ class page_renderer
|
||||||
"{body}" => $body_template,
|
"{body}" => $body_template,
|
||||||
|
|
||||||
"{sitename}" => $logo_html,
|
"{sitename}" => $logo_html,
|
||||||
"v0.18" => $version,
|
"v0.19-dev" => $version,
|
||||||
"{favicon-url}" => $settings->favicon,
|
"{favicon-url}" => $settings->favicon,
|
||||||
"{header-html}" => self::get_header_html(),
|
"{header-html}" => self::get_header_html(),
|
||||||
|
|
||||||
|
@ -9037,6 +9037,14 @@ register_module([
|
||||||
"version" => "0.10",
|
"version" => "0.10",
|
||||||
"author" => "Emanuil Rusev & Starbeamrainbowlabs",
|
"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.",
|
"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.",
|
||||||
|
"extra_data" => [
|
||||||
|
/******** Parsedown versions ********
|
||||||
|
* Parsedown Core: 1.8.0-beta-5 *
|
||||||
|
* Parsedown Extra: 0.8.0-beta-1 *
|
||||||
|
************************************/
|
||||||
|
"Parsedown.php" => "https://raw.githubusercontent.com/erusev/parsedown/819c68899d593503180ed79ef4be5a4dcd8c5f92/Parsedown.php",
|
||||||
|
"ParsedownExtra.php" => "https://raw.githubusercontent.com/erusev/parsedown-extra/f21b40a1973b6674903a6da9857ee215e8839f96/ParsedownExtra.php"
|
||||||
|
],
|
||||||
"id" => "parser-parsedown",
|
"id" => "parser-parsedown",
|
||||||
"code" => function() {
|
"code" => function() {
|
||||||
global $settings;
|
global $settings;
|
||||||
|
@ -9240,21 +9248,6 @@ register_module([
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/*** Parsedown versions ***
|
|
||||||
* Parsedown Core: 1.6.0 *
|
|
||||||
* Parsedown Extra: 0.7.0 *
|
|
||||||
**************************/
|
|
||||||
$env->parsedown_paths = new stdClass();
|
|
||||||
$env->parsedown_paths->parsedown = "https://cdn.rawgit.com/erusev/parsedown/3ebbd730b5c2cf5ce78bc1bf64071407fc6674b7/Parsedown.php";
|
|
||||||
$env->parsedown_paths->parsedown_extra = "https://cdn.rawgit.com/erusev/parsedown-extra/11a44e076d02ffcc4021713398a60cd73f78b6f5/ParsedownExtra.php";
|
|
||||||
|
|
||||||
// Download parsedown and parsedown extra if they don't already exist
|
|
||||||
// These must still use this old method, as the parser may be asked to render some HTML before Pepperminty Wiki has had a chance to run the downloads
|
|
||||||
if(!file_exists("./Parsedown.php") || filesize("./Parsedown.php") === 0)
|
|
||||||
file_put_contents("./Parsedown.php", fopen($env->parsedown_paths->parsedown, "r"));
|
|
||||||
if(!file_exists("./ParsedownExtra.php") || filesize("./ParsedownExtra.php") === 0)
|
|
||||||
file_put_contents("./ParsedownExtra.php", fopen($env->parsedown_paths->parsedown_extra, "r"));
|
|
||||||
|
|
||||||
require_once("./Parsedown.php");
|
require_once("./Parsedown.php");
|
||||||
require_once("./ParsedownExtra.php");
|
require_once("./ParsedownExtra.php");
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
"description": "Adds a utility action (that anyone can use) called hash that hashes a given string. Useful when changing a user's password.",
|
"description": "Adds a utility action (that anyone can use) called hash that hashes a given string. Useful when changing a user's password.",
|
||||||
"id": "action-hash",
|
"id": "action-hash",
|
||||||
"lastupdate": 1549840565,
|
"lastupdate": 1549840565,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page protection",
|
"name": "Page protection",
|
||||||
|
@ -15,7 +16,8 @@
|
||||||
"description": "Exposes Pepperminty Wiki's new page protection mechanism and makes the protect button in the 'More...' menu on the top bar work.",
|
"description": "Exposes Pepperminty Wiki's new page protection mechanism and makes the protect button in the 'More...' menu on the top bar work.",
|
||||||
"id": "action-protect",
|
"id": "action-protect",
|
||||||
"lastupdate": 1465751051,
|
"lastupdate": 1465751051,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Random Page",
|
"name": "Random Page",
|
||||||
|
@ -24,7 +26,8 @@
|
||||||
"description": "Adds an action called 'random' that redirects you to a random page.",
|
"description": "Adds an action called 'random' that redirects you to a random page.",
|
||||||
"id": "action-random",
|
"id": "action-random",
|
||||||
"lastupdate": 1530448215,
|
"lastupdate": 1530448215,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Raw page source",
|
"name": "Raw page source",
|
||||||
|
@ -33,7 +36,8 @@
|
||||||
"description": "Adds a 'raw' action that shows you the raw source of a page.",
|
"description": "Adds a 'raw' action that shows you the raw source of a page.",
|
||||||
"id": "action-raw",
|
"id": "action-raw",
|
||||||
"lastupdate": 1507993763,
|
"lastupdate": 1507993763,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "API status",
|
"name": "API status",
|
||||||
|
@ -42,7 +46,8 @@
|
||||||
"description": "Provides a basic JSON status action that provides a few useful bits of information for API consumption.",
|
"description": "Provides a basic JSON status action that provides a few useful bits of information for API consumption.",
|
||||||
"id": "api-status",
|
"id": "api-status",
|
||||||
"lastupdate": 1530565418,
|
"lastupdate": 1530565418,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Sidebar",
|
"name": "Sidebar",
|
||||||
|
@ -51,7 +56,8 @@
|
||||||
"description": "Adds a sidebar to the left hand side of every page. Add '$settings->sidebar_show = true;' to your configuration, or append '&sidebar=yes' to the url to enable. Adding to the url sets a cookie to remember your setting.",
|
"description": "Adds a sidebar to the left hand side of every page. Add '$settings->sidebar_show = true;' to your configuration, or append '&sidebar=yes' to the url to enable. Adding to the url sets a cookie to remember your setting.",
|
||||||
"id": "extra-sidebar",
|
"id": "extra-sidebar",
|
||||||
"lastupdate": 1505768813,
|
"lastupdate": 1505768813,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page Comments",
|
"name": "Page Comments",
|
||||||
|
@ -60,7 +66,8 @@
|
||||||
"description": "Adds threaded comments to the bottom of every page.",
|
"description": "Adds threaded comments to the bottom of every page.",
|
||||||
"id": "feature-comments",
|
"id": "feature-comments",
|
||||||
"lastupdate": 1549840530,
|
"lastupdate": 1549840530,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Settings GUI",
|
"name": "Settings GUI",
|
||||||
|
@ -69,7 +76,8 @@
|
||||||
"description": "The module everyone has been waiting for! Adds a web based gui that lets mods change the wiki settings.",
|
"description": "The module everyone has been waiting for! Adds a web based gui that lets mods change the wiki settings.",
|
||||||
"id": "feature-guiconfig",
|
"id": "feature-guiconfig",
|
||||||
"lastupdate": 1548629209,
|
"lastupdate": 1548629209,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page History",
|
"name": "Page History",
|
||||||
|
@ -78,7 +86,8 @@
|
||||||
"description": "Adds the ability to keep unlimited page history, limited only by your disk space. Note that this doesn't store file history (yet). Currently depends on feature-recent-changes for rendering of the history page.",
|
"description": "Adds the ability to keep unlimited page history, limited only by your disk space. Note that this doesn't store file history (yet). Currently depends on feature-recent-changes for rendering of the history page.",
|
||||||
"id": "feature-history",
|
"id": "feature-history",
|
||||||
"lastupdate": 1541003921,
|
"lastupdate": 1541003921,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Interwiki links",
|
"name": "Interwiki links",
|
||||||
|
@ -87,7 +96,8 @@
|
||||||
"description": "Adds interwiki link support. Set the interwiki_index_location setting at an index file to activate support.",
|
"description": "Adds interwiki link support. Set the interwiki_index_location setting at an index file to activate support.",
|
||||||
"id": "feature-interwiki-links",
|
"id": "feature-interwiki-links",
|
||||||
"lastupdate": 1549840688,
|
"lastupdate": 1549840688,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Recent Changes",
|
"name": "Recent Changes",
|
||||||
|
@ -96,7 +106,8 @@
|
||||||
"description": "Adds recent changes. Access through the 'recent-changes' action.",
|
"description": "Adds recent changes. Access through the 'recent-changes' action.",
|
||||||
"id": "feature-recent-changes",
|
"id": "feature-recent-changes",
|
||||||
"lastupdate": 1549840473,
|
"lastupdate": 1549840473,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Redirect pages",
|
"name": "Redirect pages",
|
||||||
|
@ -105,7 +116,8 @@
|
||||||
"description": "Adds support for redirect pages. Uses the same syntax that Mediawiki does.",
|
"description": "Adds support for redirect pages. Uses the same syntax that Mediawiki does.",
|
||||||
"id": "feature-redirect",
|
"id": "feature-redirect",
|
||||||
"lastupdate": 1549840590,
|
"lastupdate": 1549840590,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Search",
|
"name": "Search",
|
||||||
|
@ -114,7 +126,8 @@
|
||||||
"description": "Adds proper search functionality to Pepperminty Wiki using an inverted index to provide a full text search engine. If pages don't show up, then you might have hit a stop word. If not, try requesting the `invindex-rebuild` action to rebuild the inverted index from scratch.",
|
"description": "Adds proper search functionality to Pepperminty Wiki using an inverted index to provide a full text search engine. If pages don't show up, then you might have hit a stop word. If not, try requesting the `invindex-rebuild` action to rebuild the inverted index from scratch.",
|
||||||
"id": "feature-search",
|
"id": "feature-search",
|
||||||
"lastupdate": 1549840628,
|
"lastupdate": 1549840628,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Statistics",
|
"name": "Statistics",
|
||||||
|
@ -123,7 +136,8 @@
|
||||||
"description": "An extensible statistics calculation system. Comes with a range of built-in statistics, but can be extended by other modules too.",
|
"description": "An extensible statistics calculation system. Comes with a range of built-in statistics, but can be extended by other modules too.",
|
||||||
"id": "feature-stats",
|
"id": "feature-stats",
|
||||||
"lastupdate": 1530614499,
|
"lastupdate": 1530614499,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Uploader",
|
"name": "Uploader",
|
||||||
|
@ -132,7 +146,8 @@
|
||||||
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File\/' prefix.",
|
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File\/' prefix.",
|
||||||
"id": "feature-upload",
|
"id": "feature-upload",
|
||||||
"lastupdate": 1548629209,
|
"lastupdate": 1548629209,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "User Preferences",
|
"name": "User Preferences",
|
||||||
|
@ -141,7 +156,8 @@
|
||||||
"description": "Adds a user preferences page, letting people do things like change their email address and password.",
|
"description": "Adds a user preferences page, letting people do things like change their email address and password.",
|
||||||
"id": "feature-user-preferences",
|
"id": "feature-user-preferences",
|
||||||
"lastupdate": 1526035213,
|
"lastupdate": 1526035213,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "User Organiser",
|
"name": "User Organiser",
|
||||||
|
@ -150,7 +166,8 @@
|
||||||
"description": "Adds a organiser page that lets moderators (or better) control the reegistered user accounts, and perform adminstrative actions such as password resets, and adding \/ removing accounts.",
|
"description": "Adds a organiser page that lets moderators (or better) control the reegistered user accounts, and perform adminstrative actions such as password resets, and adding \/ removing accounts.",
|
||||||
"id": "feature-user-table",
|
"id": "feature-user-table",
|
||||||
"lastupdate": 1526423111,
|
"lastupdate": 1526423111,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Credits",
|
"name": "Credits",
|
||||||
|
@ -159,7 +176,8 @@
|
||||||
"description": "Adds the credits page. You *must* have this module :D",
|
"description": "Adds the credits page. You *must* have this module :D",
|
||||||
"id": "page-credits",
|
"id": "page-credits",
|
||||||
"lastupdate": 1540998605,
|
"lastupdate": 1540998605,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Debug Information",
|
"name": "Debug Information",
|
||||||
|
@ -168,7 +186,8 @@
|
||||||
"description": "Adds a debug action for administrator use only that collects a load of useful information to make reporting bugs easier.",
|
"description": "Adds a debug action for administrator use only that collects a load of useful information to make reporting bugs easier.",
|
||||||
"id": "page-debug-info",
|
"id": "page-debug-info",
|
||||||
"lastupdate": 1524415876,
|
"lastupdate": 1524415876,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page deleter",
|
"name": "Page deleter",
|
||||||
|
@ -177,7 +196,8 @@
|
||||||
"description": "Adds an action to allow administrators to delete pages.",
|
"description": "Adds an action to allow administrators to delete pages.",
|
||||||
"id": "page-delete",
|
"id": "page-delete",
|
||||||
"lastupdate": 1501009581,
|
"lastupdate": 1501009581,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page editor",
|
"name": "Page editor",
|
||||||
|
@ -186,7 +206,8 @@
|
||||||
"description": "Allows you to edit pages by adding the edit and save actions. You should probably include this one.",
|
"description": "Allows you to edit pages by adding the edit and save actions. You should probably include this one.",
|
||||||
"id": "page-edit",
|
"id": "page-edit",
|
||||||
"lastupdate": 1548629209,
|
"lastupdate": 1548629209,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Export",
|
"name": "Export",
|
||||||
|
@ -195,7 +216,8 @@
|
||||||
"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.",
|
"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",
|
"id": "page-export",
|
||||||
"lastupdate": 1548970758,
|
"lastupdate": 1548970758,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Help page",
|
"name": "Help page",
|
||||||
|
@ -204,7 +226,8 @@
|
||||||
"description": "Adds a rather useful help page. Access through the 'help' action. This module also exposes help content added to Pepperminty Wiki's inbuilt invisible help section system.",
|
"description": "Adds a rather useful help page. Access through the 'help' action. This module also exposes help content added to Pepperminty Wiki's inbuilt invisible help section system.",
|
||||||
"id": "page-help",
|
"id": "page-help",
|
||||||
"lastupdate": 1492433537,
|
"lastupdate": 1492433537,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page list",
|
"name": "Page list",
|
||||||
|
@ -213,7 +236,8 @@
|
||||||
"description": "Adds a page that lists all the pages in the index along with their metadata.",
|
"description": "Adds a page that lists all the pages in the index along with their metadata.",
|
||||||
"id": "page-list",
|
"id": "page-list",
|
||||||
"lastupdate": 1548364613,
|
"lastupdate": 1548364613,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Login",
|
"name": "Login",
|
||||||
|
@ -222,7 +246,8 @@
|
||||||
"description": "Adds a pair of actions (login and checklogin) that allow users to login. You need this one if you want your users to be able to login.",
|
"description": "Adds a pair of actions (login and checklogin) that allow users to login. You need this one if you want your users to be able to login.",
|
||||||
"id": "page-login",
|
"id": "page-login",
|
||||||
"lastupdate": 1540050129,
|
"lastupdate": 1540050129,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Logout",
|
"name": "Logout",
|
||||||
|
@ -231,7 +256,8 @@
|
||||||
"description": "Adds an action to let users user out. For security reasons it is wise to add this module since logging in automatically opens a session that is valid for 30 days.",
|
"description": "Adds an action to let users user out. For security reasons it is wise to add this module since logging in automatically opens a session that is valid for 30 days.",
|
||||||
"id": "page-logout",
|
"id": "page-logout",
|
||||||
"lastupdate": 1526034779,
|
"lastupdate": 1526034779,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page mover",
|
"name": "Page mover",
|
||||||
|
@ -240,7 +266,8 @@
|
||||||
"description": "Adds an action to allow administrators to move pages.",
|
"description": "Adds an action to allow administrators to move pages.",
|
||||||
"id": "page-move",
|
"id": "page-move",
|
||||||
"lastupdate": 1521408303,
|
"lastupdate": 1521408303,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Update",
|
"name": "Update",
|
||||||
|
@ -249,7 +276,8 @@
|
||||||
"description": "Adds an update page that downloads the latest stable version of Pepperminty Wiki. This module is currently outdated as it doesn't save your module preferences.",
|
"description": "Adds an update page that downloads the latest stable version of Pepperminty Wiki. This module is currently outdated as it doesn't save your module preferences.",
|
||||||
"id": "page-update",
|
"id": "page-update",
|
||||||
"lastupdate": 1476906745,
|
"lastupdate": 1476906745,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "User list",
|
"name": "User list",
|
||||||
|
@ -258,7 +286,8 @@
|
||||||
"description": "Adds a 'user-list' action that generates a list of users. Supports json output with 'format=json' in the queyr string.",
|
"description": "Adds a 'user-list' action that generates a list of users. Supports json output with 'format=json' in the queyr string.",
|
||||||
"id": "page-user-list",
|
"id": "page-user-list",
|
||||||
"lastupdate": 1487454626,
|
"lastupdate": 1487454626,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Page viewer",
|
"name": "Page viewer",
|
||||||
|
@ -267,7 +296,8 @@
|
||||||
"description": "Allows you to view pages. You really should include this one.",
|
"description": "Allows you to view pages. You really should include this one.",
|
||||||
"id": "page-view",
|
"id": "page-view",
|
||||||
"lastupdate": 1548884009,
|
"lastupdate": 1548884009,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Old Default Parser",
|
"name": "Old Default Parser",
|
||||||
|
@ -276,7 +306,8 @@
|
||||||
"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.",
|
"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",
|
"id": "parser-default-old",
|
||||||
"lastupdate": 1549839049,
|
"lastupdate": 1549839049,
|
||||||
"optional": true
|
"optional": true,
|
||||||
|
"extra_data": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Parsedown",
|
"name": "Parsedown",
|
||||||
|
@ -284,7 +315,11 @@
|
||||||
"author": "Emanuil Rusev & Starbeamrainbowlabs",
|
"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.",
|
"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",
|
"id": "parser-parsedown",
|
||||||
"lastupdate": 1549840071,
|
"lastupdate": 1551211981,
|
||||||
"optional": false
|
"optional": false,
|
||||||
|
"extra_data": {
|
||||||
|
"Parsedown.php": "https:\/\/raw.githubusercontent.com\/erusev\/parsedown\/819c68899d593503180ed79ef4be5a4dcd8c5f92\/Parsedown.php",
|
||||||
|
"ParsedownExtra.php": "https:\/\/raw.githubusercontent.com\/erusev\/parsedown-extra\/f21b40a1973b6674903a6da9857ee215e8839f96\/ParsedownExtra.php"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
|
@ -4,6 +4,14 @@ register_module([
|
||||||
"version" => "0.10",
|
"version" => "0.10",
|
||||||
"author" => "Emanuil Rusev & Starbeamrainbowlabs",
|
"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.",
|
"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.",
|
||||||
|
"extra_data" => [
|
||||||
|
/******** Parsedown versions ********
|
||||||
|
* Parsedown Core: 1.8.0-beta-5 *
|
||||||
|
* Parsedown Extra: 0.8.0-beta-1 *
|
||||||
|
************************************/
|
||||||
|
"Parsedown.php" => "https://raw.githubusercontent.com/erusev/parsedown/819c68899d593503180ed79ef4be5a4dcd8c5f92/Parsedown.php",
|
||||||
|
"ParsedownExtra.php" => "https://raw.githubusercontent.com/erusev/parsedown-extra/f21b40a1973b6674903a6da9857ee215e8839f96/ParsedownExtra.php"
|
||||||
|
],
|
||||||
"id" => "parser-parsedown",
|
"id" => "parser-parsedown",
|
||||||
"code" => function() {
|
"code" => function() {
|
||||||
global $settings;
|
global $settings;
|
||||||
|
@ -207,21 +215,6 @@ register_module([
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/*** Parsedown versions ***
|
|
||||||
* Parsedown Core: 1.6.0 *
|
|
||||||
* Parsedown Extra: 0.7.0 *
|
|
||||||
**************************/
|
|
||||||
$env->parsedown_paths = new stdClass();
|
|
||||||
$env->parsedown_paths->parsedown = "https://cdn.rawgit.com/erusev/parsedown/3ebbd730b5c2cf5ce78bc1bf64071407fc6674b7/Parsedown.php";
|
|
||||||
$env->parsedown_paths->parsedown_extra = "https://cdn.rawgit.com/erusev/parsedown-extra/11a44e076d02ffcc4021713398a60cd73f78b6f5/ParsedownExtra.php";
|
|
||||||
|
|
||||||
// Download parsedown and parsedown extra if they don't already exist
|
|
||||||
// These must still use this old method, as the parser may be asked to render some HTML before Pepperminty Wiki has had a chance to run the downloads
|
|
||||||
if(!file_exists("./Parsedown.php") || filesize("./Parsedown.php") === 0)
|
|
||||||
file_put_contents("./Parsedown.php", fopen($env->parsedown_paths->parsedown, "r"));
|
|
||||||
if(!file_exists("./ParsedownExtra.php") || filesize("./ParsedownExtra.php") === 0)
|
|
||||||
file_put_contents("./ParsedownExtra.php", fopen($env->parsedown_paths->parsedown_extra, "r"));
|
|
||||||
|
|
||||||
require_once("./Parsedown.php");
|
require_once("./Parsedown.php");
|
||||||
require_once("./ParsedownExtra.php");
|
require_once("./ParsedownExtra.php");
|
||||||
|
|
||||||
|
|
31
pack.php
31
pack.php
|
@ -18,13 +18,11 @@ foreach($module_index as $module)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
continue;
|
continue;
|
||||||
$module_list[] = $module->id;
|
$module_list[] = $module;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_GET["modules"]))
|
if(isset($_GET["modules"]))
|
||||||
{
|
|
||||||
$module_list = explode(",", $_GET["modules"]);
|
$module_list = explode(",", $_GET["modules"]);
|
||||||
}
|
|
||||||
|
|
||||||
if(php_sapi_name() != "cli")
|
if(php_sapi_name() != "cli")
|
||||||
{
|
{
|
||||||
|
@ -53,23 +51,31 @@ $core = str_replace([
|
||||||
|
|
||||||
$result = $core;
|
$result = $core;
|
||||||
|
|
||||||
|
$extra_data_archive = new ZipArchive();
|
||||||
|
if($extra_data_archive->open("php://temp/maxmemory:".(5*1024*1024), ZipArchive::CREATE) !== true) {
|
||||||
|
http_response_code(503);
|
||||||
|
exit("Error: Failed to create temporary stream to store packing information");
|
||||||
|
}
|
||||||
|
|
||||||
$module_list_count = count($module_list);
|
$module_list_count = count($module_list);
|
||||||
$i = 1;
|
$i = 1;
|
||||||
foreach($module_list as $module_id)
|
foreach($module_list as $module)
|
||||||
{
|
{
|
||||||
if($module_id == "") continue;
|
if($module->id == "") continue;
|
||||||
|
|
||||||
if(php_sapi_name() == "cli") echo("[$i / $module_list_count] Adding $module_id \r");
|
if(php_sapi_name() == "cli")
|
||||||
|
echo("[$i / $module_list_count] Adding $module->id \r");
|
||||||
|
|
||||||
$module_filepath = "modules/" . preg_replace("[^a-zA-Z0-9\-]", "", $module_id) . ".php";
|
$module_filepath = "modules/" . preg_replace("[^a-zA-Z0-9\-]", "", $module->id) . ".php";
|
||||||
|
|
||||||
//echo("id: $module_id | filepath: $module_filepath\n");
|
//echo("id: $module->id | filepath: $module_filepath\n");
|
||||||
|
|
||||||
if(!file_exists($module_filepath)) {
|
if(!file_exists($module_filepath)) {
|
||||||
http_response_code(400);
|
http_response_code(400);
|
||||||
exit("Failed to load module with name: $module_filepath");
|
exit("Failed to load module with name: $module_filepath");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Pack the module's source code
|
||||||
$modulecode = file_get_contents($module_filepath);
|
$modulecode = file_get_contents($module_filepath);
|
||||||
$modulecode = str_replace([ "<?php", "?>" ], "", $modulecode);
|
$modulecode = str_replace([ "<?php", "?>" ], "", $modulecode);
|
||||||
$result = str_replace(
|
$result = str_replace(
|
||||||
|
@ -78,6 +84,15 @@ foreach($module_list as $module_id)
|
||||||
$result
|
$result
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// Pack the extra files
|
||||||
|
foreach($module->extra_data as $filepath_pack => $extra_data_item) {
|
||||||
|
if(is_string($extra_data_item)) {
|
||||||
|
// TODO: Test whether this works for urls. If not, then we'll need to implement a workaround
|
||||||
|
$extra_data_archive->addFile($extra_data_item, "$module->id/$filepath_pack");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
echo("\n");
|
echo("\n");
|
||||||
|
|
Loading…
Reference in a new issue