Seite 1 von 2

[Adm_vote_und_multivote_mod_fix] Admin Voting MOD und Multiv

Verfasst: 25.02.2007 14:48
von dennyk20
Betrifft MOD: [mod=Adm_vote_und_multivote_mod_fix]Admin Voting MOD und Multivote MOD Fix[/mod]

Hallo
Habe diesen mod gerade bei mir insatliert aber ich kann leider immer noch nciht sehen wer was bei mir gevotet hat!!! Woran kötte das liegen?

Schönen Sontag Denny

Verfasst: 07.03.2007 13:01
von dennyk20
*schieb*

Verfasst: 03.07.2007 22:50
von InTimo
Hab auch beide MODs drin, aber den Fix kann ich irgendwie nicht anwenden :(

Code: Alles auswählen

ALTER TABLE `phpbb_vote_voters` CHANGE `vote_option_id` `vote_option_id` CHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL 
Hab in der Tabelle kein "vote_option_id" .. und auch in der posting.php find ich den String nicht :(

Hab zuerst den Multi Vote MOD mit diesen Änderungen installiert http://www.phpbb.de/viewtopic.php?t=150580

Und danach den Admin Voting ..

.. in den Votes behält er die Einstellungen für "Sichtbarkeit" nicht

EDIT:
Lösung näher gekommen .. wenn die Dauer auf "0" steht, nimmt er die Haken für "Ergebnisse" & "Summe der Antworten" nicht, stellt man aber eine Laufzeit ein, verbirgt er die Daten und behält die Optionen ;)


.. im ACP seh ich nicht, wer was gevotet hat .. nur wer gevotet hat

Timo

Verfasst: 05.07.2007 09:20
von InTimo
Servus .. bei vielen Usern kommt der DebugMode ... aber leider hat noch keiner die genaue Meldung gepostet :( Jedenfalls scheint er trotzdem die Resultate zu zählen .. aber im ACP seh ich werder WER noch WAS abgestimmt hat/wurde :(

Jemand nen Rat ??

Timo

Verfasst: 05.07.2007 17:14
von InTimo
Hier die Fehlermeldung

Code: Alles auswählen

Could not insert user_id for poll

DEBUG MODE

INSERT INTO phpbb_vote_voters (vote_id, vote_user_id, vote_user_ip, vote_cast) VALUES (5, 2, '59a681f4', )

Line : 561
File : posting.php
Wie schon erwähnt .. nutze phpBB 2.0.22 mit einigen MOD´s und MultiVote und AdminVoting

Hier die beiden PHPs als TEXT

http://www.homaer.de/board/posting.txt
http://www.homaer.de/board/admin_voting.txt

In der php_vote_voter Tabelle

Steht das hier:
[ externes Bild ]

Wie schon erwähnt .. die Änderungen hier - http://orpheus.pytalhost.de/Admin_see_v ... Fix_DE.mod - versteh ich nicht so ganz :(

Das hier - http://www.phpbb.de/viewtopic.php?p=882316#882316 - hab ich berücksichtigt.

Bitte um Rat

Timo
Bitte um Rat

Verfasst: 07.07.2007 18:24
von InTimo
Hmm .. hat denn niemand ne Idee ??? Wär echt für nen Rat dankbar

Verfasst: 26.07.2007 17:45
von InTimo
Hallo ... und willkommen zurück ;)

Trotz des Ausfalls die Frage .. hat denn niemand nen Rat ?? :(

Timo

Verfasst: 27.07.2007 11:05
von Dr.Death
Hi,

ich habe mir mal den Code von Deiner posting.php angeschaut.

Die Fehlermeldung deutet ja darauf hin, das die Variable $vote_option_id leer ist ( $vote_option_id = '' )


IMHO ist im folgenden Code ein logischer Fehler drin.

Code: Alles auswählen

			if ( !($row = $db->sql_fetchrow($result2)) )
			{
			  for($i = 0; $i < $max_voting; $i++)
			  {
			    $vote_option_id = $vbn[$i];
				$sql = "UPDATE " . VOTE_RESULTS_TABLE . " 
					SET vote_result = vote_result + 1 
					WHERE vote_id = $vote_id 
						AND vote_option_id = $vote_option_id";
				$vote_option_id = '';
				if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
				{
					message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
				}

			  }
				$sql = "UPDATE " . VOTE_DESC_TABLE . " 
					SET vote_voted = vote_voted + 1 
					WHERE vote_id = $vote_id 
						AND topic_id = $topic_id";
				if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
				{
					message_die(GENERAL_ERROR, 'Could not update poll voted', '', __LINE__, __FILE__, $sql);
				}
				$sql = "INSERT INTO " . VOTE_USERS_TABLE . " (vote_id, vote_user_id, vote_user_ip, vote_cast) 
					VALUES ($vote_id, " . $userdata['user_id'] . ", '$user_ip', $vote_option_id)";
				if ( !$db->sql_query($sql, END_TRANSACTION) )
				{
					message_die(GENERAL_ERROR, "Could not insert user_id for poll", "", __LINE__, __FILE__, $sql);
				}

				$message = $lang['Vote_cast'];
			}


In der dortigen for - next Schleife wird die Variable $vote_option_id als "Zähl-Hure" missbraucht.

Code: Alles auswählen

			    $vote_option_id = $vbn[$i];
				$sql = "UPDATE " . VOTE_RESULTS_TABLE . " 
					SET vote_result = vote_result + 1 
					WHERE vote_id = $vote_id 
						AND vote_option_id = $vote_option_id";
				$vote_option_id = '';
und zum Schluss der for-next Schleife auf --> '' gesetzt.

Versuche es mal so:

Code: Alles auswählen

			    $vote_option_id_counter = $vbn[$i];
				$sql = "UPDATE " . VOTE_RESULTS_TABLE . " 
					SET vote_result = vote_result + 1 
					WHERE vote_id = $vote_id 
						AND vote_option_id = $vote_option_id_counter";
				$vote_option_id_counter = '';

Verfasst: 27.07.2007 17:58
von InTimo
Hallo und vielen Dank ..

hab erneut ein Testumfrage gestartet .. und bei meiner Abstimmung als Admin kam kein Fehler ;)

Scheint also zu funzen .. auch wenn ich keinen Plan davon habe, was Du mit "for - next Schleife" etc. gemeint hast

Timo

Verfasst: 12.09.2007 16:21
von InTimo
Hallöle,

hatten mal wieder ne Umfrage ;) Fehler kommt auch nicht mehr. Aber im Adminbereich stehen alle Voter bei der ersten Antwort, obwohl verschiedene gewählt wurden. Irgendwas ist da noch im Argen :(

Jemand ne Idee ??