Umfrage - pro IP und Mitglied nur einmal abstimmen möglich!

Begonnen von bambussprosse, 21 März 2012, 16:48:26

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

bambussprosse

Ich hätte gerne die Möglichkeit im Umfrage Modul das man es so einstellen kann, dass jedes Mitglied pro Umfrage nur ein einziges Mal abstimmen kann. Zur Zeit könnte Mitglied X wenn es wollte unendlich oft abstimmen.

Habe auch schon einen Kommentar von einen Mitglied bekommen der dies moniert hat.

Könnte man hier bitte Abhilfe schaffen?

Baldyman

Hoi bambussprosse   :bye:

Also wenn ich das gerade richtig überflogen habe, ist es schon so,
dass die IP herangezogen wird. Diese hat eine "Sperre" von 30 Minuten, um theoretisch erneut abzustimmen.

/modules/Surveys/index.php  Zeile 225  (in Sekunden)

Wenn das Umfragemodul für alle freigegeben ist kann man ja nur per IP zumindest zeitweise einen Riegel vorschieben.

Was mir gerade spontan einfällt ... das SMF hat das drin.
Falls du das laufen hast, würde ich einfach das missbrauchen   ;)
Dort hat man die Möglichkeit die Stimmen pro Mitglied zu begrenzen.

bambussprosse

@Baldyman, die Umfrage ist nur für Mitglieder freigegeben.
Ich nutze außerdem ausschließlich, dass mxBoard und nicht jenes SMF Forum, somit wird mir das dortige Umfrage Module wenig helfen.

Bräuchte wie schon geschrieben beim integrierten Umfrage Module die Möglichkeit das jedes Mitglied pro Umfrage nur ein einziges Mal abstimmen kann.

Könnte das bitte irgendwer umsetzen?  :pardon:


bambussprosse

Hat sonst keiner den Wunsch nach einen Umfrage Modul wo pro Mitglied und Umfrage immer nur einmal abgestimmt werden kann?  :gruebel:

Olaf

Ich habe sowas für das Contest-Modul geschrieben. Auch dort kann man nur einmal abstimmen. Beim 2. Versuch ist bereits das Formular blockiert.
Allerdings ist das Thema mit der IP nicht ausreichend umsetzbar. Einmal kurz den Router aus (oder RESET) und schon hat man meist ne neue IP. Lösbar ist das sinnvoll mit Cookies, solange nur User an den Abstimmungen teilnehmen dürfen (eine Lösung !! gibt bestimmt auch noch mehr). :BD:

Sorry; Mir fehlt allerdings immo die Zeit dafür.  :pardon:
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

bambussprosse

Also mir wäre die Cookies Lösung beim Umfrage Modul auch recht, da hier nur Mitglieder abstimmen dürfen.
Könntest du ..... ?  :pardon: :JC_highfive:

bambussprosse

Ich habe nun ein Mitglied das bereits 4 Mal in der gleichen Umfrage für die selbe Option abgestimmt hat, was natürlich nicht so sein sollte.

Demzufolge würde ich diese IP oder Cookies Sperre (pro Umfrage und Mitglied) nur einziges Mal abstimmen unbedingt benötigen.


Olaf

Zitat von: bambussprosse am 21 März 2012, 16:48:26
...Könnte man hier bitte Abhilfe schaffen? ...
:crazy:
das ist nicht unbedingt der richtige "Ton", jemanden um Hilfe zu bitten.......
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

bambussprosse

Ich habe BITTE gesagt, bin außerdem davon überzeugt dass auch andere Pragmamx Kunden davon profetieren würden.

anmShinichi

Wir sind keine Kunden, sondern Nutzer/Anwender... Es ist ein Open Source - Projekt und neben der unendlichen freiwilligen nebenberuflichen privaten Freizeit, die dafür geopfert wird, sollte man schon ein Unterschied zwischen Support bei Unternehmen und Unterstützung bei privaten Projekten machen.

Problem ist, dass das aktuelle Umfrage-Modul eben auch für offene Umfragen gedacht ist, sprich für nicht einloggte User, so dass die IP entscheidend ist. Wer das intern nur für Mitglieder nutzt, hat dieses Problem ist. Dennoch muss das Modul für alle Gegebenheiten vorgesehen sein.

Nach kleiner Prüfung ist das Modul nur auf IP eingestellt...
In der modules/Surveys/index.php fängt es ab Zeile 225 so an:
   $past = time() - 1800;
   sql_query("DELETE FROM ${prefix}_poll_check WHERE time < $past");
   $result = sql_query("SELECT ip FROM ${prefix}_poll_check WHERE (ip='" . MX_REMOTE_ADDR . "') AND (pollID='$pollID')");
   list($ips) = sql_fetch_row($result);

   switch (true) {
       case MX_REMOTE_ADDR == $ips:
       case !sql_query("INSERT INTO ${prefix}_poll_check (ip, time, pollID) VALUES ('" . MX_REMOTE_ADDR . "', '" . time() . "', '$pollID')"):
       case !sql_query("UPDATE ${prefix}_poll_data SET optionCount=optionCount+1 WHERE (pollID=$pollID) AND (voteID=$voteID)"):
       case !sql_query("UPDATE ${prefix}_poll_desc SET voters=voters+1 WHERE pollID=$pollID"):
           return mxRedirect($forwarder, _ISNOTCOUNTED . $msgAdd, 5);
       default:
           return mxRedirect($forwarder, _ISCOUNTED . $msgAdd, 5);
   }


Für eine schnelle Lösung würde ich vorschlagen, anstatt der IP unter ip die UID des Mitglieds zu speichern und abzufragen und genauso den DELETE-SQL inaktiv zu schalten. Dann würde er immer unter der PollID eine IP (also die UID) finden und ablehnen. Ist also keine saubere globale Umsetzung, aber eine für dich spezifischere, für deine Anforderung.

Die Verhunzung der Code-Zeilen gehört nicht hierher. Wenn du den Code dafür möchtest, schreib eine PN.

Gruß
MonsterWorks - www.monsterworks.de