예제 #1
0
 function getOverallUserRating($pUserId)
 {
     $ret = array();
     if (@BitUser::verifyId($pUserId) && $pUserId > 0) {
         global $gBitSystem;
         $bindVars = array($pUserId);
         $query = "SELECT sth.`rating`, COUNT( sth.`rating`) AS `rating_count`, SUM( sth.`weight` ) AS `weight`\n\t\t\t\tFROM `" . BIT_DB_PREFIX . "liberty_content` lc\n\t\t\t\tLEFT JOIN `" . BIT_DB_PREFIX . "liberty_content_history` lch ON( lch.`content_id`=lc.`content_id` )\n\t\t\t\tLEFT JOIN `" . BIT_DB_PREFIX . "stars_history` sth ON( sth.`content_id`=lc.`content_id` )\n\t\t\t\tWHERE sth.`version` != 0 AND lch.`user_id`=?\n\t\t\t\tGROUP BY sth.`rating`";
         $summary = $this->mDb->getAll($query, $bindVars);
         list($rating, $rating_count) = $this->calculateRatingFromSummary($summary);
         $ret['stars_rating'] = $rating;
         $ret['stars_rating_count'] = $rating_count;
         $normalized_rating = $this->normalizeRating($rating);
         $ret['stars_pixels'] = $normalized_rating * $gBitSystem->getConfig('stars_icon_width', 22);
         $ret['stars_load'] = TRUE;
     }
     return $ret;
 }