diff options
author | Michael Vogel <icarus@dabo.de> | 2012-04-11 19:31:01 +0200 |
---|---|---|
committer | Michael Vogel <icarus@dabo.de> | 2012-04-11 19:31:01 +0200 |
commit | c88c2515e43f7a446a9b358fb657290a8a6c847a (patch) | |
tree | d3be51f9fc24d2a735b55cf4f32fece22b9ceb6b | |
parent | fe257a20324fe68838e5829e19d18777045a41b4 (diff) | |
download | volse-hubzilla-c88c2515e43f7a446a9b358fb657290a8a6c847a.tar.gz volse-hubzilla-c88c2515e43f7a446a9b358fb657290a8a6c847a.tar.bz2 volse-hubzilla-c88c2515e43f7a446a9b358fb657290a8a6c847a.zip |
API: Improved the timeline. Several (disabled) tests with caching of photos.
-rw-r--r-- | include/api.php | 15 | ||||
-rw-r--r-- | include/conversation.php | 5 | ||||
-rw-r--r-- | mod/photo.php | 29 | ||||
-rw-r--r-- | view/api_timeline_xml.tpl | 1 |
4 files changed, 42 insertions, 8 deletions
diff --git a/include/api.php b/include/api.php index ab83d63be..0885a1434 100644 --- a/include/api.php +++ b/include/api.php @@ -1233,8 +1233,17 @@ $in_reply_to_status_id = 0; } + // Workaround for ostatus messages where the title is identically to the body + $statusbody = trim(html2plain(bbcode($item['body']), 0)); + $statustitle = trim($item['title']); + + if (($statustitle != '') and (strpos($statusbody, $statustitle) !== false)) + $statustext = trim($statusbody); + else + $statustext = trim($statustitle."\n\n".$statusbody); + $status = array( - 'text' => trim($item['title']." \n".html2plain(bbcode($item['body']), 0)), + 'text' => $statustext, 'truncated' => False, 'created_at'=> api_date($item['created']), 'in_reply_to_status_id' => $in_reply_to_status_id, @@ -1245,8 +1254,8 @@ 'geo' => '', 'favorited' => $item['starred'] ? true : false, 'user' => $status_user , - 'statusnet_html' => bbcode($item['body']), - 'statusnet_conversation_id' => 0, + 'statusnet_html' => trim(bbcode($item['body'])), + 'statusnet_conversation_id' => $item['parent'], ); // Seesmic doesn't like the following content diff --git a/include/conversation.php b/include/conversation.php index df92a40ed..a32cbeb8b 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -626,10 +626,6 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { else $profile_avatar = (((strlen($item['author-avatar'])) && $diff_author) ? $item['author-avatar'] : $thumb); - - - - $like = ((x($alike,$item['id'])) ? format_like($alike[$item['id']],$alike[$item['id'] . '-l'],'like',$item['id']) : ''); $dislike = ((x($dlike,$item['id'])) ? format_like($dlike[$item['id']],$dlike[$item['id'] . '-l'],'dislike',$item['id']) : ''); @@ -1089,4 +1085,3 @@ function render_location_google($item) { } return $location; } - diff --git a/mod/photo.php b/mod/photo.php index 3a7025120..ec53af899 100644 --- a/mod/photo.php +++ b/mod/photo.php @@ -4,6 +4,30 @@ require_once('include/security.php'); function photo_init(&$a) { + // To-Do: + // - checking with realpath + // - checking permissions + /* + $cache = get_config('system','itemcache'); + if (($cache != '') and is_dir($cache)) { + $cachefile = $cache."/".$a->argc."-".$a->argv[1]."-".$a->argv[2]."-".$a->argv[3]; + if (file_exists($cachefile)) { + $data = file_get_contents($cachefile); + + if(function_exists('header_remove')) { + header_remove('Pragma'); + header_remove('pragma'); + } + + header("Content-type: image/jpeg"); + header("Expires: " . gmdate("D, d M Y H:i:s", time() + (3600*24)) . " GMT"); + header("Cache-Control: max-age=" . (3600*24)); + echo $data; + killme(); + // NOTREACHED + } + }*/ + switch($a->argc) { case 4: $person = $a->argv[3]; @@ -27,6 +51,7 @@ function photo_init(&$a) { if(isset($type)) { + /** * Profile photos */ @@ -144,6 +169,10 @@ function photo_init(&$a) { } } + // Writing in cachefile + if ($cachefile != '') + file_put_contents($cachefile, $data); + if(function_exists('header_remove')) { header_remove('Pragma'); header_remove('pragma'); diff --git a/view/api_timeline_xml.tpl b/view/api_timeline_xml.tpl index 551439682..4a32b411b 100644 --- a/view/api_timeline_xml.tpl +++ b/view/api_timeline_xml.tpl @@ -11,6 +11,7 @@ <geo>$status.geo</geo> <favorited>$status.favorited</favorited> {{ inc api_user_xml.tpl with $user=$status.user }}{{ endinc }} <statusnet:html>$status.statusnet_html</statusnet:html> + <statusnet:conversation_id>$status.statusnet_conversation_id</statusnet:conversation_id> <url>$status.url</url> <coordinates>$status.coordinates</coordinates> <place>$status.place</place> |