".time()." ORDER BY enq_dtentrada DESC LIMIT 1"; //die($sql); $rs_perg=$db->Execute($sql); $pergunta = $rs_perg->FetchRow(); //armazena o titulo em $this->titulo $this->titulo = $pergunta[enq_titulo]; $this->id = $pergunta[enq_id]; //busca as opções da enquete $sql_resp = "SELECT res_id, res_titulo, res_votos FROM resposta WHERE enq_id = '$this->id;' ORDER BY res_id"; $rs_resp=$db->Execute($sql_resp); //armazena cada opção em $this->opcoes[] = $i=0; while($resp = $rs_resp->FetchRow()){ $this->opcoes[$i] = $resp; $this->votos[$i] = $resp[res_votos]; $i++; } } function getTitulo(){ return $this->titulo; } function getRespostas(){ return $this->opcoes; } function podeVotar() { global $db; //Seleciona o tipo de validação (por Cookie, ip ou ip e cookie) $sql = "select enq_validacao from enquete where enq_id =".$this->id; $validacao = $db->Execute($sql); $validacao = $validacao->FetchRow(); if($validacao['enq_validacao'] == 'COOKIE' || $validacao['enq_validacao'] == 'IP e COOKIE' ) { // Pega as variaveis do cookie (valor e id da enquete votada) $cookie_name = "cookie_".$this->id; $cookie = explode(';',$_COOKIE[$cookie_name]); if($cookie[0] == "false" && $this->id == $cookie[1]) { return false; } } if($validacao['enq_validacao'] == 'IP' || $validacao['enq_validacao'] == 'IP e COOKIE') { if($this->verificaIp()) { return false; } } return true; } function getButtonLabel($useHtml = false){ if ($useHtml){ //return ""; echo "retorna html"; }else{ if($this->podeVotar()==true){ return "Votar"; }else{ return "Resultados"; } } } function getIp(){ return $_SERVER["REMOTE_ADDR"]; } function getResultado(){ global $db; $rsTotalVotos=$db->Execute("SELECT SUM(res_votos) total FROM resposta WHERE enq_id='$this->id'"); $t = $rsTotalVotos->FetchRow(); $rsRespostas=$db->Execute("SELECT res_titulo, res_votos FROM resposta WHERE enq_id='$this->id' ORDER BY res_id"); $i=0; while ($res = $rsRespostas->FetchRow()){ // $tv[$i] = number_format((($res[res_votos] * 100)/$t[total]),2,'.',"")."%".$res[res_titulo]; $this->tv[$i] = number_format((($res[res_votos] * 100)/$t[total]),2,'.',"")."_".$res[res_titulo]; $i++; } //die($teste); //return $tv; return $this->tv; } function setVoto($resposta){ global $db, $obSistema; // falta validar o voto if($resposta) { if($this->podeVotar()) { $rsvotos=$db->Execute("SELECT res_votos FROM resposta WHERE res_id='$resposta'"); $votos = $rsvotos->FetchRow(); $votos = $votos[res_votos]+1; $sql_voto = $db->Execute("UPDATE resposta SET res_votos='$votos' WHERE res_id = '$resposta'"); $sql_ip = "INSERT INTO resposta_ip(enq_id,ip,data_voto) values($this->id,'".$this->getIp()."',".time().")"; $db->Execute($sql_ip) or die($sql_ip); echo ""; //$this->verResultado(); } } else { echo ""; } return; } //Abre um popUp para ver o resultado parcial function verResultado() { global $obSistema; $result_aux = $this->getResultado();// ereg_replace('%','_',$this->getResultado()); $tv=""; //die($result_aux); // laço p/ mandar as variáveis p/ outra página em forma de vetor foreach($result_aux as $result_leitura) { $tv .= "tv[]=".$result_leitura."&"; } $PopPage = $obSistema->getUrl()."modulos/enquete/enquete.php?".$tv."&pergunta=".$this->titulo; ?>getIp()."%' and enq_id = $this->id"; $qr = $db->Execute($sql); if($qr->RowCount()) return true; else return false; } } ?>