From db3d230ad9a63ac9363fc3f3a658f8b6c3c5eab4 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Tue, 8 Nov 2016 17:47:56 -0800 Subject: more api work --- include/api.php | 167 +------------------------------------------------------- 1 file changed, 1 insertion(+), 166 deletions(-) (limited to 'include/api.php') diff --git a/include/api.php b/include/api.php index 36498898a..693967696 100644 --- a/include/api.php +++ b/include/api.php @@ -25,7 +25,7 @@ require_once('include/api_zot.php'); // All commands which require authentication accept a "channel" parameter // which is the left hand side of the channel address/nickname. - // If provided, the desired channel is selected before caarying out the command. + // If provided, the desired channel is selected before carrying out the command. // If not provided, the default channel associated with the account is used. // If channel selection fails, the API command requiring login will fail. @@ -180,171 +180,6 @@ require_once('include/api_zot.php'); - /** - * Returns user info array. - */ - - function api_get_user($contact_id = null, $contact_xchan = null){ - - $user = null; - $extra_query = ''; - - - if(! is_null($contact_xchan)) { - $user = local_channel(); - $extra_query = " and abook_xchan = '" . dbesc($contact_xchan) . "' "; - } - else { - if(! is_null($contact_id)){ - $user = $contact_id; - $extra_query = " AND abook_id = %d "; - } - - if(is_null($user) && x($_GET, 'user_id')) { - $user = intval($_GET['user_id']); - $extra_query = " AND abook_id = %d "; - } - if(is_null($user) && x($_GET, 'screen_name')) { - $user = dbesc($_GET['screen_name']); - $extra_query = " AND xchan_addr like '%s@%%' "; - if(api_user() !== false) - $extra_query .= " AND abook_channel = " . intval(api_user()); - } - } - - if (! $user) { - if (api_user() === false) { - api_login($a); - return false; - } else { - $user = local_channel(); - $extra_query = " AND abook_channel = %d AND abook_self = 1 "; - } - - } - - logger('api_user: ' . $extra_query . ', user: ' . $user, LOGGER_DATA, LOG_INFO); - - // user info - - $uinfo = q("SELECT * from abook left join xchan on abook_xchan = xchan_hash - WHERE true - $extra_query", - $user - ); - - if (! $uinfo) { - return false; - } - - $following = false; - - if(intval($uinfo[0]['abook_self'])) { - $usr = q("select * from channel where channel_id = %d limit 1", - intval(api_user()) - ); - $profile = q("select * from profile where uid = %d and is_default = 1 limit 1", - intval(api_user()) - ); - - $item_normal = item_normal(); - - // count public wall messages - $r = q("SELECT COUNT(id) as total FROM item - WHERE uid = %d - AND item_wall = 1 $item_normal - AND allow_cid = '' AND allow_gid = '' AND deny_cid = '' AND deny_gid = '' - AND item_private = 0 ", - intval($usr[0]['channel_id']) - ); - if($r) { - $countitms = $r[0]['total']; - $following = true; - } - } - else { - $r = q("SELECT COUNT(id) as total FROM item - WHERE author_xchan = '%s' - AND allow_cid = '' AND allow_gid = '' AND deny_cid = '' AND deny_gid = '' - AND item_private = 0 ", - intval($uinfo[0]['xchan_hash']) - ); - if($r) { - $countitms = $r[0]['total']; - } - $following = ((get_abconfig($uinfo[0]['abook_channel'],$uinfo[0]['abook_xchan'],'my_perms','view_stream')) ? true : false ); - } - - // count friends - if($usr) { - $r = q("SELECT COUNT(abook_id) as total FROM abook - WHERE abook_channel = %d AND abook_self = 0 ", - intval($usr[0]['channel_id']) - ); - if($r) { - $countfriends = $r[0]['total']; - $countfollowers = $r[0]['total']; - } - } - - $r = q("SELECT count(id) as total FROM item where item_starred = 1 and uid = %d " . item_normal(), - intval($uinfo[0]['channel_id']) - ); - if($r) - $starred = $r[0]['total']; - - if(! intval($uinfo[0]['abook_self'])) { - $countfriends = 0; - $countfollowers = 0; - $starred = 0; - } - - $ret = array( - 'id' => intval($uinfo[0]['abook_id']), - 'self' => (intval($uinfo[0]['abook_self']) ? 1 : 0), - 'uid' => intval($uinfo[0]['abook_channel']), - 'guid' => $uinfo[0]['xchan_hash'], - 'name' => (($uinfo[0]['xchan_name']) ? $uinfo[0]['xchan_name'] : substr($uinfo[0]['xchan_addr'],0,strpos($uinfo[0]['xchan_addr'],'@'))), - 'screen_name' => substr($uinfo[0]['xchan_addr'],0,strpos($uinfo[0]['xchan_addr'],'@')), - 'location' => ($usr) ? $usr[0]['channel_location'] : '', - 'profile_image_url' => $uinfo[0]['xchan_photo_l'], - 'url' => $uinfo[0]['xchan_url'], - 'contact_url' => z_root() . '/connections/'.$uinfo[0]['abook_id'], - 'protected' => false, - 'friends_count' => intval($countfriends), - 'created_at' => api_date($uinfo[0]['abook_created']), - 'utc_offset' => '+00:00', - 'time_zone' => 'UTC', //$uinfo[0]['timezone'], - 'geo_enabled' => false, - 'statuses_count' => intval($countitms), //#XXX: fix me - 'lang' => App::$language, - 'description' => (($profile) ? $profile[0]['pdesc'] : ''), - 'followers_count' => intval($countfollowers), - 'favourites_count' => intval($starred), - 'contributors_enabled' => false, - 'follow_request_sent' => true, - 'profile_background_color' => 'cfe8f6', - 'profile_text_color' => '000000', - 'profile_link_color' => 'FF8500', - 'profile_sidebar_fill_color' =>'AD0066', - 'profile_sidebar_border_color' => 'AD0066', - 'profile_background_image_url' => '', - 'profile_background_tile' => false, - 'profile_use_background_image' => false, - 'notifications' => false, - 'following' => $following, - 'verified' => true // #XXX: fix me - ); - - $x = api_get_status($uinfo[0]['xchan_hash']); - if($x) - $ret['status'] = $x; - -// logger('api_get_user: ' . print_r($ret,true)); - - return $ret; - - } function api_client_register($type) { -- cgit v1.2.3