diff options
author | zotlabs <mike@macgirvin.com> | 2016-11-08 17:47:56 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2016-11-08 17:47:56 -0800 |
commit | db3d230ad9a63ac9363fc3f3a658f8b6c3c5eab4 (patch) | |
tree | bcc0e456d5b9b47df31058844b1273f419ac459b | |
parent | fabf278633b40999640f9bfbb2523c14f42cb1fb (diff) | |
download | volse-hubzilla-db3d230ad9a63ac9363fc3f3a658f8b6c3c5eab4.tar.gz volse-hubzilla-db3d230ad9a63ac9363fc3f3a658f8b6c3c5eab4.tar.bz2 volse-hubzilla-db3d230ad9a63ac9363fc3f3a658f8b6c3c5eab4.zip |
more api work
-rw-r--r-- | Zotlabs/Module/Wall_upload.php | 8 | ||||
-rw-r--r-- | include/api.php | 167 |
2 files changed, 4 insertions, 171 deletions
diff --git a/Zotlabs/Module/Wall_upload.php b/Zotlabs/Module/Wall_upload.php index 3868cb14e..46ebe13b1 100644 --- a/Zotlabs/Module/Wall_upload.php +++ b/Zotlabs/Module/Wall_upload.php @@ -17,16 +17,14 @@ class Wall_upload extends \Zotlabs\Web\Controller { if($using_api) { require_once('include/api.php'); - $user_info = api_get_user($a); - $nick = $user_info['screen_name']; + if(api_user()) + $channel = channelx_by_n(api_user()); } else { if(argc() > 1) - $nick = argv(1); + $channel = get_channel_by_nick(argv(1)); } - $channel = (($nick) ? get_channel_by_nick($nick) : false); - if(! $channel) { if($using_api) return; 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) { |