// // ------------------------------------------------------------------------- // // Original Author: Franzisco Burzi // Author Website : http://www.phpnuke.org // License Type : GPL: See /manual/LICENSES/GPL.txt // ------------------------------------------------------------------------- // include_once("../../mainfile.php"); //---------------------------------------------------------------------------------------// /** * Description * * @param type $var description * @return type description */ /********************************************/ /* Function to let your client login to see */ /* the stats */ /********************************************/ function clientlogin() { global $db,$bcoosConfig; $xoopsOption['show_rblock'] = 1; include_once("./header.php"); OpenTable(); echo "
"._BN_STATS."
"._BN_LOGIN."
"._BN_PASS."
"._BN_INFO."
"; CloseTable(); include_once("footer.php"); } //---------------------------------------------------------------------------------------// /** * Description * * @param type $var description * @return type description */ /*********************************************/ /* Function to display the banners stats for */ /* each client */ /*********************************************/ function bannerstats($login, $pass) { global $db, $myts, $bcoosConfig; $sqlpass = md5($pass); $result = $db->query("SELECT cid, name, login, passwd FROM ".$db->prefix("banner_clients")." WHERE login='$login' AND passwd='$sqlpass'"); list($cid, $name, $login, $passwd) = $db->fetchRow($result); if ($sqlpass == $passwd) { $xoopsOption['show_rblock'] = 0; include_once("./header.php"); OpenTable(); echo "

".sprintf(_BN_ACTIVE, $name)."

"; $result = $db->query("SELECT bid, imptotal, impmade, clicks, datestart FROM ".$db->prefix("banner_items")." WHERE cid=$cid"); while ( list($bid, $imptotal, $impmade, $clicks, $date) = $db->fetchRow($result) ) { if ( ($impmade == 0) || ($clicks == 0) ) { $percent = 0; } else { $percent = round(100 * ($clicks/$impmade), 2); } if ( $imptotal == 0 ) { $left = _BN_UNLIMITED; } else { $left = ($imptotal-$impmade); } echo " "; } echo "
"._BN_ID." "._BN_MADE." "._BN_TOTAL." "._BN_LEFT." "._BN_CLICKS." % "._BN_CLICKS." "._BN_FUNCTIONS."
$bid $impmade $imptotal $left $clicks $percent% "._BN_MAIL."


".sprintf(_BN_RUNNING, $bcoosConfig['title'])."

"; $result = $db->query("SELECT bid, imageurl, imagealt, clickurl from ".$db->prefix("banner_items")." WHERE cid=$cid"); while ( list($bid, $imageurl, $imagealt, $clickurl) = $db->fetchRow($result) ) { $numrows = $db->getRowsNum($result); if ($numrows > 1) { echo "

"; } echo "
"._BN_ID." $bid
"._BN_MAIL."
:"._URL."
:"._BN_ALT."

"; } CloseTable(); /* Finnished Banners */ echo "
"; OpenTable(); echo "

".sprintf(_BN_FINISHED, $name)."

