]> git.mxchange.org Git - friendica.git/commitdiff
[Scrutinizer] Fix undeclared variables in src/Protocol/
authorHypolite Petovan <mrpetovan@gmail.com>
Wed, 14 Feb 2018 04:58:46 +0000 (23:58 -0500)
committerHypolite Petovan <mrpetovan@gmail.com>
Wed, 14 Feb 2018 04:58:46 +0000 (23:58 -0500)
- Use dba::selectFirst to remove intermediate variables `$r`
- Remove unused variable `$sender` in Protocol\Email
- Simplify Protocol\OStatus:fetchAuthor cascading queries

src/Protocol/DFRN.php
src/Protocol/Diaspora.php
src/Protocol/Email.php
src/Protocol/Feed.php
src/Protocol/OStatus.php
src/Protocol/PortableContact.php

index ab778ff9fecc4faad389c97ddcae46f7ff1ea87d..fd95576dbe34ea4435ff2a6a99e2bc93c2887d9f 100644 (file)
@@ -930,6 +930,7 @@ class DFRN
                // Remove the abstract element. It is only locally important.
                $body = BBCode::stripAbstract($body);
 
+               $htmlbody = '';
                if ($type == 'html') {
                        $htmlbody = $body;
 
@@ -1432,19 +1433,17 @@ class DFRN
                $author["name"] = $xpath->evaluate($element."/atom:name/text()", $context)->item(0)->nodeValue;
                $author["link"] = $xpath->evaluate($element."/atom:uri/text()", $context)->item(0)->nodeValue;
 
-               $r = q(
-                       "SELECT `id`, `uid`, `url`, `network`, `avatar-date`, `name-date`, `uri-date`, `addr`,
+               $contact_old = dba::fetch_first("SELECT `id`, `uid`, `url`, `network`, `avatar-date`, `name-date`, `uri-date`, `addr`,
                                `name`, `nick`, `about`, `location`, `keywords`, `xmpp`, `bdyear`, `bd`, `hidden`, `contact-type`
-                               FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` != '%s'",
-                       intval($importer["uid"]),
-                       dbesc(normalise_link($author["link"])),
-                       dbesc(NETWORK_STATUSNET)
+                               FROM `contact` WHERE `uid` = ? AND `nurl` = ? AND `network` != ?",
+                       $importer["uid"],
+                       normalise_link($author["link"]),
+                       NETWORK_STATUSNET
                );
 
-               if (DBM::is_result($r)) {
-                       $contact = $r[0];
-                       $author["contact-id"] = $r[0]["id"];
-                       $author["network"] = $r[0]["network"];
+               if (DBM::is_result($contact_old)) {
+                       $author["contact-id"] = $contact_old["id"];
+                       $author["network"] = $contact_old["network"];
                } else {
                        if (!$onlyfetch) {
                                logger("Contact ".$author["link"]." wasn't found for user ".$importer["uid"]." XML: ".$xml, LOGGER_DEBUG);
@@ -1471,7 +1470,7 @@ class DFRN
                                        $width = $attributes->textContent;
                                }
                                if ($attributes->name == "updated") {
-                                       $contact["avatar-date"] = $attributes->textContent;
+                                       $contact_old["avatar-date"] = $attributes->textContent;
                                }
                        }
                        if (($width > 0) && ($href != "")) {
@@ -1483,10 +1482,10 @@ class DFRN
                        $author["avatar"] = current($avatarlist);
                }
 
-               if (DBM::is_result($r) && !$onlyfetch) {
-                       logger("Check if contact details for contact " . $r[0]["id"] . " (" . $r[0]["nick"] . ") have to be updated.", LOGGER_DEBUG);
+               if (DBM::is_result($contact_old) && !$onlyfetch) {
+                       logger("Check if contact details for contact " . $contact_old["id"] . " (" . $contact_old["nick"] . ") have to be updated.", LOGGER_DEBUG);
 
-                       $poco = ["url" => $contact["url"]];
+                       $poco = ["url" => $contact_old["url"]];
 
                        // When was the last change to name or uri?
                        $name_element = $xpath->query($element . "/atom:name", $context)->item(0);
@@ -1545,12 +1544,12 @@ class DFRN
                        // If the "hide" element is present then the profile isn't searchable.
                        $hide = intval($xpath->evaluate($element . "/dfrn:hide/text()", $context)->item(0)->nodeValue == "true");
 
-                       logger("Hidden status for contact " . $contact["url"] . ": " . $hide, LOGGER_DEBUG);
+                       logger("Hidden status for contact " . $contact_old["url"] . ": " . $hide, LOGGER_DEBUG);
 
                        // If the contact isn't searchable then set the contact to "hidden".
                        // Problem: This can be manually overridden by the user.
                        if ($hide) {
-                               $contact["hidden"] = true;
+                               $contact_old["hidden"] = true;
                        }
 
                        // Save the keywords into the contact table
@@ -1565,8 +1564,6 @@ class DFRN
                        }
 
                        // "dfrn:birthday" contains the birthday converted to UTC
-                       $old_bdyear = $contact["bdyear"];
-
                        $birthday = $xpath->evaluate($element . "/dfrn:birthday/text()", $context)->item(0)->nodeValue;
 
                        if (strtotime($birthday) > time()) {
@@ -1590,15 +1587,15 @@ class DFRN
                                $poco["bd"] = $value;
                        }
 
-                       $contact = array_merge($contact, $poco);
+                       $contact = array_merge($contact_old, $poco);
 
-                       if ($old_bdyear != $contact["bdyear"]) {
+                       if ($contact_old["bdyear"] != $contact["bdyear"]) {
                                self::birthdayEvent($contact, $birthday);
                        }
 
                        // Get all field names
                        $fields = [];
-                       foreach ($r[0] as $field => $data) {
+                       foreach ($contact_old as $field => $data) {
                                $fields[$field] = $data;
                        }
 
@@ -1609,18 +1606,19 @@ class DFRN
                        unset($fields["name-date"]);
                        unset($fields["uri-date"]);
 
+                       $update = false;
                        // Update check for this field has to be done differently
                        $datefields = ["name-date", "uri-date"];
                        foreach ($datefields as $field) {
-                               if (strtotime($contact[$field]) > strtotime($r[0][$field])) {
-                                       logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $r[0][$field] . "'", LOGGER_DEBUG);
+                               if (strtotime($contact[$field]) > strtotime($contact_old[$field])) {
+                                       logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
                                        $update = true;
                                }
                        }
 
                        foreach ($fields as $field => $data) {
-                               if ($contact[$field] != $r[0][$field]) {
-                                       logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $r[0][$field] . "'", LOGGER_DEBUG);
+                               if ($contact[$field] != $contact_old[$field]) {
+                                       logger("Difference for contact " . $contact["id"] . " in field '" . $field . "'. New value: '" . $contact[$field] . "', old value '" . $contact_old[$field] . "'", LOGGER_DEBUG);
                                        $update = true;
                                }
                        }
@@ -1645,7 +1643,7 @@ class DFRN
                                $author["avatar"],
                                $importer["uid"],
                                $contact["id"],
-                               (strtotime($contact["avatar-date"]) > strtotime($r[0]["avatar-date"]))
+                               (strtotime($contact["avatar-date"]) > strtotime($contact_old["avatar-date"]))
                        );
 
                        /*
@@ -2404,14 +2402,12 @@ class DFRN
 
                $item["edited"] = $xpath->query("atom:updated/text()", $entry)->item(0)->nodeValue;
 
-               $current = q(
-                       "SELECT `id`, `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
-                       dbesc($item["uri"]),
-                       intval($importer["importer_uid"])
+               $current = dba::selectFirst('item',
+                       ['id', 'uid', 'edited', 'body'],
+                       ['uri' => $item["uri"], 'uid' => $importer["importer_uid"]]
                );
-
                // Is there an existing item?
-               if (DBM::is_result($current) && !self::isEditedTimestampNewer($current[0], $item)) {
+               if (DBM::is_result($current) && !self::isEditedTimestampNewer($current, $item)) {
                        logger("Item ".$item["uri"]." (".$item['edited'].") already existed.", LOGGER_DEBUG);
                        return;
                }
@@ -2652,7 +2648,7 @@ class DFRN
 
                // Update content if 'updated' changes
                if (DBM::is_result($current)) {
-                       if (self::updateContent($r[0], $item, $importer, $entrytype)) {
+                       if (self::updateContent($current, $item, $importer, $entrytype)) {
                                logger("Item ".$item["uri"]." was updated.", LOGGER_DEBUG);
                        } else {
                                logger("Item ".$item["uri"]." already existed.", LOGGER_DEBUG);
@@ -2731,7 +2727,7 @@ class DFRN
        private static function processDeletion($xpath, $deletion, $importer)
        {
                logger("Processing deletions");
-
+               $uri = null;
                foreach ($deletion->attributes as $attributes) {
                        if ($attributes->name == "ref") {
                                $uri = $attributes->textContent;
index 534f6ed6ba241d9e34dfbdd72404544c6af1e878..a8fe194470fa4b558bb6f03308687070b0c57763 100644 (file)
@@ -355,6 +355,9 @@ class Diaspora
                }
                $children = $basedom->children('https://joindiaspora.com/protocol');
 
+               $inner_aes_key = null;
+               $inner_iv = null;
+
                if ($children->header) {
                        $public = true;
                        $author_link = str_replace('acct:', '', $children->header->author_id);
@@ -393,6 +396,7 @@ class Diaspora
 
                // figure out where in the DOM tree our data is hiding
 
+               $base = null;
                if ($dom->provenance->data) {
                        $base = $dom->provenance;
                } elseif ($dom->env->data) {
@@ -638,8 +642,6 @@ class Diaspora
                        return false;
                }
 
-               $first_child = $data->getName();
-
                // Is this the new or the old version?
                if ($data->getName() == "XML") {
                        $oldXML = true;
@@ -668,6 +670,8 @@ class Diaspora
                $fields = new SimpleXMLElement("<".$type."/>");
 
                $signed_data = "";
+               $author_signature = null;
+               $parent_author_signature = null;
 
                foreach ($element->children() as $fieldname => $entry) {
                        if ($oldXML) {
@@ -796,14 +800,11 @@ class Diaspora
         */
        public static function personByHandle($handle)
        {
-               $r = q(
-                       "SELECT * FROM `fcontact` WHERE `network` = '%s' AND `addr` = '%s' LIMIT 1",
-                       dbesc(NETWORK_DIASPORA),
-                       dbesc($handle)
-               );
-               if ($r) {
-                       $person = $r[0];
-                       logger("In cache " . print_r($r, true), LOGGER_DEBUG);
+               $update = false;
+
+               $person = dba::selectFirst('fcontact', [], ['network' => NETWORK_DIASPORA, 'addr' => $handle]);
+               if (DBM::is_result($person)) {
+                       logger("In cache " . print_r($person, true), LOGGER_DEBUG);
 
                        // update record occasionally so it doesn't get stale
                        $d = strtotime($person["updated"]." +00:00");
@@ -816,7 +817,7 @@ class Diaspora
                        }
                }
 
-               if (!$person || $update) {
+               if (!DBM::is_result($person) || $update) {
                        logger("create or refresh", LOGGER_DEBUG);
                        $r = Probe::uri($handle, NETWORK_DIASPORA);
 
@@ -827,6 +828,7 @@ class Diaspora
                                $person = $r;
                        }
                }
+
                return $person;
        }
 
@@ -3741,6 +3743,7 @@ class Diaspora
                $parent = $p[0];
 
                $target_type = ($parent["uri"] === $parent["parent-uri"] ? "Post" : "Comment");
+               $positive = null;
                if ($item['verb'] === ACTIVITY_LIKE) {
                        $positive = "true";
                } elseif ($item['verb'] === ACTIVITY_DISLIKE) {
@@ -4181,6 +4184,10 @@ class Diaspora
                $small = System::baseUrl().'/photo/custom/50/'  .$profile['uid'].'.jpg';
                $searchable = (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false');
 
+               $dob = null;
+               $about = null;
+               $location = null;
+               $tags = null;
                if ($searchable === 'true') {
                        $dob = '';
 
index ee8c43eff8b77d8bce371eb1920127a148c70f54..b1eeb94d62f8903023c97ae3bec2074b9e828300 100644 (file)
@@ -617,12 +617,7 @@ class Email
                        $currline = $arrbody[$i];
 
                        while ($previousquote < $quotelevel) {
-                               if ($sender != '') {
-                                       $quote = "[quote title=$sender]";
-                                       $sender = '';
-                               } else
-                                       $quote = "[quote]";
-
+                               $quote = "[quote]";
                                $arrbody[$i] = $quote.$arrbody[$i];
                                $previousquote++;
                        }
index 8afdb25462adeca410b737bac9ca931f1e86e7bb..17234ce45af435b9a807561450c9c5e42b6aa329 100644 (file)
@@ -68,6 +68,7 @@ class Feed {
                $xpath->registerNamespace('poco', NAMESPACE_POCO);
 
                $author = [];
+               $entries = null;
 
                // Is it RDF?
                if ($xpath->query('/rdf:RDF/rss:channel')->length > 0) {
@@ -369,9 +370,8 @@ class Feed {
                                $item["title"] = '';
                        }
 
+                       $preview = '';
                        if (!empty($contact["fetch_further_information"]) && ($contact["fetch_further_information"] < 3)) {
-                               $preview = "";
-
                                // Handle enclosures and treat them as preview picture
                                foreach ($attachments AS $attachment) {
                                        if ($attachment["type"] == "image/jpeg") {
@@ -410,6 +410,7 @@ class Feed {
                                        if (!empty($tags)) {
                                                $item["tag"] = $tags;
                                        } else {
+                                               // @todo $preview is never set in this case, is it intended? - @MrPetovan 2018-02-13
                                                $item["tag"] = add_page_keywords($item["plink"], $preview, true, $contact["ffi_keyword_blacklist"]);
                                        }
                                        $item["body"] .= "\n".$item['tag'];
index 1ff13c55db3eae097cb641778f26e563811b74a6..7ad6f50f1f05e6eab582a5939d6716ddd14eeee2 100644 (file)
@@ -71,55 +71,34 @@ class OStatus
                }
                $author["contact-id"] = $contact["id"];
 
-               $found = false;
-
+               $contact = null;
                if ($aliaslink != '') {
                        $condition = ["`uid` = ? AND `alias` = ? AND `network` != ?",
                                        $importer["uid"], $aliaslink, NETWORK_STATUSNET];
-                       $r = dba::selectFirst('contact', [], $condition);
-
-                       if (DBM::is_result($r)) {
-                               $found = true;
-                               if ($r['blocked']) {
-                                       $r['id'] = -1;
-                               }
-                               $contact = $r;
-                               $author["contact-id"] = $r["id"];
-                       }
+                       $contact = dba::selectFirst('contact', [], $condition);
                }
 
-               if (!$found && ($author["author-link"] != "")) {
+               if (!DBM::is_result($contact) && $author["author-link"] != '') {
                        if ($aliaslink == "") {
                                $aliaslink = $author["author-link"];
                        }
 
                        $condition = ["`uid` = ? AND `nurl` IN (?, ?) AND `network` != ?", $importer["uid"],
                                        normalise_link($author["author-link"]), normalise_link($aliaslink), NETWORK_STATUSNET];
-                       $r = dba::selectFirst('contact', [], $condition);
-
-                       if (DBM::is_result($r)) {
-                               $found = true;
-                               if ($r['blocked']) {
-                                       $r['id'] = -1;
-                               }
-                               $contact = $r;
-                               $author["contact-id"] = $r["id"];
-                       }
+                       $contact = dba::selectFirst('contact', [], $condition);
                }
 
-               if (!$found && ($addr != "")) {
+               if (!DBM::is_result($contact) && ($addr != '')) {
                        $condition = ["`uid` = ? AND `addr` = ? AND `network` != ?",
                                        $importer["uid"], $addr, NETWORK_STATUSNET];
-                       $r = dba::selectFirst('contact', [], $condition);
+                       $contact = dba::selectFirst('contact', [], $condition);
+               }
 
-                       if (DBM::is_result($r)) {
-                               $found = true;
-                               if ($r['blocked']) {
-                                       $r['id'] = -1;
-                               }
-                               $contact = $r;
-                               $author["contact-id"] = $r["id"];
+               if (DBM::is_result($contact)) {
+                       if ($contact['blocked']) {
+                               $contact['id'] = -1;
                        }
+                       $author["contact-id"] = $contact["id"];
                }
 
                $avatarlist = [];
@@ -154,7 +133,7 @@ class OStatus
                $author["owner-avatar"] = $author["author-avatar"];
 
                // Only update the contacts if it is an OStatus contact
-               if ($r && ($r['id'] > 0) && !$onlyfetch && ($contact["network"] == NETWORK_OSTATUS)) {
+               if (DBM::is_result($contact) && ($contact['id'] > 0) && !$onlyfetch && ($contact["network"] == NETWORK_OSTATUS)) {
 
                        // Update contact data
                        $current = $contact;
@@ -738,6 +717,7 @@ class OStatus
 
                        $links = $xpath->query('//link');
                        if ($links) {
+                               $file = '';
                                foreach ($links as $link) {
                                        $attribute = self::readAttributes($link);
                                        if (($attribute['rel'] == 'alternate') && ($attribute['type'] == 'application/atom+xml')) {
@@ -1251,6 +1231,7 @@ class OStatus
                $root->setAttribute("xmlns:statusnet", NAMESPACE_STATUSNET);
                $root->setAttribute("xmlns:mastodon", NAMESPACE_MASTODON);
 
+               $title = '';
                switch ($filter) {
                        case 'activity': $title = L10n::t('%s\'s timeline', $owner['name']); break;
                        case 'posts'   : $title = L10n::t('%s\'s posts'   , $owner['name']); break;
@@ -1385,10 +1366,7 @@ class OStatus
         */
        private static function addAuthor($doc, $owner)
        {
-               $r = q("SELECT `homepage`, `publish` FROM `profile` WHERE `uid` = %d AND `is-default` LIMIT 1", intval($owner["uid"]));
-               if (DBM::is_result($r)) {
-                       $profile = $r[0];
-               }
+               $profile = dba::selectFirst('profile', ['homepage', 'publish'], ['uid' => $owner['uid'], 'is-default' => true]);
                $author = $doc->createElement("author");
                XML::addElement($doc, $author, "id", $owner["url"]);
                XML::addElement($doc, $author, "activity:object-type", ACTIVITY_OBJ_PERSON);
@@ -1428,15 +1406,15 @@ class OStatus
                        $author->appendChild($element);
                }
 
-               if (trim($profile["homepage"]) != "") {
-                       $urls = $doc->createElement("poco:urls");
-                       XML::addElement($doc, $urls, "poco:type", "homepage");
-                       XML::addElement($doc, $urls, "poco:value", $profile["homepage"]);
-                       XML::addElement($doc, $urls, "poco:primary", "true");
-                       $author->appendChild($urls);
-               }
+               if (DBM::is_result($profile)) {
+                       if (trim($profile["homepage"]) != "") {
+                               $urls = $doc->createElement("poco:urls");
+                               XML::addElement($doc, $urls, "poco:type", "homepage");
+                               XML::addElement($doc, $urls, "poco:value", $profile["homepage"]);
+                               XML::addElement($doc, $urls, "poco:primary", "true");
+                               $author->appendChild($urls);
+                       }
 
-               if (count($profile)) {
                        XML::addElement($doc, $author, "followers", "", ["url" => System::baseUrl()."/viewcontacts/".$owner["nick"]]);
                        XML::addElement($doc, $author, "statusnet:profile_info", "", ["local_id" => $owner["uid"]]);
                }
@@ -1495,6 +1473,8 @@ class OStatus
         */
        private static function entry($doc, $item, $owner, $toplevel = false)
        {
+               $xml = null;
+
                $repeated_guid = self::getResharedGuid($item);
                if ($repeated_guid != "") {
                        $xml = self::reshareEntry($doc, $item, $owner, $repeated_guid, $toplevel);
index 201f9c8c048b799078ab1dcc036ca53fbfd6f09a..5b419e42eff3d15deb989d8cc8cac66231f71eca 100644 (file)
@@ -317,6 +317,7 @@ class PortableContact
                        $contact['created'] = DateTimeFormat::utcNow();
                }
 
+               $server_url = '';
                if ($force) {
                        $server_url = normalise_link(self::detectServer($profile));
                }