diff options
-rw-r--r-- | lib/class/rating.class.php | 9 | ||||
-rw-r--r-- | lib/class/xmldata.class.php | 20 | ||||
-rw-r--r-- | templates/show_object_rating.inc.php | 23 |
3 files changed, 27 insertions, 25 deletions
diff --git a/lib/class/rating.class.php b/lib/class/rating.class.php index 5a85c220..3b89f9c1 100644 --- a/lib/class/rating.class.php +++ b/lib/class/rating.class.php @@ -41,8 +41,6 @@ class Rating extends database_object { // Public variables public $id; // The ID of the object rated public $type; // The type of object we want - public $rating; // Integer rating - public $preciserating; // Decimal rating /** * Constructor @@ -56,13 +54,6 @@ class Rating extends database_object { $this->id = $id; $this->type = $type; - if (! $rating = $this->get_user_rating()) { - $rating = $this->get_average_rating(); - } - - $this->rating = floor($rating); - $this->preciserating = $rating; - return true; } // Constructor diff --git a/lib/class/xmldata.class.php b/lib/class/xmldata.class.php index c736569a..9b467620 100644 --- a/lib/class/xmldata.class.php +++ b/lib/class/xmldata.class.php @@ -298,8 +298,9 @@ class xmlData { $tag_string . "\t<albums>$artist->albums</albums>\n" . "\t<songs>$artist->songs</songs>\n" . - "\t<preciserating>" . $rating->preciserating . "</preciserating>\n" . - "\t<rating>" . $rating->rating . "</rating>\n" . + "\t<preciserating>" . $rating->get_user_rating() . "</preciserating>\n" . + "\t<rating>" . $rating->get_user_rating() . "</rating>\n" . + "\t<averagerating>" . $rating->get_average_rating() . "</averagerating>\n" . "</artist>\n"; } // end foreach artists @@ -350,8 +351,9 @@ class xmlData { "\t<disk>$album->disk</disk>\n" . self::tags_string($album->tags) . "\t<art><![CDATA[$art_url]]></art>\n" . - "\t<preciserating>" . $rating->preciserating . "</preciserating>\n" . - "\t<rating>" . $rating->rating . "</rating>\n" . + "\t<preciserating>" . $rating->get_user_rating() . "</preciserating>\n" . + "\t<rating>" . $rating->get_user_rating() . "</rating>\n" . + "\t<averagerating>" . $rating->get_average_rating() . "</averagerating>\n" . "</album>\n"; } // end foreach @@ -448,8 +450,9 @@ class xmlData { "\t<album_mbid>$song->album_mbid</album_mbid>\n". "\t<artist_mbid>$song->artist_mbid</artist_mbid>\n". "\t<art><![CDATA[" . $art_url . "]]></art>\n" . - "\t<preciserating>" . $rating->preciserating . "</preciserating>\n" . - "\t<rating>" . $rating->rating . "</rating>\n" . + "\t<preciserating>" . $rating->get_user_rating() . "</preciserating>\n" . + "\t<rating>" . $rating->get_user_rating() . "</rating>\n" . + "\t<averagerating>" . $rating->get_average_rating() . "</averagerating>\n" . "</song>\n"; } // end foreach @@ -541,8 +544,9 @@ class xmlData { "\t<url><![CDATA[" . Song::play_url($song->id) . "]]></url>\n" . "\t<size>$song->size</size>\n" . "\t<art><![CDATA[" . $art_url . "]]></art>\n" . - "\t<preciserating>" . $rating->preciserating . "</preciserating>\n" . - "\t<rating>" . $rating->rating . "</rating>\n" . + "\t<preciserating>" . $rating->get_user_rating() . "</preciserating>\n" . + "\t<rating>" . $rating->get_user_rating() . "</rating>\n" . + "\t<averagerating>" . $rating->get_average_rating() . "</averagerating>\n" . "\t<vote>" . $democratic->get_vote($row_id) . "</vote>\n" . "</song>\n"; diff --git a/templates/show_object_rating.inc.php b/templates/show_object_rating.inc.php index 8fa40fac..0feefd4d 100644 --- a/templates/show_object_rating.inc.php +++ b/templates/show_object_rating.inc.php @@ -29,31 +29,38 @@ /* Create some variables we are going to need */ $web_path = Config::get('web_path'); $base_url = '?action=set_rating&rating_type=' . $rating->type . '&object_id=' . $rating->id; +$othering = false; +$rate = $rating->get_user_rating(); +if (!$rate) { + $rate = $rating->get_average_rating(); + $othering = true; +} ?> -<div class="star-rating dynamic-star-rating"> +<div class="star-rating dynamic-star-rating<?php if ($othering) { echo ' global-star-rating'; } ?>"> <ul> <?php // decide width of rating (5 stars -> 20% per star) - $width = $rating->preciserating*20; + $width = $rate * 20; if ($width < 0) $width = 0; //set the current rating background - echo "<li class=\"current-rating\" style=\"width:${width}%\" >" . T_('Current rating: '); - if ($rating->rating <= 0) { + echo '<li class="current-rating" style="width:' . $width . '%" >'; + echo T_('Current rating: '); + if ($rate <= 0) { echo T_('not rated yet') . "</li>\n"; } - else printf(T_('%s of 5'), $rating->preciserating); echo "</li>\n"; + else printf(T_('%s of 5'), $rate); echo "</li>\n"; - for ($i=1; $i<6; $i++) + for ($i = 1; $i < 6; $i++) { ?> <li> - <?php echo Ajax::text($base_url . '&rating='.$i,'','rating'.$i.'_' . $rating->id,'','star'.$i); ?> + <?php echo Ajax::text($base_url . '&rating=' . $i, '', 'rating' . $i . '_' . $rating->id, '', 'star' . $i); ?> </li> <?php } ?> </ul> - <?php echo Ajax::text($base_url . '&rating=-1','','rating0_' . $rating->id,'','star0'); ?> + <?php echo Ajax::text($base_url . '&rating=-1', '', 'rating0_' . $rating->id, '', 'star0'); ?> </div> |