آژانس هواپیمایی
pop up

اساتید فن لطفآ راهنمایی کنند

شروع موضوع توسط dynamics ‏6 سپتامبر 2007 در انجمن PHP

  1. dynamics

    dynamics Registered User

    تاریخ عضویت:
    ‏23 نوامبر 2004
    نوشته ها:
    67
    تشکر شده:
    1
    سلا دوستان
    این کد یک کامپوننت میخوام وقتی روی بنر کلیک میشه عمل کتیک کردن انجام نشه و هیچ لینکی فعال نباشه روی بنر فقط نمایش داده بشه اون ینر.
    ضمنآ این کد مربوط به کامپوننت تبلیغات در سیستم مدیریت محتوای مامبو می باشد.
    ممنون میشم کمکم کنید

    PHP:
    <?php
    /**
    * @package Mambo Open Source
    * @subpackage Banners
    * @copyright (C) 2005 - 2006 Mambo Foundation Inc.
    * @license [url]http://www.gnu.org/copyleft/gpl.html[/url] GNU/GPL
    *
    * Mambo was originally developed by Miro ([url]www.miro.com.au[/url]) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure
    * that Mambo remained free Open Source software owned and managed by the community.
    * Mambo is Free Software
    */ 

    /** ensure this file is being included by a parent file */
    defined'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

    $bid intvalmosGetParam$_REQUEST'bid') );

    $task    mosGetParam$_REQUEST"task""" );
    switch(
    $task)
    {
        case 
    "click":
        
    clickbanner$bid );
        break;
        
        default:
        
    viewbanner$mainframe->getCfg'live_site' ));
        break;
    }

    function 
    viewbanner$_live_site) {
        global 
    $database$mosConfig_live_site;
        
        
    $database->setQuery"SELECT count(*) AS numrows FROM #__banner WHERE showBanner=1" );
        
        
    $numrows $database->loadResult();
        if (
    $numrows === null) {
            echo 
    $database->stderrtrue );
            return;
        }
        
        if (
    $numrows 1) {
            
    mt_srand( (double) microtime()*1000000 );
            
    $bannum mt_rand0, --$numrows );
        } else {
            
    $bannum 0;
        }
        
        
    $database->setQuery"SELECT * FROM #__banner WHERE showBanner=1 LIMIT $bannum,1" );
        
        
    $banner null;
        if (
    $database->loadObject$banner )) {
            
    $database->setQuery"UPDATE #__banner SET impmade=impmade+1 WHERE bid='$banner->bid'" );
            if(!
    $database->query()) {
                echo 
    $database->stderrtrue );
                return;
            }
            
    $banner->impmade++;
            
            if (
    $numrows 0) {
                
    // Check if this impression is the last one and print the banner
                
    if ($banner->imptotal == $banner->impmade) {
                    
    $query "INSERT INTO #__bannerfinish (cid, type, name, impressions, clicks, imageurl, datestart, dateend)
                        VALUES ('
    $banner->cid', '$banner->type', '$banner->name', '$banner->impmade', '$banner->clicks', '$banner->imageurl', '$banner->date', now())";
                    
    $database->setQuery($query);
                    if(!
    $database->query()) {
                        die(
    $database->stderr(true));
                    }
                    
                    
    $query="DELETE FROM #__banner WHERE bid=$banner->bid";
                    
    $database->setQuery($query);
                    if(!
    $database->query()) {
                        die(
    $database->stderr(true));
                    }
                }

                if (
    trim$banner->custombannercode )) {
                    echo 
    $banner->custombannercode;
                } else if (
    eregi"(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$"$banner->imageurl )) {
                    
    $imageurl "$mosConfig_live_site/images/banners/$banner->imageurl";
                    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>";
                    
                } else if (
    eregi("\.swf$"$banner->imageurl)) {
                    
    $imageurl "$mosConfig_live_site/images/banners/".$banner->imageurl;
                    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\">
                            <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>";
                }
            }
        } else {
            echo 
    "&nbsp;";
        }
    }

    /**
    /* Function to redirect the clicks to the correct url and add 1 click
    */
    function clickbanner$bid  )
    {
        global 
    $database$mainframe;
        require_once( 
    $mainframe->getPath'class' ) );
        
    $row = new mosBanner($database);
        
    $row->load($bid);
        
    $row->clicks();
        
        
    $pat "http.*://";
        if (!
    eregi$pat$row->clickurl )) {
            
    $clickurl "http://$row->clickurl";
        } else {
            
    $clickurl $row->clickurl;
        }
        
    mosRedirect$clickurl );
    }
    ?>
     
  2. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,147
    تشکر شده:
    1,224
    PHP:
    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>";
    کد را درست میزاشتی خوانا تر بود :)
    اگر درست متوجه شده باشم میخوای فقط بنر نمایش داده بشه ولی روش کلیک نشه :) داخل این خط تگ a را حذف کن تا دیگه کلیک نداشته باشه یا اینکه onclick="return falase;" را به تگ a اضافه کن

    درضمن این تغییر برای بنر های غیر از فلش جواب میده :)
     
  3. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    این لینک قوانین سایت رو که توی امضای من هست خوندی ؟
    ۲ تاش رو زیر پا کذاشتی
     
  4. dynamics

    dynamics Registered User

    تاریخ عضویت:
    ‏23 نوامبر 2004
    نوشته ها:
    67
    تشکر شده:
    1
    شرمنده قربان من قصد زیر پا گذاشتن قوانین رو نداشتم عذر میخوام
     
  5. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,147
    تشکر شده:
    1,224
    این خط را
    PHP:
    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>";  

    به این تغییر بده:
    PHP:
    echo "<img src=\"$imageurl\" border=\"0\" alt=\"Advertisement\" />";