assorted fixes to api direct messages
This commit is contained in:
parent
8757789213
commit
185ce2da69
@ -267,40 +267,46 @@ require_once('include/items.php');
|
|||||||
* Returns user info array.
|
* Returns user info array.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function api_get_user(&$a, $contact_id = null){
|
function api_get_user(&$a, $contact_id = null, $contact_xchan = null){
|
||||||
global $called_api;
|
global $called_api;
|
||||||
$user = null;
|
$user = null;
|
||||||
$extra_query = "";
|
$extra_query = "";
|
||||||
|
|
||||||
|
|
||||||
if(!is_null($contact_id)){
|
if(! is_null($contact_xchan)) {
|
||||||
$user=$contact_id;
|
$user = local_channel();
|
||||||
$extra_query = " AND abook_id = %d ";
|
$extra_query = " and abook_xchan = '" . dbesc($contact_xchan) . "' ";
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
if(is_null($user) && x($_GET, 'user_id')) {
|
if(!is_null($contact_id)){
|
||||||
$user = intval($_GET['user_id']);
|
$user=$contact_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 (is_null($user) && argc() > (count($called_api)-1)){
|
|
||||||
$argid = count($called_api);
|
|
||||||
list($user, $null) = explode(".",argv($argid));
|
|
||||||
if(is_numeric($user)){
|
|
||||||
$user = intval($user);
|
|
||||||
$extra_query = " AND abook_id = %d ";
|
$extra_query = " AND abook_id = %d ";
|
||||||
} else {
|
}
|
||||||
$user = dbesc($user);
|
|
||||||
|
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@%%' ";
|
$extra_query = " AND xchan_addr like '%s@%%' ";
|
||||||
if (api_user() !== false)
|
if (api_user()!==false)
|
||||||
$extra_query .= " AND abook_channel = ".intval(api_user());
|
$extra_query .= " AND abook_channel = ".intval(api_user());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_null($user) && argc() > (count($called_api)-1)){
|
||||||
|
$argid = count($called_api);
|
||||||
|
list($user, $null) = explode(".",argv($argid));
|
||||||
|
if(is_numeric($user)){
|
||||||
|
$user = intval($user);
|
||||||
|
$extra_query = " AND abook_id = %d ";
|
||||||
|
} else {
|
||||||
|
$user = dbesc($user);
|
||||||
|
$extra_query = " AND xchan_addr like '%s@%%' ";
|
||||||
|
if (api_user() !== false)
|
||||||
|
$extra_query .= " AND abook_channel = ".intval(api_user());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $user) {
|
if (! $user) {
|
||||||
@ -2021,15 +2027,13 @@ require_once('include/items.php');
|
|||||||
$ret = Array();
|
$ret = Array();
|
||||||
if($r) {
|
if($r) {
|
||||||
foreach($r as $item) {
|
foreach($r as $item) {
|
||||||
if ($box == "inbox" || $item['from-url'] != $profile_url){
|
if ($item['from_xchan'] == $channel['channel_hash']) {
|
||||||
$recipient = $user_info;
|
|
||||||
// fixme to lookup recipient
|
|
||||||
$sender = api_get_user($a);
|
|
||||||
}
|
|
||||||
elseif ($box == "sentbox" || $item['from-url'] != $profile_url){
|
|
||||||
// fixme to lookup recipient
|
|
||||||
$recipient = api_get_user($a);
|
|
||||||
$sender = $user_info;
|
$sender = $user_info;
|
||||||
|
$recipient = api_get_user($a, null, $item['to_xchan']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$sender = api_get_user($a, null, $item['from_xchan']);
|
||||||
|
$recipient = $user_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret[]=api_format_message($item, $recipient, $sender);
|
$ret[]=api_format_message($item, $recipient, $sender);
|
||||||
|
Reference in New Issue
Block a user