aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrvelices <rv-github@modusoptimus.com>2006-04-28 04:37:28 +0000
committerrvelices <rv-github@modusoptimus.com>2006-04-28 04:37:28 +0000
commit1cc593f7606c34428271a4beee5755a301988e4e (patch)
treeff688255aef1838ca3a62eb8e936c0bf5f3eb3c0
parentd6264b468c3708ac027c8caac40fd26c83143ed8 (diff)
bug 359: transform rating html A links to FORM because some bots rate
pictures (even if rel="nofollow" is set) git-svn-id: http://piwigo.org/svn/branches/branch-1_6@1285 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--include/picture_rate.inc.php42
-rw-r--r--language/en_UK.iso-8859-1/common.lang.php3
-rw-r--r--language/fr_FR.iso-8859-1/common.lang.php3
-rw-r--r--picture.php3
-rw-r--r--template/yoga/image.css16
-rw-r--r--template/yoga/picture.tpl15
-rw-r--r--template/yoga/theme/clear/theme.css2
-rw-r--r--template/yoga/theme/dark/theme.css2
8 files changed, 49 insertions, 37 deletions
diff --git a/include/picture_rate.inc.php b/include/picture_rate.inc.php
index 46263d968..172d02ceb 100644
--- a/include/picture_rate.inc.php
+++ b/include/picture_rate.inc.php
@@ -54,6 +54,7 @@ SELECT COUNT(rate) AS count
);
}
+ $user_rate = null;
if ($conf['rate_anonymous'] or is_autorize_status(ACCESS_CLASSIC) )
{
if ($row['count']>0)
@@ -78,51 +79,40 @@ SELECT COUNT(rate) AS count
if (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);
- $sentence = $lang['already_rated'];
- $sentence.= ' ('.$row['rate'].'). ';
- $sentence.= $lang['update_rate'];
+ $user_rate = $row['rate'];
}
- else
- {
- $sentence = $lang['never_rated'].'. '.$lang['Rate'];
- }
- }
- else
- {
- $sentence = $lang['never_rated'].'. '.$lang['Rate'];
}
+
$template->assign_block_vars(
'rate',
array(
- 'CONTENT' => $value,
- 'SENTENCE' => $sentence
+ 'SENTENCE' =>isset($user_rate) ? l10n('update_rate') : l10n('new_rate'),
+ 'F_ACTION' => add_url_params(
+ $url_self,
+ array('action'=>'rate')
+ )
)
);
$template->assign_block_vars('info_rate', array('CONTENT' => $value));
- $template->assign_vars(
- array(
- 'INFO_RATE' => $value
- )
- );
-
foreach ($conf['rate_items'] as $num => $mark)
{
$template->assign_block_vars(
'rate.rate_option',
array(
'OPTION' => $mark,
- 'URL' => add_url_params(
- $url_self,
- array(
- 'action'=>'rate',
- 'rate'=>$mark
- )
- ),
'SEPARATOR' => ($num > 0 ? '|' : ''),
)
);
+ if (isset($user_rate) and $user_rate==$mark)
+ {
+ $template->assign_block_vars('rate.rate_option.my_rate', array() );
+ }
+ else
+ {
+ $template->assign_block_vars('rate.rate_option.not_my_rate', array() );
+ }
}
}
}
diff --git a/language/en_UK.iso-8859-1/common.lang.php b/language/en_UK.iso-8859-1/common.lang.php
index 491a5966c..6273e9f88 100644
--- a/language/en_UK.iso-8859-1/common.lang.php
+++ b/language/en_UK.iso-8859-1/common.lang.php
@@ -130,7 +130,6 @@ $lang['admin'] = 'Administration';
$lang['adviser_mode_enabled'] = 'Adviser mode enabled';
$lang['all'] = 'all';
$lang['all_categories'] = 'all categories';
-$lang['already_rated'] = 'You\'ve already rated this item';
$lang['ascending'] = 'ascending';
$lang['author(s) : %s'] = 'author(s) : %s';
$lang['auto_expand'] = 'Expand all categories';
@@ -244,10 +243,10 @@ $lang['nb_image_per_row'] = 'Number of images per row';
$lang['nb_line_page_error'] = 'The number of rows per page must be a not null scalar';
$lang['nb_row_per_page'] = 'Number of rows per page';
$lang['nbm_unknown_identifier'] = 'Unknown identifier';
-$lang['never_rated'] = 'You\'ve never rated this item';
$lang['new_password'] = 'New password';
$lang['new_password_hint'] = 'You only have to give a password if you wish to change it.';
$lang['next_page'] = 'Next';
+$lang['new_rate'] = 'Rate this picture';
$lang['no'] = 'No';
$lang['no_category'] = 'Home';
$lang['no_rate'] = 'no rate';
diff --git a/language/fr_FR.iso-8859-1/common.lang.php b/language/fr_FR.iso-8859-1/common.lang.php
index ca646b862..8fa0b6b1d 100644
--- a/language/fr_FR.iso-8859-1/common.lang.php
+++ b/language/fr_FR.iso-8859-1/common.lang.php
@@ -129,7 +129,6 @@ $lang['admin'] = 'Administration';
$lang['adviser_mode_enabled'] = 'Mode conseiller actif';
$lang['all'] = 'tout';
$lang['all_categories'] = 'toutes les catégories';
-$lang['already_rated'] = 'Vous avez déjà voté pour cette image';
$lang['ascending'] = 'croissant';
$lang['author(s) : %s'] = 'auteur(s) : %s';
$lang['auto_expand'] = 'Développer toutes les catégories';
@@ -243,9 +242,9 @@ $lang['nb_image_per_row'] = 'Nombre de miniatures par ligne';
$lang['nb_line_page_error'] = 'Le nombre de lignes par page doit être un entier non nul';
$lang['nb_row_per_page'] = 'Nombre de lignes par page';
$lang['nbm_unknown_identifier'] = 'Identifiants inconnus';
-$lang['never_rated'] = 'Vous n\'avez jamais voté pour cette image';
$lang['new_password'] = 'Nouveau mot de passe';
$lang['new_password_hint'] = 'Vous n\'avez à confirmer votre mot de passe que si vous désirez en changer.';
+$lang['new_rate'] = 'Votez pur cette image';
$lang['next_page'] = 'Suivant';
$lang['no'] = 'Non';
$lang['no_category'] = 'Accueil';
diff --git a/picture.php b/picture.php
index 3dc08ac40..486e303cb 100644
--- a/picture.php
+++ b/picture.php
@@ -165,7 +165,8 @@ UPDATE '.CATEGORIES_TABLE.'
case 'rate' :
{
include_once(PHPWG_ROOT_PATH.'include/functions_rate.inc.php');
- rate_picture($page['image_id'], $_GET['rate']);
+ rate_picture($page['image_id'],
+ isset($_POST['rate']) ? $_POST['rate'] : $_GET['rate'] );
redirect($url_self);
}
case 'delete_comment' :
diff --git a/template/yoga/image.css b/template/yoga/image.css
index 3064ee46a..90d5c539b 100644
--- a/template/yoga/image.css
+++ b/template/yoga/image.css
@@ -107,6 +107,22 @@ TABLE.infoTable TD.value UL {
list-style-type: square;
}
+.rateButton, .rateButtonSelected {
+ background-color:transparent;
+ padding:0;
+ border:0;
+}
+
+.rateButton {
+ cursor: pointer;
+}
+
+.rateButtonSelected {
+ color:inherit;
+ font-weight:bold;
+ font-size:120%;
+}
+
#comments {
text-align: left;
}
diff --git a/template/yoga/picture.tpl b/template/yoga/picture.tpl
index 9496a66d1..614dfff09 100644
--- a/template/yoga/picture.tpl
+++ b/template/yoga/picture.tpl
@@ -153,12 +153,19 @@
<!-- END metadata -->
<!-- BEGIN rate -->
-<p>
-{rate.SENTENCE} :
+<form action="{rate.F_ACTION}" method="post">
+<div>{rate.SENTENCE} :
<!-- BEGIN rate_option -->
-{rate.rate_option.SEPARATOR} <a href="{rate.rate_option.URL}" rel="nofollow" {TAG_INPUT_ENABLED}>{rate.rate_option.OPTION}</a>
+{rate.rate_option.SEPARATOR}
+<!-- BEGIN my_rate -->
+<input type="button" name="rate" value="{rate.rate_option.OPTION}" class="rateButtonSelected" />
+<!-- END my_rate -->
+<!-- BEGIN not_my_rate -->
+<input type="submit" name="rate" value="{rate.rate_option.OPTION}" class="rateButton" />
+<!-- END not_my_rate -->
<!-- END rate_option -->
-</p>
+</div>
+</form>
<!-- END rate -->
<hr class="separation">
diff --git a/template/yoga/theme/clear/theme.css b/template/yoga/theme/clear/theme.css
index 1260ce776..ee77519f6 100644
--- a/template/yoga/theme/clear/theme.css
+++ b/template/yoga/theme/clear/theme.css
@@ -53,7 +53,7 @@ FIELDSET, INPUT, SELECT, TEXTAREA,
}
/* links */
-A {
+A, .rateButton {
color: #005e89;
background: transparent;
}
diff --git a/template/yoga/theme/dark/theme.css b/template/yoga/theme/dark/theme.css
index 371ef680e..c173a89eb 100644
--- a/template/yoga/theme/dark/theme.css
+++ b/template/yoga/theme/dark/theme.css
@@ -83,7 +83,7 @@ H2, #menubar DT, #imageHeaderBar {
}
/* links */
-A {
+A, .rateButton {
color: #FFFFFF;
}