[ Index ]
 

Code source de Joomla 1.0.13

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/components/com_banners/ -> banners.php (source)

   1  <?php
   2  /**
   3  * @version $Id: banners.php 5072 2006-09-15 16:24:06Z friesengeist $
   4  * @package Joomla
   5  * @subpackage Banners
   6  * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
   7  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
   8  * Joomla! is free software. This version may have been modified pursuant
   9  * to the GNU General Public License, and as distributed it includes or
  10  * is derivative of works licensed under the GNU General Public License or
  11  * other free or open source software licenses.
  12  * See COPYRIGHT.php for copyright notices and details.
  13  */
  14  
  15  // no direct access
  16  defined( '_VALID_MOS' ) or die( 'Restricted access' );
  17  
  18  $bid = intval( mosGetParam( $_REQUEST, 'bid', 0 ) );
  19  
  20  switch($task) {
  21      case 'click':
  22          clickbanner( $bid );
  23          break;
  24  
  25      default:
  26          viewbanner();
  27          break;
  28  }
  29  
  30  function viewbanner() {
  31      global $database, $mosConfig_live_site;
  32  
  33      $query = "SELECT COUNT(*) AS numrows"
  34      . "\n FROM #__banner"
  35      . "\n WHERE showBanner = 1"
  36      ;
  37      $database->setQuery( $query );
  38      $numrows = $database->loadResult();
  39      if ($numrows === null) {
  40          echo $database->stderr( true );
  41          return;
  42      }
  43  
  44      if ($numrows > 1) {
  45          mt_srand( (double) microtime()*1000000 );
  46          $bannum = mt_rand( 0, --$numrows );
  47      } else {
  48          $bannum = 0;
  49      }
  50  
  51      $banner = null;
  52      $query = "SELECT *"
  53      . "\n FROM #__banner"
  54      . "\n WHERE showBanner = 1"
  55      ;
  56      $database->setQuery( $query, $bannum, 1 );
  57      if ($database->loadObject( $banner )) {
  58          $query = "UPDATE #__banner"
  59          . "\n SET impmade = impmade + 1"
  60          . "\n WHERE bid = " . (int) $banner->bid
  61          ;
  62          $database->setQuery( $query );
  63          if(!$database->query()) {
  64              echo $database->stderr( true );
  65              return;
  66          }
  67          $banner->impmade++;
  68  
  69          if ($numrows > 0) {
  70              // Check if this impression is the last one and print the banner
  71              if ($banner->imptotal == $banner->impmade) {
  72                  $query = "INSERT INTO #__bannerfinish"
  73                  . "\n ( cid, type, name, impressions, clicks, imageurl, datestart, dateend )"
  74                  . "\n VALUES ( " . (int) $banner->cid . ", " . $database->Quote( $banner->type ) . ", "
  75                  . $database->Quote( $banner->name ) . ", " . (int) $banner->impmade . ", " . (int) $banner->clicks
  76                  . ", " . $database->Quote( $banner->imageurl ) . ", " . $database->Quote( $banner->date ) . ", 'now()' )"
  77                  ;
  78                  $database->setQuery( $query );
  79                  if(!$database->query()) {
  80                      die($database->stderr(true));
  81                  }
  82  
  83                  $query = "DELETE FROM #__banner"
  84                  . "\n WHERE bid = " . (int) $banner->bid
  85                  ;
  86                  $database->setQuery($query);
  87                  if(!$database->query()) {
  88                      die($database->stderr(true));
  89                  }
  90              }
  91  
  92              if (trim( $banner->custombannercode )) {
  93                  echo $banner->custombannercode;
  94              } else if (eregi( "(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$", $banner->imageurl )) {
  95                  $imageurl = "$mosConfig_live_site/images/banners/$banner->imageurl";
  96                  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>";
  97  
  98              } else if (eregi("\.swf$", $banner->imageurl)) {
  99                  $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl;
 100                  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\">
 101                          <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>";
 102              }
 103          }
 104      } else {
 105          echo "&nbsp;";
 106      }
 107  }
 108  
 109  /**
 110  /* Function to redirect the clicks to the correct url and add 1 click
 111  */
 112  function clickbanner( $bid ) {
 113      global $database, $mainframe;
 114  
 115      require_once( $mainframe->getPath( 'class' ) );
 116  
 117      $row = new mosBanner($database);
 118      $row->load((int)$bid);
 119      $row->clicks();
 120  
 121      $pat = "http.*://";
 122      if (!eregi( $pat, $row->clickurl )) {
 123          $clickurl = "http://$row->clickurl";
 124      } else {
 125          $clickurl = $row->clickurl;
 126      }
 127      mosRedirect( $clickurl );
 128  }
 129  ?>


Généré le : Wed Nov 21 14:43:32 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics