
            ////////////////////////////////////////////////////
            //                                                //
            //  }gu|do[z]{ tabs menagement script v1.0beta  //
            //                                                //
            //             www.guidoz.too.it                  //
            //                                                //
            ////////////////////////////////////////////////////



Questo  il mio primo script ragazzi, segnalatemi tutti i bug e inviate pure consigli e critiche all'indirizzo: guidoz80@hotmail.com
Un'esempio di applicazione di questo script si trova sul mio sito, infatti esso nasce dall'esigenza di gestire facilmente e velocemente la sezione del mio sito dedicata al download di tabs e spartiti per chitarra, ma pu facilmente essere applicato ad esigenze diverse. La seconda possibile e pi immediata aplicazione sarebbe quella di files mp3 o cmq legati al mondo della musica. Pi in generale lo script si pu applicare con lievi variazioni sui testi pi che sul codice, a qualsiasi file da scaricare che abbia un autore e un titolo. Insomma,  uno script polimorfe :oDDD


Per eventuali aggiornamenti dello script visitate il mio sito web:  www.guidoz.too.it --> sezione download [in attesa di aprire una sezione dedicata a script e tutorials relativi agli + svariati argomenti informatici]


Lo script non  propriamente Open Source, ma sono graditi cmq consigli tecnici e meno tecnici su come migliorarlo.

Lo script  liberamente utilizzabile, modificabile e distribuile con le sole restrizioni imposte nella licenza ad esso allegata e in particolare alla condizione che non venga rimossa o modificata la stringa apposta come "credits" alla fine delle pagine "netab.php" e "showtab.php".
Leggere il file "licenza.txt" per maggiori chiarimenti.
Se vi venisse la malsana idea di levarla, pensate che a questo script ci ho lavorato intensamente per una settimana e che la prossima volta potrei tenere solo per me il frutto delle mie fatiche. Se tutti facessero i furbi, ognuno si terrebbe per se i propri script e chi non  capace di farselo da solo o li paga o si attacca.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#######################################################################
********************                         **************************
####################        ISTRUZIONI       ##########################
********************                         **************************
#######################################################################
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Perch lo script funzioni correttamente sono necessari pochi passi:

1) Editing del file "config.inc.php". Editate il file impostando tutto il necessario secondo le istruzioni accluse all'interno.
2) Editing del file "db.inc.php". Editate il file impostando anche qui i parametri necessari.
3) Creazione della struttura del database utilizzando l'apposito file che contiene il dump di un database gi pronto. Uploadare sul server il file "installdb.php" assieme almeno ai due file di configurazione, eseguirlo e se tutto va a buon fine rimuoverlo dal server.
4) Usare lo script, scrivere all'autore per dirgli se avete gradito, visitare il suo sito :oDDD



Schema riassuntivo che vi illustra il funzionamento dello script nei particolari di ogni singolo file(se anche uno solo di questi file dovesse mancare, visitate www.guidoz.too.it per avere una versione completa e corretta dello script):

*****leggimi.txt*********
Il file che stai leggendo... questo non manca di sicuro! :oDDDD


*****licenza.txt*********
Condizioni di utilizzo dello script. Se non le rispettate ve possa veni' un'accidente! :oDDD :oPPP


*****Installdb.php************
File da eseguire una sola volta per impostare correttamente il DB che alla fine sar strutturato in 2 tabelle:
-----tab---------
ID - chiave unica
Cognome - cognome del cantante (o nome del gruppo)
Nome - nome del cantante (null in caso di gruppo)
Canzone - Titolo della canzone
URL - percorso relativo del file 
clicks - numero di volte in cui il file  stato scaricato
note - per aggiunte e dettagli eventuali
data - la data dell'inserimento nel DB (e quindi sul sito)
-----------------
-----richieste---
ID - chiave unica
Cognome - Cognome del cantante del tab richiesto
Nome - Nome del cantante del tab richiesto
Canzone - Titolo della canzone relativa al tab richiesto
richiedente - Indirizzo e-mail di chi effettua la richiesta
trovato - Memorizza lo stato della ricerca del tab richiesto (2 possibili valori [s/n])
data - Data in cui  stata effettuata la richiesta
-----------------


*****config.inc.php********
File di configurazione principale. Da qui si impostano alcuni dati essenziali dello script [come user e password ftp], e si personalizzano alcune opzioni. E' indispensabile editarlo prima di usare lo script.


