make shownotice a stream of one notice

For display sake, make showing a single notice like showing a
stream with one notice in it.

darcs-hash:20080610221910-84dde-a3b2252625ac5392ff60f1e975350ed5d2d1145f.gz
This commit is contained in:
Evan Prodromou 2008-06-10 18:19:10 -04:00
parent 276b5d7cb0
commit f6bf8a5870
1 changed files with 6 additions and 31 deletions

View File

@ -19,7 +19,9 @@
if (!defined('LACONICA')) { exit(1); }
class ShownoticeAction extends Action {
require_once(INSTALLDIR.'lib/stream.php');
class ShownoticeAction extends StreamAction {
function handle($args) {
parent::handle($args);
@ -36,9 +38,11 @@ class ShownoticeAction extends Action {
# Looks like we're good; show the header
common_show_header($profile->nickname." status on ".$notice->created);
common_show_header($profile->nickname."'s status on ".common_date_string($notice->created));
common_element_start('ul', array('id' => 'notices'));
$this->show_notice($notice);
common_element_end('ul');
common_show_footer();
}
@ -46,33 +50,4 @@ class ShownoticeAction extends Action {
function no_such_notice() {
common_user_error('No such notice.');
}
function show_notice($notice) {
$profile = $notice->getProfile();
# XXX: RDFa
common_element_start('div', array('class' => 'notice greenBg'));
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
if ($avatar) {
common_element('img', array('src' => $avatar->url,
'class' => 'avatar profile',
'width' => AVATAR_PROFILE_SIZE,
'height' => AVATAR_PROFILE_SIZE,
'alt' =>
($profile->fullname) ? $profile->fullname :
$profile->nickname));
}
common_element('a', array('href' => $profile->profileurl,
'class' => 'nickname',
'title' =>
($profile->fullname) ? $profile->fullname :
$profile->nickname),
$profile->nickname);
# FIXME: URL, image, video, audio
common_element_start('span', array('class' => 'content'));
common_raw(common_render_content($notice->content, $notice));
common_element_end('span');
common_element('span', array('class' => 'date'),
common_date_string($notice->created));
common_element_end('div');
}
}