summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/class/rating.class.php9
-rw-r--r--lib/class/xmldata.class.php20
-rw-r--r--templates/show_object_rating.inc.php23
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>