]> git.mxchange.org Git - friendica.git/commitdiff
Some precaution to avoid overwriting of existing data with blanks
authorMichael Vogel <icarus@dabo.de>
Sun, 12 Jul 2015 09:19:40 +0000 (11:19 +0200)
committerMichael Vogel <icarus@dabo.de>
Sun, 12 Jul 2015 09:19:40 +0000 (11:19 +0200)
include/follow.php
include/items.php
object/Item.php

index b2b6c750277fdc4ebfeeade6b3129466febcabe8..62180e4c6122d67a1c7fced4575e1c8a2e6a7d9a 100644 (file)
@@ -1,7 +1,12 @@
 <?php
 
 function update_contact($id) {
-       $r = q("SELECT `url`, `network` FROM `contact` WHERE `id` = %d", intval($id));
+       /*
+       Warning: Never ever fetch the public key via probe_url and write it into the contacts.
+       This will reliably kill your communication with Friendica contacts.
+       */
+
+       $r = q("SELECT `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `network` FROM `contact` WHERE `id` = %d", intval($id));
        if (!$r)
                return;
 
@@ -11,6 +16,11 @@ function update_contact($id) {
        if ($ret["network"] != $r[0]["network"])
                return;
 
+       // make sure to not overwrite existing values with blank entries
+       foreach ($ret AS $key => $val)
+               if (isset($r[0][$key]) AND ($r[0][$key] != "") AND ($val == ""))
+                       $ret[$key] = $r[0][$key];
+
        q("UPDATE `contact` SET `url` = '%s', `nurl` = '%s', `addr` = '%s', `alias` = '%s', `batch` = '%s', `notify` = '%s', `poll` = '%s', `poco` = '%s', `name` = '%s', `nick` = '%s' WHERE `id` = %d",
                dbesc($ret['url']),
                dbesc(normalise_link($ret['url'])),
index c61ad1b1e2de95cd16c18f47a091a275f1ed8d94..8fd1cbcb48d9ec5a19d61f67b9f049b9a0f3a720 100644 (file)
@@ -2076,7 +2076,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
                $final_dfrn_id = substr($final_dfrn_id,2);
 
        if($final_dfrn_id != $orig_id) {
-               logger('dfrn_deliver: wrong dfrn_id. Original: '.$orig_id.' Target: '.$final_dfrn_id.' Test: '.$test);
+               logger('dfrn_deliver: wrong dfrn_id.');
                // did not decode properly - cannot trust this site
                return 3;
        }
index 3211048cef6745a124fb6987912fcfcfdb4ebb8a..fcc5ea3dcaaeae518931db668246ff6849f6e57d 100644 (file)
@@ -308,6 +308,9 @@ class Item extends BaseObject {
                if (($item["item_network"] == NETWORK_FACEBOOK) AND ($indent == 'comment') AND isset($buttons["like"]))
                        unset($buttons["like"]);
 
+               // Likes don't federate at OStatus
+               if (($item["item_network"] == NETWORK_OSTATUS) AND isset($buttons["like"]))
+                       unset($buttons["like"]);
 
                $tmp_item = array(
                        'template' => $this->get_template(),