]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Lint api.php
[friendica.git] / include / api.php
index 7cdb448c4f263be14894c88e377c1e7f04d6f7f6..9580afa86c7a1939a6a34e282fe71709f49be4a5 100644 (file)
@@ -186,7 +186,7 @@ function api_login(App $a)
        }
 
        if (!x($_SERVER, 'PHP_AUTH_USER')) {
-               logger('API_login: ' . print_r($_SERVER,true), LOGGER_DEBUG);
+               logger('API_login: ' . print_r($_SERVER, true), LOGGER_DEBUG);
                header('WWW-Authenticate: Basic realm="Friendica"');
                throw new UnauthorizedException("This API requires login");
        }
@@ -367,12 +367,13 @@ function api_call(App $a)
                                                break;
                                        case "json":
                                                header("Content-Type: application/json");
-                                               foreach ($r as $rr)
+                                               foreach ($r as $rr) {
                                                        $json = json_encode($rr);
-                                                       if (x($_GET, 'callback')) {
-                                                               $json = $_GET['callback'] . "(" . $json . ")";
-                                                       }
-                                                       return $json;
+                                               }
+                                               if (x($_GET, 'callback')) {
+                                                       $json = $_GET['callback'] . "(" . $json . ")";
+                                               }
+                                               return $json;
                                                break;
                                        case "rss":
                                                header("Content-Type: application/rss+xml");
@@ -399,7 +400,7 @@ function api_call(App $a)
  *
  * @param string $type Return type (xml, json, rss, as)
  * @param object $e    HTTPException Error object
