New helper function fetch_header()

This commit is contained in:
Steffen Lange 2023-02-04 13:12:59 +01:00
parent 2e7927c057
commit b110ec8539
5 changed files with 13 additions and 11 deletions

View file

@ -21,19 +21,21 @@ abstract class PatchBase {
return $this->patch;
}
abstract function check() : bool;
protected function fetch(string $url, bool $text = true) : bool {
// HTTP GET
if ($text)
$str = $this->curl($url);
// HTTP HEAD
else
$str = $this->curl($url, array(array(CURLOPT_HEADER, true), array(CURLOPT_NOBODY, true)));
protected function fetch(string $url) : bool {
$str = $this->curl($url);
if ($str) {
$this->data = $str;
return true;
}
return false;
}
protected function fetch_header(string $url) : bool {
$str = $this->curl($url, array(array(CURLOPT_HEADER, true), array(CURLOPT_NOBODY, true)));
if ($str) {
$this->data = $str;
return true;
}
}
protected function fetch_json(string $url) : bool {
$str = $this->curl($url);
if ($str) {

View file

@ -5,7 +5,7 @@ class EMClient extends PatchBase {
parent::__construct('eM Client Inc.', 'eM Client', 'https://www.emclient.com/download?lang=en');
}
function check() : bool {
if ($this->fetch('https://www.emclient.com/dist/latest/setup.msi', false))
if ($this->fetch_header('https://www.emclient.com/dist/latest/setup.msi'))
return $this->parse('/filename=emclient-v([\d\.]+)\.msi/');
return false;
}

View file

@ -5,7 +5,7 @@ class PostgreSQL extends PatchBase {
parent::__construct('PostgreSQL Global Development Group', 'PostgreSQL', 'https://www.postgresql.org/download/');
}
function check() : bool {
if ($this->fetch('https://www.postgresql.org/ftp/latest/', false))
if ($this->fetch_header('https://www.postgresql.org/ftp/latest/'))
return $this->parse('/\/ftp\/source\/v([\d\.]+)/');
return false;
}

View file

@ -5,7 +5,7 @@ class Scilab extends PatchBase {
parent::__construct('ESI Group', 'Scilab', 'https://www.scilab.org/download');
}
function check() : bool {
if ($this->fetch('https://www.scilab.org/latest', false))
if ($this->fetch_header('https://www.scilab.org/latest'))
return $this->parse('/\/download\/scilab-([\d\.]+)/');
return false;
}

View file

@ -5,7 +5,7 @@ class Zoom extends PatchBase {
parent::__construct('Zoom Video Communications', 'Zoom', 'https://zoom.us/download');
}
function check() : bool {
if ($this->fetch('https://zoom.us/client/latest/ZoomInstaller.exe', false))
if ($this->fetch_header('https://zoom.us/client/latest/ZoomInstaller.exe'))
return $this->parse('/\/prod\/([\d\.]+)\/ZoomInstaller\.exe/');
return false;
}