]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #12364 from MrPetovan/bug/warnings
authorMichael Vogel <icarus@dabo.de>
Sat, 10 Dec 2022 17:10:24 +0000 (18:10 +0100)
committerGitHub <noreply@github.com>
Sat, 10 Dec 2022 17:10:24 +0000 (18:10 +0100)
Address several warning messages

1  2 
src/Model/Contact.php

diff --combined src/Model/Contact.php
index 4a10fd98eab78c321deabe7cf9b480f01a63387c,d3ff4a2ef11086e6f2e5317951ee53cafc2beddf..c20435278f9d8973e5ccd53be9b425cb3ae38b72
@@@ -1395,9 -1395,17 +1395,17 @@@ class Contac
                }
  
                if ($data['network'] == Protocol::DIASPORA) {
-                       DI::dsprContact()->updateFromProbeArray($data);
+                       try {
+                               DI::dsprContact()->updateFromProbeArray($data);
+                       } catch (\InvalidArgumentException $e) {
+                               Logger::error($e->getMessage(), ['url' => $url, 'data' => $data]);
+                       }
                } elseif (!empty($data['networks'][Protocol::DIASPORA])) {
-                       DI::dsprContact()->updateFromProbeArray($data['networks'][Protocol::DIASPORA]);
+                       try {
+                               DI::dsprContact()->updateFromProbeArray($data['networks'][Protocol::DIASPORA]);
+                       } catch (\InvalidArgumentException $e) {
+                               Logger::error($e->getMessage(), ['url' => $url, 'data' => $data['networks'][Protocol::DIASPORA]]);
+                       }
                }
  
                self::updateFromProbeArray($contact_id, $data);
                if ($static) {
                        $query_params['static'] = true;
                }
 -              
 +
                return $url . ($guid ?: $cid) . (!empty($query_params) ? '?' . http_build_query($query_params) : '');
        }
  
                        return false;
                }
  
-               $ret = Probe::uri($contact['url'], $network, $contact['uid']);
+               $data = Probe::uri($contact['url'], $network, $contact['uid']);
  
-               if ($ret['network'] == Protocol::DIASPORA) {
-                       DI::dsprContact()->updateFromProbeArray($ret);
-               } elseif (!empty($ret['networks'][Protocol::DIASPORA])) {
-                       DI::dsprContact()->updateFromProbeArray($ret['networks'][Protocol::DIASPORA]);
+               if ($data['network'] == Protocol::DIASPORA) {
+                       try {
+                               DI::dsprContact()->updateFromProbeArray($data);
+                       } catch (\InvalidArgumentException $e) {
+                               Logger::error($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]);
+                       }
+               } elseif (!empty($data['networks'][Protocol::DIASPORA])) {
+                       try {
+                               DI::dsprContact()->updateFromProbeArray($data['networks'][Protocol::DIASPORA]);
+                       } catch (\InvalidArgumentException $e) {
+                               Logger::error($e->getMessage(), ['id' => $id, 'network' => $network, 'contact' => $contact, 'data' => $data]);
+                       }
                }
  
-               return self::updateFromProbeArray($id, $ret);
+               return self::updateFromProbeArray($id, $data);
        }
  
        /**
                }
  
                $update = false;
 -              $guid = ($ret['guid'] ?? '') ?: Item::guidFromUri($ret['url'], parse_url($ret['url'], PHP_URL_HOST));
 +              $guid = ($ret['guid'] ?? '') ?: Item::guidFromUri($ret['url']);
  
                // make sure to not overwrite existing values with blank entries except some technical fields
                $keep = ['batch', 'notify', 'poll', 'request', 'confirm', 'poco', 'baseurl'];
                self::clearFollowerFollowingEndpointCache($contact['uid']);
  
                $cdata = self::getPublicAndUserContactID($contact['id'], $contact['uid']);
-               DI::notification()->deleteForUserByVerb($contact['uid'], Activity::FOLLOW, ['actor-id' => $cdata['public']]);
+               if (!empty($cdata['public'])) {
+                       DI::notification()->deleteForUserByVerb($contact['uid'], Activity::FOLLOW, ['actor-id' => $cdata['public']]);
+               }
        }
  
        /**