Poll: |
bezoeker = $bezoeker;
}
function htmlparse($string){
return htmlentities(trim($string), ENT_QUOTES);
}
function stem($vote) {
if(is_numeric($vote) && $vote >= 1 && $vote <= 10) {
$id = $this->list['id'];
$gestemd = $this->list['gestemd']."(".$this->bezoeker.",".$vote.")";
$sql = @mysql_query("UPDATE poll SET antwoord".$vote."=antwoord".$vote."+1, gestemd='".$gestemd."' WHERE id='$id'");
if($sql) {
$this->list["antwoord".$vote]++;
}
}
}
function archief($aantal=0) {
GLOBAL $HTTP_SERVER_VARS;
if($aantal != 0) {
$limit = " LIMIT ".$aantal;
} else {
$limit = "";
}
$sql = @mysql_query("SELECT id, vraag FROM poll ORDER BY id DESC".$limit);
echo "\n";
}
function toon($id=0, $magstemmen=1, $balkje=200, $kleur1="#A9A9A9", $kleur2="#FF9900") {
GLOBAL $HTTP_POST_VARS, $HTTP_SERVER_VARS;
if($id == 0) {
$sql = @mysql_query("SELECT * FROM poll WHERE actief='1' ORDER BY id DESC LIMIT 1");
} else {
$id = addslashes($id);
$sql = @mysql_query("SELECT * FROM poll WHERE id='$id'");
}
// bestaat poll?
$bestaat = @mysql_num_rows($sql);
if($bestaat == 0 && $id == 0) {
echo "Error: er is geen actieve poll!\n";
} elseif($bestaat == 0) {
echo "Error: deze poll bestaat niet!\n";
} else {
$this->list = @mysql_fetch_assoc($sql);
// mag de bezoeker stemmen?
if($magstemmen == 0 || preg_match("/\(".$this->bezoeker.",/", $this->list['gestemd'])) {
$magstemmen = 0;
} else {
$magstemmen = 1;
}
// poll type
if($this->list['actief'] == 1) {
$type = "Actief";
} else {
$type = "Archief";
$magstemmen = 0;
}
// stem opslaan
if($magstemmen == 1 && isset($HTTP_POST_VARS['pollvote']) && isset($HTTP_POST_VARS['pollid']) && $HTTP_POST_VARS['pollid'] == $this->list['id']) {
$this->stem($HTTP_POST_VARS['pollvote']);
$magstemmen = 0;
}
// totaal aantal stemmen
$totaal = 0;
for($x=1; $x<=10; $x++) {
$totaal = $totaal + $this->list["antwoord".$x];
}
// poll weergeven
if($magstemmen == 1) {
echo "\n";
}
}
}
}
/* class starten
params:
1: kenmerk van de bezoeker, dus bijv. ip of userid. Let op: als de bezoeker heeft gestemd zal dit kenmerk in de database worden gezet zodat de bezoeker niet nog een keer kan stemmen */
$poll = new wmpoll($ip);
/* poll weergeven
params:
1: pollid, 0: nieuwste actieve poll
2: mag de bezoekers stemmen, 1: ja 0: nee
3: breedte van de balkjes, in pixels
4: lijnkleur van de balkjes
5: vulkleur van de balkjes */
$poll->toon($pollid, 1, 300, "#333333", "#333333");
/* archief weergeven
params:
1: hoeveel pollen maximaal weergeven, 0: geen limiet */
echo " \nArchief: \n"; $poll->archief(0); ?> |