mikuli.cz

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

commit 93205fcbfc1a5ebde1767a5c36e97beef11ac5f9
parent 9ab2ad06e9fcffe7818527b8de692f1c0baec968
Author: markseu <mark2011@mayberg.se>
Date:   Wed, 21 Jun 2017 17:57:20 +0200

System update (detect new version)

Diffstat:
Msystem/config/config.ini | 2+-
Msystem/plugins/core.php | 8++++----
Msystem/plugins/update.php | 28++++++++++++++++++----------
3 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/system/config/config.ini b/system/config/config.ini @@ -48,7 +48,7 @@ Parser: markdown ParserSafeMode: 0 MultiLanguageMode: 0 InstallationMode: 1 -StartupUpdateNotification: none +StartupUpdate: none UpdatePluginsUrl: https://github.com/datenstrom/yellow-plugins UpdateThemesUrl: https://github.com/datenstrom/yellow-themes UpdateInformationFile: update.ini diff --git a/system/plugins/core.php b/system/plugins/core.php @@ -76,7 +76,7 @@ class YellowCore $this->config->setDefault("parserSafeMode", "0"); $this->config->setDefault("multiLanguageMode", "0"); $this->config->setDefault("installationMode", "0"); - $this->config->setDefault("startupUpdateNotification", "none"); + $this->config->setDefault("startupUpdate", "none"); } function __destruct() @@ -103,7 +103,7 @@ class YellowCore // Handle startup function startup() { - $tokens = explode(',', $this->config->get("startupUpdateNotification")); + $tokens = explode(',', $this->config->get("startupUpdate")); foreach($this->plugins->plugins as $key=>$value) { if(method_exists($value["obj"], "onStartup")) $value["obj"]->onStartup(in_array($value["plugin"], $tokens)); @@ -112,10 +112,10 @@ class YellowCore { if(method_exists($value["obj"], "onStartup")) $value["obj"]->onStartup(in_array($value["theme"], $tokens)); } - if($this->config->get("startupUpdateNotification")!="none") + if($this->config->get("startupUpdate")!="none") { $fileNameConfig = $this->config->get("configDir").$this->config->get("configFile"); - $this->config->update($fileNameConfig, array("startupUpdateNotification" => "none")); + $this->config->update($fileNameConfig, array("startupUpdate" => "none")); } if(defined("DEBUG") && DEBUG>=2) echo "YellowCore::startup<br/>\n"; } diff --git a/system/plugins/update.php b/system/plugins/update.php @@ -23,14 +23,11 @@ class YellowUpdate // Handle startup function onStartup($update) { - if(!$this->yellow->config->isExisting("startupUpdateNotification")) //TODO: remove later, detects old version + if(!$this->yellow->config->isExisting("startupUpdate")) //TODO: remove later, detects old version { $update = true; $fileNameConfig = $this->yellow->config->get("configDir").$this->yellow->config->get("configFile"); - $this->yellow->config->update($fileNameConfig, array("startupUpdateNotification" => "none")); - $fileData = $this->yellow->toolbox->readFile("yellow.php"); - $fileData = preg_replace("#yellow->plugins->load\(\)#", "yellow->load()", $fileData); - $this->yellow->toolbox->createFile("yellow.php", $fileData); + $this->yellow->config->update($fileNameConfig, array("startupUpdate" => "none")); } if($update) //TODO: remove later, converts old config { @@ -66,6 +63,16 @@ class YellowUpdate $_GET["clean-url"] = "theme-has-been-updated"; } } + if($update) //TODO: remove later, converts old script + { + $fileName = "yellow.php"; + if(is_file($fileName)) + { + $fileData = $this->yellow->toolbox->readFile($fileName); + $fileDataNew = preg_replace("#yellow->plugins->load\(\)#", "yellow->load()", $fileData); + if($fileData!=$fileDataNew) $this->yellow->toolbox->createFile($fileName, $fileDataNew); + } + } if($update) //TODO: remove later, converts old error page { $fileName = $this->yellow->config->get("configDir")."page-error-500.txt"; @@ -287,6 +294,7 @@ class YellowUpdate function updateSoftware($force = false) { $statusCode = 200; + opcache_reset(); $path = $this->yellow->config->get("pluginDir"); foreach($this->yellow->toolbox->getDirectoryEntries($path, "/^.*\.zip$/", true, false) as $entry) { @@ -469,12 +477,12 @@ class YellowUpdate function updateSoftwareNotification($software) { $statusCode = 200; - $startupUpdateNotification = $this->yellow->config->get("startupUpdateNotification"); - if($startupUpdateNotification=="none") $startupUpdateNotification = ""; - if(!empty($startupUpdateNotification)) $startupUpdateNotification .= ","; - $startupUpdateNotification .= $software; + $startupUpdate = $this->yellow->config->get("startupUpdate"); + if($startupUpdate=="none") $startupUpdate = ""; + if(!empty($startupUpdate)) $startupUpdate .= ","; + $startupUpdate .= $software; $fileNameConfig = $this->yellow->config->get("configDir").$this->yellow->config->get("configFile"); - if(!$this->yellow->config->update($fileNameConfig, array("startupUpdateNotification" => $startupUpdateNotification))) + if(!$this->yellow->config->update($fileNameConfig, array("startupUpdate" => $startupUpdate))) { $statusCode = 500; $this->yellow->page->error(500, "Can't write file '$fileNameConfig'!");