]> git.mxchange.org Git - friendica.git/commitdiff
New central function to store avatar data in contacts
authorMichael Vogel <icarus@dabo.de>
Thu, 28 Jan 2016 10:09:08 +0000 (11:09 +0100)
committerMichael Vogel <icarus@dabo.de>
Thu, 28 Jan 2016 10:09:08 +0000 (11:09 +0100)
include/Contact.php
include/diaspora.php
include/discover_poco.php
include/follow.php
include/gprobe.php
include/ostatus.php
include/socgraph.php
mod/contacts.php
mod/crepair.php
mod/dfrn_confirm.php
mod/item.php

index 1c99dd02988c114a412ba957345df94437f490c1..3799e0b189a98830aec305d5da37d2122f7310f8 100644 (file)
@@ -486,22 +486,16 @@ function get_contact($url, $uid = 0) {
 
        require_once("Photo.php");
 
-       $photos = import_profile_photo($data["photo"],$uid,$contactid);
-
-       q("UPDATE `contact` SET `avatar` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s',
-               `addr` = '%s', `alias` = '%s', `name` = '%s', `nick` = '%s',
-               `name-date` = '%s', `uri-date` = '%s', `avatar-date` = '%s' WHERE `id` = %d",
-               dbesc($data["photo"]),
-               dbesc($photos[0]),
-               dbesc($photos[1]),
-               dbesc($photos[2]),
+       update_contact_avatar($data["photo"],$uid,$contactid);
+
+       q("UPDATE `contact` SET `addr` = '%s', `alias` = '%s', `name` = '%s', `nick` = '%s',
+               `name-date` = '%s', `uri-date` = '%s' WHERE `id` = %d",
                dbesc($data["addr"]),
                dbesc($data["alias"]),
                dbesc($data["name"]),
                dbesc($data["nick"]),
                dbesc(datetime_convert()),
                dbesc(datetime_convert()),
-               dbesc(datetime_convert()),
                intval($contactid)
        );
 
index 3f0b4be432b664210cee64735f2eb23f32e145a3..1b71d4f2bdf870ac447678f068349e2e71a37c97 100644 (file)
@@ -728,7 +728,7 @@ function diaspora_request($importer,$xml) {
 
                require_once('include/Photo.php');
 
-               $photos = import_profile_photo($contact_record['photo'],$importer['uid'],$contact_record['id']);
+               update_contact_avatar($contact_record['photo'],$importer['uid'],$contact_record['id']);
 
                // technically they are sharing with us (CONTACT_IS_SHARING),
                // but if our page-type is PAGE_COMMUNITY or PAGE_SOAPBOX
@@ -739,28 +739,17 @@ function diaspora_request($importer,$xml) {
                else
                        $new_relation = CONTACT_IS_FOLLOWER;
 
-               $r = q("UPDATE `contact` SET
-                       `avatar` = '%s',
-                       `photo` = '%s',
-                       `thumb` = '%s',
-                       `micro` = '%s',
-                       `rel` = %d,
+               $r = q("UPDATE `contact` SET `rel` = %d,
                        `name-date` = '%s',
                        `uri-date` = '%s',
-                       `avatar-date` = '%s',
                        `blocked` = 0,
                        `pending` = 0,
                        `writable` = 1
                        WHERE `id` = %d
                        ",
-                       dbesc($contact_record['photo']),
-                       dbesc($photos[0]),
-                       dbesc($photos[1]),
-                       dbesc($photos[2]),
                        intval($new_relation),
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
                        intval($contact_record['id'])
                );
 
@@ -2475,7 +2464,7 @@ function diaspora_profile($importer,$xml,$msg) {
 
        require_once('include/Photo.php');
 
-       $images = import_profile_photo($image_url,$importer['uid'],$contact['id']);
+       update_contact_avatar($image_url,$importer['uid'],$contact['id']);
 
        // Generic birthday. We don't know the timezone. The year is irrelevant.
 
@@ -2493,18 +2482,12 @@ function diaspora_profile($importer,$xml,$msg) {
        /// @TODO Update name on item['author-name'] if the name changed. See consume_feed()
        /// (Not doing this currently because D* protocol is scheduled for revision soon).
 
-       $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s',
-                       `avatar` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s',
+       $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s', `bd` = '%s',
                        `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `id` = %d AND `uid` = %d",
                dbesc($name),
                dbesc($nick),
                dbesc($diaspora_handle),
                dbesc(datetime_convert()),
-               dbesc($image_url),
-               dbesc($images[0]),
-               dbesc($images[1]),
-               dbesc($images[2]),
-               dbesc(datetime_convert()),
                dbesc($birthday),
                dbesc($location),
                dbesc($about),
@@ -2521,7 +2504,7 @@ function diaspora_profile($importer,$xml,$msg) {
        }
 
        update_gcontact(array("url" => $contact['url'], "network" => NETWORK_DIASPORA, "generation" => 2,
-                               "avatar" => $image_url, "name" => $name, "location" => $location,
+                               "photo" => $image_url, "name" => $name, "location" => $location,
                                "about" => $about, "birthday" => $birthday, "gender" => $gender,
                                "addr" => $diaspora_handle, "nick" => $nick, "keywords" => $keywords,
                                "hide" => !$searchable, "nsfw" => $nsfw));
index 63d1175a71df137edaa4e5392cd1b0e2c1edcd6d..a8f670334b5d66a00d8fc5022d584472dfa85b80 100644 (file)
@@ -222,7 +222,6 @@ function gs_search_user($search) {
                $contact = probe_url($user->site_address."/".$user->name);
                if ($contact["network"] != NETWORK_PHANTOM) {
                        $contact["about"] = $user->description;
-                       $contact["avatar"] = $contact["photo"];
                        update_gcontact($contact);
                }
        }
index 8e6094cb4d5644d25040702c10e8fadaf0162a8a..22ff079b633949b941201d1578dd47e770b76670 100644 (file)
@@ -264,27 +264,8 @@ function new_contact($uid,$url,$interactive = false) {
 
        require_once("include/Photo.php");
 
-       $photos = import_profile_photo($ret['photo'],$uid,$contact_id);
-
-       $r = q("UPDATE `contact` SET
-                       `avatar` = '%s',
-                       `photo` = '%s',
-                       `thumb` = '%s',
-                       `micro` = '%s',
-                       `name-date` = '%s',
-                       `uri-date` = '%s',
-                       `avatar-date` = '%s'
-                       WHERE `id` = %d",
-                       dbesc($ret['photo']),
-                       dbesc($photos[0]),
-                       dbesc($photos[1]),
-                       dbesc($photos[2]),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       intval($contact_id)
-               );
-
+       // Update the avatar
+       update_contact_avatar($ret['photo'],$uid,$contact_id);
 
        // pull feed and consume it, which should subscribe to the hub.
 
index 8e4d3715c016dc611833cc24a881f36c8d49202e..dfa9137d7de03d6677a20b29a7cdf699c51bb121 100644 (file)
@@ -58,10 +58,8 @@ function gprobe_run(&$argv, &$argc){
                if (is_null($result))
                        Cache::set("gprobe:".$urlparts["host"],serialize($arr));
 
-               if (!in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
-                       $arr["avatar"] = $arr["photo"];
+               if (!in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM)))
                        update_gcontact($arr);
-               }
 
                $r = q("SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
                        dbesc(normalise_link($url))
index eeacd40de4db835a2f4ad1f08668bef539a4f6c7..d4c5d1617cc33b4b67c7dddd20750843c80d2381 100644 (file)
@@ -127,7 +127,8 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
        $author["owner-link"] = $author["author-link"];
        $author["owner-avatar"] = $author["author-avatar"];
 
-       if ($r AND !$onlyfetch) {
+       // Only update the contacts if it is an OStatus contact
+       if ($r AND !$onlyfetch AND ($contact["network"] == NETWORK_OSTATUS)) {
                // Update contact data
 
                $value = $xpath->query("atom:link[@rel='salmon']", $context)->item(0)->nodeValue;
@@ -158,9 +159,9 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
 
                        logger("Update contact data for contact ".$contact["id"], LOGGER_DEBUG);
 
-                       q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
+                       q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d",
                                dbesc($contact["name"]), dbesc($contact["nick"]), dbesc($contact["about"]), dbesc($contact["location"]),
-                               dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
+                               dbesc(datetime_convert()), intval($contact["id"]));
 
                        poco_check($contact["url"], $contact["name"], $contact["network"], $author["author-avatar"], $contact["about"], $contact["location"],
                                                "", "", "", datetime_convert(), 2, $contact["id"], $contact["uid"]);
@@ -169,20 +170,14 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
                if (isset($author["author-avatar"]) AND ($author["author-avatar"] != $r[0]['avatar'])) {
                        logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
 
-                       $photos = import_profile_photo($author["author-avatar"], $importer["uid"], $contact["id"]);
-
-                       q("UPDATE `contact` SET `avatar` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
-                               dbesc($author["author-avatar"]), dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]),
-                               dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
+                       update_contact_avatar($author["author-avatar"], $importer["uid"], $contact["id"]);
                }
 
-               // Only update the global contact if it is an OStatus contact
-               if ($contact["network"] == NETWORK_OSTATUS) {
-                       /// @todo Add the "addr" field
-                       $contact["generation"] = 2;
-                       $contact["avatar"] = $author["author-avatar"];
-                       update_gcontact($contact);
-               }
+
+               /// @todo Add the "addr" field
+               $contact["generation"] = 2;
+               $contact["photo"] = $author["author-avatar"];
+               update_gcontact($contact);
        }
 
        return($author);
index 241e2df7f0825f007aa35b3f0bd1f2f093d02b2d..268b5d3e7277dd332f404852cc9975489aff5225 100644 (file)
@@ -294,7 +294,7 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
                        "alias" => $alias,
                        "name" => $name,
                        "network" => $network,
-                       "avatar" => $profile_photo,
+                       "photo" => $profile_photo,
                        "about" => $about,
                        "location" => $location,
                        "gender" => $gender,
@@ -1517,7 +1517,7 @@ function update_gcontact($contact) {
        if (!$gcontact_id)
                return false;
 
-       $r = q("SELECT `name`, `nick`, `avatar`, `photo`, `thumb`, `micro`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`,
+       $r = q("SELECT `name`, `nick`, `photo`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`,
                        `hide`, `nsfw`, `network`, `alias`, `notify`, `server_url`, `connect`, `updated`, `url`
                FROM `gcontact` WHERE `id` = %d LIMIT 1",
                intval($gcontact_id));
@@ -1552,37 +1552,15 @@ function update_gcontact($contact) {
        if ($contact["generation"] < $r[0]["generation"])
                $update = true;
 
-        if (isset($contact["avatar"]) AND (($contact["avatar"] != $r[0]["avatar"]) OR
-               ($r[0]["photo"] == $r[0]["avatar"]) OR ($r[0]["thumb"] == "") OR ($r[0]["micro"] == ""))) {
-
-               $cid = get_contact($contact["url"]);
-
-               // We always store avatar picture with a contact-id.
-               // We don't have a contact-id when we use the gcontact table.
-               // Solution is to use a matching entry in the contact table. (Which is not totally clean)
-               if (($cid == 0) AND isset($contact["uid"]))
-                       $cid = get_contact($contact["url"], $contact["uid"]);
-
-               $photos = update_contact_avatar($contact["avatar"], 0, $cid);
-
-               if ($photos) {
-                       $contact["photo"] = $photos[0];
-                       $contact["thumb"] = $photos[1];
-                       $contact["micro"] = $photos[2];
-               }
-       }
-
        if ($update) {
 
-               q("UPDATE `gcontact` SET `avatar` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s',
-                                       `name` = '%s', `nick` = '%s', `addr` = '%s', `network` = '%s',
+               q("UPDATE `gcontact` SET `photo` = '%s', `name` = '%s', `nick` = '%s', `addr` = '%s', `network` = '%s',
                                        `birthday` = '%s', `gender` = '%s', `keywords` = %d, `hide` = %d, `nsfw` = %d,
                                        `alias` = '%s', `notify` = '%s', `url` = '%s',
                                        `location` = '%s', `about` = '%s', `generation` = %d, `updated` = '%s',
                                        `server_url` = '%s', `connect` = '%s'
                                WHERE `nurl` = '%s' AND (`generation` = 0 OR `generation` >= %d)",
-                       dbesc($contact["avatar"]), dbesc($contact["photo"]), dbesc($contact["thumb"]),
-                       dbesc($contact["micro"]), dbesc($contact["name"]), dbesc($contact["nick"]),
+                       dbesc($contact["photo"]), dbesc($contact["name"]), dbesc($contact["nick"]),
                        dbesc($contact["addr"]), dbesc($contact["network"]), dbesc($contact["birthday"]),
                        dbesc($contact["gender"]), dbesc($contact["keywords"]), intval($contact["hide"]),
                        intval($contact["nsfw"]), dbesc($contact["alias"]), dbesc($contact["notify"]),
index 1ef201490c97fe67ebb79efa55cbce3cdfb75f05..0b421433e0bdd1d52ef32d212f94786c270d1393 100644 (file)
@@ -293,26 +293,8 @@ function _contact_update_profile($contact_id) {
                intval(local_user())
        );
 
-       $photos = import_profile_photo($data['photo'], local_user(), $contact_id);
-
-       $r = q("UPDATE `contact` SET
-                       `avatar` = '%s',
-                       `photo` = '%s',
-                       `thumb` = '%s',
-                       `micro` = '%s',
-                       `name-date` = '%s',
-                       `uri-date` = '%s',
-                       `avatar-date` = '%s'
-                       WHERE `id` = %d",
-                       dbesc($data["photo"]),
-                       dbesc($photos[0]),
-                       dbesc($photos[1]),
-                       dbesc($photos[2]),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       intval($contact_id)
-               );
+       // Update the entry in the contact table
+       update_contact_avatar($data['photo'], local_user(), $contact_id);
 
        // Update the entry in the gcontact table
        update_gcontact_from_probe($data["url"]);
index 606c388458b0268b03c037abd722caba9013c721..5b4db09dac1f16ab7a0500ccf6b8e90e9cd90dc5 100644 (file)
@@ -80,27 +80,7 @@ function crepair_post(&$a) {
                logger('mod-crepair: updating photo from ' . $photo);
                require_once("include/Photo.php");
 
-               $photos = import_profile_photo($photo,local_user(),$contact['id']);
-
-               $x = q("UPDATE `contact` SET
-                       `avatar` = '%s',
-                       `photo` = '%s',
-                       `thumb` = '%s',
-                       `micro` = '%s',
-                       `name-date` = '%s',
-                       `uri-date` = '%s',
-                       `avatar-date` = '%s'
-                       WHERE `id` = %d
-                       ",
-                       dbesc($photo),
-                       dbesc($photos[0]),
-                       dbesc($photos[1]),
-                       dbesc($photos[2]),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       intval($contact['id'])
-               );
+               update_contact_avatar($photo,local_user(),$contact['id']);
        }
 
        if($r)
index 8528ba9ffd521b5b679cbc526cf688dede93de7c..27c04a908d297bb738e1c9ba9382d00ad01c2488 100644 (file)
@@ -315,7 +315,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                require_once('include/Photo.php');
 
-               $photos = import_profile_photo($contact['photo'],$uid,$contact_id);
+               update_contact_avatar($contact['photo'],$uid,$contact_id);
 
                logger('dfrn_confirm: confirm - imported photos');
 
@@ -328,29 +328,18 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        if(($relation == CONTACT_IS_SHARING) && ($duplex))
                                $duplex = 0;
 
-                       $r = q("UPDATE `contact` SET
-                               `avatar` = '%s',
-                               `photo` = '%s',
-                               `thumb` = '%s',
-                               `micro` = '%s',
-                               `rel` = %d,
+                       $r = q("UPDATE `contact` SET `rel` = %d,
                                `name-date` = '%s',
                                `uri-date` = '%s',
-                               `avatar-date` = '%s',
                                `blocked` = 0,
                                `pending` = 0,
                                `duplex` = %d,
                                `hidden` = %d,
                                `network` = '%s' WHERE `id` = %d
                        ",
-                               dbesc($contact['photo']),
-                               dbesc($photos[0]),
-                               dbesc($photos[1]),
-                               dbesc($photos[2]),
                                intval($new_relation),
                                dbesc(datetime_convert()),
                                dbesc(datetime_convert()),
-                               dbesc(datetime_convert()),
                                intval($duplex),
                                intval($hidden),
                                dbesc(NETWORK_DFRN),
@@ -396,12 +385,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        );
 
 
-                       $r = q("UPDATE `contact` SET `photo` = '%s',
-                               `thumb` = '%s',
-                               `micro` = '%s',
-                               `name-date` = '%s',
+                       $r = q("UPDATE `contact` SET `name-date` = '%s',
                                `uri-date` = '%s',
-                               `avatar-date` = '%s',
                                `notify` = '%s',
                                `poll` = '%s',
                                `blocked` = 0,
@@ -412,10 +397,6 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                `rel` = %d
                                WHERE `id` = %d
                        ",
-                               dbesc($photos[0]),
-                               dbesc($photos[1]),
-                               dbesc($photos[2]),
-                               dbesc(datetime_convert()),
                                dbesc(datetime_convert()),
                                dbesc(datetime_convert()),
                                dbesc($notify),
@@ -685,7 +666,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
 
                require_once("include/Photo.php");
 
-               $photos = import_profile_photo($photo,$local_uid,$dfrn_record);
+               update_contact_avatar($photo,$local_uid,$dfrn_record);
 
                logger('dfrn_confirm: request - photos imported');
 
@@ -697,14 +678,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        $duplex = 0;
 
                $r = q("UPDATE `contact` SET
-                       `avatar` = '%s',
-                       `photo` = '%s',
-                       `thumb` = '%s',
-                       `micro` = '%s',
                        `rel` = %d,
                        `name-date` = '%s',
                        `uri-date` = '%s',
-                       `avatar-date` = '%s',
                        `blocked` = 0,
                        `pending` = 0,
                        `duplex` = %d,
@@ -712,14 +688,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        `prv` = %d,
                        `network` = '%s' WHERE `id` = %d
                ",
-                       dbesc($photo),
-                       dbesc($photos[0]),
-                       dbesc($photos[1]),
-                       dbesc($photos[2]),
                        intval($new_relation),
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
                        intval($duplex),
                        intval($forum),
                        intval($prv),
index bf0ead4932930d47e7b1fab2fcd9282e55280e56..8c5a479646ec992c98bd0b701e2a3cbdc51d012a 100644 (file)
@@ -1146,7 +1146,6 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag, $netwo
                        if (!$r) {
                                $probed = probe_url($name);
                                if (isset($probed["url"])) {
-                                       $probed["avatar"] = $probed["photo"];
                                        update_gcontact($probed);
                                        $r = q("SELECT `url`, `name`, `nick`, `network`, `alias`, `notify` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
                                                dbesc(normalise_link($probed["url"])));