1
0
Fork 0
mirror of https://github.com/sbrl/Pepperminty-Wiki.git synced 2024-11-22 16:33:00 +00:00

Update the core to use ->storage_prefix. Currently untested.

This commit is contained in:
Starbeamrainbowlabs 2015-11-06 20:11:41 +00:00
parent 25043cd7a1
commit 8425660d6b

View file

@ -14,15 +14,16 @@ $env->page = "";
$env->user = "Anonymous"; $env->user = "Anonymous";
$env->is_logged_in = false; $env->is_logged_in = false;
$env->is_admin = false; $env->is_admin = false;
$env->storage_prefix = $settings->data_storage_dir . DIRECTORY_SEPARATOR;
/// Paths /// /// Paths ///
$paths = new stdClass(); $paths = new stdClass();
$paths->pageindex = "pageindex.json"; // The pageindex $paths->pageindex = "pageindex.json"; // The pageindex
$paths->searchindex = "invindex.json"; // The inverted indx used for searching $paths->searchindex = "invindex.json"; // The inverted index used for searching
$paths->idindex = "idindex.json"; // The index that converts ids to page names $paths->idindex = "idindex.json"; // The index that converts ids to page names
// Prepend the storage data directory to all the defined paths. // Prepend the storage data directory to all the defined paths.
foreach ($paths as &$path) { foreach ($paths as &$path) {
$path = $settings->data_storage_dir . DIRECTORY_SEPARATOR . $path; $path = $env->storage_prefix . $path;
} }
$paths->upload_file_prefix = "Files/"; // The prefix to append to uploaded files $paths->upload_file_prefix = "Files/"; // The prefix to append to uploaded files
@ -309,9 +310,9 @@ function system_mime_type_extension($type) {
* Sort out the pageindex. We create it if it doesn't exist, and load and parse * Sort out the pageindex. We create it if it doesn't exist, and load and parse
* it if it does. * it if it does.
*/ */
if(!file_exists("./pageindex.json")) if(!file_exists($paths->pageindex))
{ {
$existingpages = glob_recursive("*.md"); $existingpages = glob_recursive($env->storage_prefix . "*.md");
$pageindex = new stdClass(); $pageindex = new stdClass();
// We use a for loop here because foreach doesn't loop over new values inserted // We use a for loop here because foreach doesn't loop over new values inserted
// while we were looping // while we were looping
@ -321,13 +322,13 @@ if(!file_exists("./pageindex.json"))
// Create a new entry // Create a new entry
$newentry = new stdClass(); $newentry = new stdClass();
$newentry->filename = utf8_encode($pagefilename); // Store the filename $newentry->filename = utf8_encode(substr($pagefilename, strlen($env->storage_prefix))); // Store the filename
$newentry->size = filesize($pagefilename); // Store the page size $newentry->size = filesize($pagefilename); // Store the page size
$newentry->lastmodified = filemtime($pagefilename); // Store the date last modified $newentry->lastmodified = filemtime($pagefilename); // Store the date last modified
// Todo find a way to keep the last editor independent of the page index // Todo find a way to keep the last editor independent of the page index
$newentry->lasteditor = utf8_encode("unknown"); // Set the editor to "unknown" $newentry->lasteditor = utf8_encode("unknown"); // Set the editor to "unknown"
// Extract the name of the (sub)page without the ".md" // Extract the name of the (sub)page without the ".md" or the storage dir
$pagekey = utf8_encode(substr($pagefilename, 0, -3)); $pagekey = utf8_encode(substr($pagefilename, strlen($env->storage_prefix), -3));
// Subpage parent checker // Subpage parent checker
if(strpos($pagekey, "/") !== false) if(strpos($pagekey, "/") !== false)
@ -337,7 +338,7 @@ if(!file_exists("./pageindex.json"))
// make sure that it actually exists. If it doesn't, then we need to // make sure that it actually exists. If it doesn't, then we need to
// create it. // create it.
$subpage_parent_key = substr($pagekey, 0, strrpos($pagekey, "/")); $subpage_parent_key = substr($pagekey, 0, strrpos($pagekey, "/"));
$subpage_parent_filename = "$subpage_parent_key.md"; $subpage_parent_filename = "$env->storage_prefix$subpage_parent_key.md";
if(array_search($subpage_parent_filename, $existingpages) === false) if(array_search($subpage_parent_filename, $existingpages) === false)
{ {
// Our parent page doesn't actually exist - create it // Our parent page doesn't actually exist - create it
@ -351,22 +352,22 @@ if(!file_exists("./pageindex.json"))
// Store the new entry in the new page index // Store the new entry in the new page index
$pageindex->$pagekey = $newentry; $pageindex->$pagekey = $newentry;
} }
file_put_contents("./pageindex.json", json_encode($pageindex, JSON_PRETTY_PRINT)); file_put_contents($paths->pageindex, json_encode($pageindex, JSON_PRETTY_PRINT));
unset($existingpages); unset($existingpages);
} }
else else
{ {
$pageindex_read_start = microtime(true); $pageindex_read_start = microtime(true);
$pageindex = json_decode(file_get_contents("./pageindex.json")); $pageindex = json_decode(file_get_contents($paths->pageindex));
header("x-pageindex-decode-time: " . round(microtime(true) - $pageindex_read_start, 6) . "ms"); header("x-pageindex-decode-time: " . round(microtime(true) - $pageindex_read_start, 6) . "ms");
} }
////////////////////////// //////////////////////////
///// Page id system ///// ///// Page id system /////
////////////////////////// //////////////////////////
if(!file_exists("idindex.json")) if(!file_exists($paths->idindex))
file_put_contents("idindex.json", "{}"); file_put_contents($paths->idindex, "{}");
$idindex = json_decode(file_get_contents("idindex.json")); $idindex = json_decode(file_get_contents($paths->idindex));
class ids class ids
{ {
/* /*
@ -416,7 +417,7 @@ class ids
$idindex->$nextid = utf8_encode($pagename); $idindex->$nextid = utf8_encode($pagename);
// Save the id index // Save the id index
file_put_contents("idindex.json", json_encode($idindex)); file_put_contents($paths->idindex, json_encode($idindex));
return $nextid; return $nextid;
} }