home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2001 March
/
PCWorld_2001-03_cd.bin
/
KOMUNIK
/
progweb
/
progweb.exe
/
phpnuke
/
html
/
banners.php
< prev
next >
Wrap
PHP Script
|
2000-12-05
|
12KB
|
328 lines
<?php
######################################################################
# PHP-NUKE: Web Portal System
# ===========================
#
# Copyright (c) 2000 by Francisco Burzi (fburzi@ncc.org.ve)
# http://phpnuke.org
#
# This modules is to have a complete Banner Ad solution integrated
#
# This program is free software. You can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License.
######################################################################
if (eregi("banners.php",$PHP_SELF)) include("mainfile.php");
/********************************************/
/* Function to display banners in all pages */
/********************************************/
function viewbanner() {
$bresult = mysql_query("select * from banner");
$numrows = mysql_num_rows($bresult);
// Get a random banner if exist any.
// More efficient random stuff, thanks to Cristian Arroyo from http://www.planetalinux.com.ar
if ($numrows>1) {
$numrows = $numrows-1;
mt_srand((double)microtime()*1000000);
$bannum = mt_rand(0, $numrows);
} else {
$bannum = 0;
}
$bresult2 = mysql_query("select bid, imageurl from banner limit $bannum,1");
list($bid, $imageurl) = mysql_fetch_row($bresult2);
global $myIP;
$myhost = getenv("REMOTE_ADDR");
if($myIP==$myhost) {
} else {
mysql_query("update banner set impmade=impmade+1 where bid=$bid");
}
if($numrows>0) {
$aborrar = mysql_query("select cid, imptotal, impmade, clicks, date from banner where bid=$bid");
list($cid, $imptotal, $impmade, $clicks, $date) = mysql_fetch_row($aborrar);
// Check if this impression is the last one and print the banner
if($imptotal==$impmade) {
mysql_query("insert into bannerfinish values (NULL, '$cid', '$impmade', '$clicks', '$date', now())");
mysql_query("delete from banner where bid=$bid");
}
echo"<center><a href=banners.php?op=click&bid=$bid target=_blank><img src=$imageurl border=1></a></center><br>";
}
mysql_free_result($bresult);
mysql_free_result($bresult2);
if($aborrar) {
mysql_free_result($aborrar);
}
}
/********************************************/
/* Function to redirect the clicks to the */
/* correct url and add 1 click */
/********************************************/
function clickbanner($bid) {
$bresult = mysql_query("select clickurl from banner where bid=$bid");
list($clickurl) = mysql_fetch_row($bresult);
mysql_query("update banner set clicks=clicks+1 where bid=$bid");
mysql_free_result($bresult);
Header("Location: $clickurl");
}
/********************************************/
/* Function to let your client login to see */
/* the stats */
/********************************************/
function clientlogin() {
echo"
<html>
<body bgcolor=AA9985 text=000000 link=006666 vlink=006666>
<center><br><br><br><br>
<table width=200 cellpadding=0 cellspacing=1 border=0 bgcolor=000000><tr><td>
<table width=100% cellpadding=5 cellspacing=1 border=0 bgcolor=FFFFFF><tr><td colspan=1 bgcolor=eecfa1>
<center><b>Advertising Statistics</b>
</td></tr><tr><td bgcolor=fffacd>
<form action=banners.php method=post>
Login: <input class=textbox type=text name=login size=12 maxlength=10><br>
Password: <input class=textbox type=password name=pass size=12 maxlength=10><br>
<input class=textbox type=hidden name=op value=Ok>
<input type=submit value=Login></td></tr><tr><td bgcolor=eecfa1>
<font size=2>
<center>Please type your client information</center>
</td></tr></table></td></tr></table></form></font>
</body></html>";
}
/*********************************************/
/* Function to display the banners stats for */
/* each client */
/*********************************************/
function bannerstats($login, $pass) {
$result = mysql_query("select cid, name, passwd from bannerclient where login='$login'");
list($cid, $name, $passwd) = mysql_fetch_row($result);
if($login=="" AND $pass=="" OR $pass=="") {
echo "<center><br>Login Incorrect!!!<br><br><a href=javascript:history.go(-1)>Back to Login Screen</a></center>";
} else {
if ($pass==$passwd) {
echo"
<html>
<body bgcolor=AA9985 text=000000 link=006666 vlink=006666>
<center>
<table border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=000000><tr><td>
<table border=0 width=100% cellpadding=8 cellspacing=1 bgcolor=fffacd><tr><td>
<font size=3>
<center><b>Current Active Banners for $name</b></center><br>
<font size=3>
<table width=100% border=0><tr>
<td bgcolor=887765><font color=Black><center><b>ID</b></td>
<td bgcolor=887765><font color=Black><center><b>Imp. Made</b></td>
<td bgcolor=887765><font color=Black><center><b>Imp. Total</b></td>
<td bgcolor=887765><font color=Black><center><b>Imp. Left</b></td>
<td bgcolor=887765><font color=Black><center><b>Clicks</b></td>
<td bgcolor=887765><font color=Black><center><b>% Clicks</b></td>
<td bgcolor=887765><font color=Black><center><b>Functions</b></td><tr>";
$result = mysql_query("select bid, imptotal, impmade, clicks, date from banner where cid='$cid'");
while(list($bid, $imptotal, $impmade, $clicks, $date) = mysql_fetch_row($result)) {
if($impmade==0) {
$percent = 0;
} else {
$percent = substr(100 * $clicks / $impmade, 0, 5);
}
if($imptotal==0) {
$left = "Unlimited";
} else {
$left = $imptotal-$impmade;
}
echo "
<td bgcolor=AA9985 align=center><font color=White>$bid</td>
<td bgcolor=AA9985 align=center><font color=White>$impmade</td>
<td bgcolor=AA9985 align=center><font color=White>$imptotal</td>
<td bgcolor=AA9985 align=center><font color=White>$left</td>
<td bgcolor=AA9985 align=center><font color=White>$clicks</td>
<td bgcolor=AA9985 align=center><font color=White>$percent%</td>
<td bgcolor=AA9985 align=center><font color=White><a href=banners.php?op=EmailStats&login=$login&cid=$cid&bid=$bid>E-mail Stats</a></td><tr>";
}
echo "
</td></tr></table>
<center><br><br>
Following are your running Banners in $sitename<br><br>";
$result = mysql_query("select bid, imageurl, clickurl from banner where cid='$cid'");
while(list($bid, $imageurl, $clickurl) = mysql_fetch_row($result)) {
$numrows = mysql_num_rows($result);
if ($numrows>1) {
echo "<hr noshade width=80%><br>";
}
echo "<img src=$imageurl border=1><br>
<font size=2>Banner ID: $bid<br>
Send <a href=banners.php?op=EmailStats&login=$login&cid=$cid&bid=$bid>E-Mail Stats</a> for this Banner<br>
This Banners points to <a href=$clickurl>this URL</a><br>
<form action=banners.php method=submit>
Change URL: <input class=textbox type=text name=url size=50 maxlength=200 value=$clickurl>
<input class=textbox type=hidden name=login value=$login>
<input class=textbox type=hidden name=bid value=$bid>
<input class=textbox type=hidden name=pass value=$pass>
<input class=textbox type=hidden name=cid value=$cid>
<input type=submit name=op value=Change></form>";
}
echo "
</td></tr></table></td></tr></table>
</font>";
// Finnished Banners
echo "
<center><br>
<table border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=000000><tr><td>
<table border=0 width=100% cellpadding=8 cellspacing=1 bgcolor=fffacd><tr><td>
<font size=3>
<center><b>Banners Finished for $name</b></center><br>
<font size=3>
<table width=100% border=0><tr>
<td bgcolor=887765><font color=Black><center><b>ID</b></td>
<td bgcolor=887765><font color=Black><center><b>Impressions</b></td>
<td bgcolor=887765><font color=Black><center><b>Clicks</b></td>
<td bgcolor=887765><font color=Black><center><b>% Clicks</b></td>
<td bgcolor=887765><font color=Black><center><b>Start Date</b></td>
<td bgcolor=887765><font color=Black><center><b>End Date</b></td><tr>";
$result = mysql_query("select bid, impressions, clicks, datestart, dateend from bannerfinish where cid='$cid'");
while(list($bid, $impressions, $clicks, $datestart, $dateend) = mysql_fetch_row($result)) {
$percent = substr(100 * $clicks / $impressions, 0, 5);
echo "
<td bgcolor=AA9985 align=center><font color=White>$bid</td>
<td bgcolor=AA9985 align=center><font color=White>$impressions</td>
<td bgcolor=AA9985 align=center><font color=White>$clicks</td>
<td bgcolor=AA9985 align=center><font color=White>$percent%</td>
<td bgcolor=AA9985 align=center><font color=White>$datestart</td>
<td bgcolor=AA9985 align=center><font color=White>$dateend</td><tr>";
}
echo "
</td></tr></table></td></tr></table></td></tr></table>
<br><a href=http://phpnuke.org><img src=images/powered/phpnuke.gif border=0 Alt=\"This site Powered by PHP-Nuke\"></a>
</body></html>";
} else {
echo "<center><br>Login Incorrect!!!<br><br><a href=javascript:history.go(-1)>Back to Login Screen</a></center>";
}
}
}
/*********************************************/
/* Function to let the client E-mail his */
/* banner Stats */
/*********************************************/
function EmailStats($login, $cid, $bid, $pass) {
$result2 = mysql_query("select name, email from bannerclient where cid='$cid'");
list($name, $email) = mysql_fetch_row($result2);
if ($email=="") {
echo "
<html>
<body bgcolor=AA9985 text=000000 link=006666 vlink=006666>
<center><br><br><br>
<b>Statistics for Banner No. $bid can't be send because<br>
there isn't an email associated with client $name<br>
Please contact the Administrator<br><br></b>
<a href=javascript:history.go(-1)>Back to Banners Stats</a>
";
} else {
$result = mysql_query("select bid, imptotal, impmade, clicks, imageurl, clickurl, date from banner where bid='$bid' and cid='$cid'");
list($bid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date) = mysql_fetch_row($result);
if($impmade==0) {
$percent = 0;
} else {
$percent = substr(100 * $clicks / $impmade, 0, 5);
}
if($imptotal==0) {
$left = "Unlimited";
$imptotal = "Unlimited";
} else {
$left = $imptotal-$impmade;
}
$fecha = date("F jS Y, h:iA.");
$subject = "Your Banner Statistics at $sitename";
$message = "Following are the complete stats for your advertising investment at $sitename:\n\n\nClient Name: $name\nBanner ID: $bid\nBanner Image: $imageurl\nBanner URL: $clickurl\n\nImpressions Purchased: $imptotal\nImpressions Made: $impmade\nImpressions Left: $left\nClicks Received: $clicks\nClicks Percent: $percent%\n\n\nReport Generated on: $fecha";
$from = "$sitename";
mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());
echo "
<html>
<body bgcolor=AA9985 text=000000 link=006666 vlink=006666>
<center><br><br><br>
<b>Statistics for Banner No. $bid has been send to<br>
<i>$email</i> of $name<br><br></b>
<a href=javascript:history.go(-1)>Back to Banners Stats</a>
";
}
}
/*********************************************/
/* Function to let the client to change the */
/* url for his banner */
/*********************************************/
function change_banner_url_by_client($login, $pass, $cid, $bid, $url) {
$result = mysql_query("select passwd from bannerclient where cid='$cid'");
list($passwd) = mysql_fetch_row($result);
if ($pass==$passwd) {
mysql_query("update banner set clickurl='$url' where bid='$bid'");
}
echo "<center><br>You changed the URL<br><br><a href=javascript:history.go(-1)>Back to Stats Page</a></center>";
}
switch($op) {
case "click":
clickbanner($bid);
break;
case "login":
clientlogin();
break;
case "Ok":
bannerstats($login, $pass);
break;
case "Change":
change_banner_url_by_client($login, $pass, $cid, $bid, $url);
break;
case "EmailStats":
EmailStats($login, $cid, $bid, $pass);
break;
default:
viewbanner();
break;
}