X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FOStatus.php;h=1ff13c55db3eae097cb641778f26e563811b74a6;hb=25fbdd21c5a4bbf38c52f9275c126e9ef687b61d;hp=6a87d476149455d6972f740f7f66cbeb9b4d3bac;hpb=39ff6e9ce9251fe69b56ba05ea7bdc1896f34de2;p=friendica.git diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index 6a87d47614..1ff13c55db 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -4,23 +4,27 @@ */ namespace Friendica\Protocol; -use Friendica\App; +use Friendica\Content\Text\BBCode; use Friendica\Core\Cache; use Friendica\Core\Config; +use Friendica\Core\L10n; use Friendica\Core\System; use Friendica\Database\DBM; use Friendica\Model\Contact; +use Friendica\Model\Conversation; use Friendica\Model\GContact; +use Friendica\Model\Item; use Friendica\Network\Probe; use Friendica\Object\Image; +use Friendica\Util\DateTimeFormat; use Friendica\Util\Lock; +use Friendica\Util\Network; use Friendica\Util\XML; use dba; use DOMDocument; use DOMXPath; require_once 'include/dba.php'; -require_once 'include/threads.php'; require_once 'include/html2bbcode.php'; require_once 'include/bbcode.php'; require_once 'include/items.php'; @@ -194,7 +198,7 @@ class OStatus $contact["location"] = $value; } - $contact['name-date'] = datetime_convert(); + $contact['name-date'] = DateTimeFormat::utcNow(); dba::update('contact', $contact, ['id' => $contact["id"]], $current); @@ -215,7 +219,7 @@ class OStatus 'nurl' => normalise_link($author["author-link"]), 'nick' => $contact["nick"], 'alias' => $contact["alias"], 'about' => $contact["about"], 'location' => $contact["location"], - 'success_update' => datetime_convert(), 'last-update' => datetime_convert()]; + 'success_update' => DateTimeFormat::utcNow(), 'last-update' => DateTimeFormat::utcNow()]; dba::update('contact', $fields, ['id' => $cid], $old_contact); @@ -451,12 +455,12 @@ class OStatus } if ($item["verb"] == ACTIVITY_FOLLOW) { - new_follower($importer, $contact, $item, $nickname); + Contact::addRelationship($importer, $contact, $item, $nickname); continue; } if ($item["verb"] == NAMESPACE_OSTATUS."/unfollow") { - lose_follower($importer, $contact, $item, $dummy); + Contact::removeFollower($importer, $contact, $item, $dummy); continue; } @@ -517,12 +521,12 @@ class OStatus logger("Item with uri ".$item["uri"]." is from a blocked contact.", LOGGER_DEBUG); } else { // We are having duplicated entries. Hopefully this solves it. - if (Lock::set('ostatus_process_item_store')) { - $ret = item_store($item); - Lock::remove('ostatus_process_item_store'); + if (Lock::set('ostatus_process_item_insert')) { + $ret = Item::insert($item); + Lock::remove('ostatus_process_item_insert'); logger("Item with uri ".$item["uri"]." for user ".$importer["uid"].' stored. Return value: '.$ret); } else { - $ret = item_store($item); + $ret = Item::insert($item); logger("We couldn't lock - but tried to store the item anyway. Return value is ".$ret); } } @@ -548,16 +552,7 @@ class OStatus return; } - // Currently we don't have a central deletion function that we could use in this case - // The function "item_drop" doesn't work for that case - dba::update( - 'item', - ['deleted' => true, 'title' => '', 'body' => '', - 'edited' => datetime_convert(), 'changed' => datetime_convert()], - ['id' => $deleted["id"]] - ); - - delete_thread($deleted["id"], $deleted["parent-uri"]); + Item::deleteById($deleted["id"]); logger('Deleted item with uri '.$item['uri'].' for user '.$item['uid']); } @@ -700,7 +695,7 @@ class OStatus } if (($item['author-link'] != '') && !empty($item['protocol'])) { - $item = store_conversation($item); + $item = Conversation::insert($item); } self::$itemlist[] = $item; @@ -722,7 +717,7 @@ class OStatus self::$conv_list[$conversation] = true; - $conversation_data = z_fetch_url($conversation, false, $redirects, ['accept_content' => 'application/atom+xml, text/html']); + $conversation_data = Network::curl($conversation, false, $redirects, ['accept_content' => 'application/atom+xml, text/html']); if (!$conversation_data['success']) { return; @@ -750,7 +745,7 @@ class OStatus } } if ($file != '') { - $conversation_atom = z_fetch_url($attribute['href']); + $conversation_atom = Network::curl($attribute['href']); if ($conversation_atom['success']) { $xml = $conversation_atom['body']; @@ -843,7 +838,7 @@ class OStatus } logger('Store conversation data for uri '.$conv_data['uri'], LOGGER_DEBUG); - store_conversation($conv_data); + Conversation::insert($conv_data); } } @@ -866,7 +861,7 @@ class OStatus return; } - $self_data = z_fetch_url($self); + $self_data = Network::curl($self); if (!$self_data['success']) { return; @@ -911,7 +906,7 @@ class OStatus } $stored = false; - $related_data = z_fetch_url($related, false, $redirects, ['accept_content' => 'application/atom+xml, text/html']); + $related_data = Network::curl($related, false, $redirects, ['accept_content' => 'application/atom+xml, text/html']); if (!$related_data['success']) { return; @@ -942,7 +937,7 @@ class OStatus } } if ($atom_file != '') { - $related_atom = z_fetch_url($atom_file); + $related_atom = Network::curl($atom_file); if ($related_atom['success']) { logger('Fetched XML for URI '.$related_uri, LOGGER_DEBUG); @@ -954,7 +949,7 @@ class OStatus // Workaround for older GNU Social servers if (($xml == '') && strstr($related, '/notice/')) { - $related_atom = z_fetch_url(str_replace('/notice/', '/api/statuses/show/', $related).'.atom'); + $related_atom = Network::curl(str_replace('/notice/', '/api/statuses/show/', $related).'.atom'); if ($related_atom['success']) { logger('GNU Social workaround to fetch XML for URI '.$related_uri, LOGGER_DEBUG); @@ -965,7 +960,7 @@ class OStatus // Even more worse workaround for GNU Social ;-) if ($xml == '') { $related_guess = OStatus::convertHref($related_uri); - $related_atom = z_fetch_url(str_replace('/notice/', '/api/statuses/show/', $related_guess).'.atom'); + $related_atom = Network::curl(str_replace('/notice/', '/api/statuses/show/', $related_guess).'.atom'); if ($related_atom['success']) { logger('GNU Social workaround 2 to fetch XML for URI '.$related_uri, LOGGER_DEBUG); @@ -1203,7 +1198,7 @@ class OStatus */ private static function formatPicturePost($body) { - $siteinfo = get_attached_data($body); + $siteinfo = BBCode::getAttachedData($body); if (($siteinfo["type"] == "photo")) { if (isset($siteinfo["preview"])) { @@ -1257,9 +1252,9 @@ class OStatus $root->setAttribute("xmlns:mastodon", NAMESPACE_MASTODON); switch ($filter) { - case 'activity': $title = t('%s\'s timeline', $owner['name']); break; - case 'posts' : $title = t('%s\'s posts' , $owner['name']); break; - case 'comments': $title = t('%s\'s comments', $owner['name']); break; + case 'activity': $title = L10n::t('%s\'s timeline', $owner['name']); break; + case 'posts' : $title = L10n::t('%s\'s posts' , $owner['name']); break; + case 'comments': $title = L10n::t('%s\'s comments', $owner['name']); break; } $attributes = ["uri" => "https://friendi.ca", "version" => FRIENDICA_VERSION . "-" . DB_UPDATE_VERSION]; @@ -1268,7 +1263,7 @@ class OStatus XML::addElement($doc, $root, "title", $title); XML::addElement($doc, $root, "subtitle", sprintf("Updates from %s on %s", $owner["name"], $a->config["sitename"])); XML::addElement($doc, $root, "logo", $owner["photo"]); - XML::addElement($doc, $root, "updated", datetime_convert("UTC", "UTC", "now", ATOM_TIME)); + XML::addElement($doc, $root, "updated", DateTimeFormat::utcNow(DateTimeFormat::ATOM)); $author = self::addAuthor($doc, $owner); $root->appendChild($author); @@ -1325,7 +1320,7 @@ class OStatus private static function getAttachment($doc, $root, $item) { $o = ""; - $siteinfo = get_attached_data($item["body"]); + $siteinfo = BBCode::getAttachedData($item["body"]); switch ($siteinfo["type"]) { case 'photo': @@ -1534,7 +1529,7 @@ class OStatus XML::addElement($doc, $source, "link", "", ["rel" => "alternate", "type" => "text/html", "href" => $contact["alias"]]); XML::addElement($doc, $source, "link", "", ["rel" => "self", "type" => "application/atom+xml", "href" => $contact["poll"]]); XML::addElement($doc, $source, "icon", $contact["photo"]); - XML::addElement($doc, $source, "updated", datetime_convert("UTC", "UTC", $contact["success_update"]."+00:00", ATOM_TIME)); + XML::addElement($doc, $source, "updated", DateTimeFormat::utc($contact["success_update"]."+00:00", DateTimeFormat::ATOM)); return $source; } @@ -1786,12 +1781,12 @@ class OStatus } if ($item['verb'] == ACTIVITY_FOLLOW) { - $message = t('%s is now following %s.'); - $title = t('following'); + $message = L10n::t('%s is now following %s.'); + $title = L10n::t('following'); $action = "subscription"; } else { - $message = t('%s stopped following %s.'); - $title = t('stopped following'); + $message = L10n::t('%s stopped following %s.'); + $title = L10n::t('stopped following'); $action = "unfollow"; } @@ -1918,8 +1913,8 @@ class OStatus XML::addElement($doc, $entry, "activity:verb", $verb); - XML::addElement($doc, $entry, "published", datetime_convert("UTC", "UTC", $item["created"]."+00:00", ATOM_TIME)); - XML::addElement($doc, $entry, "updated", datetime_convert("UTC", "UTC", $item["edited"]."+00:00", ATOM_TIME)); + XML::addElement($doc, $entry, "published", DateTimeFormat::utc($item["created"]."+00:00", DateTimeFormat::ATOM)); + XML::addElement($doc, $entry, "updated", DateTimeFormat::utc($item["edited"]."+00:00", DateTimeFormat::ATOM)); } /** @@ -1992,7 +1987,7 @@ class OStatus XML::addElement($doc, $entry, "ostatus:conversation", $conversation_uri, $attributes); } - $tags = item_getfeedtags($item); + $tags = item::getFeedTags($item); if (count($tags)) { foreach ($tags as $t) { @@ -2122,7 +2117,7 @@ class OStatus $last_update = 'now -30 days'; } - $check_date = datetime_convert('UTC', 'UTC', $last_update, 'Y-m-d H:i:s'); + $check_date = DateTimeFormat::utc($last_update); $authorid = Contact::getIdForURL($owner["url"], 0); $sql_extra = '';