X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fapi.php;h=91a3a34d110f20a926b780bd3db3a7d0cd25fa14;hb=87eb3d5ef268534e1c8fac9ed63dad4fb50989ee;hp=1de9bfdbde5a06f121beb6eb959736cfeadff8a3;hpb=133120007c4f7c12f32e096898889841c53e25b4;p=friendica.git diff --git a/include/api.php b/include/api.php index 1de9bfdbde..91a3a34d11 100644 --- a/include/api.php +++ b/include/api.php @@ -133,7 +133,7 @@ * @hook 'logged_in' * array $user logged user record */ - function api_login(&$a){ + function api_login(App $a){ // login with oauth try{ $oauth = new FKOAuth1(); @@ -208,7 +208,7 @@ dbesc(trim($user)), dbesc($encrypted) ); - if(count($r)) + if (dbm::is_result($r)) $record = $r[0]; } @@ -251,8 +251,8 @@ * @param App $a * @return string API call result */ - function api_call(&$a){ - GLOBAL $API, $called_api; + function api_call(App $a){ + global $API, $called_api; $type="json"; if (strpos($a->query_string, ".xml")>0) $type="xml"; @@ -404,17 +404,17 @@ * @param array $user_info * @return array */ - function api_rss_extra(&$a, $arr, $user_info){ + function api_rss_extra(App $a, $arr, $user_info){ if (is_null($user_info)) $user_info = api_get_user($a); $arr['$user'] = $user_info; $arr['$rss'] = array( - 'alternate' => $user_info['url'], - 'self' => App::get_baseurl(). "/". $a->query_string, - 'base' => App::get_baseurl(), - 'updated' => api_date(null), + 'alternate' => $user_info['url'], + 'self' => App::get_baseurl(). "/". $a->query_string, + 'base' => App::get_baseurl(), + 'updated' => api_date(null), 'atom_updated' => datetime_convert('UTC','UTC','now',ATOM_TIME), - 'language' => $user_info['language'], - 'logo' => App::get_baseurl()."/images/friendica-32.png", + 'language' => $user_info['language'], + 'logo' => App::get_baseurl()."/images/friendica-32.png", ); return $arr; @@ -444,7 +444,7 @@ * @param int|string $contact_id Contact ID or URL * @param string $type Return type (for errors) */ - function api_get_user(&$a, $contact_id = Null, $type = "json"){ + function api_get_user(App $a, $contact_id = Null, $type = "json"){ global $called_api; $user = null; $extra_query = ""; @@ -623,7 +623,7 @@ // count friends $r = q("SELECT count(*) as `count` FROM `contact` WHERE `uid` = %d AND `rel` IN ( %d, %d ) - AND `self`=0 AND `blocked`=0 AND `hidden`=0", + AND `self`=0 AND NOT `blocked` AND `hidden`=0", intval($uinfo[0]['uid']), intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND) @@ -632,7 +632,7 @@ $r = q("SELECT count(*) as `count` FROM `contact` WHERE `uid` = %d AND `rel` IN ( %d, %d ) - AND `self`=0 AND `blocked`=0 AND `hidden`=0", + AND `self`=0 AND NOT `blocked` AND `hidden`=0", intval($uinfo[0]['uid']), intval(CONTACT_IS_FOLLOWER), intval(CONTACT_IS_FRIEND) @@ -712,7 +712,7 @@ * @param array $item : item from db * @return array(array:author, array:owner) */ - function api_item_get_user(&$a, $item) { + function api_item_get_user(App $a, $item) { $status_user = api_get_user($a, $item["author-link"]); @@ -1326,10 +1326,10 @@ if (isset($_GET["q"])) { $r = q("SELECT id FROM `contact` WHERE `uid` = 0 AND `name` = '%s'", dbesc($_GET["q"])); - if (!count($r)) + if (!dbm::is_result($r)) $r = q("SELECT `id` FROM `contact` WHERE `uid` = 0 AND `nick` = '%s'", dbesc($_GET["q"])); - if (count($r)) { + if (dbm::is_result($r)) { $k = 0; foreach ($r AS $user) { $user_info = api_get_user($a, $user["id"], "json"); @@ -1399,7 +1399,7 @@ `contact`.`id` AS `cid` FROM `item` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) WHERE `item`.`uid` = %d AND `verb` = '%s' AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted` $sql_extra @@ -1476,7 +1476,7 @@ `user`.`nickname`, `user`.`hidewall` FROM `item` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) STRAIGHT_JOIN `user` ON `user`.`uid` = `item`.`uid` AND NOT `user`.`hidewall` WHERE `verb` = '%s' AND `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated` @@ -1543,7 +1543,7 @@ `contact`.`id` AS `cid` FROM `item` INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) WHERE `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted` AND `item`.`uid` = %d AND `item`.`verb` = '%s' $sql_extra", @@ -1619,7 +1619,7 @@ `contact`.`id` AS `cid` FROM `item` STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) WHERE `item`.`parent` = %d AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted` AND `item`.`uid` = %d AND `item`.`verb` = '%s' @@ -1673,7 +1673,7 @@ `contact`.`id` AS `cid` FROM `item` INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) WHERE `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted` AND NOT `item`.`private` AND `item`.`allow_cid` = '' AND `item`.`allow`.`gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' @@ -1792,7 +1792,7 @@ `contact`.`id` AS `cid` FROM `item` FORCE INDEX (`uid_id`) STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) WHERE `item`.`uid` = %d AND `verb` = '%s' AND NOT (`item`.`author-link` IN ('https://%s', 'http://%s')) AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted` @@ -1866,7 +1866,7 @@ `contact`.`id` AS `cid` FROM `item` FORCE INDEX (`uid_contactid_id`) STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`uid` = `item`.`uid` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) WHERE `item`.`uid` = %d AND `verb` = '%s' AND `item`.`contact-id` = %d AND `item`.`visible` AND NOT `item`.`moderated` AND NOT `item`.`deleted` @@ -2002,7 +2002,7 @@ AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0 AND `item`.`starred` = 1 AND `contact`.`id` = `item`.`contact-id` - AND NOT `contact`.`blocked` + AND (NOT `contact`.`blocked` OR `contact`.`pending`) $sql_extra AND `item`.`id`>%d ORDER BY `item`.`id` DESC LIMIT %d ,%d ", @@ -2436,22 +2436,22 @@ 'religion' => $profile['religion'], 'public_keywords' => $profile['pub_keywords'], 'private_keywords' => $profile['prv_keywords'], - 'likes' => bbcode(api_clean_plain_items($profile['likes']), false, false, 2, true), - 'dislikes' => bbcode(api_clean_plain_items($profile['dislikes']), false, false, 2, true), - 'about' => bbcode(api_clean_plain_items($profile['about']), false, false, 2, true), - 'music' => bbcode(api_clean_plain_items($profile['music']), false, false, 2, true), - 'book' => bbcode(api_clean_plain_items($profile['book']), false, false, 2, true), - 'tv' => bbcode(api_clean_plain_items($profile['tv']), false, false, 2, true), - 'film' => bbcode(api_clean_plain_items($profile['film']), false, false, 2, true), - 'interest' => bbcode(api_clean_plain_items($profile['interest']), false, false, 2, true), - 'romance' => bbcode(api_clean_plain_items($profile['romance']), false, false, 2, true), - 'work' => bbcode(api_clean_plain_items($profile['work']), false, false, 2, true), - 'education' => bbcode(api_clean_plain_items($profile['education']), false, false, 2, true), - 'social_networks' => bbcode(api_clean_plain_items($profile['contact']), false, false, 2, true), + 'likes' => bbcode(api_clean_plain_items($profile['likes']), false, false, 2, false), + 'dislikes' => bbcode(api_clean_plain_items($profile['dislikes']), false, false, 2, false), + 'about' => bbcode(api_clean_plain_items($profile['about']), false, false, 2, false), + 'music' => bbcode(api_clean_plain_items($profile['music']), false, false, 2, false), + 'book' => bbcode(api_clean_plain_items($profile['book']), false, false, 2, false), + 'tv' => bbcode(api_clean_plain_items($profile['tv']), false, false, 2, false), + 'film' => bbcode(api_clean_plain_items($profile['film']), false, false, 2, false), + 'interest' => bbcode(api_clean_plain_items($profile['interest']), false, false, 2, false), + 'romance' => bbcode(api_clean_plain_items($profile['romance']), false, false, 2, false), + 'work' => bbcode(api_clean_plain_items($profile['work']), false, false, 2, false), + 'education' => bbcode(api_clean_plain_items($profile['education']), false, false, 2, false), + 'social_networks' => bbcode(api_clean_plain_items($profile['contact']), false, false, 2, false), 'homepage' => $profile['homepage'], 'users' => null); return $profile; - } + } } /** @@ -2648,7 +2648,7 @@ if ($user_info['self'] == 0) $sql_extra = " AND false "; - $r = q("SELECT `nurl` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` $sql_extra", + $r = q("SELECT `nurl` FROM `contact` WHERE `uid` = %d AND NOT `self` AND (NOT `blocked` OR `pending`) $sql_extra", intval(api_user()) ); @@ -2755,7 +2755,7 @@ intval(api_user()) ); - if(!dbm::is_result($r)) + if (!dbm::is_result($r)) return; $ids = array(); @@ -2874,14 +2874,14 @@ // BadRequestException if no id specified (for clients using Twitter API) if ($id == 0) throw new BadRequestException('Message id not specified'); - // add parent-uri to sql command if specified by calling app + // add parent-uri to sql command if specified by calling app $sql_extra = ($parenturi != "" ? " AND `parent-uri` = '" . dbesc($parenturi) . "'" : ""); // get data of the specified message id $r = q("SELECT `id` FROM `mail` WHERE `uid` = %d AND `id` = %d" . $sql_extra, - intval($uid), + intval($uid), intval($id)); - + // error message if specified id is not in database if (!dbm::is_result($r)) { if ($verbose == "true") { @@ -2893,8 +2893,8 @@ } // delete message - $result = q("DELETE FROM `mail` WHERE `uid` = %d AND `id` = %d" . $sql_extra, - intval($uid), + $result = q("DELETE FROM `mail` WHERE `uid` = %d AND `id` = %d" . $sql_extra, + intval($uid), intval($id)); if ($verbose == "true") { @@ -3068,8 +3068,8 @@ 'image/gif' => 'gif' ); $data = array('photo'=>array()); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { $photo = array(); $photo['id'] = $rr['resource-id']; $photo['album'] = $rr['album']; @@ -3174,7 +3174,7 @@ intval(api_user()) ); - if ((! count($r)) || ($r[0]['network'] !== NETWORK_DFRN)) + if ((! dbm::is_result($r)) || ($r[0]['network'] !== NETWORK_DFRN)) throw new BadRequestException("Unknown contact"); $cid = $r[0]['id']; @@ -3218,7 +3218,7 @@ function api_share_as_retweet(&$item) { $body = trim($item["body"]); - if (diaspora::is_reshare($body, false)===false) { + if (Diaspora::is_reshare($body, false)===false) { return false; } @@ -3526,7 +3526,7 @@ intval($uid), intval($gid)); // error message if specified gid is not in database - if (count($r) == 0) + if (!dbm::is_result($r)) throw new BadRequestException("gid not available"); } else @@ -3581,7 +3581,7 @@ intval($uid), intval($gid)); // error message if specified gid is not in database - if (count($r) == 0) + if (!dbm::is_result($r)) throw new BadRequestException('gid not available'); // get data of the specified group id and group name @@ -3590,7 +3590,7 @@ intval($gid), dbesc($name)); // error message if specified gid is not in database - if (count($rname) == 0) + if (!dbm::is_result($rname)) throw new BadRequestException('wrong group name'); // delete group @@ -3629,7 +3629,7 @@ intval($uid), dbesc($name)); // error message if specified group name already exists - if (count($rname) != 0) + if (dbm::is_result($rname)) throw new BadRequestException('group name already exists'); // check if specified group name is a deleted group @@ -3637,7 +3637,7 @@ intval($uid), dbesc($name)); // error message if specified group name already exists - if (count($rname) != 0) + if (dbm::is_result($rname)) $reactivate_group = true; // create group @@ -3860,7 +3860,7 @@ // get data of the specified message id $r = q("SELECT `id` FROM `mail` WHERE `id` = %d AND `uid` = %d", - intval($id), + intval($id), intval($uid)); // error message if specified id is not in database if (!dbm::is_result($r)) { @@ -3869,8 +3869,8 @@ } // update seen indicator - $result = q("UPDATE `mail` SET `seen` = 1 WHERE `id` = %d AND `uid` = %d", - intval($id), + $result = q("UPDATE `mail` SET `seen` = 1 WHERE `id` = %d AND `uid` = %d", + intval($id), intval($uid)); if ($result) { @@ -3919,7 +3919,9 @@ $profile_url = $user_info["url"]; // message if nothing was found - if (count($r) == 0) + if (!dbm::is_result($r)) + $success = array('success' => false, 'search_results' => 'problem with query'); + else if (count($r) == 0) $success = array('success' => false, 'search_results' => 'nothing found'); else { $ret = Array(); @@ -3941,7 +3943,6 @@ } api_register_func('api/friendica/direct_messages_search', 'api_friendica_direct_messages_search', true); - /** * @brief return data of all the profiles a user has to the client * @@ -3966,7 +3967,7 @@ intval(api_user()), intval($profileid)); // error message if specified gid is not in database - if (count($r) == 0) + if (!dbm::is_result($r)) throw new BadRequestException("profile_id not available"); } else