Updated file handling

This commit is contained in:
markseu 2023-04-20 06:43:52 +02:00
parent 18c683f1f4
commit 4e337cc4f2
2 changed files with 15 additions and 11 deletions

View file

@ -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

View file

@ -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);
}