From 0b21ac3dd79d2bf39341a4f0ff3566def8282eae Mon Sep 17 00:00:00 2001 From: "matthew.gregg" Date: Sun, 22 Jun 2008 23:08:37 -0400 Subject: First pass at replies support http://laconi.ca/PITS/00080 Doesn't handle a reply to a user that has never updated. darcs-hash:20080623030837-982e4-532ccd8899fd8be00575f8840da0defb44cd56f8.gz --- lib/stream.php | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'lib/stream.php') diff --git a/lib/stream.php b/lib/stream.php index a37e4dfa3..6bba0eace 100644 --- a/lib/stream.php +++ b/lib/stream.php @@ -20,6 +20,7 @@ if (!defined('LACONICA')) { exit(1); } define('NOTICES_PER_PAGE', 20); +define('REPLIES_PER_PAGE', 20); class StreamAction extends Action { @@ -44,6 +45,11 @@ class StreamAction extends Action { _t('Personal'), (($user && $user->fullname) ? $user->fullname : $nickname) . _t(' and friends'), $action == 'all'); + common_menu_item(common_local_url('replies', array('nickname' => + $nickname)), + _t('Replies'), + ($user && $user->fullname) ? $user->fullname : $nickname, + $action == 'replies'); common_menu_item(common_local_url('showstream', array('nickname' => $nickname)), _t('Profile'), @@ -84,4 +90,40 @@ class StreamAction extends Action { common_element_end('p'); common_element_end('li'); } + + function show_reply($notice, $replied_id) { + global $config; + $profile = $notice->getProfile(); + # XXX: RDFa + common_element_start('li', array('class' => 'notice_single', + 'id' => 'notice-' . $notice->id)); + $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE); + common_element_start('a', array('href' => $profile->profileurl)); + common_element('img', array('src' => ($avatar) ? $avatar->url : common_default_avatar(AVATAR_STREAM_SIZE), + 'class' => 'avatar stream', + 'width' => AVATAR_STREAM_SIZE, + 'height' => AVATAR_STREAM_SIZE, + 'alt' => + ($profile->fullname) ? $profile->fullname : + $profile->nickname)); + common_element_end('a'); + common_element('a', array('href' => $profile->profileurl, + 'class' => 'nickname'), + $profile->nickname); + # FIXME: URL, image, video, audio + common_element_start('p', array('class' => 'content')); + common_raw(common_render_content($notice->content, $notice)); + common_element_end('p'); + $replyurl = common_local_url('shownotice', array('notice' => $replied_id)); + $noticeurl = common_local_url('shownotice', array('notice' => $notice->id)); + common_element_start('p', 'time'); + common_element('a', array('class' => 'notice', + 'href' => $noticeurl), + common_date_string($notice->created)); + common_element('a', array('class' => 'notice', + 'href' => $replyurl), + " in reply to ".$profile->nickname ); + common_element_end('p'); + common_element_end('li'); + } } -- cgit v1.2.3-54-g00ecf