Skip to content

Commit d15218a

Browse files
committed
Throw exception on createSnapshot() errors
1 parent d6e1571 commit d15218a

File tree

1 file changed

+35
-34
lines changed

1 file changed

+35
-34
lines changed

lib/Index.php

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -97,49 +97,50 @@ private static function fromSqlData(array $data): self
9797
return $dataset;
9898
}
9999

100+
/**
101+
* @throws \rex_sql_exception
102+
*/
100103
public static function createSnapshot(Url $url): bool
101104
{
102-
try {
103-
$url->setLastScan();
104-
$response = $url->getContent();
105-
$content = $response->getBody();
106-
107-
if ('HTML' === $url->getType()) {
108-
$content = preg_replace('/<script\b[^>]*>(.*?)<\/script>/is', '', $content);
109-
$content = preg_replace('/<style\b[^>]*>(.*?)<\/style>/is', '', $content);
110-
$content = preg_replace('/<noscript\b[^>]*>(.*?)<\/noscript>/is', '', $content);
111-
$content = strip_tags($content, ['img', 'video']);
112-
}
105+
$url->setLastScan();
106+
$response = $url->getContent();
107+
$content = $response->getBody();
108+
109+
if ('HTML' === $url->getType()) {
110+
$content = preg_replace('/<script\b[^>]*>(.*?)<\/script>/is', '', $content);
111+
$content = preg_replace('/<style\b[^>]*>(.*?)<\/style>/is', '', $content);
112+
$content = preg_replace('/<noscript\b[^>]*>(.*?)<\/noscript>/is', '', $content);
113+
$content = strip_tags($content, ['img', 'video']);
114+
}
113115

114-
$hash = md5($content);
116+
$hash = md5($content);
115117

116-
$sql = rex_sql::factory();
117-
$sql->setTable(rex::getTable('diff_detect_index'));
118-
$sql->setWhere('url_id = ? ORDER BY createdate DESC LIMIT 1', [$url->getId()]);
119-
$sql->select('id,`hash`');
118+
$sql = rex_sql::factory();
119+
$sql->setTable(rex::getTable('diff_detect_index'));
120+
$sql->setWhere('url_id = ? ORDER BY createdate DESC LIMIT 1', [$url->getId()]);
121+
$sql->select('id,`hash`');
120122

121-
if (0 !== ($sql->getRows() ?? 0) && $sql->getValue('hash') === $hash) {
122-
$sql->setTable(rex::getTable('diff_detect_index'));
123-
$sql->setValue('updatedate', date(rex_sql::FORMAT_DATETIME));
124-
$sql->setWhere('id = :id', ['id' => $sql->getValue('id')]);
125-
$sql->update();
126-
return false;
127-
}
123+
var_dump($sql->getValue('hash'));
128124

125+
if (0 !== ($sql->getRows() ?? 0) && $sql->getValue('hash') === $hash) {
129126
$sql->setTable(rex::getTable('diff_detect_index'));
130-
$sql->addGlobalCreateFields();
131-
$sql->addGlobalUpdateFields();
132-
$sql->setValue('url_id', $url->getId());
133-
$sql->setValue('content', $response->getBody());
134-
$sql->setValue('hash', $hash);
135-
$sql->setValue('header', $response->getHeader());
136-
$sql->setValue('statusCode', $response->getStatusCode());
137-
$sql->setValue('statusMessage', $response->getStatusMessage());
138-
$sql->insert();
139-
} catch (rex_socket_exception $e) {
140-
// throw new \rex_exception($e->getMessage());
127+
$sql->setValue('updatedate', date(rex_sql::FORMAT_DATETIME));
128+
$sql->setWhere('id = :id', ['id' => $sql->getValue('id')]);
129+
$sql->update();
141130
return false;
142131
}
132+
133+
$sql->setTable(rex::getTable('diff_detect_index'));
134+
$sql->addGlobalCreateFields();
135+
$sql->addGlobalUpdateFields();
136+
$sql->setValue('url_id', $url->getId());
137+
$sql->setValue('content', $response->getBody());
138+
$sql->setValue('hash', $hash);
139+
$sql->setValue('header', $response->getHeader());
140+
$sql->setValue('statusCode', $response->getStatusCode());
141+
$sql->setValue('statusMessage', $response->getStatusMessage());
142+
$sql->insert();
143+
143144
return true;
144145
}
145146

0 commit comments

Comments
 (0)