]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Warnings fixed
[friendica.git] / include / api.php
index bd16206a5859e2994848e250b45b7e0d6a9c970a..42868aa9eb81566c5f2587dafcdca9f3b2db4158 100644 (file)
@@ -97,10 +97,10 @@ function api_source()
                }
 
                logger("Unrecognized user-agent ".$_SERVER['HTTP_USER_AGENT'], LOGGER_DEBUG);
+       } else {
+               logger("Empty user-agent", LOGGER_DEBUG);
        }
 
-       logger("Empty user-agent", LOGGER_DEBUG);
-
        return "api";
 }
 
@@ -480,7 +480,7 @@ function api_rss_extra(App $a, $arr, $user_info)
                'base'         => System::baseUrl(),
                'updated'      => api_date(null),
                'atom_updated' => DateTimeFormat::utcNow(DateTimeFormat::ATOM),
-               'language'     => $user_info['language'],
+               'language'     => $user_info['lang'],
                'logo'         => System::baseUrl() . "/images/friendica-32.png",
        ];
 
@@ -579,7 +579,9 @@ function api_get_user(App $a, $contact_id = null)
        // $called_api is the API path exploded on / and is expected to have at least 2 elements
        if (is_null($user) && ($a->argc > (count($called_api) - 1)) && (count($called_api) > 0)) {
                $argid = count($called_api);
-               list($user, $null) = explode(".", $a->argv[$argid]);
+               if (!empty($a->argv[$argid])) {
+                       list($user, $null) = explode(".", $a->argv[$argid]);
+               }
                if (is_numeric($user)) {
                        $user = dbesc(api_unique_id_to_nurl(intval($user)));
 
@@ -665,7 +667,7 @@ function api_get_user(App $a, $contact_id = null)
                                'geo_enabled' => false,
                                'verified' => false,
                                'statuses_count' => 0,
-                               'language' => '',
+                               'lang' => '',
                                'contributors_enabled' => false,
                                'is_translator' => false,
                                'is_translation_enabled' => false,
@@ -746,7 +748,7 @@ function api_get_user(App $a, $contact_id = null)
                'geo_enabled' => false,
                'verified' => true,
                'statuses_count' => intval($countitems),
-               'language' => '',
+               'lang' => '',
                'contributors_enabled' => false,
                'is_translator' => false,
                'is_translation_enabled' => false,
@@ -1278,7 +1280,7 @@ function api_status_show($type)
        // get last public wall message
        $condition = ['owner-id' => $user_info['pid'], 'uid' => api_user(),
                'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT]];
-       $lastwall = dba::selectFirst('item', [], $condition, ['order' => ['id' => true]]);
+       $lastwall = Item::selectFirst(Item::ITEM_FIELDLIST, $condition, ['order' => ['id' => true]]);
 
        if (DBM::is_result($lastwall)) {
                $in_reply_to = api_in_reply_to($lastwall);
@@ -1305,19 +1307,19 @@ function api_status_show($type)
                        'in_reply_to_screen_name' => $in_reply_to['screen_name'],
                        'user' => $user_info,
                        $geo => null,
-                       'coordinates' => "",
-                       'place' => "",
-                       'contributors' => "",
+                       'coordinates' => '',
+                       'place' => '',
+                       'contributors' => '',
                        'is_quote_status' => false,
                        'retweet_count' => 0,
                        'favorite_count' => 0,
                        'favorited' => $lastwall['starred'] ? true : false,
                        'retweeted' => false,
                        'possibly_sensitive' => false,
-                       'language' => "",
+                       'lang' => '',
                        'statusnet_html' => $converted["html"],
                        'statusnet_conversation_id' => $lastwall['parent'],
-                       'external_url' => System::baseUrl() . "/display/" . $lastwall['guid'],
+                       'external_url' => System::baseUrl() . '/display/' . $lastwall['guid'],
                ];
 
                if (count($converted["attachments"]) > 0) {
@@ -1363,7 +1365,7 @@ function api_users_show($type)
 
        $condition = ['owner-id' => $user_info['pid'], 'uid' => api_user(),
                'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT], 'private' => false];
-       $lastwall = dba::selectFirst('item', [], $condition, ['order' => ['id' => true]]);
+       $lastwall = Item::selectFirst(Item::ITEM_FIELDLIST, $condition, ['order' => ['id' => true]]);
 
        if (DBM::is_result($lastwall)) {
                $in_reply_to = api_in_reply_to($lastwall);
@@ -1823,12 +1825,12 @@ function api_statuses_show($type)
        $conversation = !empty($_REQUEST['conversation']);
 
        // try to fetch the item for the local user - or the public item, if there is no local one
-       $uri_item = dba::selectFirst('item', ['uri'], ['id' => $id]);
+       $uri_item = Item::selectFirst(['uri'], ['id' => $id]);
        if (!DBM::is_result($uri_item)) {
                throw new BadRequestException("There is no status with this id.");
        }
 
-       $item = dba::selectFirst('item', ['id'], ['uri' => $uri_item['uri'], 'uid' => [0, api_user()]], ['order' => ['uid' => true]]);
+       $item = Item::selectFirst(['id'], ['uri' => $uri_item['uri'], 'uid' => [0, api_user()]], ['order' => ['uid' => true]]);
        if (!DBM::is_result($item)) {
                throw new BadRequestException("There is no status with this id.");
        }
@@ -1903,12 +1905,12 @@ function api_conversation_show($type)
        logger('API: api_conversation_show: '.$id);
 
        // try to fetch the item for the local user - or the public item, if there is no local one
-       $item = dba::selectFirst('item', ['parent-uri'], ['id' => $id]);
+       $item = Item::selectFirst(['parent-uri'], ['id' => $id]);
        if (!DBM::is_result($item)) {
                throw new BadRequestException("There is no status with this id.");
        }
 
-       $parent = dba::selectFirst('item', ['id'], ['uri' => $item['parent-uri'], 'uid' => [0, api_user()]], ['order' => ['uid' => true]]);
+       $parent = Item::selectFirst(['id'], ['uri' => $item['parent-uri'], 'uid' => [0, api_user()]], ['order' => ['uid' => true]]);
        if (!DBM::is_result($parent)) {
                throw new BadRequestException("There is no status with this id.");
        }
@@ -3487,14 +3489,20 @@ function api_direct_messages_new($type)
                        dbesc($_POST['screen_name'])
                );
 
-               // Selecting the id by priority, friendica first
-               api_best_nickname($r);
+               if (DBM::is_result($r)) {
+                       // Selecting the id by priority, friendica first
+                       api_best_nickname($r);
 
-               $recipient = api_get_user($a, $r[0]['nurl']);
+                       $recipient = api_get_user($a, $r[0]['nurl']);
+               }
        } else {
                $recipient = api_get_user($a, $_POST['user_id']);
        }
 
+       if (empty($recipient)) {
+               throw new NotFoundException('Recipient not found');
+       }
+
        $replyto = '';
        $sub     = '';
        if (x($_REQUEST, 'replyto')) {