]> git.mxchange.org Git - friendica-addons.git/blobdiff - pumpio/pumpio.php
Rename HTTPRequestOptions to HTTPClientOptions
[friendica-addons.git] / pumpio / pumpio.php
index 2e2ca98cb26ec9313b9d008b4e023b908d6a1eb5..bf6bfda367e27e2b4d38d4b5561023ae1d4c7bba 100644 (file)
@@ -18,7 +18,9 @@ use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\Group;
 use Friendica\Model\Item;
+use Friendica\Model\Post;
 use Friendica\Model\User;
+use Friendica\Network\HTTPClientOptions;
 use Friendica\Protocol\Activity;
 use Friendica\Protocol\ActivityNamespace;
 use Friendica\Util\ConfigFileLoader;
@@ -57,13 +59,13 @@ function pumpio_content(App $a)
        require_once("mod/settings.php");
        settings_init($a);
 
-       if (isset($a->argv[1])) {
-               switch ($a->argv[1]) {
+       if (isset(DI::args()->getArgv()[1])) {
+               switch (DI::args()->getArgv()[1]) {
                        case "connect":
                                $o = pumpio_connect($a);
                                break;
                        default:
-                               $o = print_r($a->argv, true);
+                               $o = print_r(DI::args()->getArgv(), true);
                                break;
                }
        } else {
@@ -145,8 +147,7 @@ function pumpio_connect(App $a)
        if (($consumer_key == "") || ($consumer_secret == "")) {
                Logger::log("pumpio_connect: ".sprintf("Unable to register the client at the pump.io server '%s'.", $hostname));
 
-               $o .= DI::l10n()->t("Unable to register the client at the pump.io server '%s'.", $hostname);
-               return $o;
+               return DI::l10n()->t("Unable to register the client at the pump.io server '%s'.", $hostname);
        }
 
        // The callback URL is the script that gets called after the user authenticates with pumpio
@@ -389,7 +390,7 @@ function pumpio_hook_fork(App $a, array &$b)
 
         if (DI::pConfig()->get($post['uid'], 'pumpio', 'import')) {
                 // Don't fork if it isn't a reply to a pump.io post
-                if (($post['parent'] != $post['id']) && !Item::exists(['id' => $post['parent'], 'network' => Protocol::PUMPIO])) {
+                if (($post['parent'] != $post['id']) && !Post::exists(['id' => $post['parent'], 'network' => Protocol::PUMPIO])) {
                         Logger::log('No pump.io parent found for item ' . $post['id']);
                         $b['execute'] = false;
                         return;
@@ -436,10 +437,12 @@ function pumpio_send(App $a, array &$b)
 
        Logger::log("pumpio_send: parameter ".print_r($b, true), Logger::DATA);
 
+       $b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], $b['body']);
+
        if ($b['parent'] != $b['id']) {
                // Looking if its a reply to a pumpio post
                $condition = ['id' => $b['parent'], 'network' => Protocol::PUMPIO];
-               $orig_post = Item::selectFirst([], $condition);
+               $orig_post = Post::selectFirst([], $condition);
 
                if (!DBA::isResult($orig_post)) {
                        Logger::log("pumpio_send: no pumpio post ".$b["parent"]);
@@ -512,7 +515,7 @@ function pumpio_send(App $a, array &$b)
        if ($oauth_token && $oauth_token_secret) {
                $title = trim($b['title']);
 
-               $content = BBCode::convert($b['body'], false, BBCode::CONNECTORS);
+               $content = BBCode::convertForUriId($b['uri-id'], $b['body'], BBCode::CONNECTORS);
 
                $params = [];
 
@@ -610,7 +613,7 @@ function pumpio_action(App $a, $uid, $uri, $action, $content = "")
        $hostname = DI::pConfig()->get($uid, 'pumpio', 'host');
        $username = DI::pConfig()->get($uid, "pumpio", "user");
 
-       $orig_post = Item::selectFirst([], ['uri' => $uri, 'uid' => $uid]);
+       $orig_post = Post::selectFirst([], ['uri' => $uri, 'uid' => $uid]);
 
        if (!DBA::isResult($orig_post)) {
                return;
@@ -873,9 +876,9 @@ function pumpio_dounlike(App $a, $uid, $self, $post, $own_id)
 {
        // Searching for the unliked post
        // Two queries for speed issues
-       $orig_post = Item::selectFirst([], ['uri' => $post->object->id, 'uid' => $uid]);
+       $orig_post = Post::selectFirst([], ['uri' => $post->object->id, 'uid' => $uid]);
        if (!DBA::isResult($orig_post)) {
-               $orig_post = Item::selectFirst([], ['extid' => $post->object->id, 'uid' => $uid]);
+               $orig_post = Post::selectFirst([], ['extid' => $post->object->id, 'uid' => $uid]);
                if (!DBA::isResult($orig_post)) {
                        return;
                }
@@ -918,9 +921,9 @@ function pumpio_dolike(App $a, $uid, $self, $post, $own_id, $threadcompletion =
 
        // Searching for the liked post
        // Two queries for speed issues
-       $orig_post = Item::selectFirst([], ['uri' => $post->object->id, 'uid' => $uid]);
+       $orig_post = Post::selectFirst([], ['uri' => $post->object->id, 'uid' => $uid]);
        if (!DBA::isResult($orig_post)) {
-               $orig_post = Item::selectFirst([], ['extid' => $post->object->id, 'uid' => $uid]);
+               $orig_post = Post::selectFirst([], ['extid' => $post->object->id, 'uid' => $uid]);
                if (!DBA::isResult($orig_post)) {
                        return;
                }
@@ -954,7 +957,7 @@ function pumpio_dolike(App $a, $uid, $self, $post, $own_id, $threadcompletion =
        }
 
        $condition = ['verb' => Activity::LIKE, 'uid' => $uid, 'contact-id' => $contactid, 'thr-parent' => $orig_post['uri']];
-       if (Item::exists($condition)) {
+       if (Post::exists($condition)) {
                Logger::log("pumpio_dolike: found existing like. User ".$own_id." ".$uid." Contact: ".$contactid." Url ".$orig_post['uri']);
                return;
        }
@@ -967,7 +970,7 @@ function pumpio_dolike(App $a, $uid, $self, $post, $own_id, $threadcompletion =
        $likedata['wall'] = 0;
        $likedata['network'] = Protocol::PUMPIO;
        $likedata['uri'] = Item::newURI($uid);
-       $likedata['parent-uri'] = $orig_post["uri"];
+       $likedata['thr-parent'] = $orig_post['uri'];
        $likedata['contact-id'] = $contactid;
        $likedata['app'] = $post->generator->displayName;
        $likedata['author-name'] = $post->actor->displayName;
@@ -1065,13 +1068,13 @@ function pumpio_dodelete(App $a, $uid, $self, $post, $own_id)
 {
        // Two queries for speed issues
        $condition = ['uri' => $post->object->id, 'uid' => $uid];
-       if (Item::exists($condition)) {
+       if (Post::exists($condition)) {
                Item::markForDeletion($condition);
                return true;
        }
 
        $condition = ['extid' => $post->object->id, 'uid' => $uid];
-       if (Item::exists($condition)) {
+       if (Post::exists($condition)) {
                Item::markForDeletion($condition);
                return true;
        }
@@ -1094,10 +1097,10 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp
 
        if ($post->verb != "update") {
                // Two queries for speed issues
-               if (Item::exists(['uri' => $post->object->id, 'uid' => $uid])) {
+               if (Post::exists(['uri' => $post->object->id, 'uid' => $uid])) {
                        return false;
                }
-               if (Item::exists(['extid' => $post->object->id, 'uid' => $uid])) {
+               if (Post::exists(['extid' => $post->object->id, 'uid' => $uid])) {
                        return false;
                }
        }
@@ -1138,7 +1141,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp
                        $contact_id = $self[0]['id'];
                }
 
-               $postarray['parent-uri'] = $post->object->id;
+               $postarray['thr-parent'] = $post->object->id;
 
                if (!$public) {
                        $postarray['private'] = 1;
@@ -1199,7 +1202,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp
                $reply->url = $post->object->inReplyTo->url;
                pumpio_dopost($a, $client, $uid, $self, $reply, $own_id, false);
 
-               $postarray['parent-uri'] = $post->object->inReplyTo->id;
+               $postarray['thr-parent'] = $post->object->inReplyTo->id;
        }
 
        // When there is no content there is no need to continue
@@ -1278,7 +1281,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp
        }
 
        if (($post->object->objectType == "comment") && $threadcompletion) {
-               pumpio_fetchallcomments($a, $uid, $postarray['parent-uri']);
+               pumpio_fetchallcomments($a, $uid, $postarray['thr-parent']);
        }
 
        return $top_item;
@@ -1299,10 +1302,10 @@ function pumpio_fetchinbox(App $a, $uid)
        $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
                intval($uid));
 
-       $lastitems = q("SELECT `uri` FROM `thread`
-                       INNER JOIN `item` ON `item`.`id` = `thread`.`iid`
-                       WHERE `thread`.`network` = '%s' AND `thread`.`uid` = %d AND `item`.`extid` != ''
-                       ORDER BY `thread`.`commented` DESC LIMIT 10",
+       $lastitems = q("SELECT `uri` FROM `post-thread-user`
+                       INNER JOIN `post-view` ON `post-view`.`id` = `post-thread-user`.`id`
+                       WHERE `post-thread-user`.`network` = '%s' AND `post-thread-user`.`uid` = %d AND `post-view`.`extid` != ''
+                       ORDER BY `post-thread-user`.`commented` DESC LIMIT 10",
                                DBA::escape(Protocol::PUMPIO),
                                intval($uid)
                        );
@@ -1504,12 +1507,12 @@ function pumpio_fetchallcomments(App $a, $uid, $id)
 
        // Fetching the original post
        $condition = ["`uri` = ? AND `uid` = ? AND `extid` != ''", $id, $uid];
-       $item = Item::selectFirst(['extid'], $condition);
-       if (!DBA::isResult($item)) {
+       $original = Post::selectFirst(['extid'], $condition);
+       if (!DBA::isResult($original)) {
                return false;
        }
 
-       $url = $item["extid"];
+       $url = $original["extid"];
 
        $client = new oauth_client_class;
        $client->oauth_version = '1.0a';
@@ -1561,11 +1564,11 @@ function pumpio_fetchallcomments(App $a, $uid, $id)
                }
 
                // Checking if the comment already exists - Two queries for speed issues
-               if (Item::exists(['uri' => $item->id, 'uid' => $uid])) {
+               if (Post::exists(['uri' => $item->id, 'uid' => $uid])) {
                        continue;
                }
 
-               if (Item::exists(['extid' => $item->id, 'uid' => $uid])) {
+               if (Post::exists(['extid' => $item->id, 'uid' => $uid])) {
                        continue;
                }
 
@@ -1591,7 +1594,7 @@ function pumpio_fetchallcomments(App $a, $uid, $id)
 
 function pumpio_reachable($url)
 {
-       return DI::httpRequest()->get($url, false, ['timeout' => 10])->isSuccess();
+       return DI::httpRequest()->get($url, [HTTPClientOptions::TIMEOUT => 10])->isSuccess();
 }
 
 /*