mikuli.cz

:)
git clone https://git.sr.ht/~ashymad/mikuli.cz
Log | Files | Refs

commit f1b720129071e7ce99fdce7b0df8a7920005f861
parent c27eb45c246420c1659aae3f459165421fcd0bd8
Author: markseu <mark2011@mayberg.se>
Date:   Fri, 28 Sep 2018 14:07:09 +0200

Updated config and plugins

Diffstat:
Msystem/config/config.ini | 5+++--
Msystem/plugins/core.php | 37+++++++++++++++++++------------------
Msystem/plugins/edit.php | 4++--
Msystem/plugins/markdown.php | 6+++---
Msystem/plugins/setup.php | 4++--
Msystem/plugins/update.php | 11++++++++++-
6 files changed, 39 insertions(+), 28 deletions(-)

diff --git a/system/config/config.ini b/system/config/config.ini @@ -10,7 +10,8 @@ Theme: flatsite StaticUrl: StaticDefaultFile: index.html StaticErrorFile: 404.html -StaticDir: cache/ +StaticDir: public/ +CacheDir: cache/ MediaLocation: /media/ DownloadLocation: /media/downloads/ ImageLocation: /media/images/ @@ -50,8 +51,8 @@ Sidebar: sidebar Siteicon: icon Tagline: Parser: markdown -ParserSafeMode: 0 MultiLanguageMode: 0 +SafeMode: 0 SetupMode: 1 BundleAndMinify: 1 EditLocation: /edit/ diff --git a/system/plugins/core.php b/system/plugins/core.php @@ -4,7 +4,7 @@ // This file may be used and distributed under the terms of the public license. class YellowCore { - const VERSION = "0.7.6"; + const VERSION = "0.7.7"; public $page; //current page public $pages; //pages from file system public $files; //files from file system @@ -34,7 +34,8 @@ class YellowCore { $this->config->setDefault("staticUrl", ""); $this->config->setDefault("staticDefaultFile", "index.html"); $this->config->setDefault("staticErrorFile", "404.html"); - $this->config->setDefault("staticDir", "cache/"); + $this->config->setDefault("staticDir", "public/"); + $this->config->setDefault("cacheDir", "cache/"); $this->config->setDefault("mediaLocation", "/media/"); $this->config->setDefault("downloadLocation", "/media/downloads/"); $this->config->setDefault("imageLocation", "/media/images/"); @@ -75,8 +76,8 @@ class YellowCore { $this->config->setDefault("siteicon", "icon"); $this->config->setDefault("tagline", ""); $this->config->setDefault("parser", "markdown"); - $this->config->setDefault("parserSafeMode", "0"); $this->config->setDefault("multiLanguageMode", "0"); + $this->config->setDefault("safeMode", "0"); $this->config->setDefault("setupMode", "0"); } @@ -152,7 +153,7 @@ class YellowCore { } } if ($statusCode==0) { - $fileName = $this->lookup->findFileStatic($location, $fileName, $cacheable && !$this->isCommandLine()); + $fileName = $this->lookup->findFileFromCache($location, $fileName, $cacheable && !$this->isCommandLine()); if ($this->lookup->isContentFile($fileName) || !is_readable($fileName)) { $fileName = $this->readPage($scheme, $address, $base, $location, $fileName, $cacheable, max(is_readable($fileName) ? 200 : 404, $this->page->statusCode), $this->page->get("pageError")); @@ -386,7 +387,7 @@ class YellowPage { public $outputData; //response output public $parser; //content parser public $parserData; //content data of page - public $parserSafeMode; //page is parsed in safe mode? (boolean) + public $safeMode; //page is parsed in safe mode? (boolean) public $available; //page is available? (boolean) public $visible; //page is visible location? (boolean) public $active; //page is active location? (boolean) @@ -416,7 +417,7 @@ class YellowPage { $this->rawData = $rawData; $this->parser = null; $this->parserData = ""; - $this->parserSafeMode = intval($this->yellow->config->get("parserSafeMode")); + $this->safeMode = intval($this->yellow->config->get("safeMode")); $this->available = true; $this->visible = $this->yellow->lookup->isVisibleLocation($this->location, $this->fileName); $this->active = $this->yellow->lookup->isActiveLocation($this->location, $this->yellow->page->location); @@ -541,7 +542,7 @@ class YellowPage { $output .= htmlspecialchars("$key $value")."<br />\n"; } $output .= "</span>\n"; - if ($this->parserSafeMode) $this->error(500, "Yellow '$text' is not available in safe mode!"); + if ($this->safeMode) $this->error(500, "Yellow '$text' is not available in safe mode!"); } } } @@ -2086,17 +2087,6 @@ class YellowLookup { return $fileName; } - // Return static file if possible - public function findFileStatic($location, $fileName, $cacheable) { - if ($cacheable) { - $location .= $this->yellow->toolbox->getLocationArgs(); - $fileNameStatic = rtrim($this->yellow->config->get("staticDir"), "/").$location; - if (!$this->isFileLocation($location)) $fileNameStatic .= $this->yellow->config->get("staticDefaultFile"); - if (is_readable($fileNameStatic)) $fileName = $fileNameStatic; - } - return $fileName; - } - // Return children from location public function findChildrenFromLocation($location) { $fileNames = array(); @@ -2163,6 +2153,17 @@ class YellowLookup { return $fileName; } + // Return file path from cache if possible + public function findFileFromCache($location, $fileName, $cacheable) { + if ($cacheable) { + $location .= $this->yellow->toolbox->getLocationArgs(); + $fileNameStatic = rtrim($this->yellow->config->get("cacheDir"), "/").$location; + if (!$this->isFileLocation($location)) $fileNameStatic .= $this->yellow->config->get("staticDefaultFile"); + if (is_readable($fileNameStatic)) $fileName = $fileNameStatic; + } + return $fileName; + } + // Normalise file/directory token public function normaliseToken($text, $fileExtension = "", $removeExtension = false) { if (!empty($fileExtension)) $text = ($pos = strrposu($text, ".")) ? substru($text, 0, $pos) : $text; diff --git a/system/plugins/edit.php b/system/plugins/edit.php @@ -4,7 +4,7 @@ // This file may be used and distributed under the terms of the public license. class YellowEdit { - const VERSION = "0.7.30"; + const VERSION = "0.7.31"; public $yellow; //access to API public $response; //web response public $users; //user accounts @@ -1055,7 +1055,7 @@ class YellowResponse { $data["address"] = $this->yellow->page->address; $data["base"] = $this->yellow->page->base; $data["location"] = $this->yellow->page->location; - $data["parserSafeMode"] = $this->yellow->page->parserSafeMode; + $data["safeMode"] = $this->yellow->page->safeMode; } if ($this->action!="none") $data = array_merge($data, $this->getRequestData()); $data["action"] = $this->action; diff --git a/system/plugins/markdown.php b/system/plugins/markdown.php @@ -4,7 +4,7 @@ // This file may be used and distributed under the terms of the public license. class YellowMarkdown { - const VERSION = "0.7.1"; + const VERSION = "0.7.2"; public $yellow; //access to API // Handle initialisation @@ -3744,10 +3744,10 @@ class YellowMarkdownExtraParser extends MarkdownExtraParser { $this->yellow = $yellow; $this->page = $page; $this->idAttributes = array(); - $this->no_markup = $page->parserSafeMode; + $this->no_markup = $page->safeMode; $this->url_filter_func = function($url) use ($yellow, $page) { return $yellow->lookup->normaliseLocation($url, $page->location, - $page->parserSafeMode && $page->statusCode==200); + $page->safeMode && $page->statusCode==200); }; parent::__construct(); } diff --git a/system/plugins/setup.php b/system/plugins/setup.php @@ -4,7 +4,7 @@ // This file may be used and distributed under the terms of the public license. class YellowSetup { - const VERSION = "0.7.2"; + const VERSION = "0.7.3"; public $yellow; //access to API // Handle initialisation @@ -59,7 +59,7 @@ class YellowSetup { $statusCode = $this->updateLanguage(); $this->yellow->page->setRequestInformation($scheme, $address, $base, $location, $fileName); $this->yellow->page->parseData($this->getRawDataSetup(), false, $statusCode, $this->yellow->page->get("pageError")); - $this->yellow->page->parserSafeMode = false; + $this->yellow->page->safeMode = false; if ($status=="setup") $status = $this->updateUser($email, $password, $name, $language)==200 ? "ok" : "error"; if ($status=="ok") $status = $this->updateFeature($feature)==200 ? "ok" : "error"; if ($status=="ok") $status = $this->updateContent($language, "Home", "/")==200 ? "ok" : "error"; diff --git a/system/plugins/update.php b/system/plugins/update.php @@ -4,7 +4,7 @@ // This file may be used and distributed under the terms of the public license. class YellowUpdate { - const VERSION = "0.7.21"; + const VERSION = "0.7.22"; public $yellow; //access to API public $updates; //number of updates @@ -20,6 +20,15 @@ class YellowUpdate { // Handle startup public function onStartup($update) { + if ($update) { //TODO: remove later, converts old config + $fileNameConfig = $this->yellow->config->get("configDir").$this->yellow->config->get("configFile"); + if ($this->yellow->config->isExisting("parserSafeMode") { + $this->yellow->config->save($fileNameConfig, array("safeMode" => $this->yellow->config->get("parserSafeMode")); + } + if ($this->yellow->config->get("staticDir")=="cache/" { + $this->yellow->config->save($fileNameConfig, array("staticDir" => "public/"); + } + } if ($update) { $fileNameConfig = $this->yellow->config->get("configDir").$this->yellow->config->get("configFile"); $fileData = $this->yellow->toolbox->readFile($fileNameConfig);