######################################################################
## ##
## +------------------------------------------------------------+ ##
## | | ##
## | projekt : ScarAdControl v1.1.1 | ##
## | zuletzt geaendert : $Date: 2004/05/02 15:21:02 $ | ##
## | cvs-version : $Revision: 1.1 $ | ##
## | | ##
## +------------------------------------------------------------+ ##
## | | ##
## | Ad-Control System mit banner-ip-block, kategorien | ##
## | saemtliche aenderungen sowie die genaue statistik ist in | ##
## | der admin-area leicht einsehbar. | ##
## | | ##
## +------------------------------------------------------------+ ##
## | | ##
## | Das Script unterliegt meinen Nutzerbedingunen. Ein ent- | ##
## | fernen, ersetzten oder manipulieren des (c) CopyRight des | ##
## | Scriptes ist nicht! gestattet. | ##
## | (siehe Nutzerbedingungen @ www.scar4u.de) | ##
## | | ##
## | Für Commerzielle oder Profit orientierte Seiten ist das | ##
## | Script nicht kostenlos! | ##
## | (in diesem Fall Rücksprache nehmen) | ##
## | | ##
## +------------------------------------------------------------+ ##
## | | ##
## | Copyright since 2003 by Christian Kerl (Scar) | ##
## | WWW -> http://www.Scar4U.de | ##
## | WWW -> http://www.Scar4U.de.vu | ##
## | eMail -> Die.Ist.Geheim@GMX.net | ##
## | | ##
## +------------------------------------------------------------+ ##
## ##
######################################################################
$sac_error_reporting = @error_reporting();
@error_reporting(E_ALL & ~E_NOTICE);
######################################################################
###
### Trage hier den absoluten Server-Path zum urspruenglichen
### Verzeichnis von ScarAdControl ein
###
### (kann auch wahlweise vor dem include() befehl geschriebn werden
###
### Am Ende muss ein '/' stehn !!
###
### du musst die '//' davor entfernen !!
// $sac_config_dir = "/www/user234/cats/scaradcontrol/";
######################################################################
###
### Debug Modus, ist er aktive (1) dann werden MySQL-Fehler voll-
### ständig ausgegeben.
$sac_debug=1;
######################################################################
###
### Wie lang eine IP blockiert werden soll, die einen Banner bereits
### geklickt hat. (Sekunden genau!) (bei aktiven IP-Block)
### Bsp.: 86400 = 24 Stunden
$sac_ip_block_time=86400;
######################################################################
###
### Zuweisung der Besucher - IP
if(version_compare(phpversion(), "4.1.0")==1){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) $sac_ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(isset($_SERVER["HTTP_CLIENT_IP"])) $sac_ip = $_SERVER["HTTP_CLIENT_IP"];
else $sac_ip = $_SERVER["REMOTE_ADDR"];
} else {
if (getenv('HTTP_X_FORWARDED_FOR')) $sac_ip = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv( 'HTTP_CLIENT_IP')) $sac_ip = getenv('HTTP_CLIENT_IP');
else $sac_ip = getenv('REMOTE_ADDR');
}
if(strstr($sac_ip, ',')){ $sac_ips = explode(',', $sac_ip); $sac_ip = $sac_ips[0]; }
######################################################################
######################################################################
#### ######################
#### AB HIER DARF NICHTS MEHR GEÄNDERT WERDEN #### < < - - - #######
#### ######################
######################################################################
######################################################################
$PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
if(isset($HTTP_GET_VARS["sac_java"])) { $sac_java = $HTTP_GET_VARS["sac_java"]; }
if(isset($HTTP_GET_VARS["sac_show"])) { $sac_show = $HTTP_GET_VARS["sac_show"]; }
if(isset($HTTP_GET_VARS["sac_cat"])) { $sac_cat = $HTTP_GET_VARS["sac_cat"]; }
if(isset($HTTP_GET_VARS["sac_id"])) { $sac_id = $HTTP_GET_VARS["sac_id"]; }
if(isset($HTTP_GET_VARS["sac_stat"])) { $sac_stat = $HTTP_GET_VARS["sac_stat"]; }
if(isset($HTTP_GET_VARS["sac_bild"])) { $sac_bild = $HTTP_GET_VARS["sac_bild"]; }
if(isset($HTTP_GET_VARS["sac_no_link"])) { $sac_no_link = $HTTP_GET_VARS["sac_no_link"]; }
### Einbinden der Konfigurationen
if(!file_exists($sac_config_dir."admin/config.inc.php")){ die("
[ScarAdControl] Konfigurationsdatei konnte nicht gefunden werden
"); }
include($sac_config_dir."admin/config.inc.php");
### Verbindungsaufbau zur Datenbank
$sac_connect = @mysql_connect($sac_db_server,$sac_db_user,$sac_db_pass) or die("
[ScarAdControl] Konnte keien Verbindung zur Datenbank aufbaun.
");
### functionen
if(!function_exists(file_get_contents)){
function file_get_contents($sac_bild_url){
$sac_imagefileopen = fopen($sac_bild_url,"rb") or die("
[ScarAdControl] kann das Bild nicht oeffnen!");
$sac_temp = fread($sac_imagefileopen, 200000);
fclose($sac_imagefileopen);
return $sac_temp;
}
}
if(!function_exists(sac_query) && !function_exists(sac_show_ad)){
function sac_query($sql){
GLOBAL $sac_db, $sac_connect, $sac_debug;
$sql_rs = @mysql_db_query($sac_db,$sql,$sac_connect);
if(mysql_errno() != 0) {
if($sac_debug==1){
echo("
[ScarAdControl] Es kam zu einem Fehler bei der Ausfuehrung einer SQL Abfrage.
Error-NR: ".mysql_errno()."
Error-Msg: ".mysql_error()."
SQL: $sql
Sollte dieser Fehler weiterhin auftreten, wenden Sie sich bitte an den Webmaster.
");
} else {
echo("
[ScarAdControl] Es kam zu einem Fehler bei der Ausfuehrung einer SQL Abfrage.
Sollte dieser Fehler weiterhin auftreten, wenden Sie sich bitte an den Webmaster.
");
}
return;
} else {
return $sql_rs;
}
}
function sac_show_ad($sac_array){
GLOBAL $sac_java, $sac_url, $sac_copyright, $sac_banner_www, $sac_db_tbl_pre, $sac_no_link;
$sac_abmessung = explode("x",$sac_array["abmessung"]);
$sac_abmessung[0] = trim($sac_abmessung[0]);
$sac_abmessung[1] = trim($sac_abmessung[1]);
switch($sac_array["type"]){
case "1": if($sac_array["werbeblock"]=="1"){
$sac_bild_url = ($sac_url."?sac_bild=".$sac_array["id"]."&check=".md5(time()));
} else { $sac_bild_url = $sac_banner_www."/".$sac_array["bild"]; }
if($sac_no_link==false){
$sac_temp = ("\n\n");
} else {
$sac_temp = ("\n\n");
}
break;
case "2": if($sac_array["werbeblock"]=="1"){
$sac_bild_url = ($sac_url."?sac_bild=".$sac_array["id"]."&check=".md5(time()));
} else { $sac_bild_url = $sac_array["bild"]; }
if($sac_no_link==false){
$sac_temp = ("\n\n");
} else {
$sac_temp = ("\n\n");
}
break;
case "3": if(!empty($sac_array["link"])){
$sac_temp = str_replace($sac_array["link"],$sac_url."?sac_id=".$sac_array["id"],$sac_array["html"]);
} else { $sac_temp = $sac_array["html"]; }
break;
case "4": $sac_temp = ("\n".$sac_array["html"]."\n");
break;
}
if(isset($sac_java)){
for ($sac_i=0; $sac_i < strlen($sac_temp); $sac_i++){ if ($sac_temp[$sac_i]!=chr(13)) { $sac_temp[$sac_i]=="\n" ? $sac_temp_temp .= " " : $sac_temp_temp .= $sac_temp[$sac_i]; } }
echo str_replace("{BANNER}",$sac_temp_temp,"document.write('".$sac_copyright."');");
} else {
echo str_replace("{BANNER}",$sac_temp,"\n\n".$sac_copyright."\n\n");
}
sac_query("UPDATE ".$sac_db_tbl_pre."banner SET views='".($sac_array["views"]+1)."' WHERE id='".$sac_array["id"]."'");
return;
}
}
### loeschen der alten IP-Block-Daten
sac_query("DELETE FROM ".$sac_db_tbl_pre."ip_block WHERE time<='".(time()-$sac_ip_block_time)."'");
### CopyRight! Das entfernen oder Veraendern ist nicht gestattet!
$sac_copyright = ("{BANNER}");
### app
if(!empty($sac_bild)){
$sac_bild_array = @mysql_fetch_array(@sac_query("SELECT * FROM ".$sac_db_tbl_pre."banner WHERE id='".$sac_bild."'"));
if(!$sac_bild_array){ die("
[ScarAdControl] Ad kann nicht gefunden werden!
"); }
if($sac_bild_array["type"]==1){
$sac_bild_url = $sac_banner_www."/".$sac_bild_array["bild"];
} elseif ($sac_bild_array["type"]==2){
$sac_bild_url = $sac_bild_array["bild"];
}
$sac_temp = file_get_contents($sac_bild_url);
$sac_now = gmdate("D, d M Y H:i:s")." GMT";
header("Date: $sac_now");
header("Expires: $sac_now");
header("Last-Modified: $sac_now");
header("Pragma: no-cache");
$sac_bild_header = getimagesize($sac_bild_url);
switch($sac_bild_header[2]){
case "1": header("Content-type: image/gif"); break;
case "2": header("Content-type: image/jpeg"); break;
case "3": header("Content-type: image/png"); break;
case "4": header("Content-type: image/swf"); break;
default : header("Content-type: image/gif"); break;
}
echo $sac_temp;
die();
} elseif (!empty($sac_id) && !$sac_stat) {
$sac_rs = sac_query("SELECT * FROM ".$sac_db_tbl_pre."banner WHERE id='".$sac_id."'");
if(@mysql_num_rows($sac_rs)>0){
$sac_array = @mysql_fetch_array($sac_rs);
} else {
$sac_array = @mysql_fetch_array(sac_query("SELECT * FROM ".$sac_db_tbl_pre."banner ORDER BY RAND(NOW()) LIMIT 1"));
}
sac_query("UPDATE ".$sac_db_tbl_pre."banner SET klicks='".($sac_array["klicks"]+1)."' WHERE id='".$sac_array["id"]."'");
if($sac_array["block"]=="1"){
$sac_ip_block_rs = sac_query("SELECT * FROM ".$sac_db_tbl_pre."ip_block WHERE ip='".$sac_ip."'");
if(@mysql_num_rows($sac_ip_block_rs)>0){
$sac_ip_block_array = @mysql_fetch_array($sac_ip_block_rs);
sac_query("UPDATE ".$sac_db_tbl_pre."ip_block SET block = '".$sac_ip_block_array["block"]."-".$sac_array["id"]."',
time = '".time()."'
WHERE ip='".$sac_ip."' ");
} else {
sac_query("INSERT INTO ".$sac_db_tbl_pre."ip_block (id,ip,block,time)
VALUES ('','".$sac_ip."','".$sac_array["id"]."','".time()."') ");
}
}
header("Location: ".$sac_array["link"]);
exit;
} elseif(!empty($sac_show)){
$sac_rs = sac_query("SELECT * FROM ".$sac_db_tbl_pre."banner WHERE id='".$sac_show."'");
if(@mysql_num_rows($sac_rs)<1){
if(!isset($sac_java)){
echo str_replace("{BANNER}","\n
[ScarAdControl] Der gewuenschte Banner kann nicht gefunden werden
\n","\n".$sac_copyright."\n");
} else {
echo str_replace("{BANNER}","
[ScarAdControl] Der gewuenschte Banner kann nicht gefunden werden
","document.write('".$sac_copyright."');");
}
} else {
$sac_array = @mysql_fetch_array($sac_rs);
sac_show_ad($sac_array);
}
} elseif(!empty($sac_stat)){
if (!empty($sac_id)){
if($sac_stat=="klicks"){
$sac_stat_array = @mysql_fetch_array(sac_query("SELECT klicks FROM ".$sac_db_tbl_pre."banner WHERE id='".$sac_id."'"));
$sac_stat_zahl = $sac_stat_array["klicks"];
} elseif ($sac_stat=="views"){
$sac_stat_array = @mysql_fetch_array(sac_query("SELECT views FROM ".$sac_db_tbl_pre."banner WHERE id='".$sac_id."'"));
$sac_stat_zahl = $sac_stat_array["views"];
}
} elseif(!empty($sac_cat)){
if($sac_stat=="klicks"){
$sac_stat_rs = sac_query("SELECT klicks FROM ".$sac_db_tbl_pre."banner WHERE cat='".$sac_cat."'");
while($sac_stat_array = @mysql_fetch_array($sac_stat_rs)){
$sac_stat_zahl += $sac_stat_array["klicks"];
}
} elseif ($sac_stat=="views"){
$sac_stat_rs = sac_query("SELECT views FROM ".$sac_db_tbl_pre."banner WHERE cat='".$sac_cat."'");
while($sac_stat_array = @mysql_fetch_array($sac_stat_rs)){
$sac_stat_zahl += $sac_stat_array["views"];
}
}
} elseif($sac_stat=="klicks"){
$sac_stat_rs = sac_query("SELECT klicks FROM ".$sac_db_tbl_pre."banner");
while($sac_stat_array = @mysql_fetch_array($sac_stat_rs)){
$sac_stat_zahl += $sac_stat_array["klicks"];
}
} elseif ($sac_stat=="views"){
$sac_stat_rs = sac_query("SELECT views FROM ".$sac_db_tbl_pre."banner");
while($sac_stat_array = @mysql_fetch_array($sac_stat_rs)){
$sac_stat_zahl += $sac_stat_array["views"];
}
}
if(!isset($sac_java)){
echo str_replace("{BANNER}",$sac_stat_zahl,"\n\n".$sac_copyright."\n\n");
} else {
echo str_replace("{BANNER}",$sac_stat_zahl,"document.write('".$sac_copyright."');");
}
} else {
## sql where generierung START
$sac_ip_block_found = "";
$sac_sql = "";
$sac_ip_block_rs = sac_query("SELECT block FROM ".$sac_db_tbl_pre."ip_block WHERE ip='".$sac_ip."'");
if(@mysql_num_rows($sac_ip_block_rs)>0){
$sac_ip_block_array = @mysql_fetch_array($sac_ip_block_rs);
if(!empty($sac_ip_block_array["block"])){
$sac_ip_block_found = "1";
$sac_ip_block_array_sub = explode("-",$sac_ip_block_array["block"]);
for($sac_i=0;$sac_i