Fork me on GitHub






Laisser le bouton voter dans le bloc de sondage
Aspirant
Inscrit: 10/06/2006 22:32
Messages: 67
Bonjour à tous,
Je suis gérant d'un cybercafé, les utilisateurs votent donc en anonyme et avec la même ip.
Mais le probleme n'est pas là je pense, car j'ai mis un sondage hier soir et ce matin après qu'une personne ait voté, le bouton "voter" n'apparait plus et seul le bouton "résultat" est là. Ce qui fait que si une personne veux voter, elle doit déjà passer par les résultats.
J'ai la version 1.23 de xoopspoll et la dernière version de xoops 2.0.16
J'ai également essayé en vidant le fichier template-c sans enlever le "index.htm" mais rien n'y fait le bouton "voter" ne revient pas.

Je vous remerci infiniment pour votre aide.

Posté le : 24/10/2007 21:02
Partager Twitter Partagez cette article sur GG+
Re: Laisser le bouton voter dans le bloc de sondage
Aspirant
Inscrit: 10/06/2006 22:32
Messages: 67
En fait j'ai essayé de voter avec un nom d'utilisateur sur la même IP cela fonctionne, je n'ai donc aucune restriction sur l'ip.
Le probleme est qu'un seul invité ne peux voter par adresse IP différente, alors comment faire pour résoudre ce problème?
Svp aidez moi car je voudrais faire des sondages très importants pour mon site.

Merci beaucoup de votre soutien.

Posté le : 26/10/2007 13:48
Partager Twitter Partagez cette article sur GG+
Re: Laisser le bouton voter dans le bloc de sondage
Aspirant
Inscrit: 10/06/2006 22:32
Messages: 67
Je pense que mon problème viens du fichier index.php à partir de la 76
if ( $xoopsUser ) {
                if ( 
XoopsPollLog::hasVoted($poll_idxoops_getenv('REMOTE_ADDR'), $xoopsUser->getVar("uid")) ) {
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_ALREADYVOTED;
                } else {
                    
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'), $xoopsUser->getVar("uid"));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
                }
            } else {
                if ( 
XoopsPollLog::hasVoted($poll_idxoops_getenv('REMOTE_ADDR')) ) {
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_ALREADYVOTED;
                } else {
                    
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
                }
            }
        }

Je le changerais bien par ca
if ( $xoopsUser ) {
                if ( 
XoopsPollLog::hasVoted($poll_idxoops_getenv('REMOTE_ADDR'), $xoopsUser->getVar("uid")) ) {
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_ALREADYVOTED;
                } else {
                    
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'), $xoopsUser->getVar("uid"));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
                }
            } else {
                if ( 
XoopsPollLog::hasVoted($poll_idxoops_getenv('REMOTE_ADDR')) ) {
                    
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
                } else {
                    
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
                }
            }
        }

Mais j'ai peur de faire une bétise.

Posté le : 31/10/2007 13:29
Partager Twitter Partagez cette article sur GG+
Re: Laisser le bouton voter dans le bloc de sondage
Aspirant
Inscrit: 10/06/2006 22:32
Messages: 67
J'ai trouvé donc une petite faille pour le module de sondage Xoopspoll. Ce n'est pas une faille de sécurité mais le module ne prend pas en compte que les invités peuvent être plusieurs.
Il faut donc modifier les lignes 86 à 96 suivantes
} else {
                if ( 
XoopsPollLog::hasVoted($poll_idxoops_getenv('REMOTE_ADDR')) ) {
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_ALREADYVOTED;
                } else {
                    
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
                }
            }

par les lignes suivantes
} else {
                
$poll->vote($HTTP_POST_VARS['option_id'], xoops_getenv('REMOTE_ADDR'));
                    
$poll->updateCount();
                    
setcookie("voted_polls[$poll_id]"10);
                    
$msg _PL_THANKSFORVOTE;
            }


Après cela tout les invités de votre sites internet qui se connectent à partir d'un même point d'accès type Cybercafe (ne les oublions pas) pourront voter sans avoir le message "Désolé vous avez déjà voté"

Posté le : 31/10/2007 14:22
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

45 Personne(s) en ligne (36 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 45 | Plus ...