Aiutino banner

pieroflash

Nuovo Utente
7 Set 2009
24
0
0
ciao raggazzi, vi volevo chiede un aiuto. Io ho questo script e volevo modificarlo in modo da poter rilevare i banner reciproci, nel senso che chi mette il suo banner sul mio e sul suo non lo mettesse automaticamente il suo verrebbe cancellato o non inserito, mi date un aiuto grazie. Questo e il codice

PHP:
<?php 
    require_once('lib/master.php'); 
    require_once('macro/start.php'); 
//if (!Login::get()->is) Request::redirect('/login.php?r=/banner.php/'); 

    // Blocca ai non plus 
    //if (!Login::get()->user->plus) Request::redirect('/plus.php?msg=videochat'); 
    // Carica la classe Banner 
    __autoload('Banner'); 

    // Banner inviato? 
    if (Request::isAction('send')) { 

        // Errori 
        $e = new Error(); 

        try { 

            // Validazione dei dati 
            $v = new Validator($_POST); 
            $v->check('link', 'Inserisci il link al tuo sito', Validator::NOT_EMPTY); 
            if (!$v->isOk()) throw new ValidatorException(); 

            // Sistema link 
            if ( 
                (!Strings::startsWith($_POST['link'], 'http://')) && 
                (!Strings::startsWith($_POST['link'], 'https://')) 
            ) { 
                $_POST['link'] = 'http://' . $_POST['link']; 
            } 

            // Upload 
            $u = new Upload($_FILES['banner']); 

            // Crea banner 
            $banner = Banner::create(); /* @var $banner Banner */ 
            $banner->caricaBanner($u); 
            $banner->link = $_POST['link']; 
            $banner->note = $_POST['note']; 
            $banner->save(); 

            // Vai all'ultima pagina 
            $go_to_last_page = true; 

        } catch (ValidatorException $x) { 
            $_POST_ERRORS = $v->getErrors(); 
            $e->set('Dati inseriti non validi. Ricontrolla i campi evidenziati.'); 
            FB::error($_POST_ERRORS); 
            FB::error($x); 
        } catch (UploadException $x) { 
            if ($x->getMessage() == 'Empty upload data') { 
                $e->set('Non hai scelto nessun banner da caricare.'); 
                $_POST_ERRORS['banner'] = 'Carica il tuo banner cliccando il pulsante "Sfoglia".'; 
            } else { 
                $e->set('Hai caricato un file troppo grande.'); 
                $_POST_ERRORS['banner'] = 'Scegli una banner non più grande di '.Strings::humanizeFilesize(Config::$BANNER_UPLOAD_MAX).'.'; 
            } 
            FB::error($x); 
        } catch (BannerSizeException $x) { 
            $e->set('Il banner deve essere in formato '.Config::$BANNER_SIZE_W.'x'.Config::$BANNER_SIZE_H.'.'); 
            $_POST_ERRORS['banner'] = 'Il banner deve essere in formato '.Config::$BANNER_SIZE_W.'x'.Config::$BANNER_SIZE_H.'.'; 
            FB::error($x); 
        } catch (ImageException $x) { 
            $e->set('L'immagina caricata non è un'immagine valida.'); 
            $_POST_ERRORS['banner'] = 'Scegli una foto in formato JPG, PNG o GIF.'; 
            FB::error($x); 
        } catch (DBException $x) { 
            FB::error($x); 
            $smarty->assign('banner_error', true); 
        } 

        // Passa gli errori a Smarty 
        $smarty->assign('done', $e->no()); 
        $smarty->assign('error', $e->get()); 

    } 

    // Pagina 
    $p = new Page(); 
    $perpage = 30; 

    // Leggi i banner 
    try { 
        $banners = Banner::getAll(); 
        $smarty->assign('banner_count', count($banners)); 
        $p->setPageMax(ceil(count($banners) / $perpage)); 
        if ($go_to_last_page) $p->set('page', ceil(count($banners) / $perpage)); 
        $banner_page_filter = array(); 
        for ($i = ($p->getPage() - 1) * $perpage; ($i < ($p->getPage() * $perpage)) && ($i < count($banners)); $i++) 
            $banner_page_filter[] = $banners[$i]; 
        $smarty->assign('banners', $banner_page_filter); 
        $smarty->assign('pager', $p->createHtmlPager()); 
    } catch (DBException $x) { 
        FB::error($x); 
        $smarty->assign('banner_read_error', true); 
        $banners = array(); 
    } 

    // Passa a smarty i limiti dei banner 
    $smarty->assign('banner_dimensioni', Config::$BANNER_SIZE_W.'x'.Config::$BANNER_SIZE_H); 
    $smarty->assign('banner_size', Strings::humanizeFilesize(Config::$BANNER_UPLOAD_MAX)); 

    // Stampa HTML 
    $smarty->display('banner.tpl'); 
     
    require_once('macro/end.php');     
?>
 

Discussioni simili