diff --git a/system/extensions/update-current.ini b/system/extensions/update-current.ini index c54efd6..ea0a218 100755 --- 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 index 5d2902e..4023889 100644 --- 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); }