Introduzione
Molti di voi sicuramente conoscono phpAds 1.4 , ma sicuramente in pochi sanno che si è sviluppato un progetto indipendente che migliora un prodotto già ottimo. Una grafica rinnovata, l'aumentata possibilità di configurazione ed una guida in linea molto esplicativa permettono a questo 'nuovo' prodotto di superare il progetto di partenza. Naturalmente ciò implica una minore chiarezza nella gestione che, invece, è una particolarità del prodotto originario.
Configurazione dello script - parte I
Subito dopo aver decompresso il file scaricato, andare a modificare il config.inc.php basandosi sulle istruzioni seguenti:
$phpAds_hostname = "localhost";
Indirizzo del server MySQL; può essere in formato testuale (es. localhost) o numerico (es. 127.0.0.1).
$phpAds_mysqluser = "mysqlusername";
Nome utente di accesso al server MySQL; dato fornito dal proprio provider.
$phpAds_mysqlpassword = "mysqlpassword";
Password di accesso al server MySQL; dato fornito dal proprio provider.
$phpAds_db = "phpads";
Nome del database MySQL da utilizzare per far funzionare lo script.
$phpAds_tbl_adclicks = "phpads_adclicks";
$phpAds_tbl_adviews = "phpads_adviews";
$phpAds_tbl_adstats = "phpads_adstats";
$phpAds_tbl_banners = "phpads_banners";
$phpAds_tbl_clients = "phpads_clients";
$phpAds_tbl_session = "phpads_session";
$phpAds_tbl_acls = "phpads_acls";
$phpAds_tbl_zones = "phpads_zones";
Nome delle tabelle da usare all'interno del database scelto.
Se si vogliono modificare i nomi di queste tabelle, ricordarsi di modificare tali nomi anche nel file all.sql.
$phpAds_persistent_connections = "0";
Abilita (1) o disabilita (0) l'utilizzo di una connessione persistente al database.
$phpAds_insert_delayed = false;
Abilita (true) o disabilita (false) l'uso della funzione "INSERT DELAYED" durante le funzioni di log.
$phpAds_url_prefix = "http://www.your-url.com/phpAdsNew";
Indirizzo internet in cui è installato phpAdsNew.
$phpAds_my_header="";
$phpAds_my_footer="";
Indirizzo relativo che specifica i file da utilizzare per l'intestazione ed il piè di pagina.
$phpAds_table_border_color = "#000099";
$phpAds_table_back_color = "#CCCCCC";
$phpAds_table_back_color_alternative = "#F7F7F7";
$phpAds_main_back_color = "#FFFFFF";
Colori (in formato esadecimale) da utilizzare all'interno dello script.
$phpAds_language = "english";
Lingua da utilizzare per l'interfaccia dello script; sono disponibili brasiliano, cinese, danese, tedesco, inglese, francese, indonesiano, italiano, norvegese, polacco, portoghese, russo, spagnolo, svedese e turco.
$phpAds_name = "";
Nome dell'applicazione, comparirà in alcune pagine dello script.
$phpAds_company_name = "mysite.com";
Nome della compagnia o società che sta utilizzando questo script.
$phpAds_override_GD_imageformat = "";
Utilizza la funzione GD per capire quale tipo di immagine è stata inserita.
$phpAds_p3p_policies = true;
Abilita (true) o disabilita (false) l'uso dello standard P3P (http://www.w3.org/P3P/).
$phpAds_p3p_compact_policy = "CUR ADM OUR NOR STA NID";
Questo è il codice mandato da P3P; può essere modificato per personalizzazione.
// $phpAds_p3p_policy_location = "http://www.your-url.com/w3c/p3p.xml";
Se si possiede un codice P3P proprietario, inserire qui l'indirizzo internet.
$phpAds_compact_stats = 1;
Usa le statistiche compatte per la visualizzazione, perchè le statistiche dettagliate richiederebbero molto lavoro a carico del server.
$phpAds_log_adviews = true;
Abilita (true) o disabilita (false) la possibilità di registrare i dati relativi alla visualizzazione dei banner.
$phpAds_log_adclicks = true;
Abilita (true) o disabilita (false) la possibilità di registrare i dati relativi ai click sui banner.
$phpAds_reverse_lookup = false;
Abilita (true) o disabilita (false) la possibilità di usare il "reverse lookup", ovvero la conversione degli indirizzi IP in nomi di dominio.
Configurazione dello script - parte II
$phpAds_ignore_hosts = array();
// Example: array("slashdot.org", "microsoft.com");
In questa variabile possiamo inserire una lista di siti dei quali verranno ignorate visualizzazioni e click.
$phpAds_begin_of_week = "1";
Variabile che indica quale giorno della settimana usare come inizio della settimana; domenica (0) o lunedì (1).
$phpAds_percentage_decimals = "2";
Numero di cifre decimale da utilizzare per rappresentare i valori delle visualizzazioni e dei click.
$phpAds_warn_admin = "1";
Abilita (1) o disabilita (0) l'invio di email all'amministratore quando i valori dei click e delle visualizzazioni diminuiscono.
$phpAds_warn_client = "1";
Abilita (1) o disabilita (0) l'invio di email all'utente quando i valori dei click e delle visualizzazioni diminuiscono.
$phpAds_warn_limit = "100";
Valore minimo prima che venga mandata l'email di allerta.
$phpAds_random_retrieve = 0;
A seconda del valore si può decidere in quale modo gli script possono essere richiesti.
0 - Casuale: 1231231232312314
1 - Sequenza normale: 1234 3214 4213
2 - Sequenza basata sulla pesantezza: 12324 43122 31221
3 - Sequenza completa: 1234 1234 1234
$phpAds_con_key = "1";
Abilita (1) o disabilita (0) l'uso di parole chiave "condizionali".
$phpAds_mult_key = "1";
Abilita (1) o disabilita (0) l'uso di parole chiave "multiple".
$phpAds_acl = "0";
Abilita (1) o disabilita (0) l'uso dell'ACL.
$phpAds_default_banner_weight = 1;
Il peso iniziale di un nuovo banner.
$phpAds_default_campaign_weight = 1;
Il peso iniziale di una nuova campagna.
$phpAds_default_banner_url = "";
$phpAds_default_banner_target = "";
Indirizzo internet dell'immagine e del link per il banner di default che può essere visualizzato quando lo script non funziona perfettamente.
$phpAds_zone_cache = true;
Abilita l'utilizzo della cache per le zone, permettendo di velocizzare il processo di visualizzazione dei banner.
$phpAds_zone_cache_limit = 300;
Tempo (in secondi) di ricostruzione della cache per le zone.
$phpAds_type_sql_allow = true;
$phpAds_type_web_allow = true;
$phpAds_type_url_allow = true;
$phpAds_type_html_allow = true;
Abilita (true) o disabilita (false) la possibilità di creare nuovi banner selezionando tra:
banner memorizzato nell'SQL ($phpAds_type_sql_allow)
banner memorizzato nel proprio FTP ($phpAds_type_web_allow)
banner memorizzato ad un indirizzo internet ($phpAds_type_url_allow)
banner memorizzato sotto forma di HTML ($phpAds_type_html_allow)
$phpAds_type_web_mode = "0";
Questa variabile specifica se il banner "web" deve essere memorizzato in una cartella locale (0) o ad un indirizzo FTP esterno (1).
$phpAds_type_web_dir = "/home/myname/www/ads";
Indirizzo del server relativo alla cartella del server nel quale vogliamo memorizzare il banner "web" (solo se si è selezionato 0).
$phpAds_type_web_ftp = "ftp://user:password@ftp.myname.com/ads";
Indirizzo FTP, nome utente, password e percorso per la memorizzazione del banner "web" su indirizzo FTP esterno (solo se si è selezionato 1).
$phpAds_type_web_url = "http://www.myname.com/ads";
Indirizzo Internet relativo alla cartella FTP nella quale vengono caricati i banner.
$phpAds_type_html_auto = true;
Abilitando questa funzione si permette di registrare i click relativamente ai banner "html".
$phpAds_type_html_php = false;
Permette l'esecuzione di codice PHP all'interno dei banner "html".
$phpAds_admin = "phpadsuser";
Nome utente da usare per l'amministrazione.
$phpAds_admin_pw = "phpadspass";
Password da usare per l'amministrazione.
$phpAds_admin_fullname = "Your Name";
Nome che deve comparire quando lo script si riferisce all'amministratore.
$phpAds_admin_email = "your@email.com";
Indirizzo email dell'amministratore.
$phpAds_admin_email_headers = "From: $phpAds_admin_fullname <$phpAds_admin_email> n";
Intestazione delle email inviate agli utenti.
$phpAds_admin_novice = true;
Abilita (true) o disabilita (false) la funzione di avvertimento tramite email quando si opera su utente, banner o campagne.
$phpAds_client_welcome = true;
Abilita (true) o disabilita (false) la visualizzazione di un messaggio di benvenuto dell'amministratore ai nuovi utenti.
Installazione sul server
Caricare tutti i file sul nostro spazio FTP. A questo punto dobbiamo solamente caricare i dati per il database MySQL; con un'opportuna interfaccia per il caricamento dei dati da remoto (come PhpMyAdmin) caricare sul proprio database MySQL il contenuto del file all.sql situato nella directory principale.
Pannello di Controllo
A questo punto lo script è installato e se volete utilizzarlo dovete fare due cose.
Accedere all'area di amministrazione, semplicemente puntando all'indirizzo internet nel quale avete installato lo script (del tipo http://www.tuosito.it/phpadsnew) e inserendo il nome utente e la password di amministratore. Poichè l'utilizzo dell'amministrazione non risulta particolarmente difficile non se ne si fornisce una spiegazione dettagliata, ma si preferisce incentrare una buona spiegazione sul codice da utilizzare per visualizzare i banner.Si ricordi che si possono usare banner normali (immagini), HTML e FLASH sia memorizzati sull'SQL, sia sull'FTP.
Il codice da utilizzare per visualizzare i banner varia a seconda delle esigenze e dei dati utilizzati per inserire i banner. Qui di seguito si riporta una breve spiegazione su come utilizzare al meglio le funzioni messeci a disposizione:
Modalità locale
Il richiamo di un banner in locale avviene tramite l'uso del PHP, per prima cosa le pagine devono includere il seguente file appartenente allo script phpAdsNew:
< require("/usr/local/etc/phpAds/phpadsnew.inc.php"); ?>
Questa riga (opportunamente modificata) permette alla pagina PHP che si sta eseguendo di prendere i dati necessari per la visualizzazione del banner.
questa riga è obbligatoria per la modalità locale
int view (mixed what [, int clientID [, string target [, string source[, bool withText = 0[, array context]]]]);
Questa funzione permette di visualizzare a video il banner, generando dinamicamente il codice HTML corretto.
array view_raw (mixed what [, int clientID [, string target [, string source[, bool withText = 0[, array context]]]]);
Poichè la funzione "view" potrebbe non funzionare in alcuni siti basati su Template, questa funzione restituisce sia il codice HTML ($array["html"]) che l'ID del banner ($array["bannerID"]).
L'argomento what, può essere uno dei seguenti:
- [int]: Visualizza il banner con questo BannerID. Esempio: view(1);
- "[larghezza]x[altezza]": Visualizza casualmente uno tra i banner con queste dimensioni. Esempio: view("468x60");
- "html": Visualizza in maniera casuale un Banner-HTML.
- "[keyword]": Visualizza in maniera casuale un banner con queste Parole-Chiave. Esempio: view("argument");
I banner con Parola-Chiave global associata, saranno consideratti per ogni argomento.
- L'argomento opzionale clientID permette di selezionare solamente i banner di un cliente specifico. Specifica 0 per vedere i banner di tutti i clienti (devi esplicitare questo argomento se vuoi usare i prossimi due argomenti).
- L'argomento opzionale target permette di specificare un frame target.
Puoi scegliere tra: "[nomeframe]", "_blank", "_parent" e "_top". - L'argomento opzionale withText permette di abilitare (1) o disabilitare (0) la visualizzazione dei banner con associata una linea di testo sotto di essi.
- L'argomento opzionale context è un array che specifica i banner ai quali limitarsi o i banner da escludere dalla ricerca. L'array può contenere più array associativi. Le chiavi da usare sono "==" per specificare un banner al quale la ricerca è limitata oppure "!=" per denotare un banner da escludere nella ricerca. Il valore da inserire è l'ID del banner, che si può ottenere anche dando ad una variabile il valore della funzione "view()" usata precedentemente.
Modalità remota
Il richiamo di un banner in remoto avviene attraverso l'utilizzo dei semplici tag HTML (nel codice sotto riportato deve essere inserito l'indirizzo relativo nel quale si trova installato lo script).
<a href="adclick.php"><img src="adview.php"></a>
Per utilizzare più banner nella stessa pagina va messo un argomento "?n=" alla voce adclick.php, mentre la voce adview.php può contenere gli l'argomento whatdella funzione "view".
Modalità remota con iframe
<iframe src='adframe.php?what=468x60' framespacing='0' frameborder='no'></iframe>
L'utilizzo dell'iframe permette di caricare il banner dopo che la pagina è stata caricata completamente. Gli argomenti passabili sono identici a quelli per la modalità remota.
Modalità remota con javascript
<script language="JavaScript" src="adjs.php"></script>
L'utilizzo di javascript può avvenire sia con un inclusione semplice,
<script language="JavaScript" src="adjs.php?what=main&target=_blank"></script>
o con un inclusione passando dei parametri.
Considerazioni Finali
A volte guardando un buon prodotto, si pensa che potrebbe essere migliorato, ma NON stravolto completamente creando un nuovo prodotto più funzionale. Questo è quello che è successo a phpAds, perchè gli sviluppatori di phpAdsNew hanno curato ogni dettaglio tecnico e grafico, rispettando le esigenze degli utenti e mantenendo pure la compatibilità con il prodotto originale. Il consiglio spassionato è quello di installare questo script che, per ora, risulta essere uno (se non l'unico) dei migliori per la gestione di scambio banner.