mikuli.cz

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

commit c9cac5ec7615fc3e646fe74607e40c87ecd71048
parent 6bd01732040939108649d5b104007a9090a59786
Author: markseu <mark2011@mayberg.se>
Date:   Wed, 20 Mar 2024 19:10:56 +0100

Updated extension, new way of handling updates

Diffstat:
Msystem/extensions/update-available.ini | 8++++----
Msystem/extensions/update-current.ini | 6+++---
Msystem/extensions/update-latest.ini | 10+++++-----
Msystem/extensions/update.php | 70+++++++++++++++++++++++++++++++++++-----------------------------------
4 files changed, 47 insertions(+), 47 deletions(-)

diff --git a/system/extensions/update-available.ini b/system/extensions/update-available.ini @@ -584,12 +584,12 @@ Developer: Steffen Schultz system/extensions/private.php: private.php, create, update Extension: Publish -Version: 0.8.70 +Version: 0.8.71 Description: Make and publish extensions. DownloadUrl: https://github.com/annaesvensson/yellow-publish/archive/refs/heads/main.zip DocumentationUrl: https://github.com/annaesvensson/yellow-publish DocumentationLanguage: en, de, sv -Published: 2023-12-11 18:37:01 +Published: 2024-03-20 17:52:19 Developer: Anna Svensson Tag: feature system/extensions/publish.php: publish.php, create, update @@ -745,12 +745,12 @@ Tag: language system/extensions/turkish.php: turkish.php, create, update Extension: Update -Version: 0.8.97 +Version: 0.8.98 Description: Keep your website up to date. DownloadUrl: https://github.com/annaesvensson/yellow-update/archive/refs/heads/main.zip DocumentationUrl: https://github.com/annaesvensson/yellow-update DocumentationLanguage: en, de, sv -Published: 2023-11-24 21:13:15 +Published: 2024-03-20 17:51:59 Developer: Anna Svensson Tag: feature system/extensions/update.php: update.php, create, update diff --git a/system/extensions/update-current.ini b/system/extensions/update-current.ini @@ -1,4 +1,4 @@ -# Datenstrom Yellow update settings +# Datenstrom Yellow update settings for installed extensions Extension: Core Version: 0.8.126 @@ -119,12 +119,12 @@ system/themes/stockholm-opensans-light.woff: stockholm-opensans-light.woff, crea system/themes/stockholm-opensans-regular.woff: stockholm-opensans-regular.woff, create, update, careful Extension: Update -Version: 0.8.97 +Version: 0.8.98 Description: Keep your website up to date. DownloadUrl: https://github.com/annaesvensson/yellow-update/archive/refs/heads/main.zip DocumentationUrl: https://github.com/annaesvensson/yellow-update DocumentationLanguage: en, de, sv -Published: 2023-11-24 21:13:15 +Published: 2024-03-20 17:51:59 Developer: Anna Svensson Tag: feature system/extensions/update.php: update.php, create, update diff --git a/system/extensions/update-latest.ini b/system/extensions/update-latest.ini @@ -1,4 +1,4 @@ -# Datenstrom Yellow update settings +# Datenstrom Yellow update settings for available extensions Extension: Anchor Version: 0.8.15 @@ -584,12 +584,12 @@ Developer: Steffen Schultz system/extensions/private.php: private.php, create, update Extension: Publish -Version: 0.8.70 +Version: 0.8.71 Description: Make and publish extensions. DownloadUrl: https://github.com/annaesvensson/yellow-publish/archive/refs/heads/main.zip DocumentationUrl: https://github.com/annaesvensson/yellow-publish DocumentationLanguage: en, de, sv -Published: 2023-12-11 18:37:01 +Published: 2024-03-20 17:52:19 Developer: Anna Svensson Tag: feature system/extensions/publish.php: publish.php, create, update @@ -745,12 +745,12 @@ Tag: language system/extensions/turkish.php: turkish.php, create, update Extension: Update -Version: 0.8.97 +Version: 0.8.98 Description: Keep your website up to date. DownloadUrl: https://github.com/annaesvensson/yellow-update/archive/refs/heads/main.zip DocumentationUrl: https://github.com/annaesvensson/yellow-update DocumentationLanguage: en, de, sv -Published: 2023-11-24 21:13:15 +Published: 2024-03-20 17:51:59 Developer: Anna Svensson Tag: feature system/extensions/update.php: update.php, create, update diff --git a/system/extensions/update.php b/system/extensions/update.php @@ -2,7 +2,7 @@ // Update extension, https://github.com/annaesvensson/yellow-update class YellowUpdate { - const VERSION = "0.8.97"; + const VERSION = "0.8.98"; const PRIORITY = "2"; public $yellow; // access to API public $extensions; // number of extensions @@ -11,8 +11,8 @@ class YellowUpdate { public function onLoad($yellow) { $this->yellow = $yellow; $this->yellow->system->setDefault("updateCurrentRelease", "none"); - $this->yellow->system->setDefault("updateLatestUrl", "auto"); - $this->yellow->system->setDefault("updateLatestFile", "update-latest.ini"); + $this->yellow->system->setDefault("updateAvailableUrl", "auto"); + $this->yellow->system->setDefault("updateAvailableFile", "update-available.ini"); $this->yellow->system->setDefault("updateCurrentFile", "update-current.ini"); $this->yellow->system->setDefault("updateExtensionFile", "extension.ini"); $this->yellow->system->setDefault("updateEventPending", "none"); @@ -73,7 +73,7 @@ class YellowUpdate { $output = null; if ($name=="yellow" && $type=="inline") { if ($text=="about") { - list($dummy, $settingsCurrent) = $this->getExtensionSettings(false); + list($dummy, $settingsCurrent) = $this->getExtensionSettings(true); $output = "Datenstrom Yellow ".YellowCore::RELEASE."<br />\n"; foreach ($settingsCurrent as $key=>$value) { $output .= ucfirst($key)." ".$value->get("version")."<br />\n"; @@ -117,7 +117,7 @@ class YellowUpdate { if ($statusCode>=400) echo "ERROR checking extensions: ".$this->yellow->page->errorMessage."\n"; } else { echo "Datenstrom Yellow ".YellowCore::RELEASE."\n"; - list($statusCode, $settingsCurrent) = $this->getExtensionSettings(false); + list($statusCode, $settingsCurrent) = $this->getExtensionSettings(true); foreach ($settingsCurrent as $key=>$value) { echo ucfirst($key)." ".$value->get("version")."\n"; } @@ -137,8 +137,8 @@ class YellowUpdate { echo "Yellow $command: Website ".($statusCode!=200 ? "not " : "")."updated"; echo ", $this->extensions extension".($this->extensions!=1 ? "s" : "")." installed\n"; } else { - list($statusCode, $settingsLatest) = $this->getExtensionSettings(true); - foreach ($settingsLatest as $key=>$value) { + list($statusCode, $settingsAvailable) = $this->getExtensionSettings(false); + foreach ($settingsAvailable as $key=>$value) { echo ucfirst($key)." - ".$this->getExtensionDescription($key, $value)."\n"; } if ($statusCode!=200) echo "ERROR checking extensions: ".$this->yellow->page->errorMessage."\n"; @@ -157,7 +157,7 @@ class YellowUpdate { echo "Yellow $command: Website ".($statusCode!=200 ? "not " : "")."updated"; echo ", $this->extensions extension".($this->extensions!=1 ? "s" : "")." uninstalled\n"; } else { - list($statusCode, $settingsCurrent) = $this->getExtensionSettings(false); + list($statusCode, $settingsCurrent) = $this->getExtensionSettings(true); foreach ($settingsCurrent as $key=>$value) { echo ucfirst($key)." - ".$this->getExtensionDescription($key, $value)."\n"; } @@ -657,7 +657,7 @@ class YellowUpdate { // Return extension about information public function getExtensionAboutInformation($extensions) { $settings = array(); - list($statusCode, $settingsCurrent) = $this->getExtensionSettings(false); + list($statusCode, $settingsCurrent) = $this->getExtensionSettings(true); $settingsCurrent["Datenstrom Yellow"] = new YellowArray(); $settingsCurrent["Datenstrom Yellow"]["version"] = YellowCore::RELEASE; $settingsCurrent["Datenstrom Yellow"]["description"] = "Datenstrom Yellow is for people who make small websites."; @@ -683,14 +683,14 @@ class YellowUpdate { // Return extension install information public function getExtensionInstallInformation($extensions) { $settings = array(); - list($statusCodeCurrent, $settingsCurrent) = $this->getExtensionSettings(false); - list($statusCodeLatest, $settingsLatest) = $this->getExtensionSettings(true); - $statusCode = max($statusCodeCurrent, $statusCodeLatest); + list($statusCodeCurrent, $settingsCurrent) = $this->getExtensionSettings(true); + list($statusCodeAvailable, $settingsAvailable) = $this->getExtensionSettings(false); + $statusCode = max($statusCodeCurrent, $statusCodeAvailable); foreach ($extensions as $extension) { $found = false; - foreach ($settingsLatest as $key=>$value) { + foreach ($settingsAvailable as $key=>$value) { if (strtoloweru($key)==strtoloweru($extension)) { - if (!$settingsCurrent->isExisting($key)) $settings[$key] = $settingsLatest[$key]; + if (!$settingsCurrent->isExisting($key)) $settings[$key] = $settingsAvailable[$key]; $found = true; break; } @@ -706,7 +706,7 @@ class YellowUpdate { // Return extension about information public function getExtensionUninstallInformation($extensions, $extensionsProtected = "") { $settings = array(); - list($statusCode, $settingsCurrent) = $this->getExtensionSettings(false); + list($statusCode, $settingsCurrent) = $this->getExtensionSettings(true); foreach ($extensions as $extension) { $found = false; foreach ($settingsCurrent as $key=>$value) { @@ -731,16 +731,16 @@ class YellowUpdate { // Return extension update information public function getExtensionUpdateInformation($extensions) { $settings = array(); - list($statusCodeCurrent, $settingsCurrent) = $this->getExtensionSettings(false); - list($statusCodeLatest, $settingsLatest) = $this->getExtensionSettings(true); - $statusCode = max($statusCodeCurrent, $statusCodeLatest); + list($statusCodeCurrent, $settingsCurrent) = $this->getExtensionSettings(true); + list($statusCodeAvailable, $settingsAvailable) = $this->getExtensionSettings(false); + $statusCode = max($statusCodeCurrent, $statusCodeAvailable); if (in_array("all", $extensions)) { foreach ($settingsCurrent as $key=>$value) { - if ($settingsLatest->isExisting($key)) { + if ($settingsAvailable->isExisting($key)) { $versionCurrent = $settingsCurrent[$key]->get("version"); - $versionLatest = $settingsLatest[$key]->get("version"); - if (strnatcasecmp($versionCurrent, $versionLatest)<0) { - $settings[$key] = $settingsLatest[$key]; + $versionAvailable = $settingsAvailable[$key]->get("version"); + if (strnatcasecmp($versionCurrent, $versionAvailable)<0) { + $settings[$key] = $settingsAvailable[$key]; } } } @@ -748,11 +748,11 @@ class YellowUpdate { foreach ($extensions as $extension) { $found = false; foreach ($settingsCurrent as $key=>$value) { - if (strtoloweru($key)==strtoloweru($extension) && $settingsLatest->isExisting($key)) { + if (strtoloweru($key)==strtoloweru($extension) && $settingsAvailable->isExisting($key)) { $versionCurrent = $settingsCurrent[$key]->get("version"); - $versionLatest = $settingsLatest[$key]->get("version"); - if (strnatcasecmp($versionCurrent, $versionLatest)<0) { - $settings[$key] = $settingsLatest[$key]; + $versionAvailable = $settingsAvailable[$key]->get("version"); + if (strnatcasecmp($versionCurrent, $versionAvailable)<0) { + $settings[$key] = $settingsAvailable[$key]; } $found = true; break; @@ -768,10 +768,10 @@ class YellowUpdate { } // Return extension settings - public function getExtensionSettings($latest) { + public function getExtensionSettings($current) { $statusCode = 200; $settings = array(); - if (!$latest) { + if ($current) { $fileNameCurrent = $this->yellow->system->get("coreExtensionDirectory").$this->yellow->system->get("updateCurrentFile"); $fileData = $this->yellow->toolbox->readFile($fileNameCurrent); $settings = $this->yellow->toolbox->getTextSettings($fileData, "extension"); @@ -784,18 +784,18 @@ class YellowUpdate { $settings[$key]["version"] = $value["version"]; } } else { - $fileNameLatest = $this->yellow->system->get("coreExtensionDirectory").$this->yellow->system->get("updateLatestFile"); - $expire = $this->yellow->toolbox->getFileModified($fileNameLatest) + 60*10; + $fileNameAvailable = $this->yellow->system->get("coreExtensionDirectory").$this->yellow->system->get("updateAvailableFile"); + $expire = $this->yellow->toolbox->getFileModified($fileNameAvailable) + 60*10; if ($expire<=time()) { - $url = $this->yellow->system->get("updateLatestUrl"); - if ($url=="auto") $url = "https://raw.githubusercontent.com/datenstrom/yellow/main/system/extensions/update-latest.ini"; + $url = $this->yellow->system->get("updateAvailableUrl"); + if ($url=="auto") $url = "https://raw.githubusercontent.com/datenstrom/yellow/main/system/extensions/update-available.ini"; list($statusCode, $fileData) = $this->getExtensionFile($url); - if ($statusCode==200 && !$this->yellow->toolbox->createFile($fileNameLatest, $fileData)) { + if ($statusCode==200 && !$this->yellow->toolbox->createFile($fileNameAvailable, $fileData)) { $statusCode = 500; - $this->yellow->page->error($statusCode, "Can't write file '$fileNameLatest'!"); + $this->yellow->page->error($statusCode, "Can't write file '$fileNameAvailable'!"); } } - $fileData = $this->yellow->toolbox->readFile($fileNameLatest); + $fileData = $this->yellow->toolbox->readFile($fileNameAvailable); $settings = $this->yellow->toolbox->getTextSettings($fileData, "extension"); } $settings->uksort("strnatcasecmp");