From c0bb4dfb43d05d68cb4abe69e279e91c88bd2f11 Mon Sep 17 00:00:00 2001 From: rvelices Date: Tue, 26 Jul 2011 19:04:50 +0000 Subject: feature 2384: improve average rating calculation (final) git-svn-id: http://piwigo.org/svn/trunk@11839 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/intro.php | 7 +++++++ admin/themes/default/template/intro.tpl | 1 + include/picture_comment.inc.php | 2 +- language/en_UK/admin.lang.php | 4 +++- language/en_UK/common.lang.php | 13 ++++++------- picture.php | 11 ++--------- themes/default/js/rating.js | 1 + themes/default/template/picture.tpl | 19 ++++++++++++------- 8 files changed, 33 insertions(+), 25 deletions(-) diff --git a/admin/intro.php b/admin/intro.php index 7b6985e6f..63d5b9805 100644 --- a/admin/intro.php +++ b/admin/intro.php @@ -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, diff --git a/admin/themes/default/template/intro.tpl b/admin/themes/default/template/intro.tpl index 6bdbfc9ff..21646e01e 100644 --- a/admin/themes/default/template/intro.tpl +++ b/admin/themes/default/template/intro.tpl @@ -78,6 +78,7 @@ jQuery().ready(function(){ ({$unvalidated.INFO}) {/if} +
  • {$DB_RATES}
  • diff --git a/include/picture_comment.inc.php b/include/picture_comment.inc.php index ec92594e8..064e02056 100644 --- a/include/picture_comment.inc.php +++ b/include/picture_comment.inc.php @@ -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; diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php index 295a32842..34e89e169 100644 --- a/language/en_UK/admin.lang.php +++ b/language/en_UK/admin.lang.php @@ -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"; diff --git a/language/en_UK/common.lang.php b/language/en_UK/common.lang.php index 32a62fcaf..a47dc5c53 100644 --- a/language/en_UK/common.lang.php +++ b/language/en_UK/common.lang.php @@ -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"; diff --git a/picture.php b/picture.php index 60dc7cc52..fb7b19307 100644 --- a/picture.php +++ b/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'); diff --git a/themes/default/js/rating.js b/themes/default/js/rating.js index b72b55477..3bc846681 100644 --- a/themes/default/js/rating.js +++ b/themes/default/js/rating.js @@ -69,6 +69,7 @@ function updateRating(e) onSuccess: function(result) { gUserRating = rateButton.initialRateValue; for (var i=0; i - {'Rating'|@translate} - + {'Rating score'|@translate} + {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)} + {$rate_summary.score} ({assign var='rate_text' value='%d rates'|@translate}{$pwg->sprintf($rate_text, $rate_summary.count)}) {else} - {'no rate'|@translate} + {'no rate'|@translate} {/if} @@ -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} -- cgit v1.2.3