------------ Calendario Class Version 1.0
- Copyright (C) 2003 Valerio Granato (valerio at grana.to)
- Last Modified: 2003-07-02 15:56 CEST
The documentation is available both in English and in Italian.
English version is in the DOCUMENTATION file.
Sommario
1. Breve descrizione
2. Per iniziare
3. Configurazione
3.1 Parametri
4. Proprieta` e metodi forniti.
4.1 Proprieta`
4.2 Metodi
5. Licenza
6. Autore
7. Donazioni
7.1 Perché donare?
8. Note
1. Breve descrizione
L'idea per questo script nasce dal BaseCalendar.inc,
scritto da William J Sanders e successivamente
modificato da Jose-Manuel Contardo.
Questa ne e` in pratica una versione completamente
nuova di Valerio Granato (valerio at grana.to) per
ottenere un calendario configurabile da usare su
alcuni siti web. Gli output stringa sono basati
sulla localizzazione del sistema (vedere setlocale()).
Questo script e` distribuito sotto licenza LGPL
Versione 2.1 o successive, visibile a
http://www.gnu.org/copyleft/lesser.html
Maggiori informazioni nel file COPYING.
Se usi questa classe nel tuo lavoro, o comunque
apprezzi il mio lavoro, per cortesia aggiungi un
link a
http://www.grana.to/CalendarioClass
e/o (a tua scelta) fai una donazione.
(segui lo stesso link).
2. Per iniziare
Per iniziare in un attimo, includete la classe nel
vostro script e aggiungete
<?php
$cal = new Calendario(array(MonthShift => '1'));
OR
$cal = new Calendario(array(TimeStamp => '1056992797'));
echo $cal->TheMonthName();
echo $cal->ShowMonth();
?>
Quando si inizializza la classe, viene settato il tempo
globale riferito alla classe. Ogni ulteriore shift
usato nelle chiamate alle funzioni si riferisce al
tempo globale della classe.
Se si vuole successivamente cambiare tale valore, e`
necessario usare le funzioni SetMonthShift() o
SetTimeStamp().
3. Configurazione
E` possibile settare parecchi parametri all'inizializzazione
della classe (o successivamente, eccetto che per MonthShift
e TimeStamp, per i quali e` necessario usare le funzioni
appropriate).
3.1 Parametri
int TableBorder
string TableWidth
string BGCellColor
string BGCellColorToday
string BGCellColorBlank
string BGCellColorHolidays
string FontFace
string FontFaceToday
string FontFaceBlank
string FontFaceHolidays
string FontColor
string FontColorToday
string FontColorBlank
string FontColorHolidays
string Link
int WeekStart
int ShowBlanks
int HowManyDays
string DaysFormat
array Days
array Holidays
int ShowHolidays
- int TableBorder (default 0)
Lo spessore del bordo della tabella.
- string TableWidth (default 300)
La dimensione della tabella.
- string BGCellColor (default #C0C0C0)
- string BGCellColorToday (default #000000)
- string BGCellColorBlank (default #FFFFFF)
- string BGCellColorHolidays (default #FF0000)
- string FontFace (default Verdana, Arial)
- string FontFaceToday (default Verdana, Arial)
- string FontFaceBlank (default Verdana, Arial)
- string FontFaceHolidays (default Verdana, Arial)
- string FontColor (default #000000)
- string FontColorToday (default #FFFFFF)
- string FontColorBlank (default #000000)
- string FontColorHolidays (default #FFFFFF)
BGCellColor e` il colore di sfondo delle celle
FontFace e` il font usato nella visualizzazione dei giorni
FontColor e` il colore del testo
'Today' si riferisce a oggi.
'Blank' si riferisce ai giorni non appartenenti al
mese.
- string Link (default null)
'Link' sara` stampato come un HREF in questo modo:
<A HREF="$Link?timestamp">
dove 'timestamp' e` il timestamp del giorno.
- int WeekStart (default 1)
Il giorno di inizio della settimana, da 0 (domenica) a
7 (sempre domenica).
- int ShowBlanks (default 1)
Se 1, nel calendario saranno visualizzati anche i giorni
del mese precedente e di quello successivo, per riempire
la prima e l'ultima settimana.
- int HowManyDays (default 7)
Quanti giorni visualizzare in una settimana.
Per esempio, con WeekStart a 1 e HowManyDays a 5,
saranno visualizzati i giorni da lunedì a venerdì.
- string DaysFormat (default %d %B %Y)
La stringa di formato passata a strftime().
- array Days (default array('Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa', 'Do'))
I nomi dei giorni visualizzati nella prima riga del
calendario.
- array Holidays (default array('easter', 'christmas', 'newyear', 'epiphany', 'labourday'))
Festivita` da visualizzare. Attualmente lo script
supporta:
easter - Pasqua cattolica
christmas - Natale cattolico
newyear - 1 gennaio
epiphany - Epifania
orthodoxnewyear - Capodanno ortodosso
orthodoxepiphany - Epifania ortodossa
nawroz - Capodanno curdo
ramanavani - Nascita di Rama
orthodoxeaster - Pasqua ortodossa
labourday - 1 maggio
poson - Conversione dello Sri Lanka al buddismo
Queste sono le festivita` che ricordo; se ne volete
altre aggiunte allo script scrivetemi a
valerio at grana.to
- int ShowHolidays (default 1)
Se 1 le festivita` saranno visualizzate.
4. Proprieta` e metodi forniti
La classe fornisce alcune proprieta` e metodi, per
aiutarvi a costruire il vostro calendario.
4.1 Proprieta`
- int TimeStamp
Il timestamp della mezzanotte del tempo globale della
classe.
- int MonthShift
La differenza in mesi tra 'adesso' e il tempo globale
della classe.
- int first_week_day_ts
- int last_week_day_ts
Nel formato timestamp UNIX
- string first_week_day
- string last_week_day
- string today
Nel formato GG Mese AAAA.
4.2 Metodi
- int SetMonthShift([int monthshift]);
- int SetTimeStamp([int timestamp]);
Setta il tempo globale della classe in base ai dati
di input.
- int CalculateMonthShift(int timestamp);
Calcola la differenza in mesi tra 'adesso' e il
timestamp in input.
- string MonthName([int shift]);
Restituisce il nome del mese, in base alla localizzazione
del sistema, in riferimento al tempo globale della classe
+ lo $shift in input.
- int Year([int shift]);
Restituisce l'anno in 4 cifre, in riferimento al tempo
globale della classe + lo $shift in input.
- string DoubleYear([int shift]);
Restituisce l'anno in 4 cifre, in riferimento al tempo
globale della classe + lo $shift in input e, se differente,
l'anno del mese successivo.
- int ShowMonth([int shift]);
Stampa una tabella con il calendario del mese + $shift,
in riferimento al tempo globale della classe.
Ritorna sempre 0.
5. Licenza
Scusate ma proprio non ce la facevo a tradurlo... se qualcuno
ne ha una versione italiana me la manda? :-)
Comunque c'e` scritto: fatene quello che volete, io non vi
fornisco _nessuna_ garanzia, leggetevi il file della licenza
che e` insieme al software.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
or to Valerio Granato c/o LiveNET S.r.l., Centro Direzionale di Napoli,
I-80143 Naples, Italy.
6. Autore
L'autore e` Valerio Granato <valerio at grana.to>.
E' possibile scaricare l'ultima versione dello script a
http://www.grana.to/CalendarioClass
7. Donazioni
Se apprezzate il mio lavoro vi invito a fare una piccola donazione
usando PayPal su http://www.grana.to/CalendarioClass o inviandomi
direttamente qualche euro a
Valerio Granato
c/o LiveNET S.r.l.
Centro Direzionale di Napoli Is. A7 Sc. C
I-80139 Naples (Italy)
Leggete il capitolo 7.1 sul 'perche` donare'.
7.1 Perche` donare?
Il mio lavoro e` fare il programmatore e, quando scrivo uno script
che penso possa essere utile ad altri, lo metto a disposizione
gratuitamente a tutti.
I soldi che ricevo con le donazione vengono usati per aiutare persone
che so che ne hanno bisogno. Attualmente non do` i soldi delle
donazione ad associazioni umanitarie o simili (ne do` gia` del mio);
semplicemente prendo le banconote, le metto in una busta e le do`
a persone che so con problemi di soldi.
Cosi` se guadagnate con il mio lavoro o pensate abbia un valore
che volete corrispondermi, donate e aiuterete qualcuno.
8. Note
Se modificate questo script e volete, inviatemene
una copia, cosi` potro` pubblicarla sul mio sito.
|