1
0
Fork 0
mirror of https://github.com/sbrl/Pepperminty-Wiki.git synced 2024-11-29 06:23:01 +00:00

Bugfix: Recent changes break when the number of changes reach $settings->max_recent_changes. Fixes #104.

This commit is contained in:
Starbeamrainbowlabs 2016-08-28 13:41:18 +01:00
parent 9f50600125
commit a75caf6564
5 changed files with 92 additions and 85 deletions

View file

@ -33,6 +33,7 @@ data# Changelog
- Fixed pressing the edit button on pages that have a single quote in their name
- Fixed a spelling mistake on the file preview page - I'm sure I fixed that before...!
- Fixed an issue whereby the search index wouldn't update if your pages contained special characters
- Fixed an issue with the recent changes list not updating when the number of recently changes reached setings.max_recent_changes (#104)
## v0.12

View file

@ -1875,7 +1875,7 @@ register_module([
$content .= "<p><em>None yet! Try making a few changes and then check back here.</em></p>\n";
}
echo(page_renderer::render("Recent Changes - $settings->sitename", $content));
exit(page_renderer::render("Recent Changes - $settings->sitename", $content));
});
register_save_preprocessor(function(&$pageinfo, &$newsource, &$oldsource) {
@ -1920,7 +1920,7 @@ function add_recent_change($rchange)
// Limit the number of entries in the recent changes file if we've
// been asked to.
if(isset($settings->max_recent_changes))
$recentchanges = array_slice($recentchanges, -$settings->max_recent_changes);
$recentchanges = array_slice($recentchanges, 0, $settings->max_recent_changes);
// Save the recent changes file back to disk
file_put_contents($paths->recentchanges, json_encode($recentchanges, JSON_PRETTY_PRINT));
@ -2161,7 +2161,7 @@ register_module([
/**
* @api {get} ?action=idindex-show Show the id index.
* @api {get} ?action=idindex-show Show the id index
* @apiDescription Outputs the id index. Useful if you need to verify that it's working as expected.
* @apiName SearchShowIdIndex
* @apiGroup Search
@ -3760,6 +3760,8 @@ register_module([
}
// Check for edit conflicts
if(!empty($pageindex->{$env->page}) && file_exists($env->storage_prefix . $pageindex->{$env->page}->filename))
{
$existing_content_hash = sha1_file($env->storage_prefix . $pageindex->{$env->page}->filename);
if(isset($_POST["prev-content-hash"]) and
$existing_content_hash != $_POST["prev-content-hash"])
@ -3809,6 +3811,7 @@ DIFFSCRIPT;
exit(page_renderer::render_main("Edit Conflict - $env->page - $settings->sitename", $content));
}
}
// -----~~~==~~~-----

View file

@ -50,7 +50,7 @@
"author": "Starbeamrainbowlabs",
"description": "Adds recent changes. Access through the 'recent-changes' action.",
"id": "feature-recent-changes",
"lastupdate": 1465757910,
"lastupdate": 1472387876,
"optional": false
},
{
@ -68,7 +68,7 @@
"author": "Starbeamrainbowlabs",
"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",
"lastupdate": 1472229999,
"lastupdate": 1472230560,
"optional": false
},
{
@ -77,7 +77,7 @@
"author": "Starbeamrainbowlabs",
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File\/' prefix.",
"id": "feature-upload",
"lastupdate": 1471884345,
"lastupdate": 1472230366,
"optional": false
},
{
@ -86,7 +86,7 @@
"author": "Starbeamrainbowlabs",
"description": "Adds the credits page. You *must* have this module :D",
"id": "page-credits",
"lastupdate": 1471632910,
"lastupdate": 1472230366,
"optional": false
},
{
@ -113,7 +113,7 @@
"author": "Starbeamrainbowlabs",
"description": "Allows you to edit pages by adding the edit and save actions. You should probably include this one.",
"id": "page-edit",
"lastupdate": 1471809336,
"lastupdate": 1472387737,
"optional": false
},
{
@ -122,7 +122,7 @@
"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",
"lastupdate": 1466582751,
"lastupdate": 1472230366,
"optional": false
},
{
@ -131,7 +131,7 @@
"author": "Starbeamrainbowlabs",
"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",
"lastupdate": 1471697534,
"lastupdate": 1472230366,
"optional": false
},
{
@ -140,7 +140,7 @@
"author": "Starbeamrainbowlabs",
"description": "Adds a page that lists all the pages in the index along with their metadata.",
"id": "page-list",
"lastupdate": 1471633011,
"lastupdate": 1472230366,
"optional": false
},
{
@ -149,7 +149,7 @@
"author": "Starbeamrainbowlabs",
"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",
"lastupdate": 1472061908,
"lastupdate": 1472230366,
"optional": false
},
{
@ -167,7 +167,7 @@
"author": "Starbeamrainbowlabs",
"description": "Adds an action to allow administrators to move pages.",
"id": "page-move",
"lastupdate": 1471632807,
"lastupdate": 1472230366,
"optional": false
},
{
@ -185,7 +185,7 @@
"author": "Starbeamrainbowlabs",
"description": "Allows you to view pages. You really should include this one.",
"id": "page-view",
"lastupdate": 1471784271,
"lastupdate": 1472230366,
"optional": false
},
{
@ -203,7 +203,7 @@
"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",
"lastupdate": 1471954922,
"lastupdate": 1472230366,
"optional": false
}
]

View file

@ -50,7 +50,7 @@ register_module([
$content .= "<p><em>None yet! Try making a few changes and then check back here.</em></p>\n";
}
echo(page_renderer::render("Recent Changes - $settings->sitename", $content));
exit(page_renderer::render("Recent Changes - $settings->sitename", $content));
});
register_save_preprocessor(function(&$pageinfo, &$newsource, &$oldsource) {
@ -95,7 +95,7 @@ function add_recent_change($rchange)
// Limit the number of entries in the recent changes file if we've
// been asked to.
if(isset($settings->max_recent_changes))
$recentchanges = array_slice($recentchanges, -$settings->max_recent_changes);
$recentchanges = array_slice($recentchanges, 0, $settings->max_recent_changes);
// Save the recent changes file back to disk
file_put_contents($paths->recentchanges, json_encode($recentchanges, JSON_PRETTY_PRINT));

View file

@ -183,6 +183,8 @@ register_module([
}
// Check for edit conflicts
if(!empty($pageindex->{$env->page}) && file_exists($env->storage_prefix . $pageindex->{$env->page}->filename))
{
$existing_content_hash = sha1_file($env->storage_prefix . $pageindex->{$env->page}->filename);
if(isset($_POST["prev-content-hash"]) and
$existing_content_hash != $_POST["prev-content-hash"])
@ -232,6 +234,7 @@ DIFFSCRIPT;
exit(page_renderer::render_main("Edit Conflict - $env->page - $settings->sitename", $content));
}
}
// -----~~~==~~~-----