Newsgroup: it.comp.www.php
Titolo: calendario php

ciao a tutto il newsgroup,
circa un annetto fa ho trovato un buon script php per generare un 
calendario, tramite degli hack sono riuscito nel mio intento (quello di 
farlo aprire in popup via un pulsante, selezionare con un click del 
mouse la data e farla comparire in una textbox della pagina padre), 
purtroppo ora non riesco a ritrovarlo, era in un sito di un individuo 
che metteva (o mette, non lo so) a disposizione parecchi script 
interessanti.
le uniche cose che mi ricordo è che era corredato di un js e che aveva 
incluso circa 4 fogli di stile, tra cui (sempre che ricordi bene) uno 
chiamato "ice" o comunque qualcosa di azzurro.
ringrazio chiunque mi aiuti a ritrovarlo :o)
a presto

 [snip]
whoops..
trovato, grazie :)
se serve a qualcuno è ottimo:
http://www.dynarch.com/projects/calendar/
ciao

kain ha scritto:

carino ma non mi piace usare il javascript.
puoi provare a crearti un calendario modificando il modulo calendario di 
flatnuke, questo è il codice:
<?
/************************************************************************/
/* FlatNuke - Flat Text Based Content Management System                 */
/* ============================================                         */
/*                                                                      */
/* Copyright (c) 2003 by Simone Vellei                                  */
/* 
http://flatnuke.sourceforge.net
                                      */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/
if (eregi("Calendario.php",$_SERVER['PHP_SELF'])) {
     Header("Location: ../../index.php");
     die();
}
function calendario($mese,$anno){
Global $_GET;
if ($_GET['x'] == NULL){
$mese_ = $mese;
$anno_ = $anno;
}
else{
$mese_ = (int)strftime( "%m" ,(int)$_GET['x']);
$anno_ = (int)strftime( "%Y" ,(int)$_GET['x']);
}
$prev = mktime(0, 0, 0, $mese_ -1, 1,  $anno_);
$next = mktime(0, 0, 0, $mese_ +1, 1,  $anno_);
$human_month = array("error", "Gennaio", "Febbraio", "Marzo", "Aprile", 
"Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", 
"Novembre", "Dicembre" );
$settimana   = array("L", "M", "M", "G", "V", "S", "D");
$colonne     = 7;
$giorni      = date("t",mktime(0, 0, 0, $mese, 1, $anno));  //giorni del 
mese in questione
$primo_lunedi= date("w",mktime(0, 0, 0, $mese, 1, $anno)); 
//Array_parte da 0
if($primo_lunedi==0){
$primo_lunedi = 7;  //siamo mica americani
}
print("<table colspacing=\"0\" border=\"0\">"); //table
print("\n\t<tr class=\"txtredB\">\n\t\t<td colspan=\"".$colonne."\" 
align=\"center\"> <span class=\"txtwhiteB\">".$human_month[(int)$mese]." 
".$anno_."</span> </td>\n\t</tr>"); //mese/anno
foreach($settimana as $val){
print("\n\t\t<td height=\"20\" class=\"txtwhiteB\" 
align=\"right\">".$val."\t</td>");
}
print("</tr>");
for($i = 1; $i<$giorni+$primo_lunedi; $i++){
if($i%$colonne+1==0){
print("\n\t<tr>");
}
if($i<$primo_lunedi){
print("\n\t\t<td>&nbsp;</td>");
}
else{
$giorno_= $i-($primo_lunedi-1);
$a = strtotime(date($anno_."-".$mese_."-".$giorno_));
$b = strtotime(date("Y-m-d"));
/* uncomment when debugging
print($giorno_."-".$mese_."-".$anno_);
print(" -> ");
print(strftime("%d-%m-%Y",$a));
//print($a);
print(" -> ");
print(strftime("%d-%m-%Y",$b));
//print($b);
print("<br>");
*/
$m7 = $i % 7;
if ($m7 == 0) $color = "#ff0000";
else $color = "#000000";
if ($i-($primo_lunedi - 1) == date("d")) $bgcolor = "bgcolor=\"#ffdd22\"";
else $bgcolor = "";
if($a != $b){
print("\n\t\t<td $bgcolor class=\"txtredB\" align=\"right\"><font 
color=\"$color\">".$giorno_."</font></td>");
}
else{
print("\n\t\t<td $bgcolor><span class=\"txtwhiteB\" 
align=\"right\"><font color=\"$color\">".$giorno_."</font></span></td>");
}
}
if($i%$colonne==0){
print("\n\t</tr>");
}
} 
print("\n\t<tr height=\"30\">&nbsp;\n\t</tr>");
print("\n</table>");
}
calendario(date("m"),date("Y"));
global $fuso_orario;
echo "<b>"._DATA.":</b> 
".date("d/m/Y",time()+(3600*$fuso_orario))."<br><b>"._ORA.":</b> 
".date("H:i",time()+(3600*$fuso_orario));
?>

 carino ma non mi piace usare il javascript.
Puoi spiegare il motivo ?
Ciao
-- 
*************************************
per rispondermi in privato:
http://www.mynewsgate.net/mp.php?u=18648
*************************************

 Puoi spiegare il motivo ?
Io non lo utilizzo perchè è un linguaggio client-side, ovvero viene
"interpreato" dal browser dell'utente. Può capitare che l'utente usi un
browser vecchio, con qualche bug, e questo può compromettere la
visualizzazione del sito.
Preferisco il server-side ;)
Sergej
-- 
http://www.ildeposito.org
Canti di protesta politica e sociale
Archivio di testi e accordi


