]> git.mxchange.org Git - friendica-addons.git/blobdiff - statusnet/statusnet.php
Merge pull request #339 from rabuzarus/1801_defaultfeatures
[friendica-addons.git] / statusnet / statusnet.php
index 20f81d6b940a8b6ded3abe679fc8d378c6dfc752..f92dde76c8e60012311aab25b9320ca3aec392bb 100644 (file)
@@ -581,7 +581,7 @@ function statusnet_post_hook(&$a,&$b) {
 
                $image = "";
 
-               if (isset($msgarr["url"])) {
+               if (isset($msgarr["url"]) AND ($msgarr["type"] != "photo")) {
                        if ((strlen($msgarr["url"]) > 20) AND
                                ((strlen($msg." \n".$msgarr["url"]) > $max_char)))
                                $msg .= " \n".short_link($msgarr["url"]);
@@ -738,7 +738,7 @@ function statusnet_prepare_body(&$a,&$b) {
                 $msgarr = plaintext($a, $item, $max_char, true, 7);
                 $msg = $msgarr["text"];
 
-                if (isset($msgarr["url"]))
+                if (isset($msgarr["url"]) AND ($msgarr["type"] != "photo"))
                         $msg .= " ".$msgarr["url"];
 
                 if (isset($msgarr["image"]))
@@ -908,32 +908,39 @@ function statusnet_fetch_contact($uid, $contact, $create_user) {
        if ($contact->statusnet_profile_url == "")
                return(-1);
 
-       // Check if the unique contact is existing
-       // To-Do: only update once a while
-        $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
-                       dbesc(normalise_link($contact->statusnet_profile_url)));
-
-       if (count($r) == 0)
-               q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
-                       dbesc(normalise_link($contact->statusnet_profile_url)),
-                       dbesc($contact->name),
-                       dbesc($contact->screen_name),
-                       dbesc($contact->profile_image_url));
-       else
-               q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'",
-                       dbesc($contact->name),
-                       dbesc($contact->screen_name),
-                       dbesc($contact->profile_image_url),
-                       dbesc(normalise_link($contact->statusnet_profile_url)));
+       if (function_exists("update_gcontact"))
+               update_gcontact(array("url" => $contact->statusnet_profile_url,
+                               "network" => NETWORK_STATUSNET, "photo" => $contact->profile_image_url,
+                               "name" => $contact->name, "nick" => $contact->screen_name,
+                               "location" => $contact->location, "about" => $contact->description,
+                               "addr" => statusnet_address($contact), "generation" => 3));
+       else {
+               // Old Code
+                $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
+                               dbesc(normalise_link($contact->statusnet_profile_url)));
+
+               if (count($r) == 0)
+                       q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
+                               dbesc(normalise_link($contact->statusnet_profile_url)),
+                               dbesc($contact->name),
+                               dbesc($contact->screen_name),
+                               dbesc($contact->profile_image_url));
+               else
+                       q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'",
+                               dbesc($contact->name),
+                               dbesc($contact->screen_name),
+                               dbesc($contact->profile_image_url),
+                               dbesc(normalise_link($contact->statusnet_profile_url)));
 
-       if (DB_UPDATE_VERSION >= "1177")
-               q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'",
-                       dbesc($contact->location),
-                       dbesc($contact->description),
-                       dbesc(normalise_link($contact->statusnet_profile_url)));
+               if (DB_UPDATE_VERSION >= "1177")
+                       q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'",
+                               dbesc($contact->location),
+                               dbesc($contact->description),
+                               dbesc(normalise_link($contact->statusnet_profile_url)));
+       }
 
-       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
-               intval($uid), dbesc(normalise_link($contact->statusnet_profile_url)));
+       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' AND `network` = '%s'LIMIT 1",
+               intval($uid), dbesc(normalise_link($contact->statusnet_profile_url)), dbesc(NETWORK_STATUSNET));
 
        if(!count($r) AND !$create_user)
                return(0);
@@ -966,10 +973,10 @@ function statusnet_fetch_contact($uid, $contact, $create_user) {
                        intval(1)
                );
 
-               $r = q("SELECT * FROM `contact` WHERE `alias` = '%s' AND `uid` = %d LIMIT 1",
+               $r = q("SELECT * FROM `contact` WHERE `alias` = '%s' AND `uid` = %d AND `network` = '%s' LIMIT 1",
                        dbesc($contact->statusnet_profile_url),
-                       intval($uid)
-                       );
+                       intval($uid),
+                       dbesc(NETWORK_STATUSNET));
 
                if(! count($r))
                        return(false);