prefix . "adserve";
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
iri_AdServe_CreateTable();
}
# add submenu
add_management_page('index.php', 'Ads', 8, __FILE__, 'iri_AdServe_Manage');
add_submenu_page('index.php', 'Ads', 'Ads', 0, 'adreport', 'iri_AdServe_Dashboard');
}
function iri_AdServe_Manage() {
global $wpdb;
$table_name = $wpdb->prefix . "adserve";
# Tabella OVERVIEW
$lastmonth = date('Ym', mktime(0, 0, 0, date("m")-1 , date("d") - 1, date("Y")));
$yesterday = date('Ymd', time()-86400);
print "
Ads
| Site | Zones | Active | Impressions | Clicks | Ratio | Credits | Actions |
";
print "";
$qry = $wpdb->get_results("SELECT * FROM $table_name ORDER BY active DESC, credits DESC;");
foreach ($qry as $rk) {
print "";
print "".$rk->title."
 | ";
print "".$rk->keywords." | \n";
# print "".$rk->weight." | \n";
print "".iri_iif($rk->active == 1,"Yes","No")." | \n";
print "".$rk->impressions." | \n";
print "".$rk->clicks." | \n";
print "".number_format($rk->clicks/($rk->impressions+1)*100,1)." % | \n";
print "".$rk->credits." | \n";
$editform=" document.adform.vai.value=\"Save\";
document.adform.id.value=\"".$rk->id."\";
document.adform.title.value=\"".$rk->title."\";
document.adform.url.value=\"".$rk->url."\";
document.adform.src.value=\"".$rk->src."\";
document.adform.email.value=\"".$rk->email."\";
document.adform.user.value=\"".$rk->user."\";
document.adform.keywords.value=\"".$rk->keywords."\";
document.adform.credits.value=\"".$rk->credits."\";
document.adform.active.value=\"".$rk->active."\";
";
print " ";
$url=get_settings('siteurl')."/wp-content/plugins/wp-adserve/adremove.php?id=$rk->id";
print "";
print " | \n";
print "
";
}
print "
";
print "
";
print "";
print "
";
print "
";
print "New Ad
";
print "
";
print "
";
}
function iri_AdServe_Dashboard() {
global $wpdb;
global $user_email;
global $user_login;
$table_name = $wpdb->prefix . "adserve";
print "Your Ads
| Site | Zones | Active | Impressions | Clicks | Ratio | Credits |
";
print "";
$qry = $wpdb->get_results("SELECT * FROM $table_name WHERE user='$user_login' ORDER BY active DESC, credits DESC;");
foreach ($qry as $rk) {
print "";
print "".$rk->title."
 | ";
print "".$rk->keywords." | \n";
print "".iri_iif($rk->active == 1,"Yes","No")." | \n";
print "".$rk->impressions." | \n";
print "".$rk->clicks." | \n";
print "".number_format($rk->clicks/($rk->impressions+1)*100,1)." % | \n";
print "".$rk->credits." | \n";
print "
";
}
print "
";
}
function iri_AdServe_CreateTable() {
global $wpdb;
$table_name = $wpdb->prefix . "adserve";
$sql_createtable = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL AUTO_INCREMENT,
user text,
active tinyint,
date text,
title text,
url text,
src text,
email text,
credits int,
impressions int,
keywords text,
weight tinyint,
clicks int,
UNIQUE KEY id (id)
);";
if($wp_db_version >= 5540) $page = 'wp-admin/includes/upgrade.php';
else $page = 'wp-admin/upgrade'.'-functions.php';
require_once(ABSPATH . $page);
dbDelta($sql_createtable);
}
function iri_iif($expression, $returntrue, $returnfalse = '') {
return ($expression ? $returntrue : $returnfalse);
}
function iri_AdServe_GetBanner($zone='') {
global $wpdb;
global $userdata;
$table_name = $wpdb->prefix . "adserve";
$ret="";
# get banner
$wherecond="((credits = -1) or (credits > 0)) AND (active = 1) AND (concat(keywords,' ') LIKE '%".$zone." %')";
$numrows = $wpdb->get_var("SELECT count(id) FROM $table_name WHERE $wherecond;");
if($numrows > 0) {
usleep(2000);
$bannum = mt_rand(1, $numrows)-1;
if ($bannum>=0) {
$rk = $wpdb->get_row("SELECT * FROM $table_name WHERE $wherecond LIMIT 1 OFFSET $bannum;");
$ret="\n\n\n";
$ret.="id' style='margin:0px;border:0px;'>
";
$ret.="\n\n\n";
get_currentuserinfo();
if($userdata->user_login != $rk->user) {
if($rk->credits > 0) {
$results = $wpdb->query( "update $table_name set credits=credits-1 where id=$rk->id" );
}
$results = $wpdb->query( "update $table_name set impressions=impressions+1 where id=$rk->id" );
}
}
}
return $ret;
}
function AdServe($zone='') {
print iri_AdServe_GetBanner($zone);
}
function iri_AdServe_Filter($the_content) {
while($p=strpos($the_content, "[!AdServe")) {
$pend=strpos($the_content, "!]",$p);
$zone=substr($the_content,$p+10,$pend-$p-10);
$the_content=str_replace("[!AdServe:$zone!]",iri_AdServe_GetBanner($zone),$the_content);
}
return $the_content;
}
add_action('admin_menu', 'iri_AdServe_AddPages');
add_filter('the_content', 'iri_AdServe_Filter', 99);
?>