mirror of
https://github.com/sbrl/Pepperminty-Wiki.git
synced 2024-11-21 16:13:00 +00:00
Make invindex-rebuild admin only, but allow access via a POST request with the secret attached
This commit is contained in:
parent
c2dcf43bc2
commit
80158541cb
3 changed files with 27 additions and 3 deletions
|
@ -3139,7 +3139,19 @@ register_module([
|
|||
* ██ ██ ███████ ██████ ██████ ██ ███████ ██████
|
||||
*/
|
||||
add_action("invindex-rebuild", function() {
|
||||
search::rebuild_invindex();
|
||||
global $env, $settings;
|
||||
if($env->is_admin ||
|
||||
(
|
||||
!empty($_POST["secret"]) &&
|
||||
$_POST["secret"] === $settings->secret
|
||||
)
|
||||
)
|
||||
search::rebuild_invindex();
|
||||
else
|
||||
{
|
||||
http_response_code(401);
|
||||
exit(page_renderer::render_main("Error - Search index regenerator - $settings->sitename", "<p>Error: You aren't allowed to regenerate the search index. Try logging in as an admin, or setting the <code>secret</code> POST parameter to $settings->sitename's secret - which can be found in $settings->sitename's <code>peppermint.json</code> file.</p>"));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
|
|
@ -104,7 +104,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": 1499719908,
|
||||
"lastupdate": 1499720597,
|
||||
"optional": false
|
||||
},
|
||||
{
|
||||
|
|
|
@ -63,7 +63,19 @@ register_module([
|
|||
* ██ ██ ███████ ██████ ██████ ██ ███████ ██████
|
||||
*/
|
||||
add_action("invindex-rebuild", function() {
|
||||
search::rebuild_invindex();
|
||||
global $env, $settings;
|
||||
if($env->is_admin ||
|
||||
(
|
||||
!empty($_POST["secret"]) &&
|
||||
$_POST["secret"] === $settings->secret
|
||||
)
|
||||
)
|
||||
search::rebuild_invindex();
|
||||
else
|
||||
{
|
||||
http_response_code(401);
|
||||
exit(page_renderer::render_main("Error - Search index regenerator - $settings->sitename", "<p>Error: You aren't allowed to regenerate the search index. Try logging in as an admin, or setting the <code>secret</code> POST parameter to $settings->sitename's secret - which can be found in $settings->sitename's <code>peppermint.json</code> file.</p>"));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue