use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Model\GContact;
+use Friendica\Model\Contact;
+use Friendica\Model\GServer;
use Friendica\Network\Probe;
use Friendica\Protocol\PortableContact;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
+use Friendica\Util\Strings;
class DiscoverPoCo
{
if ($mode == 8) {
if ($param1 != "") {
- PortableContact::lastUpdated($param1, true);
+ GContact::updateFromProbe($param1, true);
}
} elseif ($mode == 7) {
if (!empty($param4)) {
return;
}
$server_url = filter_var($server_url, FILTER_SANITIZE_URL);
- if (substr(normalise_link($server_url), 0, 7) != "http://") {
+ if (substr(Strings::normaliseLink($server_url), 0, 7) != "http://") {
return;
}
$result = "Checking server ".$server_url." - ";
- $ret = PortableContact::checkServer($server_url);
+ $ret = GServer::check($server_url);
if ($ret) {
$result .= "success";
} else {
} elseif (($mode == 1) && ($search != "") && Config::get('system', 'poco_local_search')) {
self::discoverDirectory($search);
self::gsSearchUser($search);
- } elseif (($mode == 0) && ($search == "") && (Config::get('system', 'poco_discovery') > 0)) {
+ } elseif (($mode == 0) && ($search == "") && (Config::get('system', 'poco_discovery') != PortableContact::DISABLED)) {
// Query Friendica and Hubzilla servers for their users
PortableContact::discover();
$urlparts = parse_url($user["url"]);
if (!isset($urlparts["scheme"])) {
DBA::update('gcontact', ['network' => Protocol::PHANTOM],
- ['nurl' => normalise_link($user["url"])]);
+ ['nurl' => Strings::normaliseLink($user["url"])]);
continue;
}
$networks = ["twitter.com" => Protocol::TWITTER, "identi.ca" => Protocol::PUMPIO];
DBA::update('gcontact', ['network' => $networks[$urlparts["host"]]],
- ['nurl' => normalise_link($user["url"])]);
+ ['nurl' => Strings::normaliseLink($user["url"])]);
continue;
}
- $server_url = PortableContact::detectServer($user["url"]);
+ $server_url = Contact::getBasepath($user["url"]);
$force_update = false;
if ($user["server_url"] != "") {
- $force_update = (normalise_link($user["server_url"]) != normalise_link($server_url));
+ $force_update = (Strings::normaliseLink($user["server_url"]) != Strings::normaliseLink($server_url));
$server_url = $user["server_url"];
}
- if ((($server_url == "") && ($user["network"] == Protocol::FEED)) || $force_update || PortableContact::checkServer($server_url, $user["network"])) {
+ if ((($server_url == "") && ($user["network"] == Protocol::FEED)) || $force_update || GServer::check($server_url, $user["network"])) {
Logger::log('Check profile '.$user["url"]);
Worker::add(PRIORITY_LOW, "DiscoverPoCo", "check_profile", $user["url"]);
}
} else {
DBA::update('gcontact', ['last_failure' => DateTimeFormat::utcNow()],
- ['nurl' => normalise_link($user["url"])]);
+ ['nurl' => Strings::normaliseLink($user["url"])]);
}
// Quit the loop after 3 minutes
if (!empty($j->results)) {
foreach ($j->results as $jj) {
// Check if the contact already exists
- $exists = q("SELECT `id`, `last_contact`, `last_failure`, `updated` FROM `gcontact` WHERE `nurl` = '%s'", normalise_link($jj->url));
+ $exists = q("SELECT `id`, `last_contact`, `last_failure`, `updated` FROM `gcontact` WHERE `nurl` = '%s'", Strings::normaliseLink($jj->url));
if (DBA::isResult($exists)) {
Logger::log("Profile ".$jj->url." already exists (".$search.")", Logger::DEBUG);
continue;
}
// Update the contact
- PortableContact::lastUpdated($jj->url);
+ GContact::updateFromProbe($jj->url);
continue;
}
- $server_url = PortableContact::detectServer($jj->url);
+ $server_url = Contact::getBasepath($jj->url);
if ($server_url != '') {
- if (!PortableContact::checkServer($server_url)) {
+ if (!GServer::check($server_url)) {
Logger::log("Friendica server ".$server_url." doesn't answer.", Logger::DEBUG);
continue;
}
* @brief Search for GNU Social user with gstools.org
*
* @param string $search User name
+ * @return bool
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ * @throws \ImagickException
*/
private static function gsSearchUser($search) {