]> git.mxchange.org Git - friendica.git/blobdiff - mod/poco.php
Merge branch 'rewrites/dbm_is_result' of github.com:Quix0r/friendica into rewrites...
[friendica.git] / mod / poco.php
index 0a1b392169b22dbf3e5748bb4ebbbebc8aa65a25..557f401eae7d7daf706191806b1da8f96b24329c 100644 (file)
@@ -1,4 +1,6 @@
 <?php
+// See here for a documentation for portable contacts:
+// https://web.archive.org/web/20160405005550/http://portablecontacts.net/draft-spec.html
 
 function poco_init(&$a) {
        require_once("include/bbcode.php");
@@ -43,7 +45,7 @@ function poco_init(&$a) {
                        where `user`.`nickname` = '%s' and `profile`.`is-default` = 1 limit 1",
                        dbesc($user)
                );
-               if(! count($r) || $r[0]['hidewall'] || $r[0]['hide-friends'])
+               if(! dbm::is_result($r) || $r[0]['hidewall'] || $r[0]['hide-friends'])
                        http_status_exit(404);
 
                $user = $r[0];
@@ -81,7 +83,7 @@ function poco_init(&$a) {
                        dbesc(NETWORK_STATUSNET)
                );
        }
-       if(count($r))
+       if(dbm::is_result($r))
                $totalResults = intval($r[0]['total']);
        else
                $totalResults = 0;
@@ -104,9 +106,11 @@ function poco_init(&$a) {
                );
        } elseif($system_mode) {
                logger("Start system mode query", LOGGER_DEBUG);
-               $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`
+               $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`, `user`.`account-type`
                        FROM `contact` INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
+                               INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
                        WHERE `self` = 1 AND `profile`.`is-default`
                        AND `contact`.`uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) LIMIT %d, %d",
                        intval($startIndex),
@@ -155,6 +159,7 @@ function poco_init(&$a) {
                'gender' => false,
                'tags' => false,
                'address' => false,
+               'contactType' => false,
                'generation' => false
        );
 
@@ -168,7 +173,7 @@ function poco_init(&$a) {
        }
 
        if(is_array($r)) {
-               if(count($r)) {
+               if(dbm::is_result($r)) {
                        foreach($r as $rr) {
                                if (!isset($rr['generation'])) {
                                        if ($global)
@@ -207,6 +212,9 @@ function poco_init(&$a) {
                                if (($rr['keywords'] == "") AND isset($rr['pub_keywords']))
                                        $rr['keywords'] = $rr['pub_keywords'];
 
+                               if (isset($rr['account-type']))
+                                       $rr['contact-type'] = $rr['account-type'];
+
                                $about = Cache::get("about:".$rr['updated'].":".$rr['nurl']);
                                if (is_null($about)) {
                                        $about = bbcode($rr['about'], false, false);
@@ -300,6 +308,9 @@ function poco_init(&$a) {
                                                 $entry['address']['country'] = $rr['pcountry'];
                                }
 
+                               if($fields_ret['contactType'])
+                                       $entry['contactType'] = intval($rr['contact-type']);
+
                                $ret['entry'][] = $entry;
                        }
                }