mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-03-28 17:42:57 +01:00
feature 2384: improve average rating calculation (final)
git-svn-id: http://piwigo.org/svn/trunk@11839 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -191,6 +191,12 @@ SELECT COUNT(*)
|
||||
;';
|
||||
list($nb_comments) = pwg_db_fetch_row(pwg_query($query));
|
||||
|
||||
$query = '
|
||||
SELECT COUNT(*)
|
||||
FROM '.RATE_TABLE.'
|
||||
;';
|
||||
list($nb_rates) = pwg_db_fetch_row(pwg_query($query));
|
||||
|
||||
$template->assign(
|
||||
array(
|
||||
'PHPWG_URL' => PHPWG_URL,
|
||||
@@ -213,6 +219,7 @@ $template->assign(
|
||||
'DB_USERS' => l10n_dec('%d user', '%d users', $nb_users),
|
||||
'DB_GROUPS' => l10n_dec('%d group', '%d groups', $nb_groups),
|
||||
'DB_COMMENTS' => l10n_dec('%d comment', '%d comments', $nb_comments),
|
||||
'DB_RATES' => sprintf('%d rates', $nb_rates),
|
||||
'U_CHECK_UPGRADE' => PHPWG_ROOT_PATH.'admin.php?action=check_upgrade',
|
||||
'U_PHPINFO' => PHPWG_ROOT_PATH.'admin.php?action=phpinfo',
|
||||
'PHP_DATATIME' => $php_current_timestamp,
|
||||
|
||||
@@ -78,6 +78,7 @@ jQuery().ready(function(){
|
||||
(<a href="{$unvalidated.URL}">{$unvalidated.INFO}</a>)
|
||||
{/if}
|
||||
</li>
|
||||
<li>{$DB_RATES}</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
$page['show_comments'] = false;
|
||||
foreach ($related_categories as $category)
|
||||
{
|
||||
if ($category['commentable'] == 'true')
|
||||
if ($category['commentable'])
|
||||
{
|
||||
$page['show_comments'] = true;
|
||||
break;
|
||||
|
||||
@@ -160,6 +160,7 @@ $lang['Authorized'] = "Authorized";
|
||||
$lang['Automatic correction'] = "Automatic correction";
|
||||
$lang['automatic order'] = 'automatic order';
|
||||
$lang['Available only with HTML format'] = "Available only with HTML format";
|
||||
$lang['Average rate'] = "Average rate";
|
||||
$lang['average time'] = "average time";
|
||||
$lang['Batch management'] = "Batch management";
|
||||
$lang['Batch Manager'] = 'Batch Manager';
|
||||
@@ -547,7 +548,8 @@ $lang['Quick Local Synchronization'] = "Quick Local Synchronization";
|
||||
$lang['Random photo'] = "Random photo";
|
||||
$lang['randomly represented'] = "random representative";
|
||||
$lang['ranks'] = "ranks";
|
||||
$lang['Rate date'] = "Rating date";
|
||||
$lang['Rate'] = "Rate";
|
||||
$lang['Rate date'] = "Rate date";
|
||||
$lang['Rating by guests'] = "Rating by guests";
|
||||
$lang['Rating'] = "Rating";
|
||||
$lang['read local listing.xml and update'] = "read local listing.xml and update";
|
||||
|
||||
@@ -35,29 +35,28 @@ $lang_info['code'] = "en";
|
||||
$lang_info['zero_plural'] = "1";
|
||||
|
||||
|
||||
$lang['%.2f (rated %d times)'] = "%.2f (rated %d times)";
|
||||
$lang['%d Kb'] = "%d Kb";
|
||||
$lang['%d album updated'] = "%d album updated";
|
||||
$lang['%d albums updated'] = "%d albums updated";
|
||||
$lang['%d comment to validate'] = "%d comment to validate";
|
||||
$lang['%d comments to validate'] = "%d comments to validate";
|
||||
$lang['%d new comment'] = "%d new comment";
|
||||
$lang['%d new comments'] = "%d new comments";
|
||||
$lang['%d comment'] = "%d comment";
|
||||
$lang['%d comments to validate'] = "%d comments to validate";
|
||||
$lang['%d comments'] = "%d comments";
|
||||
$lang['%d hit'] = "%d hit";
|
||||
$lang['%d hits'] = "%d hits";
|
||||
$lang['%d Kb'] = "%d Kb";
|
||||
$lang['%d new comment'] = "%d new comment";
|
||||
$lang['%d new comments'] = "%d new comments";
|
||||
$lang['%d new photo'] = "%d new photo";
|
||||
$lang['%d new photos'] = "%d new photos";
|
||||
$lang['%d new user'] = "%d new user";
|
||||
$lang['%d new users'] = "%d new users";
|
||||
$lang['%d rates'] = "%d rates";
|
||||
$lang['About'] = "About";
|
||||
$lang['All tags'] = "All tags";
|
||||
$lang['Any tag'] = "Any tag";
|
||||
$lang['At least one listed rule must be satisfied.'] = "At least one listed criterion must be satisfied.";
|
||||
$lang['At least one tag must match'] = "At least one tag must match";
|
||||
$lang['Author'] = "Author";
|
||||
$lang['Average rate'] = "Average rate";
|
||||
$lang['Albums'] = "Albums";
|
||||
$lang['Album'] = "Album";
|
||||
$lang['Close this window'] = "Close this window";
|
||||
@@ -104,7 +103,7 @@ $lang['Posted on'] = "Posted on";
|
||||
$lang['Profile'] = "Profile";
|
||||
$lang['Quick connect'] = "Quick connect";
|
||||
$lang['RSS feed'] = "RSS feed";
|
||||
$lang['Rate'] = "Rate";
|
||||
$lang['Rating score'] = "Rating score";
|
||||
$lang['Register'] = "Register";
|
||||
$lang['Registration'] = "Registration";
|
||||
$lang['Related tags'] = "Related tags";
|
||||
|
||||
11
picture.php
11
picture.php
@@ -313,22 +313,15 @@ UPDATE '.USER_CACHE_CATEGORIES_TABLE.'
|
||||
case 'rate' :
|
||||
{
|
||||
include_once(PHPWG_ROOT_PATH.'include/functions_rate.inc.php');
|
||||
rate_picture(
|
||||
$page['image_id'],
|
||||
isset($_POST['rate']) ? $_POST['rate'] : $_GET['rate']
|
||||
);
|
||||
rate_picture($page['image_id'], $_POST['rate']);
|
||||
redirect($url_self);
|
||||
}
|
||||
case 'edit_comment' :
|
||||
{
|
||||
check_pwg_token();
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php');
|
||||
|
||||
check_input_parameter('comment_to_edit', $_GET, false, PATTERN_ID);
|
||||
|
||||
$author_id = get_comment_author_id($_GET['comment_to_edit']);
|
||||
|
||||
if (can_manage_comment('edit', $author_id))
|
||||
{
|
||||
if (!empty($_POST['content']))
|
||||
@@ -441,7 +434,7 @@ $result = pwg_query($query);
|
||||
$related_categories = array();
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
{
|
||||
$row['commentable'] = boolean_to_string($row['commentable']);
|
||||
$row['commentable'] = get_boolean($row['commentable']);
|
||||
array_push($related_categories, $row);
|
||||
}
|
||||
usort($related_categories, 'global_rank_compare');
|
||||
|
||||
@@ -69,6 +69,7 @@ function updateRating(e)
|
||||
onSuccess: function(result) {
|
||||
gUserRating = rateButton.initialRateValue;
|
||||
for (var i=0; i<gRatingButtons.length; i++) gRatingButtons[i].disabled=false;
|
||||
if (gRatingOptions.onSuccess) gRatingOptions.onSuccess(result);
|
||||
if (gRatingOptions.updateRateElement) gRatingOptions.updateRateElement.innerHTML = gRatingOptions.updateRateText;
|
||||
if (gRatingOptions.ratingSummaryElement)
|
||||
{
|
||||
|
||||
@@ -196,13 +196,12 @@ y.callService(
|
||||
|
||||
{if $display_info.average_rate and isset($rate_summary)}
|
||||
<tr id="Average">
|
||||
<td class="label">{'Rating'|@translate}</td>
|
||||
<td class="value" id="ratingSummary">
|
||||
<td class="label">{'Rating score'|@translate}</td>
|
||||
<td class="value">
|
||||
{if $rate_summary.count}
|
||||
{assign var='rate_text' value='%.2f (rated %d times)'|@translate}
|
||||
{$pwg->sprintf($rate_text, $rate_summary.score, $rate_summary.count, $rate_summary.average)}
|
||||
<span id="ratingScore">{$rate_summary.score}</span> <span id="ratingCount">({assign var='rate_text' value='%d rates'|@translate}{$pwg->sprintf($rate_text, $rate_summary.count)})</span>
|
||||
{else}
|
||||
{'no rate'|@translate}
|
||||
<span id="ratingScore">{'no rate'|@translate}</span> <span id="ratingCount"></span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -228,8 +227,14 @@ y.callService(
|
||||
{footer_script}
|
||||
var _pwgRatingAutoQueue = _pwgRatingAutoQueue||[];
|
||||
_pwgRatingAutoQueue.push( {ldelim}rootUrl: '{$ROOT_URL}', image_id: {$current.id},
|
||||
updateRateText: "{'Update your rating'|@translate|@escape:'javascript'}", updateRateElement: document.getElementById("updateRate"),
|
||||
ratingSummaryText: "{'%.2f (rated %d times)'|@translate|@escape:'javascript'}", ratingSummaryElement: document.getElementById("ratingSummary"){rdelim} );
|
||||
onSuccess : function(rating) {ldelim}
|
||||
var e = document.getElementById("updateRate");
|
||||
if (e) e.innerHTML = "{'Update your rating'|@translate|@escape:'javascript'}";
|
||||
e = document.getElementById("ratingScore");
|
||||
if (e) e.innerHTML = rating.score;
|
||||
e = document.getElementById("ratingCount");
|
||||
if (e) e.innerHTML = "({'%d rates'|@translate|@escape:'javascript'})".replace( "%d", rating.count);
|
||||
{rdelim}{rdelim} );
|
||||
{/footer_script}
|
||||
{/strip}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user