summaryrefslogtreecommitdiff
path: root/actions/shownotice.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-05-08 22:16:04 -0400
committerEvan Prodromou <evan@prodromou.name>2008-05-08 22:16:04 -0400
commitf0a30cc89ddf82e3c774800d24f0ea3664065d9c (patch)
tree13053422786e83ab57a55e63879e5ceb07d9ecfd /actions/shownotice.php
parent2df28057cdd5c54fb4f754f5c2222154efe2ad5b (diff)
read-only stuff
darcs-hash:20080509021604-84dde-f785fc09dd435fc12741b3a75184e2425721d03d.gz
Diffstat (limited to 'actions/shownotice.php')
-rw-r--r--actions/shownotice.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/actions/shownotice.php b/actions/shownotice.php
new file mode 100644
index 000000000..4d4876122
--- /dev/null
+++ b/actions/shownotice.php
@@ -0,0 +1,45 @@
+<?php
+
+class ShownoticeAction extends Action {
+
+ function handle($args) {
+ parent::handle($args);
+ $id = $this->arg('notice');
+ $notice = Notice::staticGet($id);
+
+ if (!$notice) {
+ $this->no_such_notice();
+ }
+
+ if (!$notice->getProfile()) {
+ $this->no_such_notice();
+ }
+
+ # Looks like we're good; show the header
+
+ common_show_header($profile->nickname);
+
+ $this->show_notice($notice);
+
+ common_show_footer();
+ }
+
+ function no_such_notice() {
+ common_user_error('No such notice.');
+ }
+
+ function show_notice($notice) {
+ $profile = $notice->getProfile();
+ # XXX: RDFa
+ common_start_element('div', array('class' => 'notice'));
+ # FIXME: add the avatar
+ common_start_element('a', array('href' => $profile->profileurl,
+ 'class' => 'nickname'),
+ $profile->nickname);
+ # FIXME: URL, image, video, audio
+ common_element('span', array('class' => 'content'), $notice->content);
+ common_element('span', array('class' => 'date'),
+ common_date_string($notice->created));
+ common_end_element('div');
+ }
+}