use Friendica\Core\Config;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
-use Friendica\Model\GlobalContact;
+use Friendica\Model\GContact;
+use Friendica\Model\Profile;
use Friendica\Network\Probe;
-use Friendica\Object\Profile;
use dba;
use DOMDocument;
-use DomXPath;
+use DOMXPath;
use Exception;
+require_once 'include/dba.php';
require_once 'include/datetime.php';
require_once 'include/network.php';
require_once 'include/html2bbcode.php';
-require_once 'include/Photo.php';
class PortableContact
{
"generation" => $generation);
try {
- $gcontact = GlobalContact::sanitize($gcontact);
- $gcid = GlobalContact::update($gcontact);
+ $gcontact = GContact::sanitize($gcontact);
+ $gcid = GContact::update($gcontact);
- GlobalContact::link($gcid, $uid, $cid, $zcid);
+ GContact::link($gcid, $uid, $cid, $zcid);
} catch (Exception $e) {
logger($e->getMessage(), LOGGER_DEBUG);
}
$contact = array_merge($contact, $noscrape);
- GlobalContact::update($contact);
+ GContact::update($contact);
if (trim($noscrape["updated"]) != "") {
q(
if (!$force && !self::updateNeeded($gcontacts[0]["created"], $gcontacts[0]["updated"], $gcontacts[0]["last_failure"], $gcontacts[0]["last_contact"])) {
logger("Profile ".$profile." was last updated at ".$gcontacts[0]["updated"]." (cached)", LOGGER_DEBUG);
- GlobalContact::update($contact);
+ GContact::update($contact);
return $gcontacts[0]["updated"];
}
$gcontact["server_url"] = $data["baseurl"];
try {
- $gcontact = GlobalContact::sanitize($gcontact);
- GlobalContact::update($gcontact);
+ $gcontact = GContact::sanitize($gcontact);
+ GContact::update($gcontact);
self::lastUpdated($data["url"], $force);
} catch (Exception $e) {
$contact["server_url"] = $data["baseurl"];
- GlobalContact::update($contact);
+ GContact::update($contact);
$feedret = z_fetch_url($data["poll"]);
$doc = new DOMDocument();
@$doc->loadXML($feedret["body"]);
- $xpath = new DomXPath($doc);
+ $xpath = new DOMXPath($doc);
$xpath->registerNamespace('atom', "http://www.w3.org/2005/Atom");
$entries = $xpath->query('/atom:feed/atom:entry');
$doc = new DOMDocument();
@$doc->loadHTML($body);
- $xpath = new DomXPath($doc);
+ $xpath = new DOMXPath($doc);
$list = $xpath->query("//meta[@name]");
// Disvover Mastodon servers
if (!Config::get('system', 'ostatus_disabled')) {
- $serverdata = fetch_url("https://instances.mastodon.xyz/instances.json");
-
- if ($serverdata) {
- $servers = json_decode($serverdata);
-
- foreach ($servers as $server) {
- $url = (is_null($server->https_score) ? 'http' : 'https').'://'.$server->name;
- Worker::add(PRIORITY_LOW, "DiscoverPoCo", "server", $url);
+ $accesstoken = Config::get('system', 'instances_social_key');
+ if (!empty($accesstoken)) {
+ $api = 'https://instances.social/api/1.0/instances/list?count=0';
+ $header = array('Authorization: Bearer '.$accesstoken);
+ $serverdata = z_fetch_url($api, false, $redirects, ['headers' => $header]);
+ if ($serverdata['success']) {
+ $servers = json_decode($serverdata['body']);
+ foreach ($servers->instances as $server) {
+ $url = (is_null($server->https_score) ? 'http' : 'https').'://'.$server->name;
+ Worker::add(PRIORITY_LOW, "DiscoverPoCo", "server", $url);
+ }
}
}
}
"generation" => $generation);
try {
- $gcontact = GlobalContact::sanitize($gcontact);
- GlobalContact::update($gcontact);
+ $gcontact = GContact::sanitize($gcontact);
+ GContact::update($gcontact);
} catch (Exception $e) {
logger($e->getMessage(), LOGGER_DEBUG);
}