"; $result = $db->query("SELECT bid, impmade, clicks, datestart, dateend FROM ".$db->prefix("banner_items")." WHERE dateend > 1 AND cid=$cid"); while ( list($bid, $impmade, $clicks, $date, $dateend) = $db->fetchRow($result) ) { if ( ($impmade == 0) || ($clicks == 0) ) { $percent = 0; } else { $percent = round(100 * ($clicks/$impmade), 2); } echo " "; } echo '
"._BN_ID." "._BN_IMPRESSIONS." "._BN_CLICKS." % "._BN_CLICKS." "._BN_START." "._BN_END."
$bid $impmade $clicks $percent% ".formatTimestamp($date, 's')." ".formatTimestamp($dateend, 's')."
'; CloseTable(); include_once("./footer.php"); } else { redirect_header("index.php", 2, _BN_BADPASS); exit(); } } //---------------------------------------------------------------------------------------// /** * Description * * @param type $var description * @return type description */ /*********************************************/ /* Function to let the client E-mail his */ /* banner Stats */ /*********************************************/ function EmailStats($login, $cid, $bid, $pass) { global $db, $bcoosConfig; $result2 = $db->query("SELECT name, email FROM ".$db->prefix("banner_clients")." WHERE cid=$cid"); list($name, $email) = $db->fetchRow($result2); if ( !checkEmail($email) ) { redirect_header("index.php", 3, sprintf(_BN_NOEMAIL, $name)); exit(); } else { $result = $db->query("SELECT bid, imptotal, impmade, clicks, imageurl, clickurl FROM ".$db->prefix("banner_items")." WHERE bid=$bid AND cid=$cid"); list($bid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date) = $db->fetchRow($result); if ( ($impmade == 0) || ($clicks == 0) ) { $percent = 0; } else { $percent = round(100 * ($clicks/$impmade), 2); } if ($imptotal == 0) { $left = _BN_UNLIMITED; $imptotal = _BN_UNLIMITED; } else { $left = ($imptotal-$impmade); } $xoopsMailer =& getMailer(); $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH."/modules/banners/"); $xoopsMailer->setTemplate("bannerstats.tpl"); $xoopsMailer->assign("SITE_NAME", $bcoosConfig['title']); $xoopsMailer->assign("ADMIN_MAIL", $bcoosConfig['adminmail']); $xoopsMailer->assign("SITE_URL", XOOPS_URL."/"); $xoopsMailer->assign("CLIENT_NAME", $name); $xoopsMailer->assign("BANNER_ID", $bid); $xoopsMailer->assign("IMAGE_URL", $imageurl); $xoopsMailer->assign("CLICK_URL", $clickurl); $xoopsMailer->assign("IMP_TOTAL", $imptotal); $xoopsMailer->assign("IMP_MADE", $impmade); $xoopsMailer->assign("IMP_LEFT", $left); $xoopsMailer->assign("CLICKS", $clicks); $xoopsMailer->assign("PERCENT", $percent); $xoopsMailer->assign("RPT_DATE", formatTimestamp(time(), 'm')); $xoopsMailer->useMail(); $xoopsMailer->setToEmails($email); $xoopsMailer->setFromEmail($bcoosConfig['adminmail']); $xoopsMailer->setFromName($bcoosConfig['title']); $xoopsMailer->setSubject(sprintf(_BN_STATSAT, $bcoosConfig['title'])); if (!$xoopsMailer->send()) { $message = $xoopsMailer->getErrors(); } else { $message = _BN_STATSMAILED; } redirect_header("index.php?op=Ok&login=$login&pass=$pass", 3, $message); exit(); } } //---------------------------------------------------------------------------------------// /** * Description * * @param type $var description * @return type description */ /*********************************************/ /* Function to let the client to change the */ /* url for his banner */ /*********************************************/ function change_banner_url_by_client($login, $pass, $cid, $bid, $url, $alt) { global $db, $myts; $result = $db->query("SELECT passwd FROM ".$db->prefix("banner_clients")." WHERE cid=$cid"); list($passwd) = $db->fetchRow($result); if (md5($pass) == $passwd) { $alt = $myts->makeTboxData4Save($alt); $update = $db->query("UPDATE ".$db->prefix("banner_items")." SET clickurl='$url', imagealt='$alt' WHERE bid=$bid"); } if ($update) { redirect_header("index.php?op=Ok&login=$login&pass=$pass", 3, _BN_URLCHANGED); } else { redirect_header("index.php?op=Ok&login=$login&pass=$pass", 1, _NOTUPDATED); } exit(); } //---------------------------------------------------------------------------------------// /** * Description * * @param type $var description * @return type description */ function clickbanner($bid) { global $db; $bresult = $db->query("SELECT clickurl FROM ".$db->prefix("banner_items")." WHERE bid=$bid"); list($clickurl) = $db->fetchRow($bresult); $db->query("UPDATE ".$db->prefix("banner_items")." SET clicks=clicks+1 WHERE bid=$bid"); echo ""; exit(); } //---------------------------------------------------------------------------------------// $op = !empty($_POST['op']) ? $_POST['op'] : $_GET['op']; switch ($op) { case "click": clickbanner($_GET['bid']); break; case "bannerstats": bannerstats($_POST['login'], $_POST['pass']); break; case "Ok": bannerstats($_GET['login'], $_GET['pass']); break; case "Change": change_banner_url_by_client($_POST['login'], $_POST['pass'], $_POST['cid'], $_POST['bid'], $_POST['url'], $_POST['alt']); break; case "EmailStats": EmailStats($_GET['login'], $_GET['cid'], $_GET['bid'], $_GET['pass']); break; default: clientlogin(); break; } ?>