]> git.mxchange.org Git - friendica.git/commitdiff
More details in the location field for poco.
authorMichael Vogel <icarus@dabo.de>
Wed, 4 Feb 2015 09:43:30 +0000 (10:43 +0100)
committerMichael Vogel <icarus@dabo.de>
Wed, 4 Feb 2015 09:43:30 +0000 (10:43 +0100)
mod/poco.php
mod/profiles.php

index c8d8f72e830bde688a4f503783b3156df0533447..8eb45d23748b0e9be89f136f14ddabc94c2883ad 100644 (file)
@@ -102,7 +102,8 @@ function poco_init(&$a) {
                        intval($itemsPerPage)
                );
        } elseif($system_mode) {
-               $r = q("SELECT `contact`.*, `profile`.`about` AS `pabout`, `profile`.`locality` AS `plocation`, `profile`.`pub_keywords`, `profile`.`gender` AS `pgender`
+               $r = q("SELECT `contact`.*, `profile`.`about` AS `pabout`, `profile`.`locality` AS `plocation`, `profile`.`pub_keywords`, `profile`.`gender` AS `pgender`,
+                       `profile`.`address` AS `paddress`, `profile`.`region` AS `pregion`, `profile`.`postal-code` AS `ppostalcode`, `profile`.`country-name` AS `pcountry`
                        FROM `contact` INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
                        WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s', '') AND `profile`.`is-default`
                        AND `contact`.`uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) LIMIT %d, %d",
@@ -151,7 +152,8 @@ function poco_init(&$a) {
                'currentLocation' => false,
                'network' => false,
                'gender' => false,
-               'tags' => false
+               'tags' => false,
+               'address' => false
        );
 
        if((! x($_GET,'fields')) || ($_GET['fields'] === '@all'))
@@ -169,8 +171,24 @@ function poco_init(&$a) {
                                if (($rr['about'] == "") AND isset($rr['pabout']))
                                        $rr['about'] = $rr['pabout'];
 
-                               if (($rr['location'] == "") AND isset($rr['plocation']))
-                                       $rr['location'] = $rr['plocation'];
+                               if ($rr['location'] == "") {
+                                       if (isset($rr['plocation']))
+                                               $rr['location'] = $rr['plocation'];
+
+                                       if (isset($rr['pregion']) AND ($rr['pregion'] != "")) {
+                                               if ($rr['location'] != "")
+                                                       $rr['location'] .= ", ";
+
+                                               $rr['location'] .= $rr['pregion'];
+                                       }
+
+                                       if (isset($rr['pcountry']) AND ($rr['pcountry'] != "")) {
+                                               if ($rr['location'] != "")
+                                                       $rr['location'] .= ", ";
+
+                                               $rr['location'] .= $rr['pcountry'];
+                                       }
+                               }
 
                                if (($rr['gender'] == "") AND isset($rr['pgender']))
                                        $rr['gender'] = $rr['pgender'];
@@ -235,6 +253,26 @@ function poco_init(&$a) {
 
                                        $entry['tags'] = array($cleaned);
                                }
+                               if($fields_ret['address']) {
+                                       $entry['address'] = array();
+
+                                       // Deactivated. It just reveals too much data. (Although its from the default profile)
+                                       //if (isset($rr['paddress']))
+                                       //       $entry['address']['streetAddress'] = $rr['paddress'];
+
+                                       if (isset($rr['plocation']))
+                                                $entry['address']['locality'] = $rr['plocation'];
+
+                                       if (isset($rr['pregion']))
+                                                $entry['address']['region'] = $rr['pregion'];
+
+                                       // See above
+                                       //if (isset($rr['ppostalcode']))
+                                       //       $entry['address']['postalCode'] = $rr['ppostalcode'];
+
+                                       if (isset($rr['pcountry']))
+                                                $entry['address']['country'] = $rr['pcountry'];
+                               }
 
                                $ret['entry'][] = $entry;
                        }
index befeedb2efac11dceff01e7b0996b507def97bb5..2b4952c3b67af71b62fab941445203c5899fdee6 100644 (file)
@@ -485,10 +485,25 @@ function profiles_post(&$a) {
                }
 
                if($is_default) {
+                       $location = $locality;
+
+                       if ($region != "") {
+                               if ($location != "")
+                                       $location .= ", ";
+
+                               $location .= $region;
+                       }
+
+                       if ($country_name != "") {
+                               if ($location != "")
+                                       $location .= ", ";
+
+                               $location .= $country_name;
+                       }
 
                        $r = q("UPDATE `contact` SET `about` = '%s', `location` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `self` = 1 AND `uid` = %d",
                                dbesc($about),
-                               dbesc($locality),
+                               dbesc($location),
                                dbesc($pub_keywords),
                                dbesc($gender),
                                intval(local_user())