http://www.dynarch.com/projects/calendar/
veramente ben fatto, grazie della segnalazione.
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

 Preferisco il server-side ;)
Oltre il fatto che a me non piace mica tanto far vedere il mio codice, seppur 
elementare ;)


ad usarlo solo per validare form.
Javascript rende la pagine più gradevoli, avere un calendario come
quello che ha consigliato kain semplifica la vita dell'utente, se poi
un utente ha problemi può fare a meno di usarlo. Naturalmente è ovvio
che, se si usa javascript per validare un form, è bene non fidarsi
visto che può essere disabilitato e quindi è bene fare controlli anche
server side.


 veramente ben fatto, grazie della segnalazione.
ciao Francesco,
lo sto reimplementando (lo avevo già fatto ma ho perso il codice) 
proprio su e-xoopport utilizzando le classi native xoopsform, 
eventualmente quando ho finito ti posso passare l'implementazione.
ci si vede in giro ;)
kain

 
http://www.dynarch.com/projects/calendar/
Bellissimo, veramente ben fatto.
Ho già provato un paio di browser e va.
Ciao
Marco 

 
il javascript non va molto d'accordo con le persone disabili.

 quello che ha consigliato kain semplifica la vita dell'utente,
non capisco in quale modo semplifica la vita agli utenti normo-dotati.
 > se poi un utente ha problemi può fare a meno di usarlo.
se un sito è non è accessibile per i dasabili, allora che vadano su un 
altro sito.
ragionamento molto interessante.

ragionamento molto interessante.
Conme al solito non hai capito niente: se accanto ad un campo di input
metti un bottone che ti apre questo ottimo calendario, che inserisce
automaticamente nel campo input la data, che problema è? Se poi uno
non lo vuole usare scrive direttamente nel campo input la data senza
usare il bottone, è semplice. 
Ma devi fare polemica per forza?


ci si vede in giro ;)
Ottima idea, grazie!


 Ma devi fare polemica per forza?
Come al solito non hai capito niente quando imparerai a lavorare con e 
per i disabili ne riparliamo.
Ma devi fare essere ottuso per forza?

 il javascript non va molto d'accordo con le persone disabili.
Scusa, tengo 'a capadura, magari se riesci ad essere meno sintetico...
Vorrei solo capire fino a che punto sia il caso di usare javascript.
Grazie


 Grazie
La regola generale è questa: considerando che molte persone potrebbero
averlo disattivato per un'infinità di motivi, non usarlo MAI per cose
indispensabili alla fruizione della tua pagina. Usalo solamente per
delle aggiunte a cui si può rinunciare tranquillamente senza rinunciare
a parte del tuo sito o della pagina.
Spero ti sia più chiaro ;)
-- 
Stéphane Bisinger
Webmas... well...

 Ma devi fare essere ottuso per forza?
Vogliamo mica ricominciare con un altro post kilometrico?
Visto che parli di disabili, io ti dico che la maggior parte dei
disabili usa browser normali su cui lavora poi un sintetizzatore vocale
(parlo dei non-vedenti o ipovedenti), quindi generalmente visualizza
tutto normalmente. Il problema sorge quando ci sono immagini che
prendono il posto del testo, animazioni in flash e compagnia bella. Ad
ogni modo in questo caso il calendario che si apre in una finestrella è
un surplus che, per i disabili, diventa probabilmente più difficile da
usare che non il campo di testo in cui scrivere la data a mano. Quindi
il problema non si pone.
Sono disabili, non sono deficienti, né meritano di essere trattati come
tali. Non useranno mai un sito come lo usiamo noi, ma si arrangiano
benissimo in altri modi, basta non impedire loro di farlo con errori di
"programmazione" grossolani.
E ora basta, per favore, non se ne può più di litigare sempre sulle
stesse cose...


Stéphane Bisinger ha scritto:

