diff options
author | rvelices <rv-github@modusoptimus.com> | 2011-07-26 19:04:50 +0000 |
---|---|---|
committer | rvelices <rv-github@modusoptimus.com> | 2011-07-26 19:04:50 +0000 |
commit | c0bb4dfb43d05d68cb4abe69e279e91c88bd2f11 (patch) | |
tree | d82bf347d8b4a5deb8532371e7073e2692737bec | |
parent | 630c4bb85e82c956053526255097f3fa706427b4 (diff) |
feature 2384: improve average rating calculation (final)
git-svn-id: http://piwigo.org/svn/trunk@11839 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | admin/intro.php | 7 | ||||
-rw-r--r-- | admin/themes/default/template/intro.tpl | 1 | ||||
-rw-r--r-- | include/picture_comment.inc.php | 2 | ||||
-rw-r--r-- | language/en_UK/admin.lang.php | 4 | ||||
-rw-r--r-- | language/en_UK/common.lang.php | 13 | ||||
-rw-r--r-- | picture.php | 11 | ||||
-rw-r--r-- | themes/default/js/rating.js | 1 | ||||
-rw-r--r-- | 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(){ (<a href="{$unvalidated.URL}">{$unvalidated.INFO}</a>) {/if} </li> + <li>{$DB_RATES}</li> </ul> </dd> </dl> 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<gRatingButtons.length; i++) gRatingButtons[i].disabled=false; + if (gRatingOptions.onSuccess) gRatingOptions.onSuccess(result); if (gRatingOptions.updateRateElement) gRatingOptions.updateRateElement.innerHTML = gRatingOptions.updateRateText; if (gRatingOptions.ratingSummaryElement) { diff --git a/themes/default/template/picture.tpl b/themes/default/template/picture.tpl index 6ffaa7261..d83795d58 100644 --- a/themes/default/template/picture.tpl +++ b/themes/default/template/picture.tpl @@ -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> |