home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / banners.php < prev    next >
PHP Script  |  2004-08-30  |  17KB  |  394 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Advanced Content Management System                         */
  5. /* ============================================                         */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* This program is free software. You can redistribute it and/or modify */
  11. /* it under the terms of the GNU General Public License as published by */
  12. /* the Free Software Foundation; either version 2 of the License.       */
  13. /************************************************************************/
  14.  
  15. require_once("mainfile.php");
  16.  
  17. $cid=addslashes($cid);
  18. $login=addslashes($login);
  19. /********************************************/
  20. /* Function to display banners in all pages */
  21. /********************************************/
  22.  
  23. function viewbanner() {
  24.     global $prefix, $db, $admin, $sitename, $adminmail, $nukeurl;
  25.     $numrows = $db->sql_numrows($db->sql_query("SELECT * FROM " . $prefix . "_banner WHERE type='0' AND active='1'"));
  26.  
  27. /* Get a random banner if exist any. */
  28. /* More efficient random stuff, thanks to Cristian Arroyo from http://www.planetalinux.com.ar */
  29.  
  30.     if ($numrows>1) {
  31.     $numrows = $numrows-1;
  32.     mt_srand((double)microtime()*1000000);
  33.     $bannum = mt_rand(0, $numrows);
  34.     } else {
  35.     $bannum = 0;
  36.     }
  37.     $row = $db->sql_fetchrow($db->sql_query("SELECT bid, imageurl, clickurl, alttext FROM " . $prefix . "_banner WHERE type='0' AND active='1' LIMIT $bannum,1"));
  38.     $bid = intval($row['bid']);
  39.     $imageurl = $row['imageurl'];
  40.     $clickurl = $row['clickurl'];
  41.     $alttext = $row['alttext'];
  42.     if (!is_admin($admin)) {
  43.         $db->sql_query("UPDATE ".$prefix."_banner SET impmade=impmade+1 WHERE bid='$bid'");
  44.     }
  45.     if($numrows>0) {
  46.     $row2 = $db->sql_fetchrow($db->sql_query("SELECT cid, imptotal, impmade, clicks, date FROM " . $prefix . "_banner WHERE bid='$bid'"));
  47.     $cid = intval($row2['cid']);
  48.     $imptotal = intval($row2['imptotal']);
  49.     $impmade = intval($row2['impmade']);
  50.     $clicks = intval($row2['clicks']);
  51.     $date = $row2['date'];
  52.  
  53. /* Check if this impression is the last one and print the banner */
  54.  
  55.     if (($imptotal <= $impmade) AND ($imptotal != 0)) {
  56.         $db->sql_query("UPDATE " . $prefix . "_banner SET active='0' WHERE bid='$bid'");
  57.         $row3 = $db->sql_fetchrow($db->sql_query("SELECT name, contact, email FROM " . $prefix . "_bannerclient WHERE cid='$cid'"));
  58.         $c_name = $row3['name'];
  59.         $c_contact = $row3['contact'];
  60.         $c_email = $row3['email'];
  61.         if ($c_email != "") {
  62.         $from = "$sitename <$adminmail>";
  63.         $to = "$c_contact <$c_email>";
  64.         $message = ""._HELLO." $c_contact:\n\n";
  65.         $message .= ""._THISISAUTOMATED."\n\n";
  66.         $message .= ""._THERESULTS."\n\n";
  67.         $message .= ""._TOTALIMPRESSIONS." $imptotal\n";
  68.         $message .= ""._CLICKSRECEIVED." $clicks\n";
  69.         $message .= ""._IMAGEURL." $imageurl\n";
  70.         $message .= ""._CLICKURL." $clickurl\n";
  71.         $message .= ""._ALTERNATETEXT." $alttext\n\n";
  72.         $message .= ""._HOPEYOULIKED."\n\n";
  73.         $message .= ""._THANKSUPPORT."\n\n";
  74.         $message .= "- $sitename "._TEAM."\n";
  75.         $message .= "$nukeurl";
  76.         $subject = "$sitename: "._BANNERSFINNISHED."";
  77.         mail($to, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());
  78.         }
  79.     }
  80.     un_banners_header();
  81.     echo "<center><a href=\"banners.php?op=click&bid=$bid\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt='$alttext' title='$alttext'></a></center>";
  82.     un_banners_footer();
  83.     }
  84. }
  85.  
  86. /********************************************/
  87. /* Function to redirect the clicks to the   */
  88. /* correct url and add 1 click              */
  89. /********************************************/
  90.  
  91. function clickbanner($bid) {
  92.     global $prefix, $db;
  93.     $bid = intval($bid);
  94.     $row = $db->sql_fetchrow($db->sql_query("SELECT clickurl FROM " . $prefix . "_banner WHERE bid='$bid'"));
  95.     $clickurl = $row['clickurl'];
  96.     $db->sql_query("UPDATE ".$prefix."_banner SET clicks=clicks+1 WHERE bid='$bid'");
  97.     Header("Location: $clickurl");
  98. }
  99.  
  100. /********************************************/
  101. /* Function to let your client login to see */
  102. /* the stats                                */
  103. /********************************************/
  104.  
  105. function clientlogin() {
  106.     un_banners_header();
  107.     echo "<center><br><br><br><br>
  108.     <table width=\"250\" cellpadding=\"0\" cellspacing=\"1\" border=\"0\" bgcolor=\"#000000\"><tr><td>
  109.     <table width=\"100%\" cellpadding=\"5\" cellspacing=\"1\" border=\"0\" bgcolor=\"#FFFFFF\"><tr><td bgcolor=\"#EECFA1\">
  110.     <center><b>"._ADSTATS."</b></center>
  111.     </td></tr><tr><td bgcolor=\"#FFFACD\">
  112.     <form action=\"banners.php\" method=\"post\">
  113.     "._ADUSERLOGIN." <input type=\"text\" name=\"login\" size=\"12\" maxlength=\"10\"><br>
  114.     "._ADPASSWORD." <input type=\"password\" name=\"pass\" size=\"12\" maxlength=\"10\"><br>
  115.     <input type=\"hidden\" name=\"op\" value=\"Ok\">
  116.     <input type=\"submit\" value=\""._ADLOGINBTUT."\">
  117.     </td></tr><tr><td bgcolor=\"#EECFA1\">
  118.     <font class=\"content\">
  119.     <center>"._ADINSERTINFO."</center>
  120.     </font></form>
  121.     </td></tr></table></td></tr></table>";
  122.     un_banners_footer();
  123. }
  124.  
  125. /*********************************************/
  126. /* Function to display the banners stats for */
  127. /* each client                               */
  128. /*********************************************/
  129.  
  130. function bannerstats($login, $pass) {
  131.     global $prefix, $db, $sitename;
  132.     $row = $db->sql_fetchrow($db->sql_query("SELECT cid, name, passwd FROM " . $prefix . "_bannerclient WHERE login='$login'"));
  133.     $cid = intval($row['cid']);
  134.     $name = $row['name'];
  135.     $passwd = $row['passwd'];
  136.     if($login=="" AND $pass=="" OR $pass=="") {
  137.         un_banners_header();
  138.     echo "<center><br>"._ADLOGININCORRECT."<br><br><a href=\"javascript:history.go(-1)\">"._ADLOGINBACK."</a></center>";
  139.     un_banners_footer();
  140.     } else {
  141.     
  142.     if ($pass==$passwd) {
  143.     
  144.     un_banners_header();
  145.     echo "<center>
  146.     <table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#000000\"><tr><td>
  147.     <table border=\"0\" width=\"100%\" cellpadding=\"8\" cellspacing=\"1\" bgcolor=\"#FFFACD\"><tr><td>
  148.     <font class=\"option\">
  149.     <center><b>"._ADUSECURRENTACTIVE." ".$name."</b></center><br>
  150.     </font>
  151.     <table width=\"100%\" border=\"0\"><tr>
  152.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERID."</b></td>
  153.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERIMP."</b></td>
  154.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERIMPORDER."</b></td>
  155.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERLEFT."</b></td>
  156.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERCLICKS."</b></td>
  157.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERCLICKSPERCENT."</b></td>
  158.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERFUNC."</b></td><tr>";
  159.     $sql2 = "SELECT bid, imptotal, impmade, clicks, date FROM ".$prefix."_banner WHERE cid='$cid' AND active='1'";
  160.     $result2 = $db->sql_query($sql2);
  161.     while ($row2 = $db->sql_fetchrow($db->sql_query("SELECT bid, imptotal, impmade, clicks, date FROM " . $prefix . "_banner WHERE cid='$cid' AND active='1'"))) {
  162.     $bid = intval($row2['bid']);
  163.     $imptotal = intval($row2['imptotal']);
  164.     $impmade = intval($row2['impmade']);
  165.     $clicks = intval($row2['clicks']);
  166.     $date = $row2['date'];
  167.         if($impmade==0) {
  168.             $percent = 0;
  169.         } else {
  170.             $percent = substr(100 * $clicks / $impmade, 0, 5);
  171.         }
  172.         if($imptotal==0) {
  173.             $left = "Unlimited";
  174.         } else {
  175.             $left = $imptotal-$impmade;
  176.         }
  177.         echo "
  178.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$bid</td>
  179.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$impmade</td>
  180.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$imptotal</td>
  181.     <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$left</td>
  182.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$clicks</td>
  183.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$percent%</td>
  184.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\"><a href=\"banners.php?op=EmailStats&login=$login&cid=$cid&bid=$bid\">"._ADUSERSEND."</a></td><tr>";
  185.     }
  186.     echo "
  187.     </table>
  188.     <center><br><br>
  189.     "._ADUSERINFOBANNER."<br><br>";
  190.  
  191.     $result3 = $db->sql_query("SELECT bid, imageurl, clickurl, alttext FROM " . $prefix . "_banner WHERE cid='$cid' AND active='1'");
  192.     while ($row3 = $db->sql_fetchrow($result3)) {
  193.     $bid = intval($row3['bid']);
  194.     $imageurl = $row3['imageurl'];
  195.     $clickurl = $row3['clickurl'];
  196.     $alttext = $row3['alttext'];
  197.     $numrows = $db->sql_numrows($result3);
  198.     if ($numrows>1) {
  199.         echo "<hr noshade width=\"80%\"><br>";
  200.     }
  201.  
  202.     echo "<img src=\"$imageurl\" border=\"1\"><br>
  203.     <font class=\"content\">"._ADBANNERID." $bid<br>
  204.     <a href=\"banners.php?op=EmailStats&login=$login&cid=$cid&bid=$bid\">"._ADUSERSEND."</a> "._ADUSERSTATSBANNER."<br>
  205.     "._ADUSERBANNERURLPOINT." <a href=\"$clickurl\">"._ADUSERBANNERURL."</a><br>
  206.     <form action=\"banners.php\" method=\"submit\">
  207.     "._ADUSERCHANGEURL." <input type=\"text\" name=\"url\" size=\"50\" maxlength=\"200\" value=\"$clickurl\"><br>
  208.     "._ADUSERCHANGETEXT." Text: <input type=\"text\" name=\"alttext\" size=\"50\" maxlength=\"255\" value=\"$alttext\"><br>
  209.     <input type=\"hidden\" name=\"login\" value=\"$login\">
  210.     <input type=\"hidden\" name=\"bid\" value=\"$bid\">
  211.     <input type=\"hidden\" name=\"pass\" value=\"$pass\">
  212.     <input type=\"hidden\" name=\"cid\" value=\"$cid\">
  213.     <input type=\"submit\" name=\"op\" value=\""._ADUSERCHANGEBUT."\"></form></font>";
  214.     }
  215.     echo "
  216.     </td></tr></table></td></tr></table>
  217.     ";
  218.  
  219.  
  220. /* Finnished Banners */
  221.     
  222.     echo "
  223.     <center><br>
  224.     <table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"000000\"><tr><td>
  225.     <table border=\"0\" width=\"100%\" cellpadding=\"8\" cellspacing=\"1\" bgcolor=\"#FFFACD\"><tr><td>
  226.     <font class=\"option\">
  227.     <center><b>"._ADUSERBANNERFINISHED." ".$name."</b></center><br>
  228.     </font>
  229.     <table width=\"100%\" border=\"0\"><tr>
  230.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERID."</b></td>
  231.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERIMP."</b></td>
  232.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERCLICKS."</b></td>
  233.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERCLICKSPERCENT."</b></td>
  234.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERBANNERSTART."</b></td>
  235.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERBANNEREND."</b></td>
  236.     <td bgcolor=\"#887765\"><font color=\"Black\"><center><b>"._ADUSERFUNC."</b></td></tr>";
  237.     $sql4 = "SELECT bid, impmade, clicks, imageurl, date, dateend FROM ".$prefix."_banner WHERE cid='$cid' AND active='0'";
  238.     $result4 = $db->sql_query($sql4);
  239.     while ($row4 = $db->sql_fetchrow($result4)) {
  240.     $bid = intval($row4['bid']);
  241.     $impmade = intval($row4['impmade']);
  242.     $clicks = intval($row4['clicks']);
  243.     $imageurl = $row4['imageurl'];
  244.     $date = $row4['date'];
  245.     $dateend = $row4['dateend'];
  246.         $percent = substr(100 * $clicks / $impmade, 0, 5);
  247.     echo "
  248.         <tr><td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$bid</td>
  249.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$impmade</td>
  250.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$clicks</td>
  251.     <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$percent%</td>
  252.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$date</td>
  253.         <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\">$dateend</td>
  254.     <td bgcolor=\"#AA9985\" align=\"center\"><font color=\"White\"><a href=\"$imageurl\" target=\"new\">"._ADUSERVIEWBANNER."</a></td></tr>";
  255.     }
  256. echo "
  257. </table></td></tr></table></td></tr></table>
  258. <br><a href=\"http://united-nuke.openland.cz\"><img src=\"images/powered/united-nuke.png\" border=\"0\" Alt=\"This site Powered by UNITED-NUKE\"></a>";
  259. un_banners_footer();
  260.     
  261.     } else {
  262.         un_banners_header();
  263.     echo "<center><br>"._ADLOGININCORRECT."<br><br><a href=\"javascript:history.go(-1)\">"._ADLOGINBACK."</a></center>";
  264.     un_banners_footer();
  265.     }
  266. }
  267. }
  268.  
  269. /*********************************************/
  270. /* Function to let the client E-mail his     */
  271. /* banner Stats                              */
  272. /*********************************************/
  273.  
  274. function EmailStats($login, $cid, $bid, $pass) {
  275.     global $prefix, $db;
  276.     $row = $db->sql_fetchrow($db->sql_query("SELECT name, email FROM " . $prefix . "_bannerclient WHERE cid='$cid'"));
  277.     $name = $row['name'];
  278.     $email = $row['email'];
  279.     if ($email=="") {
  280.     un_banners_header();
  281.     echo "<center><br><br><br>
  282.     <b>"._ADUSERBANNERSTATSNO." $bid "._ADUSERBANNERCANTBESEND." $name<br>
  283.     "._ADUSERBANNERCONTACTADMIN."<br><br></b>
  284.     <a href=\"javascript:history.go(-1)\">"._ADUSERBANNERSTATBACKON."</a>
  285.     ";
  286.     un_banners_footer();    
  287.     } else {
  288.     $row2 = $db->sql_fetchrow($db->sql_query("SELECT bid, imptotal, impmade, clicks, imageurl, clickurl, date FROM " . $prefix . "_banner WHERE bid='$bid' AND cid='$cid'"));
  289.     $bid = intval($row2['bid']);
  290.     $imptotal = intval($row2['imptotal']);
  291.     $impmade = intval($row2['impmade']);
  292.     $clicks = intval($row2['clicks']);
  293.     $imageurl = $row2['imageurl'];
  294.     $clickurl = $row2['clickurl'];
  295.     $date = $row2['date'];
  296.         if($impmade==0) {
  297.             $percent = 0;
  298.         } else {
  299.             $percent = substr(100 * $clicks / $impmade, 0, 5);
  300.         }
  301.         if($imptotal==0) {
  302.             $left = "Unlimited";
  303.         $imptotal = "Unlimited";
  304.         } else {
  305.             $left = $imptotal-$impmade;
  306.         }
  307.     $fecha = date("F jS Y, h:iA.");
  308.     $subject = ""._ADMAIL_YOURSTATS." $sitename";
  309.     $message = ""._ADMAIL_COMPLETESTATS." $sitename:\n\n\n"._ADMAIL_CLIENTNAME." $name\n"._ADMAIL_BANNERID." $bid\n"._ADMAIL_BANNERIMAGE." $imageurl\n"._ADMAIL_BANNERURL." $clickurl\n\n"._ADMAIL_BANNERPURCHASEDIMP." $imptotal\n"._ADMAIL_BANNERIMP." $impmade\n"._ADMAIL_BANNERIMPLEFT." $left\n"._ADMAIL_BANNERCLICKSREC." $clicks\n"._ADMAIL_BANNERCLICKSPERCENT." $percent%\n\n\n"._ADMAIL_BANNERREPORTGENERATED." $fecha";
  310.     $from = "$sitename";
  311.     mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion() . "\nContent-Type: text/plain; charset=\""._CHARSET."\"\n");
  312.     un_banners_header();
  313.     echo "<center><br><br><br>
  314.     <b>"._ADUSERBANNERSTATSNO." $bid "._ADUSERMAILHASBEENSEND."<br>
  315.     <i>$email</i> "._ADUSERMAILOF." $name<br><br></b>
  316.     <a href=\"javascript:history.go(-1)\">"._ADUSERBANNERSTATBACKON."</a>
  317.     ";
  318.     un_banners_footer();
  319.     }
  320. }
  321.  
  322. /*********************************************/
  323. /* Function to let the client to change the  */
  324. /* url for his banner                        */
  325. /*********************************************/
  326.  
  327. function change_banner_url_by_client($login, $pass, $cid, $bid, $url, $alttext) {
  328.     global $prefix, $db;
  329.     $row = $db->sql_fetchrow($db->sql_query("SELECT passwd FROM " . $prefix . "_bannerclient WHERE cid='$cid'"));
  330.     $passwd = $row['passwd'];
  331.     if (!empty($pass) AND $pass==$passwd) {
  332.     $alttext = ereg_replace("\"", "", $alttext);
  333.     $alttext = ereg_replace("'", "", $alttext);
  334.     $db->sql_query("UPDATE " . $prefix . "_banner SET clickurl='$url', alttext='$alttext' WHERE bid='$bid'");
  335.     un_banners_header();
  336.     echo "<br><center>";
  337.     if ($url != "") {
  338.         echo ""._ADUSERCHANGESUCCESURL."<br>";
  339.     }
  340.     if ($alttext != "") {
  341.         echo ""._ADUSERCHANGESUCCESTEXT."";
  342.     }
  343.     echo "<br><br><a href=\"javascript:history.go(-1)\">"._ADUSERGOBACKTOSTATSPAGE."</a></center>";
  344.     un_banners_footer();
  345.     } else {
  346.         un_banners_header();
  347.     echo "<center><br>"._ADUSERLOGINAGAIN."</center>";
  348.     un_banners_footer();
  349.     }
  350.     
  351. }
  352.  
  353. function un_banners_header() {
  354. echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
  355. echo "<html>";
  356. echo "<head>\n";
  357. echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset="._CHARSET."\">\n";
  358. echo "</head>\n";
  359. echo "<body bgcolor=\"#AA9985\" text=\"#000000\" link=\"#006666\" vlink=\"#006666\">";
  360. }
  361.  
  362. function un_banners_footer() {
  363. echo "</body>";
  364. echo "</html";
  365. }
  366.  
  367. switch($op) {
  368.  
  369.     case "click":
  370.     clickbanner($bid);
  371.     break;
  372.  
  373.     case "login":
  374.     clientlogin();
  375.     break;
  376.  
  377.     case "Ok":
  378.     bannerstats($login, $pass);
  379.     break;
  380.  
  381.     case "Change":
  382.     change_banner_url_by_client($login, $pass, $cid, $bid, $url, $alttext);
  383.     break;
  384.  
  385.     case "EmailStats":
  386.     EmailStats($login, $cid, $bid, $pass);
  387.     break;
  388.     
  389.     default:
  390.     viewbanner();
  391.     break;
  392. }
  393.  
  394. ?>