noto che sei ignorante in materia.
per disabili si intendono molti tipi condizioni.
non ci sono solo i non-vedenti o ipovedenti, ma anche altri tipi di di 
impedimenti quali: persone che soffrono di epilessia, persone affette da 
problemi motori, ecc.
il mondo dei disabili purtroppo è ampio.
 > io ti dico che la maggior parte dei disabili usa browser normali
cazzata! cazzata! cazzata!
questo non te lo permetto sei un grande imbecille per due semplici motivi.
1) non esistono navigatori "normali", ma esistono navigatori per 
anormali come te
2) se dovessero esistere, ma ne dubito fortemente, sei pregrato quando 
mi rispondi di chiamarli navigatori e non "browser" per i motivi che più 
volte ti ho spiegato
 > Sono disabili, non sono deficienti, né meritano di essere trattati 
come tali. Non useranno mai un sito come lo usiamo noi, ma si arrangiano
 > benissimo in altri modi, basta non impedire loro di farlo con errori di
 > "programmazione" grossolani.
con questa frase ti meriti anche l'appellativo di coglione.
"...useranno mai un sito come lo usiamo noi, ma si arrangiano..."
se tutti gli imbecilli come te continueranno a persare cosi di sicuro 
molte persone non saranno in grado di utilizzare la maggior parte dei siti.
noi chi?
il vero imbecille ed evito di scrivere "deficiente" per non offendere le 
persone affette da deficienza mentale, sei tu.
sei cortesemente pregato di non rispondermi e di riflettere su ciò che 
hai scritto.

 sei cortesemente pregato di non rispondermi
Ti rispondo io, uscendo dal lurking di questo prezioso newsgroup, solo per
avere il piacere di plonkarti, punto
-- 
Bad Code - 
http://code.altervista.org
Se la risposta è cristo la domanda è sbagliata! D. Luttazzi

 
il tuo sito seppur piccolo contiene diversi errori grossolani ed inoltre 
non è accessible
invece di scrivere cazzate correggi il tuo sito, te lo metto inglese 
cosi ti diverti
line 47 column 55 - Access: [2.1.1.1]: ensure information not conveyed 
through color alone (image).
line 47 column 55 - Access: [1.1.2.1]: <img> missing 'longdesc' and d-link.
line 50 column 90 - Access: [2.1.1.1]: ensure information not conveyed 
through color alone (image).
line 50 column 90 - Access: [1.1.2.1]: <img> missing 'longdesc' and d-link.
line 53 column 51 - Access: [2.1.1.1]: ensure information not conveyed 
through color alone (image).
line 53 column 51 - Access: [1.1.2.1]: <img> missing 'longdesc' and d-link.
0 error / 0 warning / 12 access warnings
colori sbagliati!!!
poi
<table class="cont" border="0" cellpadding="0" cellspacing="0">
	<tr>
		<td class="head" colspan="2">
		<div>Code Blog</div>
		</td>
	</tr>
	...
sbagliato! sbagliato! sbagliato!
<div>Code Blog</div>
<table class="cont" border="0" cellpadding="0" cellspacing="0">
	<tr>
		<td class="head" colspan="2">
		...
xhtml1.1 e <table>?
non hai capito nulla!
io ti consiglio
"E adesso bisognerebbe studiare qualcosa per poter postare gli articoli"
nel caso tuo visto che scrivi solo cazzate evita anche di postare cosi 
hai risolto 2 tuoi problemi

 
riguardando meglio non è neanche valido, sempre in inglese cosi ti diverti:
Result:  	 Failed validation, 3 errors
This page is not Valid XHTML 1.1!
Below are the results of checking this document for XML well-formedness 
and validity.
    1. Error Line 42 column 11: ID "fatto" already defined.
		<div id="fatto">Il prossimo passo sarÃ  quello di collegare mysql al 
sito...
       An "id" is a unique identifier. Each time this attribute is used 
in a document it must have a different value. If you are using this 
attribute as a hook for style sheets it may be more appropriate to use 
classes (which group elements) than id (which are used to identify 
exactly one element).
       ✉
    2. Info Line 41 column 11: ID "fatto" first defined here.
		<div id="fatto">Sto provando il  mod_rewrite con .htaccess, non vi 
preoccupate
    3. Error Line 43 column 11: ID "fatto" already defined.
		<div id="fatto">Fatto, adesso abbozzo leggermente lo stile della 
pagina</div>
       ✉
    4. Info Line 41 column 11: ID "fatto" first defined here.
		<div id="fatto">Sto provando il  mod_rewrite con .htaccess, non vi 
preoccupate
    5. Error Line 45 column 11: ID "fatto" already defined.
		<div id="fatto">E adesso bisognerebbe studiare qualcosa per poter 
postare gdiv
       ✉
    6. Info Line 41 column 11: ID "fatto" first defined here.
		<div id="fatto">Sto provando il  mod_rewrite con .htaccess, non vi 
preoccupate