]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/OStatus.php
Move Temporal::convert() to DateTimeFormat::convert()
[friendica.git] / src / Protocol / OStatus.php
index 6a87d476149455d6972f740f7f66cbeb9b4d3bac..e4894cf5476f1c5ec50b8a730b0ce5f84f1b9f76 100644 (file)
@@ -4,16 +4,21 @@
  */
 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;
@@ -194,7 +199,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 +220,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 +456,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 +522,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);
                                                        }
                                                }
@@ -553,7 +558,7 @@ class OStatus
                dba::update(
                        'item',
                        ['deleted' => true, 'title' => '', 'body' => '',
-                                       'edited' => datetime_convert(), 'changed' => datetime_convert()],
+                                       'edited' => DateTimeFormat::utcNow(), 'changed' => DateTimeFormat::utcNow()],
                        ['id' => $deleted["id"]]
                );
 
@@ -700,7 +705,7 @@ class OStatus
                }
 
                if (($item['author-link'] != '') && !empty($item['protocol'])) {
-                       $item = store_conversation($item);
+                       $item = Conversation::insert($item);
                }
 
                self::$itemlist[] = $item;
@@ -722,7 +727,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 +755,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 +848,7 @@ class OStatus
                        }
 
                        logger('Store conversation data for uri '.$conv_data['uri'], LOGGER_DEBUG);
-                       store_conversation($conv_data);
+                       Conversation::insert($conv_data);
                }
        }
 
@@ -866,7 +871,7 @@ class OStatus
                        return;
                }
 
-               $self_data = z_fetch_url($self);
+               $self_data = Network::curl($self);
 
                if (!$self_data['success']) {
                        return;
@@ -911,7 +916,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 +947,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 +959,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 +970,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 +1208,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 +1262,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 +1273,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 +1330,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 +1539,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 +1791,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 +1923,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 +1997,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 +2127,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 = '';