- * @return strin error message formatted as $type
+ * @return string error message formatted as $type
  */
 function api_error($type, $e)
 {
@@ -946,12 +947,10 @@ function api_create_xml($data, $root_element)
  * @param string $type         Return type (atom, rss, xml, json)
  * @param array  $data         JSON style array
  *
- * @return (string|object) XML data or JSON data
+ * @return (string|object|array) XML data or JSON data
  */
 function api_format_data($root_element, $type, $data)
 {
-       $a = get_app();
-
        switch ($type) {
                case "atom":
                case "rss":
@@ -1496,7 +1495,7 @@ function api_users_search($type)
                if (DBM::is_result($r)) {
                        $k = 0;
                        foreach ($r as $user) {
-                               $user_info = api_get_user($a, $user["id"], "json");
+                               $user_info = api_get_user($a, $user["id"]);
 
                                if ($type == "xml") {
                                        $userlist[$k++.":user"] = $user_info;
@@ -1739,7 +1738,8 @@ function api_statuses_public_timeline($type)
                        $sql_extra = 'AND `thread`.`iid` <= ' . intval($max_id);
                }
 
-               $r = dba::p("SELECT " . item_fieldlists() . "
+               $r = dba::p(
+                       "SELECT " . item_fieldlists() . "
                        FROM `thread`
                        STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid`
                        " . item_joins() . "
@@ -1768,7 +1768,8 @@ function api_statuses_public_timeline($type)
                        $sql_extra .= ' AND `item`.`parent` = ' . intval($conversation_id);
                }
 
-               $r = dba::p("SELECT " . item_fieldlists() . "
+               $r = dba::p(
+                       "SELECT " . item_fieldlists() . "
                        FROM `item`
                        " . item_joins() . "
                        STRAIGHT_JOIN `user` ON `user`.`uid` = `item`.`uid`
@@ -1839,7 +1840,8 @@ function api_statuses_networkpublic_timeline($type)
                $sql_extra = 'AND `thread`.`iid` <= ' . intval($max_id);
        }
 
-       $r = dba::p("SELECT " . item_fieldlists() . "
+       $r = dba::p(
+               "SELECT " . item_fieldlists() . "
                FROM `thread`
                STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid`
                " . item_joins() . "
@@ -2011,10 +2013,12 @@ function api_conversation_show($type)
                AND `item`.`uid` = %d AND `item`.`verb` = '%s'
                AND `item`.`id`>%d $sql_extra
                ORDER BY `item`.`id` DESC LIMIT %d ,%d",
-               intval($id), intval(api_user()),
+               intval($id),
+               intval(api_user()),
                dbesc(ACTIVITY_POST),
                intval($since_id),
-               intval($start), intval($count)
+               intval($start),
+               intval($count)
        );
 
        if (!DBM::is_result($r)) {
@@ -2323,7 +2327,7 @@ function api_statuses_user_timeline($type)
 }
 
 /// @TODO move to top of file or somwhere better
-api_register_func('api/statuses/user_timeline','api_statuses_user_timeline', true);
+api_register_func('api/statuses/user_timeline', 'api_statuses_user_timeline', true);
 
 /**
  * Star/unstar an item
@@ -2374,7 +2378,7 @@ function api_favorites_create_destroy($type)
                        throw new BadRequestException("Invalid action ".$action);
        }
 
-       $r = q("UPDATE item SET starred=%d WHERE id=%d AND uid=%d",     $item[0]['starred'], $itemid, api_user());
+       $r = q("UPDATE item SET starred=%d WHERE id=%d AND uid=%d", $item[0]['starred'], $itemid, api_user());
 
        q("UPDATE thread SET starred=%d WHERE iid=%d AND uid=%d", $item[0]['starred'], $itemid, api_user());
 
@@ -2721,8 +2725,9 @@ function api_get_entitities(&$text, $bbcode)
        foreach ($images[1] as $image) {
                //$start = strpos($text, $url, $offset);
                $start = iconv_strpos($text, $image, 0, "UTF-8");
-               if (!($start === false))
+               if (!($start === false)) {
                        $ordered_images[$start] = $image;
+               }
        }
        //$entities["media"] = array();
        $offset = 0;
@@ -2731,8 +2736,9 @@ function api_get_entitities(&$text, $bbcode)
                $display_url = str_replace(array("http://www.", "https://www."), array("", ""), $url);
                $display_url = str_replace(array("http://", "https://"), array("", ""), $display_url);
 
-               if (strlen($display_url) > 26)
+               if (strlen($display_url) > 26) {
                        $display_url = substr($display_url, 0, 25)."…";
+               }
 
                $start = iconv_strpos($text, $url, $offset, "UTF-8");
                if (!($start === false)) {
@@ -2883,8 +2889,9 @@ function api_format_items_activities(&$item, $type = "json")
                        $xml_activities["friendica:".$k] = $v;
                        // add user data into xml output
                        $k_user = 0;
-                       foreach ($v as $user)
+                       foreach ($v as $user) {
                                $xml_activities["friendica:".$k][$k_user++.":user"] = $user;
+                       }
                }
                $activities = $xml_activities;
        }
@@ -3167,10 +3174,10 @@ function api_statuses_f($qtype)
                return false;
        }
 
+       $sql_extra = '';
        if ($qtype == 'friends') {
                $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND));
-       }
-       if ($qtype == 'followers') {
+       } elseif ($qtype == 'followers') {
                $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_FOLLOWER), intval(CONTACT_IS_FRIEND));
        }
 
@@ -3315,7 +3322,7 @@ function api_statusnet_config($type)
        $private = ((Config::get('system', 'block_public')) ? 'true' : 'false');
        $textlimit = (string) (($a->config['max_import_size']) ? $a->config['max_import_size'] : 200000);
        if ($a->config['api_import_size']) {
-               $texlimit = string($a->config['api_import_size']);
+               $textlimit = (string) $a->config['api_import_size'];
        }
        $ssl = ((Config::get('system', 'have_ssl')) ? 'true' : 'false');
        $sslserver = (($ssl === 'true') ? str_replace('http:', 'https:', System::baseUrl()) : '');
@@ -3357,7 +3364,7 @@ api_register_func('api/statusnet/version', 'api_statusnet_version', false);
 /**
  * @todo use api_format_data() to return data
  */
-function api_ff_ids($type,$qtype)
+function api_ff_ids($type, $qtype)
 {
        $a = get_app();
 
@@ -3367,17 +3374,6 @@ function api_ff_ids($type,$qtype)
 
        $user_info = api_get_user($a);
 
-       if ($qtype == 'friends') {
-               $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND));
-       }
-       if ($qtype == 'followers') {
-               $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_FOLLOWER), intval(CONTACT_IS_FRIEND));
-       }
-
-       if (!$user_info["self"]) {
-               $sql_extra = " AND false ";
-       }
-
        $stringify_ids = (x($_REQUEST, 'stringify_ids') ? $_REQUEST['stringify_ids'] : false);
 
        $r = q(
@@ -3422,9 +3418,13 @@ function api_direct_messages_new($type)
 
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
 
-       if (!x($_POST, "text") || (!x($_POST, "screen_name") && !x($_POST, "user_id"))) return;
+       if (!x($_POST, "text") || (!x($_POST, "screen_name") && !x($_POST, "user_id"))) {
+               return;
+       }
 
        $sender = api_get_user($a);
 
@@ -3479,7 +3479,6 @@ function api_direct_messages_new($type)
        }
 
        return api_format_data("direct-messages", $type, $data);
-
 }
 
 /// @TODO move to top of file or somewhere better
@@ -3558,7 +3557,6 @@ function api_direct_messages_destroy($type)
                }
        }
        /// @todo return JSON data like Twitter API not yet implemented
