mikuli.cz

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

commit 4e337cc4f2330cb42ce8e3339c4e4f45a34cf727
parent 18c683f1f4dd4519e720655d2552ffe571ed7fcf
Author: markseu <mark2011@mayberg.se>
Date:   Thu, 20 Apr 2023 06:43:52 +0200

Updated file handling

Diffstat:
Msystem/extensions/update-current.ini | 8++++----
Msystem/extensions/update.php | 18+++++++++++-------
2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/system/extensions/update-current.ini b/system/extensions/update-current.ini @@ -1,11 +1,11 @@ # Datenstrom Yellow update settings Extension: Core -Version: 0.8.108 +Version: 0.8.109 Description: Core functionality of the website. DocumentationUrl: https://github.com/annaesvensson/yellow-core DownloadUrl: https://github.com/datenstrom/yellow-extensions/raw/main/downloads/core.zip -Published: 2023-04-16 23:48:53 +Published: 2023-04-20 06:01:12 Developer: Mark Seuffert, David Fehrmann Tag: feature system/extensions/core.php: core.php, create, update @@ -121,11 +121,11 @@ 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.93 +Version: 0.8.94 Description: Keep your website up to date. DocumentationUrl: https://github.com/annaesvensson/yellow-update DownloadUrl: https://github.com/datenstrom/yellow-extensions/raw/main/downloads/update.zip -Published: 2023-04-16 23:51:15 +Published: 2023-04-19 20:46:53 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.93"; + const VERSION = "0.8.94"; const PRIORITY = "2"; public $yellow; // access to API public $extensions; // number of extensions @@ -82,13 +82,17 @@ class YellowUpdate { if ($text=="release") $output = "Datenstrom Yellow ".YellowCore::RELEASE; if ($text=="log") { $fileName = $this->yellow->system->get("coreExtensionDirectory").$this->yellow->system->get("coreWebsiteFile"); - $fileHandle = @fopen($fileName, "r"); + $fileHandle = @fopen($fileName, "rb"); if ($fileHandle) { - $dataBufferSize = 512; - fseek($fileHandle, max(0, filesize($fileName) - $dataBufferSize)); - $dataBuffer = fread($fileHandle, $dataBufferSize); - if (strlenb($dataBuffer)==$dataBufferSize) { - $dataBuffer = ($pos = strposu($dataBuffer, "\n")) ? substru($dataBuffer, $pos+1) : $dataBuffer; + clearstatcache(true, $fileName); + if (flock($fileHandle, LOCK_SH)) { + $dataBufferSize = 1024; + fseek($fileHandle, max(0, filesize($fileName) - $dataBufferSize)); + $dataBuffer = fread($fileHandle, $dataBufferSize); + if (strlenb($dataBuffer)==$dataBufferSize) { + $dataBuffer = ($pos = strposu($dataBuffer, "\n")) ? substru($dataBuffer, $pos+1) : $dataBuffer; + } + flock($fileHandle, LOCK_UN); } fclose($fileHandle); }