commit 93205fcbfc1a5ebde1767a5c36e97beef11ac5f9
parent 9ab2ad06e9fcffe7818527b8de692f1c0baec968
Author: markseu <mark2011@mayberg.se>
Date: Wed, 21 Jun 2017 17:57:20 +0200
System update (detect new version)
Diffstat:
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'!");