]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/NoScrape.php
Remove join profile table
[friendica.git] / src / Module / NoScrape.php
index 984ed9d608097604dc549c4b529918f9044946f5..53b3fc4e3ee63b812cb61af32584b3a1ea79a756 100644 (file)
@@ -25,17 +25,15 @@ class NoScrape extends BaseModule
                if (isset($parameters['nick'])) {
                        // Get infos about a specific nick (public)
                        $which = $parameters['nick'];
-                       $profile = 0;
                } elseif (local_user() && isset($parameters['profile']) && DI::args()->get(2) == 'view') {
                        // view infos about a known profile (needs a login)
                        $which   = $a->user['nickname'];
-                       $profile = $parameters['profile'];
                } else {
-                       System::jsonError(404, 'Invalid request');
+                       System::jsonError(403, 'Authentication required');
                        exit();
                }
 
-               Profile::load($a, $which, $profile);
+               Profile::load($a, $which);
 
                $json_info = [
                        'addr'         => $a->profile['addr'],
@@ -69,11 +67,20 @@ class NoScrape extends BaseModule
                $json_info['language'] = $a->profile['language'];
 
                if (!($a->profile['hide-friends'] ?? false)) {
-                       /// @todo What should this value tell us?
-                       $result = DBA::p("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1", $a->profile['uid']);
-                       if (DBA::isResult($result)) {
-                               $json_info["updated"] = date("c", strtotime($result[0]['updated']));
+                       $stmt = DBA::p(
+                               "SELECT `gcontact`.`updated`
+                               FROM `contact`
+                               INNER JOIN `gcontact`
+                               WHERE `gcontact`.`nurl` = `contact`.`nurl`
+                                 AND `self`
+                                 AND `uid` = ?
+                               LIMIT 1",
+                               intval($a->profile['uid'])
+                       );
+                       if ($gcontact = DBA::fetch($stmt)) {
+                               $json_info["updated"] = date("c", strtotime($gcontact['updated']));
                        }
+                       DBA::close($stmt);
 
                        $json_info['contacts'] = DBA::count('contact',
                                [
@@ -105,7 +112,7 @@ class NoScrape extends BaseModule
                $json_info['last-activity'] = date('o-W', $last_active);
 
                //These are optional fields.
-               $profile_fields = ['pdesc', 'locality', 'region', 'postal-code', 'country-name', 'gender', 'marital', 'about'];
+               $profile_fields = ['pdesc', 'locality', 'region', 'postal-code', 'country-name'];
                foreach ($profile_fields as $field) {
                        if (!empty($a->profile[$field])) {
                                $json_info["$field"] = $a->profile[$field];