mikuli.cz

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

commit 5d9eb5d08bf52a0988fbe4e7bf885afcf44c3b9c
parent 3433e30179fa29161123d437d26eb62edd5c9c3e
Author: markseu <mark2011@mayberg.se>
Date:   Wed,  3 Oct 2018 13:24:52 +0200

Updated static site generator, detects URL of static web hosting

Diffstat:
Msystem/config/config.ini | 1-
Msystem/plugins/core.php | 1-
Msystem/plugins/setup.php | 56+++++++++++++++++++++++++++++++-------------------------
3 files changed, 31 insertions(+), 27 deletions(-)

diff --git a/system/config/config.ini b/system/config/config.ini @@ -53,7 +53,6 @@ Tagline: Parser: markdown MultiLanguageMode: 0 SafeMode: 0 -SetupMode: 1 BundleAndMinify: 1 EditLocation: /edit/ EditUploadNewLocation: /media/@group/@filename diff --git a/system/plugins/core.php b/system/plugins/core.php @@ -78,7 +78,6 @@ class YellowCore { $this->config->setDefault("parser", "markdown"); $this->config->setDefault("multiLanguageMode", "0"); $this->config->setDefault("safeMode", "0"); - $this->config->setDefault("setupMode", "0"); } public function __destruct() { diff --git a/system/plugins/setup.php b/system/plugins/setup.php @@ -1,10 +1,10 @@ <?php -// Setup plugin, https://github.com/datenstrom/yellow +// Setup plugin, https://github.com/datenstrom/yellow-plugins/tree/master/setup // Copyright (c) 2013-2018 Datenstrom, https://datenstrom.se // This file may be used and distributed under the terms of the public license. class YellowSetup { - const VERSION = "0.7.3"; + const VERSION = "0.7.4"; public $yellow; //access to API // Handle initialisation @@ -15,7 +15,7 @@ class YellowSetup { // Handle request public function onRequest($scheme, $address, $base, $location, $fileName) { $statusCode = 0; - if ($this->yellow->lookup->isContentFile($fileName) && $this->yellow->config->get("setupMode")) { + if ($this->yellow->lookup->isContentFile($fileName)) { $server = $this->yellow->toolbox->getServerVersion(true); $this->checkServerRewrite($scheme, $address, $base, $location, $fileName) || die("Datenstrom Yellow requires $server rewrite module!"); $this->checkServerAccess() || die("Datenstrom Yellow requires $server read/write access!"); @@ -26,16 +26,14 @@ class YellowSetup { // Handle command public function onCommand($args) { - $statusCode = 0; - if ($this->yellow->config->get("setupMode")) $statusCode = $this->processCommandSetup(); - return $statusCode; + return $this->processCommandSetup(); } // Process command to set up website public function processCommandSetup() { $statusCode = $this->updateLanguage(); - if ($statusCode==200) $statusCode = $this->updateFeature("none"); - if ($statusCode==200) $statusCode = $this->updateConfig(array("setupMode" => "0")); + if ($statusCode==200) $statusCode = $this->updateConfig($this->getConfigData()); + if ($statusCode==200) $statusCode = $this->removeSetup(); if ($statusCode==200) { $statusCode = 0; } else { @@ -64,7 +62,8 @@ class YellowSetup { if ($status=="ok") $status = $this->updateFeature($feature)==200 ? "ok" : "error"; if ($status=="ok") $status = $this->updateContent($language, "Home", "/")==200 ? "ok" : "error"; if ($status=="ok") $status = $this->updateContent($language, "About", "/about/")==200 ? "ok" : "error"; - if ($status=="ok") $status = $this->updateConfig($this->getConfigData()) ? "done" : "error"; + if ($status=="ok") $status = $this->updateConfig($this->getConfigData()) ? "ok" : "error"; + if ($status=="ok") $status = $this->removeSetup() ? "done" : "error"; if ($status=="done") { $location = $this->yellow->lookup->normaliseUrl($scheme, $address, $base, $location); $statusCode = $this->yellow->sendStatus(303, $location); @@ -117,10 +116,6 @@ class YellowSetup { if ($statusCode==200) { $this->yellow->text->load($this->yellow->config->get("pluginDir").$this->yellow->config->get("languageFile"), ""); } - if ($statusCode==200 && !$this->yellow->toolbox->deleteFile($path)) { - $statusCode = 500; - $this->yellow->page->error($statusCode, "Can't delete file '$path'!"); - } } else { $statusCode = 500; $this->yellow->page->error(500, "Can't open file '$path'!"); @@ -154,16 +149,6 @@ class YellowSetup { } } } - if ($statusCode==200) { - foreach ($this->yellow->toolbox->getDirectoryEntries($path, "/^.*\.zip$/", true, false) as $entry) { - if (preg_match("/^setup-(.*?)\./", basename($entry), $matches)) { - if (!$this->yellow->toolbox->deleteFile($entry)) { - $statusCode = 500; - $this->yellow->page->error($statusCode, "Can't delete file '$entry'!"); - } - } - } - } return $statusCode; } @@ -198,6 +183,28 @@ class YellowSetup { return $statusCode; } + // Remove setup + public function removeSetup() { + $statusCode = 200; + if (function_exists("opcache_reset")) opcache_reset(); + $path = $this->yellow->config->get("pluginDir"); + foreach ($this->yellow->toolbox->getDirectoryEntries($path, "/^.*\.zip$/", true, false) as $entry) { + if (preg_match("/^setup-(.*?)\./", basename($entry), $matches)) { + if (!$this->yellow->toolbox->deleteFile($entry)) { + $statusCode = 500; + $this->yellow->page->error($statusCode, "Can't delete file '$entry'!"); + } + } + } + $path = $this->yellow->config->get("pluginDir")."setup.php"; + if ($statusCode==200 && !$this->yellow->toolbox->deleteFile($path)) { + $statusCode = 500; + $this->yellow->page->error($statusCode, "Can't delete file '$path'!"); + } + if ($statusCode==200) unset($this->yellow->plugins->plugins["setup"]); + return $statusCode; + } + // Check web server rewrite public function checkServerRewrite($scheme, $address, $base, $location, $fileName) { $curlHandle = curl_init(); @@ -241,10 +248,9 @@ class YellowSetup { if (!$this->yellow->config->isExisting($key)) continue; $data[$key] = trim($value); } - if ($this->yellow->config->get("sitename")=="Datenstrom Yellow") $data["sitename"] = $_REQUEST["name"]; $data["timezone"] = $this->yellow->toolbox->getTimezone(); $data["staticUrl"] = $this->yellow->toolbox->getServerUrl(); - $data["setupMode"] = "0"; + if ($this->yellow->isCommandLine()) $data["staticUrl"] = getenv("URL"); return $data; }