var reason = 'No ads for this ip'; NOW())"; $res = mysql_query($sql); $zadania = array(); $max_dokedy = date('Y-m-d H:i:s',time()); while (($row = mysql_fetch_array($res))!==false) { //odfiltrujeme tie, ktore nemame zobrazovat $koef1 = 1; //ak sme mu zobrazili prilis vela z tej reklamy, preskocime if (isset($_SESSION["zobrazene_".$row["zadanieid"]]) && $_SESSION["zobrazene_".$row["zadanieid"]]>=$session_max_pocet_zobrazeni) { continue; } //ak sme mu zobrazili prilis vela z tej reklamy, preskocime if (isset($_SESSION["zobrazene_".$row["zadanieid"]]) && $_SESSION["zobrazene_".$row["zadanieid"]]>=$session_max_pocet_zobrazeni_square && $row["pozicia"] == 'square') { continue; } // stazovatelia na sitelement if (mb_strpos($row["nazov"],'Sitelement')!==false && in_array($edupage, array('dopravnazv','oaca','gsa', 'zsnovot', 'zshajik', 'zsrozhanovce', '2zskremnica','6zslevice'))) { continue; } if (in_array('portal',$kto_som) && $row["format"] != '200x200') continue; if ($row["komu_zobrazovat"]!='') { $komu_zobrazovat=explode(",", $row["komu_zobrazovat"]); if (in_array('portal',$kto_som) && !in_array('portal',$komu_zobrazovat)) { continue; } $nasiel=false; foreach($komu_zobrazovat as $z) { if (array_search(str_replace('/','_',$z), $kto_som)!==false) { $nasiel=true; break; } } if (!$nasiel) continue; //zratame "+" koeficient -- $koef1 $koef1 = 0; $koef_miesto = 0; $koef_typ_skoly = 0; $pres = mysql_query("SELECT * FROM koeficienty WHERE replace(filter,'/','_') in ('".str_replace('/','_',implode("','",$komu_zobrazovat))."')"); while (($prow = mysql_fetch_array($pres))!==false) { if (mb_substr($prow["filter"],0,6)=='okres_' || mb_substr($prow["filter"],0,5)=='kraj_') { $koef_miesto += floatval($prow["hodnota"]); } else if (mb_substr($prow["filter"],0,9)=='typskoly_') { $koef_typ_skoly += floatval($prow["hodnota"]); } else { $koef1 += floatval($prow["hodnota"]); } } if ($koef_miesto != 0) $koef1 += $koef_miesto; if ($koef_typ_skoly != 0) $koef1 += $koef_typ_skoly; $koef1 = min(1,max(0,$koef1)); } $koef2 = 0; if ($row["komu_nezobrazovat"]!='') { $komu_nezobrazovat=explode(",", $row["komu_nezobrazovat"]); $nasiel=false; foreach($komu_nezobrazovat as $z) { if (array_search($z, $kto_som)!==false) { $nasiel=true; break; } } if ($nasiel) continue; //zratame "-" koeficient -- $koef2 $koef2 = 0; $koef_miesto = 0; $koef_typ_skoly = 0; $pres = mysql_query("SELECT * FROM koeficienty WHERE filter in ('".implode("','",$komu_nezobrazovat)."')"); while (($prow = mysql_fetch_array($pres))!==false) { if (mb_substr($prow["filter"],0,6)=='okres_' || mb_substr($prow["filter"],0,5)=='kraj_') { $koef_miesto += floatval($prow["hodnota"]); } else if (mb_substr($prow["filter"],0,9)=='typskoly_') { $koef_typ_skoly += floatval($prow["hodnota"]); } else { $koef2 += floatval($prow["hodnota"]); } } $koef2 += $koef_miesto + $koef_typ_skoly; $koef2 = min(1,max(0,$koef2)); } //zratame koeficienty $row["koeficient_pageviews"] = min(1,max(0,$koef1-$koef2)); //opakovanie reklamy vyriesime dokedy pocitame pageviews if (isset($row["opakovanie"]) && $row["opakovanie"]!='') { $row["dokedy_celkovo"] = $row["dokedy"]; if ($row["opakovanie"] == 'den') { $row["dokedy"] = date('Y-m-d 23:59:59',time()); } else if ($row["opakovanie"] == 'tyzden') { $row["dokedy"] = date('Y-m-d 23:59:59',time()+(7-date('N',time()))*24*3600); } else if ($row["opakovanie"] == 'mesiac') { $row["dokedy"] = date('Y-m-d 23:59:59',mktime(23,59,59,date('n'),date('t'),date('Y'))); } } //opakovane reklame poriesime vynulovanie poctu zobrazeni za obdobie opakovania $vynuluj = false; if ($row["opakovanie"] == 'den') { if (date('Y-m-d') != date('Y-m-d',strtotime($row["posledne_zobrazenie"]))) $vynuluj = true; } else if ($row["opakovanie"] == 'tyzden') { if (date('W') != date('W',strtotime($row["posledne_zobrazenie"])) && date('W') != 0) $vynuluj = true; } else if ($row["opakovanie"] == 'mesiac') { if (date('m') != date('m',strtotime($row["posledne_zobrazenie"]))) $vynuluj = true; } if ($vynuluj) $row["pocet_zobrazeni_obdobie"] = 0; $zadania[] = $row; if ($row["dokedy"]>$max_dokedy) { $max_dokedy = $row["dokedy"]; } } $end3 = microtime(true); //zistime si kolko pageviews mame k dispozicii za jednotlive obdobia $obdobie_odkedy = date('Y-m-d H:i:s',time()-10*60); $sql = "SELECT * FROM pageviews WHERE obdobie>'".$obdobie_odkedy."' and obdobie<'".$max_dokedy."'"; $res = mysql_query($sql); $obdobia = array(); $sumdo = 0; while (($row = mysql_fetch_array($res))!==false) { $sumdo += intval($row["ocakavany_pocet"]) - intval($row["zobrazeny_pocet"]); $obdobia[$row["obdobie"]] = array("ocakavanych" => $row["ocakavany_pocet"], "zobrazenych" => $row["zobrazeny_pocet"], "ocakavanych_sum" => $sumdo); } $end2 = microtime(true); //pre kazde zadanie zratam, aky podiel ma na celkovom pocte moznych zobrazeni $deleniePageviews = 4; //default: 1, ak je viac tak je znizeny pocet pingov v lib_reklama.php na edupage. $pr_interval = 0; //pravdepodobnostny interval for ($i=0;$i1) { $koeficient = 1/$pr_interval; for ($i=0;$i$nahoda)) { $index_zadania = $i; } } //zaznamename pageview $aktobdobie = date('Y-m-d H:i:s',floor(time()/600)*600); mysql_query("UPDATE pageviews SET zobrazeny_pocet=zobrazeny_pocet+1 WHERE obdobie='".$aktobdobie."'"); $partner_url = 'partner.edupage.org'; $end1 = microtime(true); //$partner_url = 'localhost/reklama'; if ($index_zadania>=0) { $zadanie = $zadania[$index_zadania]; $ret["html"] = $zadanie["html"]; $size = explode('x',$zadanie["format"]); if (in_array('portal',$kto_som)) { if ($zadanie["format"] != '200x200') { return false; } $ret["position"]="portal"; } else if (!empty($zadanie["pozicia"])) { $ret["position"] = $zadanie["pozicia"]; } else if ($size[0]>$size[1]/2 && $size[0]<$size[1]*2) { $ret["position"]="square"; } else if ($size[0]<$size[1]) { $ret["position"]="right"; } else if ($size[1]<$size[0]) { $ret["position"]="up"; } else { return false; //$ret["position"]=""; //nemalo by nastat; } // stazovatelia malicky - reklamy idu dole if (in_array($edupage, array('zusc'))) { $ret["position"]="down"; } $ret["position"]="down"; if (!isset($_SESSION["zobrazene_".$zadanie["zadanieid"]])) $_SESSION["zobrazene_".$zadanie["zadanieid"]] = 0; $_SESSION["zobrazene_".$zadanie["zadanieid"]]++; zaznamenajZobrazenie($zadanie,implode(',',$kto_som),false);?> var init_sc = '
'; init_sc += ''+"\n"; init_sc += '
'; document.write(init_sc); var adelem = '
'; adelem += '
onclick="window.open(\'\');" style="width:px;cursor:pointer;margin: auto;">'; adelem += ''+"\n"; adelem += '
'; adelem += '
'; var poselem = 'reklama_'; document.write("
"); var t=document.getElementById('reklama_template'); document.getElementById('reklama_up').appendChild(t);