]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Fix ostatus bug related to only_full_group_by
[friendica.git] / include / api.php
index ce7610312947b171a2787831ecad2a979d891a68..9fc853340af520d22f9a56b945906a7bd54e9fd2 100644 (file)
@@ -352,6 +352,7 @@ use \Friendica\Core\Config;
                                        }
                                }
                        }
+                       logger('API call not implemented: '.$a->query_string);
                        throw new NotImplementedException();
                } catch (HTTPException $e) {
                        header("HTTP/1.1 {$e->httpcode} {$e->httpdesc}");
@@ -626,7 +627,7 @@ use \Friendica\Core\Config;
                // count friends
                $r = q("SELECT count(*) as `count` FROM `contact`
                                WHERE  `uid` = %d AND `rel` IN ( %d, %d )
-                               AND `self`=0 AND NOT `blocked` AND `hidden`=0",
+                               AND `self`=0 AND NOT `blocked` AND NOT `pending` AND `hidden`=0",
                                intval($uinfo[0]['uid']),
                                intval(CONTACT_IS_SHARING),
                                intval(CONTACT_IS_FRIEND)
@@ -635,7 +636,7 @@ use \Friendica\Core\Config;
 
                $r = q("SELECT count(*) as `count` FROM `contact`
                                WHERE  `uid` = %d AND `rel` IN ( %d, %d )
-                               AND `self`=0 AND NOT `blocked` AND `hidden`=0",
+                               AND `self`=0 AND NOT `blocked` AND NOT `pending` AND `hidden`=0",
                                intval($uinfo[0]['uid']),
                                intval(CONTACT_IS_FOLLOWER),
                                intval(CONTACT_IS_FRIEND)
@@ -1686,20 +1687,16 @@ use \Friendica\Core\Config;
                );
 
                if ($r[0]['body'] != "") {
-                       if (!intval(get_config('system','old_share'))) {
-                               if (strpos($r[0]['body'], "[/share]") !== false) {
-                                       $pos = strpos($r[0]['body'], "[share");
-                                       $post = substr($r[0]['body'], $pos);
-                               } else {
-                                       $post = share_header($r[0]['author-name'], $r[0]['author-link'], $r[0]['author-avatar'], $r[0]['guid'], $r[0]['created'], $r[0]['plink']);
-
-                                       $post .= $r[0]['body'];
-                                       $post .= "[/share]";
-                               }
-                               $_REQUEST['body'] = $post;
-                       } else
-                               $_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body'];
+                       if (strpos($r[0]['body'], "[/share]") !== false) {
+                               $pos = strpos($r[0]['body'], "[share");
+                               $post = substr($r[0]['body'], $pos);
+                       } else {
+                               $post = share_header($r[0]['author-name'], $r[0]['author-link'], $r[0]['author-avatar'], $r[0]['guid'], $r[0]['created'], $r[0]['plink']);
 
+                               $post .= $r[0]['body'];
+                               $post .= "[/share]";
+                       }
+                       $_REQUEST['body'] = $post;
                        $_REQUEST['profile_uid'] = api_user();
                        $_REQUEST['type'] = 'wall';
                        $_REQUEST['api_source'] = true;
@@ -2724,6 +2721,7 @@ use \Friendica\Core\Config;
                return api_format_data('config', $type, array('config' => $config));
 
        }
+       api_register_func('api/gnusocial/config','api_statusnet_config',false);
        api_register_func('api/statusnet/config','api_statusnet_config',false);
 
        function api_statusnet_version($type) {
@@ -2732,6 +2730,7 @@ use \Friendica\Core\Config;
 
                return api_format_data('version', $type, array('version' => $fake_statusnet_version));
        }
+       api_register_func('api/gnusocial/version','api_statusnet_version',false);
        api_register_func('api/statusnet/version','api_statusnet_version',false);
 
        /**
@@ -3967,7 +3966,7 @@ use \Friendica\Core\Config;
                $multi_profiles = feature_enabled(api_user(),'multi_profiles');
                $directory = get_config('system', 'directory');
 
-// get data of the specified profile id or all profiles of the user if not specified
+               // get data of the specified profile id or all profiles of the user if not specified
                if ($profileid != 0) {
                        $r = q("SELECT * FROM `profile` WHERE `uid` = %d AND `id` = %d",
                                intval(api_user()),
@@ -3975,11 +3974,10 @@ use \Friendica\Core\Config;
                        // error message if specified gid is not in database
                        if (!dbm::is_result($r))
                                throw new BadRequestException("profile_id not available");
-               }
-               else
+               } else {
                        $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
                                intval(api_user()));
-
+               }
                // loop through all returned profiles and retrieve data and users
                $k = 0;
                foreach ($r as $rr) {
@@ -4006,9 +4004,11 @@ use \Friendica\Core\Config;
                }
 
                // return settings, authenticated user and profiles data
+               $self = q("SELECT `nurl` FROM `contact` WHERE `uid`= %d AND `self` LIMIT 1", intval(api_user()));
+
                $result = array('multi_profiles' => $multi_profiles ? true : false,
                                                'global_dir' => $directory,
-                                               'friendica_owner' => api_get_user($a, intval(api_user())),
+                                               'friendica_owner' => api_get_user($a, $self[0]['nurl']),
                                                'profiles' => $profiles);
                return api_format_data("friendica_profiles", $type, array('$result' => $result));
        }