}
}
- if (!$dryRun) {
+ if (!$dryRun && DI::config()->get('system', 'adjust_poll_frequency')) {
self::adjustPollFrequency($contact, $creation_dates);
}
$priority = 3; // Poll once a day
}
- if ($contact['priority'] != $priority) {
- Logger::notice('Adjusting priority', ['old' => $contact['priority'], 'new' => $priority, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]);
+ if ($contact['rating'] != $priority) {
+ Logger::notice('Adjusting priority', ['old' => $contact['rating'], 'new' => $priority, 'id' => $contact['id'], 'uid' => $contact['uid'], 'url' => $contact['url']]);
+ DBA::update('contact', ['rating' => $priority], ['id' => $contact['id']]);
}
}
Addon::reload();
$sql = "SELECT `contact`.`id`, `contact`.`nick`, `contact`.`name`, `contact`.`network`, `contact`.`archive`,
- `contact`.`last-update`, `contact`.`priority`, `contact`.`rel`, `contact`.`subhub`
+ `contact`.`last-update`, `contact`.`priority`, `contact`.`rating`, `contact`.`rel`, `contact`.`subhub`
FROM `user`
STRAIGHT_JOIN `contact`
ON `contact`.`uid` = `user`.`uid` AND `contact`.`poll` != ''
}
while ($contact = DBA::fetch($contacts)) {
+ // Use the "rating" field when auto adjusting the poll intervall
+ if (DI::config()->get('system', 'adjust_poll_frequency') && ($contact['network'] == Protocol::FEED)) {
+ $contact['priority'] = max($contact['rating'], $contact['priority']);
+ }
+
// Friendica and OStatus are checked once a day
if (in_array($contact['network'], [Protocol::DFRN, Protocol::OSTATUS])) {
$contact['priority'] = 3;
'php_path' => 'php',
],
'system' => [
+ // adjust_poll_frequency (Boolean)
+ // Automatically detect and set the best feed poll frequency.
+ 'adjust_poll_frequency' => false,
+
// allowed_link_protocols (Array)
// Allowed protocols in links URLs, add at your own risk. http(s) is always allowed.
'allowed_link_protocols' => ['ftp://', 'ftps://', 'mailto:', 'cid:', 'gopher://'],