*****db.inc.php************
File di configurazione e accesso al DB. E' necessario editarlo per impostare l'indirizzo del server mysql, l'user id e la relativa password.


*****index.html************
Non  altro che un frameset HTML che include l'intestazione e le pagine PHP [la prima impostata di default  "newtab.php"]. Si consiglia di non rinominarlo per evitare di dover modificare il codice di alcuni file, per evitare che sovrascriva l'index del sito, basta mettere tutto lo script in una sottodirectory apposita, assieme ai file da scaricare magari. [ad esempio "/tabs" --> www.nomeserver.it/rootutente/tabs]


*****intest.html***********
Costituisce l'intestazione nonch la vera e propria interfaccia di comando lato utente.
Qui si trovano i link con le iniziali, cliccando dulle quali si richiama "showtab.php" e gli si passa come parametro l'iniziale desiderata.


*****style.css*************
Foglio di stile esterno per la personalizzazione della grafica. Non  indispensabile editarlo, ma  consigliato farlo.


*****torna.js**************
Un piccolo Javascript che vieta un'errata apertura delle pagine [ad esempio non si pu aprire intest.html da sola, senza frame] rimandando all'index quando necessario. E' incluso nelle pagine in cui serve.


*****showtabs.php**********
Viene richiamato da "intest.html" e da questa riceve come parametro l'iniziale del nome del cantante o del gruppo cui si  interessati, effettua una ricerca nel DB e restituisce tutti i cantanti o gruppi corrispondenti al criterio di ricerca ordinandoli alfabeticamente per cognome in una lista strutturata [<UL>]. Per ogni cantante genera una sottolista [un altro <UL> annidato all'interno del precedente] con le canzoni relative anch'esse ordinate alfabeticamente, e accanto ad ogni canzone visualizza le eventuali note e il relativo numero di download effettuati. Se la data di inserimento nel DB risale a meno di una settimana [ma si pu configurare diversamente] rispetto quella in cui la pagina viene visualizzata, aggiunge una piccola gif con la scritta "new". Cliccando su una canzone si passa l'ID della stessa al file download.php che si apre sotto forma di pop-up a dimensione fissa.


*****new.gif*************
 la picola immagine che viene caricata accanto ai file di recente immissione. Per usarne un'altra diversa, basta darle lo stesso nome di questa.


*****downloadtab.php*******
Riceve da showtabs.php l'ID del tab richiesto, incrementa nel DB il valore relativo al numero di download di quel file, e ne lancia il download dopo n secondi [n configurabile]. In caso di url errato, l'utente pu segnalare la cosa al web master tramite un apposito link che richiama il file "sbagliato.php"


*****sbagliato.php*********
Riceve da downloadtab l'ID del file "disperso" e lo invia per e-mail al webmaster


*****newtab.php************
Interroga il DB fornendo gli ultimi n files inseriti [n configurabile]. Per il resto funziona come showtab.php.


*****richiedi.html**********
Un piccolo form tramite cui l'utente pu richiedere un tab. Il form chiede cognome e nome del cantante, titolo della canzone, nome ed e-mail del richiedente, dopo di che passa questi dati a "inviamail.php"


*****inviamail.php*********
Riceve da "richiedi.html" i dati relativi al tab richiesto e li invia per e-mail al webmaster, contemporaneamente li aggiunge anche nel DB nella tabella "richieste".


*****admin.php*************
Permette di aggiungere i files dei tabs con estrema velocit. Richiede innanzitutto un'autenticazione con user e password, dopo di che da accesso ad una maschera in cui basta inserire nome e cognome del cantante [o il nome del gruppo al posto del cognome in caso si tratti appunto di un gruppo], titolo della canzone, scegliere il file tramite un bottone e dare un nome al nuovo file che verr creato in remoto avendo cura di non inserire spazi[es: "albachiara.zip"]. Una volta completato tutto, i dati vengono inviati a "upload.php".


*****upload.php************
Provvede a posizionare il file sul server in una cartella corrispondente al cognome del cantante o al nome del gruppo, inserisce tutti i dati nella tabela "tab" del database e cerca nella seconda tabella [richieste] un'eventuale corrispondenza di questo file con uno precedentemente richiesto da parte di un visitatore del sito. In caso di esito positivo della ricerca, avvisa il richiedente dell'avvenuto aggiornamento mediante una e-mail generata dinamicamente.