Source for file banners.php

Documentation is available at banners.php

  1. <?php
  2. /**
  3. @package Mambo
  4. @subpackage Banners
  5. @author Mambo Foundation Inc see README.php
  6. @copyright Mambo Foundation Inc.
  7. *  See COPYRIGHT.php for copyright notices and details.
  8. @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see
  9. *LLICENSE.php
  10. *  Mambo is free software; you can redistribute it and/or
  11. *  modify it under the terms of the GNU General Public License
  12. *  as published by the Free Software Foundation; version 2 of the
  13. *  License.
  14. */ 
  15.  
  16. /** ensure this file is being included by a parent file */
  17. defined'_VALID_MOS' or die'Direct Access to this location is not allowed.' );
  18.  
  19. $bid intvalmosGetParam$_REQUEST'bid') );
  20.  
  21. $task    mosGetParam$_REQUEST"task""" );
  22. switch($task)
  23. {
  24.     case "click":
  25.     clickbanner$bid );
  26.     break;
  27.     
  28.     default:
  29.     viewbanner$mainframe->getCfg'live_site' ));
  30.     break;
  31. }
  32.  
  33. function viewbanner$_live_site{
  34.     global $database$mosConfig_live_site;
  35.     
  36.     $database->setQuery"SELECT count(*) AS numrows FROM #__banner WHERE showBanner=1" );
  37.     
  38.     $numrows $database->loadResult();
  39.     if ($numrows === null{
  40.         echo $database->stderrtrue );
  41.         return;
  42.     }
  43.     
  44.     if ($numrows 1{
  45.         mt_srand(double) microtime()*1000000 );
  46.         $bannum mt_rand0--$numrows );
  47.     else {
  48.         $bannum 0;
  49.     }
  50.     
  51.     $database->setQuery"SELECT * FROM #__banner WHERE showBanner=1 LIMIT $bannum,1);
  52.     
  53.     $banner null;
  54.     if ($database->loadObject$banner )) {
  55.         $database->setQuery"UPDATE #__banner SET impmade=impmade+1 WHERE bid='$banner->bid');
  56.         if(!$database->query()) {
  57.             echo $database->stderrtrue );
  58.             return;
  59.         }
  60.         $banner->impmade++;
  61.         
  62.         if ($numrows 0{
  63.             // Check if this impression is the last one and print the banner
  64.             if ($banner->imptotal == $banner->impmade{
  65.                 $query "INSERT INTO #__bannerfinish (cid, type, name, impressions, clicks, imageurl, datestart, dateend)
  66.                     VALUES ('$banner->cid', '$banner->type', '$banner->name', '$banner->impmade', '$banner->clicks', '$banner->imageurl', '$banner->date', now())";
  67.                 $database->setQuery($query);
  68.                 if(!$database->query()) {
  69.                     die($database->stderr(true));
  70.                 }
  71.                 
  72.                 $query="DELETE FROM #__banner WHERE bid=$banner->bid";
  73.                 $database->setQuery($query);
  74.                 if(!$database->query()) {
  75.                     die($database->stderr(true));
  76.                 }
  77.             }
  78.  
  79.             if (trim$banner->custombannercode )) {
  80.                 echo $banner->custombannercode;
  81.             else if (eregi"(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$"$banner->imageurl )) {
  82.                 $imageurl "$mosConfig_live_site/images/banners/$banner->imageurl";
  83.                 echo "<a href=\"".sefRelToAbs("index.php?option=com_banners&amp;task=click&amp;bid=$banner->bid")."\" target=\"_blank\"><img src=\"$imageurl\" border=\"0\" alt=\"Advertisement\" /></a>";
  84.                 
  85.             else if (eregi("\.swf$"$banner->imageurl)) {
  86.                 $imageurl "$mosConfig_live_site/images/banners/".$banner->imageurl;
  87.                 echo "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" border=\"5\">
  88.                         <param name=\"movie\" value=\"$imageurl\"><embed src=\"$imageurl\" loop=\"false\" pluginspage=\"http://www.macromedia.com/go/get/flashplayer\" type=\"application/x-shockwave-flash\"></embed></object>";
  89.             }
  90.         }
  91.     else {
  92.         echo "&nbsp;";
  93.     }
  94. }
  95.  
  96. /**
  97. /* Function to redirect the clicks to the correct url and add 1 click
  98. */
  99. function clickbanner$bid  )
  100. {
  101.     global $database$mainframe;
  102.     require_once$mainframe->getPath'class' ) );
  103.     $row new mosBanner($database);
  104.     $row->load($bid);
  105.     $row->clicks();
  106.     
  107.     $pat "http.*://";
  108.     if (!eregi$pat$row->clickurl )) {
  109.         $clickurl "http://$row->clickurl";
  110.     else {
  111.         $clickurl $row->clickurl;
  112.     }
  113.     mosRedirect$clickurl );
  114. }
  115. ?>

Documentation generated on Mon, 05 May 2008 16:16:48 +0400 by phpDocumentor 1.4.0