-
 }
 
 /// @TODO move to top of file or somewhere better
@@ -3740,8 +3738,9 @@ function api_fr_photoalbum_delete($type)
                intval(api_user()),
                dbesc($album)
        );
-       if (!DBM::is_result($r))
+       if (!DBM::is_result($r)) {
                throw new BadRequestException("album not available");
+       }
 
        // function for setting the items to "deleted = 1" which ensures that comments, likes etc. are not shown anymore
        // to the user and the contacts of the users (drop_items() performs the federation of the deletion to other networks
@@ -4277,7 +4276,8 @@ function save_media_to_database($mediatype, $media, $type, $album, $allow_cid, $
        }
        logger(
                "File upload src: " . $src . " - filename: " . $filename .
-               " - size: " . $filesize . " - type: " . $filetype, LOGGER_DEBUG
+               " - size: " . $filesize . " - type: " . $filetype,
+               LOGGER_DEBUG
        );
 
        // check if there was a php upload error
@@ -4605,7 +4605,7 @@ api_register_func('api/friendica/remoteauth', 'api_friendica_remoteauth', true);
  * @brief Return the item shared, if the item contains only the [share] tag
  *
  * @param array $item Sharer item
- * @return array Shared item or false if not a reshare
+ * @return array|false Shared item or false if not a reshare
  */
 function api_share_as_retweet(&$item)
 {
@@ -4676,8 +4676,9 @@ function api_share_as_retweet(&$item)
 
        $posted = "";
        preg_match("/posted='(.*?)'/ism", $attributes, $matches);
-       if ($matches[1] != "")
+       if ($matches[1] != "") {
                $posted = $matches[1];
+       }
 
        preg_match('/posted="(.*?)"/ism', $attributes, $matches);
        if ($matches[1] != "") {
@@ -4699,7 +4700,6 @@ function api_share_as_retweet(&$item)
        $reshared_item["edited"] = $posted;
 
        return $reshared_item;
-
 }
 
 function api_get_nick($profile)
@@ -4794,9 +4794,11 @@ function api_in_reply_to($item)
        $in_reply_to['screen_name'] = null;
 
        if (($item['thr-parent'] != $item['uri']) && (intval($item['parent']) != intval($item['id']))) {
-               $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1",
+               $r = q(
+                       "SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1",
                        intval($item['uid']),
-                       dbesc($item['thr-parent']));
+                       dbesc($item['thr-parent'])
+               );
 
                if (DBM::is_result($r)) {
                        $in_reply_to['status_id'] = intval($r[0]['id']);
@@ -4806,7 +4808,8 @@ function api_in_reply_to($item)
 
                $in_reply_to['status_id_str'] = (string) intval($in_reply_to['status_id']);
 
-               $r = q("SELECT `contact`.`nick`, `contact`.`name`, `contact`.`id`, `contact`.`url` FROM item
+               $r = q(
+                       "SELECT `contact`.`nick`, `contact`.`name`, `contact`.`id`, `contact`.`url` FROM item
                        STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`author-id`
                        WHERE `item`.`id` = %d LIMIT 1",
                        intval($in_reply_to['status_id'])
@@ -4891,39 +4894,56 @@ function api_best_nickname(&$contacts)
 {
        $best_contact = array();
 
-       if (count($contact) == 0)
+       if (count($contact) == 0) {
                return;
+       }
 
-       foreach ($contacts as $contact)
+       foreach ($contacts as $contact) {
                if ($contact["network"] == "") {
                        $contact["network"] = "dfrn";
                        $best_contact = array($contact);
                }
+       }
 
-       if (sizeof($best_contact) == 0)
-               foreach ($contacts as $contact)
-                       if ($contact["network"] == "dfrn")
+       if (sizeof($best_contact) == 0) {
+               foreach ($contacts as $contact) {
+                       if ($contact["network"] == "dfrn") {
                                $best_contact = array($contact);
+                       }
+               }
+       }
 
-       if (sizeof($best_contact) == 0)
-               foreach ($contacts as $contact)
-                       if ($contact["network"] == "dspr")
+       if (sizeof($best_contact) == 0) {
+               foreach ($contacts as $contact) {
+                       if ($contact["network"] == "dspr") {
                                $best_contact = array($contact);
+                       }
+               }
+       }
 
-       if (sizeof($best_contact) == 0)
-               foreach ($contacts as $contact)
-                       if ($contact["network"] == "stat")
+       if (sizeof($best_contact) == 0) {
+               foreach ($contacts as $contact) {
+                       if ($contact["network"] == "stat") {
                                $best_contact = array($contact);
+                       }
+               }
+       }
 
-       if (sizeof($best_contact) == 0)
-               foreach ($contacts as $contact)
-                       if ($contact["network"] == "pump")
+       if (sizeof($best_contact) == 0) {
+               foreach ($contacts as $contact) {
+                       if ($contact["network"] == "pump") {
                                $best_contact = array($contact);
+                       }
+               }
+       }
 
-       if (sizeof($best_contact) == 0)
-               foreach ($contacts as $contact)
-                       if ($contact["network"] == "twit")
+       if (sizeof($best_contact) == 0) {
+               foreach ($contacts as $contact) {
+                       if ($contact["network"] == "twit") {
                                $best_contact = array($contact);
+                       }
+               }
+       }
 
        if (sizeof($best_contact) == 1) {
                $contacts = $best_contact;
@@ -4937,7 +4957,9 @@ function api_friendica_group_show($type)
 {
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
 
        // params
        $user_info = api_get_user($a);
@@ -4952,8 +4974,9 @@ function api_friendica_group_show($type)
                        intval($gid)
                );
                // error message if specified gid is not in database
-               if (!DBM::is_result($r))
+               if (!DBM::is_result($r)) {
                        throw new BadRequestException("gid not available");
+               }
        } else {
                $r = q(
                        "SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d",
@@ -5048,7 +5071,9 @@ function api_friendica_group_create($type)
 {
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
 
        // params
        $user_info = api_get_user($a);
@@ -5058,8 +5083,9 @@ function api_friendica_group_create($type)
        $users = $json['user'];
 
        // error if no name specified
-       if ($name == "")
+       if ($name == "") {
                throw new BadRequestException('group name not specified');
+       }
 
        // get data of the specified group name
        $rname = q(
@@ -5068,8 +5094,9 @@ function api_friendica_group_create($type)
                dbesc($name)
        );
        // error message if specified group name already exists
-       if (DBM::is_result($rname))
+       if (DBM::is_result($rname)) {
                throw new BadRequestException('group name already exists');
+       }
 
        // check if specified group name is a deleted group
        $rname = q(
@@ -5078,8 +5105,9 @@ function api_friendica_group_create($type)
                dbesc($name)
        );
        // error message if specified group name already exists
-       if (DBM::is_result($rname))
+       if (DBM::is_result($rname)) {
                $reactivate_group = true;
+       }
 
        // create group
        $ret = Group::create($uid, $name);
@@ -5121,7 +5149,9 @@ function api_friendica_group_update($type)
 {
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
 
        // params
        $user_info = api_get_user($a);
@@ -5132,12 +5162,14 @@ function api_friendica_group_update($type)
        $users = $json['user'];
 
        // error if no name specified
-       if ($name == "")
+       if ($name == "") {
                throw new BadRequestException('group name not specified');
+       }
 
        // error if no gid specified
-       if ($gid == "")
+       if ($gid == "") {
                throw new BadRequestException('gid not specified');
+       }
 
        // remove members
        $members = Contact::getByGroupId($gid);
@@ -5183,7 +5215,9 @@ function api_friendica_activity($type)
 {
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
        $verb = strtolower($a->argv[3]);
        $verb = preg_replace("|\..*$|", "", $verb);
 
@@ -5225,16 +5259,21 @@ function api_friendica_notification($type)
 {
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
-       if ($a->argc!==3) throw new BadRequestException("Invalid argument count");
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
+       if ($a->argc!==3) {
+               throw new BadRequestException("Invalid argument count");
+       }
        $nm = new NotificationsManager();
 
        $notes = $nm->getAll(array(), "+seen -date", 50);
 
        if ($type == "xml") {
                $xmlnotes = array();
-               foreach ($notes as $note)
+               foreach ($notes as $note) {
                        $xmlnotes[] = array("@attributes" => $note);
+               }
 
                $notes = $xmlnotes;
        }
@@ -5254,14 +5293,20 @@ function api_friendica_notification_seen($type)
 {
        $a = get_app();
 
-       if (api_user() === false) throw new ForbiddenException();
-       if ($a->argc!==4) throw new BadRequestException("Invalid argument count");
+       if (api_user() === false) {
+               throw new ForbiddenException();
+       }
+       if ($a->argc!==4) {
+               throw new BadRequestException("Invalid argument count");
+       }
 
        $id = (x($_REQUEST, 'id') ? intval($_REQUEST['id']) : 0);
 
        $nm = new NotificationsManager();
        $note = $nm->getByID($id);
-       if (is_null($note)) throw new BadRequestException("Invalid argument");
+       if (is_null($note)) {
+               throw new BadRequestException("Invalid argument");
+       }
 
        $nm->setSeen($note);
        if ($note['otype']=='item') {
@@ -5518,15 +5563,15 @@ api_register_func('api/saved_searches/list', 'api_saved_searches_list', true);
 /*
 @TODO Maybe open to implement?
 To.Do:
-    [pagename] => api/1.1/statuses/lookup.json
-    [id] => 605138389168451584
-    [include_cards] => true
-    [cards_platform] => Android-12
-    [include_entities] => true
-    [include_my_retweet] => 1
-    [include_rts] => 1
-    [include_reply_count] => true
-    [include_descendent_reply_count] => true
+       [pagename] => api/1.1/statuses/lookup.json
+       [id] => 605138389168451584
+       [include_cards] => true
+       [cards_platform] => Android-12
+       [include_entities] => true
+       [include_my_retweet] => 1
+       [include_rts] => 1
+       [include_reply_count] => true
+       [include_descendent_reply_count] => true
 (?)