val("action"); switch($action){ case 'view': view_poll(); break; }//switch /////////////////////////////////////// function view_poll(){ $info = $_GET["id"]; $sql_query = "SELECT * FROM polls WHERE pol_id='$info'"; // echo $sql_query; $result = $GLOBALS["DB"]->result($sql_query); foreach($result as $res){ $card = array(); $card["pol_id"] = $res["pol_id"]; $card["mem_id"] = $res["mem_id"]; $card["author"] = $GLOBALS["Network"]->card($res["mem_id"]); $card["question"] = $res["question"]; $card["answers"] = polls_extract_answers($res["answers"]); $card["stats"] = poll_stats($res["pol_id"],array_keys($card["answers"])); $card["edit"] = "index.php?page=polls§ion=edit&pol_id=".$res["pol_id"]; $card["delete"] = "index.php?handler=polls&action=delete&pol_id=".$res["pol_id"]; $card["approved"] = $res["approved"]; $polls[] = $card; }//foreach $GLOBALS["smarty"]->assign("viewpoll",$polls); } function do_delete_poll(){ $info = auth_member(); $del2 = $GLOBALS["Get"]->val("del2"); if(!$del2){ $pol_id = $GLOBALS["Get"]->type_val("pol_id","integer"); $sql_query = "SELECT question FROM polls WHERE pol_id=".$pol_id; $name = $GLOBALS["DB"]->single($sql_query); $GLOBALS["forms"]["delete"]["values"]["handler"] = "polls"; $GLOBALS["forms"]["delete"]["values"]["action"] = "delete"; $GLOBALS["forms"]["delete"]["values"]["del2"] = 1; $GLOBALS["forms"]["delete"]["values"]["id"] = $pol_id; $GLOBALS["smarty"]->assign("item",$name); $GLOBALS["smarty"]->assign("link","index.php?page=polls§ion=edit&pol_id=".$pol_id); $p_details = array( "page" => "delete", "items_file" => "delete" ); build_page($p_details); }//if else{ $pol_id = $GLOBALS["Get"]->type_val("id","integer"); $sql_query = "SELECT COUNT(*) FROM polls WHERE pol_id=:pol_id: AND mem_id=:mem_id:"; $values["mem_id"] = $info["mem_id"]; $values["pol_id"] = $pol_id; $GLOBALS["DB"]->values = $values; $exists = $GLOBALS["DB"]->single($sql_query); if($exists){ $sql_query = "DELETE FROM polls WHERE pol_id=:pol_id:"; $GLOBALS["DB"]->execute($sql_query); $sql_query = "DELETE FROM polls_votes WHERE pol_id=:pol_id:"; $GLOBALS["DB"]->execute($sql_query); }//if }//else load_page("index.php?page=polls§ion=manage"); }//delete_poll function polls_extract_answers($answers_code){ $answers = explode("|",trim($answers_code,"|")); array_unshift($answers,""); unset($answers[0]); return $answers; }//polls_extract_answers function poll_stats($pol_id,$answers,$mem_id=0){ $info = $GLOBALS["Member"]->info(); if(!$mem_id) $mem_id = $info["mem_id"]; $sql_query = "SELECT vote FROM polls_votes WHERE mem_id=:mem_id: AND pol_id=:pol_id:"; $values["mem_id"] = $mem_id; $values["pol_id"] = $pol_id; $GLOBALS["DB"]->values = $values; $stats["vote"] = $GLOBALS["DB"]->single($sql_query); $sql_query = "SELECT COUNT(*) FROM polls_votes WHERE pol_id=:pol_id:"; $stats["total"] = $GLOBALS["DB"]->single($sql_query); $sql_query = "SELECT COUNT(*) AS total,vote FROM polls_votes WHERE pol_id=:pol_id: GROUP BY vote"; $result = $GLOBALS["DB"]->result($sql_query); $votes = array(); foreach($result as $res){ $votes[$res["vote"]] = $res["total"]; }//foreach $stats["votes"] = array(); foreach($answers as $a){ $stats["votes"][$a] = @round($votes[$a]/$stats["total"],2) * 100; }//foreach return $stats; }//is_answered_poll ?>