deal with phpstan warnings in plugins/cache_starred_images.php
This commit is contained in:
parent
931a7533ce
commit
91c9a73532
|
@ -1,11 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
class Cache_Starred_Images extends Plugin {
|
class Cache_Starred_Images extends Plugin {
|
||||||
|
|
||||||
/* @var PluginHost $host */
|
/** @var PluginHost $host */
|
||||||
private $host;
|
private $host;
|
||||||
/* @var DiskCache $cache */
|
|
||||||
|
/** @var DiskCache $cache */
|
||||||
private $cache;
|
private $cache;
|
||||||
private $max_cache_attempts = 5; // per-article
|
|
||||||
|
/** @var int $max_cache_attempts (per article) */
|
||||||
|
private $max_cache_attempts = 5;
|
||||||
|
|
||||||
function about() {
|
function about() {
|
||||||
return array(null,
|
return array(null,
|
||||||
|
@ -32,8 +35,8 @@ class Cache_Starred_Images extends Plugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** since HOOK_UPDATE_TASK is not available to user plugins, this hook is a next best thing */
|
||||||
function hook_house_keeping() {
|
function hook_house_keeping() {
|
||||||
/* since HOOK_UPDATE_TASK is not available to user plugins, this hook is a next best thing */
|
|
||||||
|
|
||||||
Debug::log("caching media of starred articles for user " . $this->host->get_owner_uid() . "...");
|
Debug::log("caching media of starred articles for user " . $this->host->get_owner_uid() . "...");
|
||||||
|
|
||||||
|
@ -53,7 +56,7 @@ class Cache_Starred_Images extends Plugin {
|
||||||
$usth = $this->pdo->prepare("UPDATE ttrss_entries SET plugin_data = ? WHERE id = ?");
|
$usth = $this->pdo->prepare("UPDATE ttrss_entries SET plugin_data = ? WHERE id = ?");
|
||||||
|
|
||||||
while ($line = $sth->fetch()) {
|
while ($line = $sth->fetch()) {
|
||||||
Debug::log("processing article " . $line["title"], Debug::$LOG_VERBOSE);
|
Debug::log("processing article " . $line["title"], Debug::LOG_VERBOSE);
|
||||||
|
|
||||||
if ($line["site_url"]) {
|
if ($line["site_url"]) {
|
||||||
$success = $this->cache_article_images($line["content"], $line["site_url"], $line["owner_uid"], $line["id"]);
|
$success = $this->cache_article_images($line["content"], $line["site_url"], $line["owner_uid"], $line["id"]);
|
||||||
|
@ -115,7 +118,7 @@ class Cache_Starred_Images extends Plugin {
|
||||||
|
|
||||||
foreach ($entries as $entry) {
|
foreach ($entries as $entry) {
|
||||||
if ($entry->hasAttribute('src')) {
|
if ($entry->hasAttribute('src')) {
|
||||||
$src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
|
$src = UrlHelper::rewrite_relative($site_url, $entry->getAttribute('src'));
|
||||||
|
|
||||||
$local_filename = $article_id . "-" . sha1($src);
|
$local_filename = $article_id . "-" . sha1($src);
|
||||||
|
|
||||||
|
@ -130,11 +133,11 @@ class Cache_Starred_Images extends Plugin {
|
||||||
return $doc;
|
return $doc;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function cache_url($article_id, $url) {
|
private function cache_url(int $article_id, string $url) : bool {
|
||||||
$local_filename = $article_id . "-" . sha1($url);
|
$local_filename = $article_id . "-" . sha1($url);
|
||||||
|
|
||||||
if (!$this->cache->exists($local_filename)) {
|
if (!$this->cache->exists($local_filename)) {
|
||||||
Debug::log("cache_images: downloading: $url to $local_filename", Debug::$LOG_VERBOSE);
|
Debug::log("cache_images: downloading: $url to $local_filename", Debug::LOG_VERBOSE);
|
||||||
|
|
||||||
$data = UrlHelper::fetch(["url" => $url, "max_size" => Config::get(Config::MAX_CACHE_FILE_SIZE)]);
|
$data = UrlHelper::fetch(["url" => $url, "max_size" => Config::get(Config::MAX_CACHE_FILE_SIZE)]);
|
||||||
|
|
||||||
|
@ -150,16 +153,16 @@ class Cache_Starred_Images extends Plugin {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function cache_article_images($content, $site_url, $owner_uid, $article_id) {
|
private function cache_article_images(string $content, string $site_url, int $owner_uid, int $article_id) : bool {
|
||||||
$status_filename = $article_id . "-" . sha1($site_url) . ".status";
|
$status_filename = $article_id . "-" . sha1($site_url) . ".status";
|
||||||
|
|
||||||
/* housekeeping might run as a separate user, in this case status/media might not be writable */
|
/* housekeeping might run as a separate user, in this case status/media might not be writable */
|
||||||
if (!$this->cache->is_writable($status_filename)) {
|
if (!$this->cache->is_writable($status_filename)) {
|
||||||
Debug::log("status not writable: $status_filename", Debug::$LOG_VERBOSE);
|
Debug::log("status not writable: $status_filename", Debug::LOG_VERBOSE);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug::log("status: $status_filename", Debug::$LOG_VERBOSE);
|
Debug::log("status: $status_filename", Debug::LOG_VERBOSE);
|
||||||
|
|
||||||
if ($this->cache->exists($status_filename))
|
if ($this->cache->exists($status_filename))
|
||||||
$status = json_decode($this->cache->get($status_filename), true);
|
$status = json_decode($this->cache->get($status_filename), true);
|
||||||
|
@ -170,7 +173,7 @@ class Cache_Starred_Images extends Plugin {
|
||||||
|
|
||||||
// only allow several download attempts for article
|
// only allow several download attempts for article
|
||||||
if ($status["attempt"] > $this->max_cache_attempts) {
|
if ($status["attempt"] > $this->max_cache_attempts) {
|
||||||
Debug::log("too many attempts for $site_url", Debug::$LOG_VERBOSE);
|
Debug::log("too many attempts for $site_url", Debug::LOG_VERBOSE);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,7 +197,7 @@ class Cache_Starred_Images extends Plugin {
|
||||||
|
|
||||||
$has_images = true;
|
$has_images = true;
|
||||||
|
|
||||||
$src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
|
$src = UrlHelper::rewrite_relative($site_url, $entry->getAttribute('src'));
|
||||||
|
|
||||||
if ($this->cache_url($article_id, $src)) {
|
if ($this->cache_url($article_id, $src)) {
|
||||||
$success = true;
|
$success = true;
|
||||||
|
@ -210,7 +213,7 @@ class Cache_Starred_Images extends Plugin {
|
||||||
while ($enc = $esth->fetch()) {
|
while ($enc = $esth->fetch()) {
|
||||||
|
|
||||||
$has_images = true;
|
$has_images = true;
|
||||||
$url = rewrite_relative_url($site_url, $enc["content_url"]);
|
$url = UrlHelper::rewrite_relative($site_url, $enc["content_url"]);
|
||||||
|
|
||||||
if ($this->cache_url($article_id, $url)) {
|
if ($this->cache_url($article_id, $url)) {
|
||||||
$success = true;
|
$success = true;
|
||||||
|
|
Loading…
Reference in New Issue