From 132cf3c9587cd1022332b577c25864bc045b69c8 Mon Sep 17 00:00:00 2001 From: Steffen Lange Date: Wed, 5 Nov 2025 10:32:21 +0100 Subject: [PATCH 1/2] Add option to use last regex match --- PatchBase.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PatchBase.php b/PatchBase.php index 2fbfdbd..931df2f 100644 --- a/PatchBase.php +++ b/PatchBase.php @@ -81,8 +81,8 @@ abstract class PatchBase { } return false; } - protected function parse(string $re) : bool { - if ($str = $this->regex_str($re)) { + protected function parse(string $re, bool $last = false) : bool { + if ($str = $this->regex_str($re, $last)) { $this->patch->setVersion($str, true); return true; } @@ -156,10 +156,10 @@ abstract class PatchBase { // TODO - add option: $m = array_reverse($m); return $m; } - private function regex_str(string $pattern) { + private function regex_str(string $pattern, bool $last) { $m = $this->regex($pattern); if ($m) - return $m[0]; + return $last ? end($m) : $m[0]; return false; } } From 8dc42740e0ee24894220793157ee7a58d1f302fc Mon Sep 17 00:00:00 2001 From: Steffen Lange Date: Wed, 5 Nov 2025 10:35:21 +0100 Subject: [PATCH 2/2] Blender: parse directory listing due to bot protection --- modules/Blender.php | 14 -------------- modules/Blender45.php | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 14 deletions(-) delete mode 100644 modules/Blender.php create mode 100644 modules/Blender45.php diff --git a/modules/Blender.php b/modules/Blender.php deleted file mode 100644 index b79d7df..0000000 --- a/modules/Blender.php +++ /dev/null @@ -1,14 +0,0 @@ -fetch('https://www.blender.org/download/')) - return $this->parse('_//www\.blender\.org/download/release/Blender[\d\.]+/blender-([\d\.]+)-windows-x64\.msi_'); - return false; - } -} - -?> diff --git a/modules/Blender45.php b/modules/Blender45.php new file mode 100644 index 0000000..846ee0f --- /dev/null +++ b/modules/Blender45.php @@ -0,0 +1,15 @@ +patch->setBranch('4.5'); + } + function check() : bool { + if ($this->fetch('https://download.blender.org/release/Blender4.5/')) + return $this->parse('/>blender-([\d\.]+)\.sha256