Plugin: Umfrage

Bender
Beiträge: 20
Registriert: Do 1. Apr 2004, 00:29
Kontaktdaten:

Plugin: Umfrage

Beitrag von Bender » Sa 23. Jun 2007, 20:24

Hallo,

im letzten Jahr habe ich mal angefangen, ein Umfragemodul für Contenido zu erstellen.
Nun habe ich seit kurzem ein Anfrage für die Einbindung auf eine bestehende Seite bekommen.

Anschauen könnt ihr euch das Umfragemodul unter http://www.saydam.de

Wers mal ausprobieren will kanns sich das Plugin unter http://www.benderwd.de/module/polls.zip herunterladen.

Noob
Beiträge: 55
Registriert: Mo 26. Jun 2006, 23:48
Kontaktdaten:

Beitrag von Noob » Sa 23. Jun 2007, 20:46

Sieht auf den ersten Blick sehr gut aus.

Werde es mir die Tage mal etwas genauer anschauen.

Greetz

le grand
Beiträge: 16
Registriert: Fr 25. Mai 2007, 09:51
Kontaktdaten:

Beitrag von le grand » Do 28. Jun 2007, 09:05

Hallo Bender,

habe das Plugin mal getestet. Ein wirklich schönes Modul gut beschriebner und somit einfacher Integration! Ich habe allerdings noch 1-2 Anmerkungen/Hinweise/Fragen;)

