|
|
@@ -304,13 +304,19 @@ SELECT id, url, kind, category, name, website, description, `lastUpdate`,
|
|
|
FROM `_feed`
|
|
|
SQL;
|
|
|
$stm = $this->pdo->query($sql);
|
|
|
- if ($stm === false) {
|
|
|
- return;
|
|
|
- }
|
|
|
- while ($row = $stm->fetch(PDO::FETCH_ASSOC)) {
|
|
|
- /** @var array{'id':int,'url':string,'kind':int,'category':int,'name':string,'website':string,'description':string,'lastUpdate':int,'priority'?:int,
|
|
|
- * 'pathEntries'?:string,'httpAuth':string,'error':int|bool,'ttl'?:int,'attributes'?:string} $row */
|
|
|
- yield $row;
|
|
|
+ if ($stm !== false) {
|
|
|
+ while ($row = $stm->fetch(PDO::FETCH_ASSOC)) {
|
|
|
+ /** @var array{'id':int,'url':string,'kind':int,'category':int,'name':string,'website':string,'description':string,'lastUpdate':int,'priority'?:int,
|
|
|
+ * 'pathEntries'?:string,'httpAuth':string,'error':int|bool,'ttl'?:int,'attributes'?:string} $row */
|
|
|
+ yield $row;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $info = $this->pdo->errorInfo();
|
|
|
+ if ($this->autoUpdateDb($info)) {
|
|
|
+ yield from $this->selectAll();
|
|
|
+ } else {
|
|
|
+ Minz_Log::error(__method__ . ' error: ' . json_encode($info));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|