//echo "<pre>"; var_dump($r); die();
}
}
+ header("HTTP/1.1 404 Not Found");
logger('API call not implemented: '.$a->query_string." - ".print_r($_REQUEST,true));
$r = '<status><error>not implemented</error></status>';
switch($type){
$_REQUEST['type'] = 'wall';
$_REQUEST['profile_uid'] = local_user();
$_REQUEST['api_source'] = true;
- $txt = urldecode(requestdata('status'));
+ $txt = requestdata('status');
+ //$txt = urldecode(requestdata('status'));
require_once('library/HTMLPurifier.auto.php');
require_once('include/html2bbcode.php');
}
else
- $_REQUEST['body'] = urldecode(requestdata('status'));
+ $_REQUEST['body'] = requestdata('status');
+ //$_REQUEST['body'] = urldecode(requestdata('status'));
$parent = requestdata('in_reply_to_status_id');
if(ctype_digit($parent))
if(requestdata('lat') && requestdata('long'))
$_REQUEST['coord'] = sprintf("%s %s",requestdata('lat'),requestdata('long'));
$_REQUEST['profile_uid'] = local_user();
- if(requestdata('parent'))
+
+ if($parent)
$_REQUEST['type'] = 'net-comment';
else {
$_REQUEST['type'] = 'wall';
- if(x($_FILES,'media')) {
- // upload the image if we have one
- $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo
- require_once('mod/wall_upload.php');
- $media = wall_upload_post($a);
- if(strlen($media)>0)
- $_REQUEST['body'] .= "\n\n".$media;
- }
+ if(x($_FILES,'media')) {
+ // upload the image if we have one
+ $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo
+ require_once('mod/wall_upload.php');
+ $media = wall_upload_post($a);
+ if(strlen($media)>0)
+ $_REQUEST['body'] .= "\n\n".$media;
+ }
}
// set this so that the item_post() function is quiet and doesn't redirect or emit json
$ret = api_format_items($r,$user_info);
+ // We aren't going to try to figure out at the item, group, and page
+ // level which items you've seen and which you haven't. If you're looking
+ // at the network timeline just mark everything seen.
+
+ $r = q("UPDATE `item` SET `unseen` = 0
+ WHERE `unseen` = 1 AND `uid` = %d",
+ intval($user_info['uid'])
+ );
+
$data = array('$statuses' => $ret);
switch($type){
return($as);
}
+ function api_format_messages($item, $recipient, $sender) {
+ // standard meta information
+ $ret=Array(
+ 'id' => $item['id'],
+ 'created_at' => api_date($item['created']),
+ 'sender_id' => $sender['id'] ,
+ 'sender_screen_name' => $sender['screen_name'],
+ 'sender' => $sender,
+ 'recipient_id' => $recipient['id'],
+ 'recipient_screen_name' => $recipient['screen_name'],
+ 'recipient' => $recipient,
+ );
+
+ //don't send title to regular StatusNET requests to avoid confusing these apps
+ if (x($_GET, 'getText')) {
+ $ret['title'] = $item['title'] ;
+ if ($_GET["getText"] == "html") {
+ $ret['text'] = bbcode($item['body']);
+ }
+ elseif ($_GET["getText"] == "plain") {
+ $ret['text'] = html2plain(bbcode($item['body']), 0);
+ }
+ }
+ else {
+ $ret['text'] = $item['title']."\n".html2plain(bbcode($item['body']), 0);
+ }
+ if (isset($_GET["getUserObjects"]) && $_GET["getUserObjects"] == "false") {
+ unset($ret['sender']);
+ unset($ret['recipient']);
+ }
+
+ return $ret;
+ }
+
function api_format_items($r,$user_info) {
//logger('api_format_items: ' . print_r($r,true));
$sender = api_get_user($a);
+ require_once("include/message.php");
+
$r = q("SELECT `id` FROM `contact` WHERE `uid`=%d AND `nick`='%s'",
intval(local_user()),
dbesc($_POST['screen_name']));
-
- require_once("include/message.php");
$recipient = api_get_user($a, $r[0]['id']);
$replyto = '';
+ $sub = '';
if (x($_REQUEST,'replyto')) {
- $r = q('SELECT `uri` FROM `mail` WHERE `uid`=%d AND `id`=%d',
+ $r = q('SELECT `parent-uri`, `title` FROM `mail` WHERE `uid`=%d AND `id`=%d',
intval(local_user()),
intval($_REQUEST['replyto']));
- $replyto = $r[0]['uri'];
- }
-
- if (x($_REQUEST,'title')) {
- $sub = $_REQUEST['title'];
+ $replyto = $r[0]['parent-uri'];
+ $sub = $r[0]['title'];
}
else {
- $sub = ((strlen($_POST['text'])>10)?substr($_POST['text'],0,10)."...":$_POST['text']);
+ if (x($_REQUEST,'title')) {
+ $sub = $_REQUEST['title'];
+ }
+ else {
+ $sub = ((strlen($_POST['text'])>10)?substr($_POST['text'],0,10)."...":$_POST['text']);
+ }
}
+
$id = send_message($recipient['id'], $_POST['text'], $sub, $replyto);
if ($id>-1) {
$r = q("SELECT * FROM `mail` WHERE id=%d", intval($id));
- $item = $r[0];
- $ret=Array(
- 'id' => $item['id'],
- 'created_at'=> api_date($item['created']),
- 'sender_id'=> $sender['id'] ,
- 'sender_screen_name'=> $sender['screen_name'],
- 'sender'=> $sender,
- 'recipient_id'=> $recipient['id'],
- 'recipient_screen_name'=> $recipient['screen_name'],
- 'recipient'=> $recipient,
-
- 'text'=> $item['title']."\n".html2plain(bbcode($item['body']), 0) ,
-
- );
+ $ret = api_format_messages($r[0], $recipient, $sender);
} else {
$ret = array("error"=>$id);
}
api_register_func('api/direct_messages/new','api_direct_messages_new',true);
- function api_direct_messages_box(&$a, $type, $box) {
+ function api_direct_messages_box(&$a, $type, $box) {
if (local_user()===false) return false;
$user_info = api_get_user($a);
$start = $page*$count;
- $profile_url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
+ $profile_url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
if ($box=="sentbox") {
$sql_extra = "`from-url`='".dbesc( $profile_url )."'";
- } elseif ($box=="conversation") {
- $sql_extra = "`parent-uri`='".dbesc( $_GET["uri"] ) ."'";
- } elseif ($box=="all") {
- $sql_extra = "true";
- } elseif ($box=="inbox") {
+ }
+ elseif ($box=="conversation") {
+ $sql_extra = "`parent-uri`='".dbesc( $_GET["uri"] ) ."'";
+ }
+ elseif ($box=="all") {
+ $sql_extra = "true";
+ }
+ elseif ($box=="inbox") {
$sql_extra = "`from-url`!='".dbesc( $profile_url )."'";
}
);
$ret = Array();
- foreach($r as $item){
+ foreach($r as $item) {
if ($box == "inbox" || $item['from-url'] != $profile_url){
- $recipient = $user_info;
- $sender = api_get_user($a,$item['contact-id']);
- } elseif ($box == "sentbox" || $item['from-url'] != $profile_url){
- $recipient = api_get_user($a,$item['contact-id']);
- $sender = $user_info;
+ $recipient = $user_info;
+ $sender = api_get_user($a,$item['contact-id']);
}
-
- $d=Array(
- 'id' => $item['id'],
- 'created_at'=> api_date($item['created']),
- 'sender_id'=> $sender['id'] ,
- 'sender_screen_name'=> $sender['screen_name'],
- 'sender_profile_img'=> $item['from-photo'],
- 'sender'=> $sender,
- 'recipient_id'=> $recipient['id'],
- 'recipient_screen_name'=> $recipient['screen_name'],
- 'recipient'=> $recipient,
- );
- //don't send title to regular StatusNET requests to avoid confusing these apps
- if (isset($_GET["getText"])) {
- $d['title'] = $item['title'] ;
- if ($_GET["getText"] == "html") {
- $d['text'] = bbcode($item['body']);
- } elseif ($_GET["getText"] == "plain") {
- $d['text'] = html2plain(bbcode($item['body']), 0);
- }
- } else {
- $d['text'] = $item['title']."\n".html2plain(bbcode($item['body']), 0);
- }
- if (isset($_GET["getUserObjects"]) && $_GET["getUserObjects"] == "false") {
- unset($d['sender']); unset($d['recipient']);
- }
- $ret[]=$d;
+ elseif ($box == "sentbox" || $item['from-url'] != $profile_url){
+ $recipient = api_get_user($a,$item['contact-id']);
+ $sender = $user_info;
+ }
+
+ $ret[]=api_format_messages($item, $recipient, $sender);
}
notifications/leave
blocks/exists
blocks/blocking
+lists
*/
+