###################################################################### # phpRS Public Inquiry 1.5.1 ###################################################################### // Copyright (c) 2001-2005 by Jiri Lukas (jirilukas@supersvet.cz) // http://www.supersvet.cz/phprs/ // This program is free software. - Toto je bezplatny a svobodny software. // vyuzivane tabulky: rs_ankety, rs_odpovedi /* $akce: "view" - zobrazeni ankety "prehled" - vypis vsech anket "nehlasuj" - chybova hlaska pri zjisteni opakovaneho hlasovani (vnitrni presmerovani) "vysledek" - zobrazeni vysledku pod odhlasovani (vnitrni presmerovani) "chyba" - zobrazeni textu chyby (vnitrni presmerovani) $cil: "index" - presmerovani na home page "vysledek" - zobrazeni vysledku */ define('IN_CODE',true); // inic. ochranne konstanty include_once("config.php"); include_once("specfce.php"); include_once("myweb.php"); include_once("sl.php"); include_once("trlayout.php"); include_once($adrlayoutu); // test existence nezb.prom. if (!isset($GLOBALS['akce'])): $GLOBALS['akce']='prehled'; endif; if (!isset($GLOBALS['cil'])): $GLOBALS['cil']='vysledek'; endif; // jen hlasovani function Jenhlasuj($hlas = 0) { // bezpecnostni fce - test na ciselnou hodnotu prom. if (!ereg("^[0-9]*$",$hlas)): $hlas=0; endif; @$dotazhlasuj=mysql_query("update ".$GLOBALS["rspredpona"]."odpovedi set pocitadlo=(pocitadlo+1) where ido='".$hlas."'",$GLOBALS["dbspojeni"]); if (!$dotazhlasuj): return 0; // chyba else: return 1; // vse OK endif; } // test na uzamceni ankety - 1 = uzamcena, 0 = otevrena function TestNaUzamceniAnk($ank = 0) { $dotazanketa=mysql_query("select uzavrena from ".$GLOBALS["rspredpona"]."ankety where ida='".$ank."'",$GLOBALS["dbspojeni"]); if ($dotazanketa!=0): return mysql_Result($dotazanketa,0,"uzavrena"); // realny stav else: return 1; // chyba - defaultne se hlasi "uzamcena" endif; } // nacteni ochranneho cookies function AnkCookies_Nacti() { if (isset($_COOKIE["inquiry"])): // kdyz kontrolni cookies existuje $nacteno=base64_decode($_COOKIE["inquiry"]); return $nacteno; else: return ''; endif; } // test na opakovane volani jedne ankety function AnkCookies_JeReload($test_str = '', $ank = 0) { $vysledek = 0; // defaultne neobsahuje if ($test_str!=''): $pom_pole=explode(":",$test_str); if (is_array($pom_pole)): if (in_array($ank,$pom_pole)): $vysledek=1; // obsahuje anketu endif; endif; endif; return $vysledek; } // ulozeni ochranneho cookies function AnkCookies_UlozAnk($test_str = '', $ank = 0) { $pom_cookie_str=''; // pridani nove ankety do seznamu odhlasovanych anket if ($test_str==''): $pom_cookie_str=$ank; else: $pom_cookie_str.=':'.$ank; endif; // odeslani cookies $zakodovany_str=base64_encode($pom_cookie_str); setcookie("inquiry",$zakodovany_str,time()+315360000); } function Zo($x = 0) { return number_format($x,2,".",","); } // zobrazeni ankety bez moznosti hlasovat function ZobrazAnketu() { $GLOBALS['anketa']=mysql_escape_string($GLOBALS['anketa']); // zjisteni anketni otazky $dotazotazka=mysql_query("select otazka from ".$GLOBALS["rspredpona"]."ankety where ida='".$GLOBALS["anketa"]."'",$GLOBALS["dbspojeni"]); $pranketotazka=mysql_result($dotazotazka,0,"otazka"); // zjisteni celkoveho poctu hlasu $dotazcelkem=mysql_query("select sum(pocitadlo) as soucet from ".$GLOBALS["rspredpona"]."odpovedi where anketa='".$GLOBALS["anketa"]."'",$GLOBALS["dbspojeni"]); $prcelkemhlasu=mysql_result($dotazcelkem,0,"soucet"); // kolik dilku pripada na jden hlas if ($prcelkemhlasu==0): $jedno_proc=0; else: $jedno_proc=(100/$prcelkemhlasu); endif; // zjisteni odpovedi a jejich vypis $dotazodp=mysql_query("select ido,odpoved,pocitadlo from ".$GLOBALS["rspredpona"]."odpovedi where anketa='".$GLOBALS["anketa"]."' order by ido",$GLOBALS["dbspojeni"]); $pocetodp=mysql_num_rows($dotazodp); echo "
".$pranketotazka."
| \n";
for ($pom=0;$pom<$pocetodp;$pom++):
$pole_data=mysql_fetch_assoc($dotazodp);
echo " ".$pole_data["odpoved"]." (".RS_AN_POCET_HLA.": ".$pole_data["pocitadlo"].") |
".RS_AN_CELKEM_HLA.": ".$prcelkemhlasu."
".RS_AN_ZOBRAZ_VSE."
".$akt_anketa['otazka']."
\n"; } function Prehled() { // vypis vsech anket $dotazankety=mysql_query("select ida,otazka,datum,uzavrena from ".$GLOBALS["rspredpona"]."ankety where zobrazit=1 order by datum desc",$GLOBALS["dbspojeni"]); $pocetankety=mysql_num_rows($dotazankety); echo "".$pole_data["otazka"]." (".MyDatetimeToDate($pole_data["datum"]).")"; if ($pole_data["uzavrena"]==0): // moznost hlasovani echo " -> ".RS_AN_HLASUJ.""; else: // anketa je uzavrena echo " -> ".RS_AN_BLOKACE.""; endif; echo "
\n"; endfor; echo "".RS_AN_NELZE_HLASOVAT."
".RS_AN_ZOBRAZ_VSE."
".$info_str."
".RS_AN_ZOBRAZ_VSE."
".RS_AN_NADPIS."
\n"; // volba akce switch ($GLOBALS['akce']): case 'view': ZobrazHlasAnketu(); break; case 'vysledek': ZobrazAnketu(); break; case 'prehled': Prehled(); break; case 'nehlasuj': Nehlasuj(); break; case 'chyba': ZobrazChybu($GLOBALS['ankteta_chyba_txt']); break; endswitch; // dokonceni tvorby stranky KonecObrTabulka(); // Vlozeni layout prvku $vzhledwebu->Generuj(); ?>