From 6344c8f3e2f3f8b771286663e35af10c8b0b8adb Mon Sep 17 00:00:00 2001 From: shish Date: Thu, 18 Oct 2007 02:29:39 +0000 Subject: [PATCH] more features, more todos git-svn-id: file:///home/shish/svn/shimmie2/trunk@529 7f39781d-f577-437e-ae19-be835c7a54ca --- contrib/score/main.php | 20 +++++++++++++++++-- contrib/score/theme.php | 44 ++++++++++++++++++++++++++++++++++------- 2 files changed, 55 insertions(+), 9 deletions(-) diff --git a/contrib/score/main.php b/contrib/score/main.php index b16828da..a6600087 100644 --- a/contrib/score/main.php +++ b/contrib/score/main.php @@ -7,6 +7,16 @@ * Description: Allow users to score images */ +class ScoreSetEvent extends Event { + var $image_id, $user, $score; + + public function ScoreSetEvent($image_id, $user, $score) { + $this->image_id = $image_id; + $this->user = $user; + $this->score = $score; + } +} + class Score extends Extension { var $theme; @@ -31,20 +41,26 @@ class Score extends Extension { $i_image_id = int_escape($_POST['image_id']); if($i_score >= -2 || $i_score <= 2) { - $this->add_vote($i_image_id, $event->user->id, $i_score); + send_event(new ScoreSetEvent($i_image_id, $event->user->id, $i_score)); } $event->page->set_mode("redirect"); $event->page->set_redirect(make_link("post/view/$i_image_id")); } + + if(is_a($event, 'ScoreSetEvent')) { + $this->add_vote($event->image_id, $event->user->id, $event->score); + } if(is_a($event, 'DisplayingImageEvent')) { - $this->theme->display_rater($event->page, $event->image->id, $event->image->score); + // TODO: scorer vs voter + $this->theme->display_scorer($event->page, $event->image->id, $event->image->score); } if(is_a($event, 'SetupBuildingEvent')) { /* TODO: disable anon voting + TODO: switch between average and sum modes */ } } diff --git a/contrib/score/theme.php b/contrib/score/theme.php index 5efe75c0..64d070ff 100644 --- a/contrib/score/theme.php +++ b/contrib/score/theme.php @@ -1,17 +1,47 @@
+ + + + + + + +
+ "; + $page->add_block(new Block(null, $html, "main", 7)); + } + + public function display_voter($page, $image_id, $score) { + $i_image_id = int_escape($image_id); + $i_score = int_escape($score) / 2; + + $html = " + Current score is $i_score +
- - - - - - + + +
+
+ + +
"; $page->add_block(new Block(null, $html, "main", 7));