1. Wenn eine neue Umfrage erstellt wird, habe ich im Backend die Möglichkeit 6 Antworten vorzugeben. Wähle ich z.B. sehr gut, gut, befriedigend..... werden diese im Frontend im Modul Umfrage nicht in der Reichenfolge wie im Backend angegeben angezeigt, sondern alphabetisch geordnet. Kann man das ändern und wenn ja wie?
2. Hinweis: In den Abfrageergebnissen erscheint bei mir im Frontend links neben der Fragestellung eine fehlende grafik poll.png und im balkendiagramm blank.png die nicht vorhanden bzw. nicht in das Verzeichnis cms\images integriert wurden.
3. Kann man die Überprüfung der Mehrfachteilnahme deaktivieren und wenn ja wie? Ich würde das Plugin gern im Intranet einsetzen und habe das Problem das die User über einen Browser von unterschiedlichen Terminalservern mit fester IP zugreifen. So wären nur max. 8 Stimmabgaben möglich;(

Gruß
Le Grand
Wer seine Ansichten mit anderen Waffen als denen des Geistes verteidigt, von dem muss ich voraussetzen, dass ihm die Waffen des Geistes ausgegangen sind.

Bender
Beiträge: 20
Registriert: Do 1. Apr 2004, 00:29
Kontaktdaten:

Beitrag von Bender » Do 28. Jun 2007, 22:33

zu 1: Die Antworten nach der Antwort-id sortiert.
Die Umfrage auf www.saydam.de ist auch nicht alphabetisch sortiert.
Wenn, dann müsste man sich mal die Antworten und deren id-Zuweisung in der Datenbank anschauen.

zu 2: Lade dir nochmal die Zip-Datei herunter. Ich hab da noch die beiden fehlenden Images eingebunden.

zu 3: Momentan ist nur eine Stimmabgabe von einer IP-Adresse innerhalb von 24 Stunden möglich. Eine optionale Festlegung der Mehrfachteilnahme pro Umfrage muss ist erstmal auf die vorlesungsfreie Zeit verlegen (erstmal Klausuren bewältigen)

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Mo 2. Jul 2007, 12:38

Super Ding. Hab es mal versucht zu installieren. Nur wenn ich das Ergebnis sehen will habe ich folgende Fehlermeldung:

Code: Alles auswählen

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /.../contenido/plugins/polls/mysql.inc.php on line 242

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /.../contenido/plugins/polls/mysql.inc.php on line 243
und im Contenido Fehlerlog steht folgendes:

Code: Alles auswählen

[02-Jul-2007 12:55:30] /contenido/plugins/polls/install.php?install=1&contenido=d8fce50f7eac399158d8524d73709adb MySQL error 1136: Column count doesn't match value count at row 1


INSERT INTO test_area VALUES ('10100', '0', 'poll', '1', '1')
[02-Jul-2007 13:04:47] PHP Warning:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in /.../contenido/plugins/polls/mysql.inc.php on line 242
[02-Jul-2007 13:04:47] PHP Warning:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in /.../contenido/plugins/polls/mysql.inc.php on line 243
Kann mir da jemand weiterhelfen, was ich jetzt machen soll?

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 2. Jul 2007, 13:26

Das Plugin ist noch nicht an die neueren Contenido-Versionen angepasst. Wirf mal einen Blick in die install-Dateien, da müsste es sowas wie

Code: Alles auswählen

INSERT INTO test_area VALUES ('10100', '0', 'poll', '1', '1')
geben.

Dort ein '0' am Ende ergänzen, also sowas wie

Code: Alles auswählen

INSERT INTO test_area VALUES ('10100', '0', 'poll', '1', '1', '0') 
(vorne steht nicht test_area, sondern !PREFIX!_area oder sowas...)

Und dann das Setup nochmal starten.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Mo 2. Jul 2007, 14:03

HerrB hat geschrieben:Das Plugin ist noch nicht an die neueren Contenido-Versionen angepasst. Wirf mal einen Blick in die install-Dateien, da müsste es sowas wie

Code: Alles auswählen

INSERT INTO test_area VALUES ('10100', '0', 'poll', '1', '1')
geben.

Dort ein '0' am Ende ergänzen, also sowas wie

Code: Alles auswählen

INSERT INTO test_area VALUES ('10100', '0', 'poll', '1', '1', '0') 
(vorne steht nicht test_area, sondern !PREFIX!_area oder sowas...)

Und dann das Setup nochmal starten.

Gruß
HerrB
Meinste die install.sql-Datei? Dort steht

Code: Alles auswählen

# con_sequence entries... not used by now
INSERT INTO !PREFIX!_sequence VALUES ('!PREFIX!_poll', '1');

INSERT INTO !PREFIX!_area VALUES ('!PID!00', '0', 'poll', '1', '1');
# if you use menuless batch
INSERT INTO !PREFIX!_area VALUES ('!PID!00', '0', 'poll', '1', '1', '0');


INSERT INTO !PREFIX!_files VALUES ('!PID!01', '!PID!00', 'polls/includes/include.poll_edit.php', 'main');
INSERT INTO !PREFIX!_files VALUES ('!PID!02', '!PID!00', 'polls/includes/include.poll_left_top.php', 'main');
INSERT INTO !PREFIX!_files VALUES ('!PID!03', '!PID!00', 'polls/includes/include.poll_menu.php', 'main');
INSERT INTO !PREFIX!_files VALUES ('!PID!04', '!PID!00', 'include.subnav_blank.php', 'main');

INSERT INTO !PREFIX!_frame_files VALUES ('!PID!01', '!PID!00', '4', '!PID!01');
INSERT INTO !PREFIX!_frame_files VALUES ('!PID!02', '!PID!00', '1', '!PID!02');
INSERT INTO !PREFIX!_frame_files VALUES ('!PID!03', '!PID!00', '2', '!PID!03');
INSERT INTO !PREFIX!_frame_files VALUES ('!PID!04', '!PID!00', '3', '!PID!04');

INSERT INTO !PREFIX!_nav_sub VALUES ('!PID!00', '3', '!PID!00', '0', 'polls/xml/;navigation/extra/polls', '1');
Da ist es doch richtig vorhanden oder?

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 2. Jul 2007, 23:20

Ja, stimmt. Die Fehlermeldung stammt von der einen Zeile ohne die Angabe - aber das korrigiert die folgende.

Ich habe mal den Code überflogen - im Moment ist mir nicht klar, woher die DB-Parameter ins Plugin finden sollten (aber das heißt erstmal nix). Setze mal in der globals.inc.php an den Anfang ein

Code: Alles auswählen

echo $contenido_host;
Kommt da was beim Abrufen der Ergebnisse?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Mo 2. Jul 2007, 23:58

HerrB hat geschrieben: Kommt da was beim Abrufen der Ergebnisse?
localhost gibt er mir aus und die Fehlermeldung natürlich.

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 3. Jul 2007, 06:56

die fehlermeldung kann man ignorieren...

in älteren contenido versionen (4.x) gab es keine spalte menuless in der !PREFIX!_area
auswirkungen hat die fehlermeldung sonst keine... (und es muss wirklich nicht geändert werden)

ad. menuless
-> http://contenido.org/forum/viewtopic.php?t=5014
*** make your own tools (wishlist :: thx)

Bender
Beiträge: 20
Registriert: Do 1. Apr 2004, 00:29
Kontaktdaten:

Beitrag von Bender » Di 3. Jul 2007, 08:11

Das Plugin läuft bei mir auch unter Contenido 4.6.15.

Hinterlege mal in der mysql.inc.php im Verzeichnis polls nach Zeile 241
printf ($query) und überprüfe mal ob die Abfrage funktioniert.

Würde meinen, dass erstmal an der Stelle der Fehler evtl. liegt.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Mo 9. Jul 2007, 16:35

Super Plugin, soweit ich es testen konnte.
Die Installation hat wie beschrieben ganz easy geklappt, aber wenn ich auf den Button Ergebnis klicke, erhalte ich keine Ausgabe.

Woran kann das liegen?

idcatart = 169
Artikel Umfrage-Ergebnis ist online.
Zeile in Mandanteneinstellungen: umfrageergebnisse idcatart 169

Und wie bekomm ich so einen schönen Rahmen drum, wie du denn auf der Beispielseite hast? Kann ich die Ausgabe in einen Teaser laden?

PS: Die Daten kommen in der Datenbank auch alle an... in beiden Tabellen hab ich Inhalte. Nur angezeigt wird die Ergebnisseite nicht... bzw. wird sie schon, aber da ist keine Ausgabe vom Umfrage-Modul

kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip » Mi 11. Jul 2007, 13:14

Die Lösung ist sehr simpel:

In der mysql.inc.php wurden nicht die Variablen für die Datenbanktabellen verwendet sondern die tatsächlichen Namen hart reingecodet. Sobald jemand andere Prefixe für die Datenbank-Tabellen benutzt, geht das Ganze in die Hose.

Der Select in Zeile 234 müsste so aussehen:

Code: Alles auswählen

$query = "SELECT a.id, a.text, count( DISTINCT b.id ) AS hits, count( DISTINCT b.id )/COUNT( DISTINCT a.id )*100.0 AS percent"
                       . "\n FROM ".$GLOBALS["cfg"]["tab"]["polldata"]." AS a"
                       . "\n LEFT JOIN ".$GLOBALS["cfg"]["tab"]["polldate"]." AS b ON b.vote_id = a.id"
                       . "\n $this->order_criterion"
                       . "\n AND a.text != ''"
                       . "\n GROUP BY a.id"
                       . "\n ORDER BY a.id";
Dann klappt's auch mit dem Nachbarn.

Gruß

qotsa
Beiträge: 29
Registriert: Di 6. Jun 2006, 09:09
Kontaktdaten:

Beitrag von qotsa » Di 17. Jul 2007, 21:41

Das Modul funktioniert an sich sehr gut. Nur wenn ich auf Ergebnis klicke, will er mich zu dem vorher erstellten Artikel weiterleiten:
front_content.php?idcatart=179&id=2
Naja, der Artikel ist leer. Kann man nicht einfach die Ergebnisse an der selben Stelle ausgeben, wo auch die Umfrage ist?

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Mi 25. Jul 2007, 11:01

Ich hab noch einige Fehler festgestellt:

Datei poll.html.php:

Dort hat sich ein Fehler eingeschlichen (zumindest in Bezug auf die Config-Datei von Contenido 4.6.15.

Zeile 5:
global $cfg, $loc_lang;
ersetzen gegen:
global $cfg, $loc_lang,$_sel_poll;

Zeile 11:
link.setAttribute('href', '<?php echo $cfg['path']['contenido_html'].$cfg['plugins']['poll']; ?>css/poll_bars.css');
ersetzen gegen:
link.setAttribute('href', '<?php echo $cfg['path']['contenido_fullhtml'].$cfg['plugins']['poll']; ?>css/poll_bars.css');
Zudem fehlen in der css-Datei einige Klassen, die in poll.html.php verwendet werden.

Hier mal meine gesamte css-Datei:

Code: Alles auswählen

/* polls Bar Colors/Formats - Follow the format to add your own.
	Then update the maxcolors setting for polls in
	components/com_poll/poll.php -> $polls_maxcolors
*/

.polls_color_1{ background-color: #8D1B1B; border: 1px ridge #B22222; }

.polls_color_2{ background-color: #6740E1; border: 1px ridge #4169E1; }

.polls_color_3{ background-color: #8D8D8D; border: 1px ridge #D2D2D2; }

.polls_color_4{ background-color: #CC8500; border: 1px ridge #FFA500; }

.polls_color_5{ background-color: #5B781E; border: 1px ridge #6B8E23; }


#poll {
        font-size:1.1em;
      }
/* polls Outside Table Border */
.pollstableborder {
	border: 1px solid;
	padding: 5px;
}
.sectiontableheader
{

}
.smalldark
{
	font-size:0.8em;
        font-weight:bold;
}

Gesperrt