diff --git a/src/classes/Pollers/Profile.php b/src/classes/Pollers/Profile.php index ca43237..9b12aef 100644 --- a/src/classes/Pollers/Profile.php +++ b/src/classes/Pollers/Profile.php @@ -9,10 +9,6 @@ use Friendica\Directory\Utils\Network; */ class Profile { - const PROFILE_MISSING_REQUEST = 1; - const PROFILE_MISSING_CONFIRM = 2; - const PROFILE_MISSING_NOTIFY = 4; - const PROFILE_MISSING_POLL = 8; /** * @var \Atlas\Pdo\Connection @@ -175,21 +171,8 @@ class Profile } // This is most likely a problem with the site configuration. Ignore. - if ($error = self::validateParams($params)) { + if (self::validateParams($params)) { $this->logger->warning('Poll aborted, parameters invalid.', ['params' => $params]); - if ($error & Profile::PROFILE_MISSING_REQUEST) { - $this->logger->notice('dfrn-request parameter is empty.'); - } - if ($error & Profile::PROFILE_MISSING_CONFIRM) { - $this->logger->notice('dfrn-confirm parameter is empty.'); - } - if ($error & Profile::PROFILE_MISSING_NOTIFY) { - $this->logger->notice('dfrn-notify parameter is empty.'); - } - if ($error & Profile::PROFILE_MISSING_POLL) { - $this->logger->notice('dfrn-poll parameter is empty.'); - } - return false; } @@ -347,24 +330,23 @@ class Profile return true; } - /** - * @param array $params - * @return int - */ private static function validateParams(array $params): int { $errors = 0; + if (empty($params['key'])) { + $errors++; + } if (empty($params['dfrn-request'])) { - $errors &= self::PROFILE_MISSING_REQUEST; + $errors++; } if (empty($params['dfrn-confirm'])) { - $errors &= self::PROFILE_MISSING_CONFIRM; + $errors++; } if (empty($params['dfrn-notify'])) { - $errors &= self::PROFILE_MISSING_NOTIFY; + $errors++; } if (empty($params['dfrn-poll'])) { - $errors &= self::PROFILE_MISSING_POLL; + $errors++; } return $errors; diff --git a/src/classes/Utils/Scrape.php b/src/classes/Utils/Scrape.php index 2189b58..758147c 100644 --- a/src/classes/Utils/Scrape.php +++ b/src/classes/Utils/Scrape.php @@ -129,7 +129,7 @@ class Scrape $nodes_left = max(intval($max_nodes), $minNodes); $items = $dom->getElementsByTagName('*'); - $targets = array('fn', 'pdesc', 'photo', 'locality', 'region', 'postal-code', 'country-name'); + $targets = array('fn', 'pdesc', 'photo', 'key', 'locality', 'region', 'postal-code', 'country-name'); $targets_left = count($targets); foreach ($items as $item) { if (self::attributeContains($item->getAttribute('class'), 'vcard')) { @@ -147,6 +147,10 @@ class Scrape $params['photo'] = $vcard_element->getAttribute('src'); $targets_left = self::popScrapeTarget($targets, 'photo'); } + if (self::attributeContains($vcard_element->getAttribute('class'), 'key')) { + $params['key'] = $vcard_element->textContent; + $targets_left = self::popScrapeTarget($targets, 'key'); + } if (self::attributeContains($vcard_element->getAttribute('class'), 'locality')) { $params['locality'] = $vcard_element->textContent; $targets_left = self::popScrapeTarget($targets, 'locality'); diff --git a/src/sql/migrations/down/0005.sql b/src/sql/migrations/down/0005.sql new file mode 100644 index 0000000..777a78f --- /dev/null +++ b/src/sql/migrations/down/0005.sql @@ -0,0 +1,3 @@ +BEGIN; +ALTER TABLE `server` ADD `path` varchar(190) NOT NULL DEFAULT '' AFTER `base_url`; +COMMIT; diff --git a/src/sql/migrations/up/0006.sql b/src/sql/migrations/up/0006.sql new file mode 100644 index 0000000..3b4478b --- /dev/null +++ b/src/sql/migrations/up/0006.sql @@ -0,0 +1,3 @@ +BEGIN; +ALTER TABLE `server` DROP COLUMN `path`; +COMMIT;