Stefpei a écrit :... J'ai eu un problême de "date" (Call-time pass-by-reference has been deprecated).
J'ai vu qu'il fallait enlever un "&"... ça a l'air de rouler maintenant. ...Pas eu ce souci en le mettant (pour tester moi aussi) sur un hébergement free.fr
Parce que Free a une très vielle version de PHP
Le problème apparait avec PHP 5.3
a+
Jean-Paul
... J'ai eu un problême de "date" (Call-time pass-by-reference has been deprecated).
J'ai vu qu'il fallait enlever un "&"... ça a l'air de rouler maintenant. ...
Pas eu ce souci en le mettant (pour tester moi aussi) sur un hébergement free.fr
]]>J'ai trouvé aussi "Blogotext" (moteur de blog sans BDD) qui a l'air pas mal (mais pas pour mon besoin actuel).
]]>/** modification JPG du 13/06/2010 */
/** merci à Stephei de m'avoir fait découvrir ce script */
Et puis ... par manque de temps c'est resté en l'état.
J'ai vu sur le site de l'auteur qu'il n'a pas évolué depuis.
a+
Jean-Paul
Mais, heu, vous allez dire que je le fait exprès, mais ensuite, ... comment faire pour s'en servir comme agenda par exemple ?
]]>et le code :
<SCRIPT>
<!-- Begin
// Definir l'ornement
var day_of_week = new Array('Dim','Lun','Mar','Mer','Jeu','Ven','Sam');
var month_of_year = new Array('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
// DECLARER ET INITIALIZER LES VARIABLES
var Calendar = new Date();
var year = Calendar.getFullYear(); // Retourne annee
var month = Calendar.getMonth(); // Retourne mois (0-11)
var today = Calendar.getDate(); // Retourne date (1-31)
var weekday = Calendar.getDay(); // Returns jour (1-31)
var DAYS_OF_WEEK = 7; // "constant" pour le nombre de jours dans la semaine
var DAYS_OF_MONTH = 31; // "constant" pour le nombre de jours dans le mois
var cal; // utiliser pour copiez (printing)
Calendar.setDate(1); // commencer le calendrier au jour '1'
Calendar.setMonth(month); // commencer le calendrier a partir de ce mois
/* VARIABLES FOR FORMATTING
NOTE: Tu peux formater ceux ci 'BORDER', 'BGCOLOR', 'CELLPADDING', 'BORDERCOLOR'
les étiquettes pour personnaliser le regard de votre calendrier. */
var TR_start = '<TR>';
var TR_end = '</TR>';
var highlight_start = '<TD WIDTH="30"><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=DEDEFF BORDERCOLOR=CCCCCC><TR><TD WIDTH=20><B><CENTER>';
var highlight_end = '</CENTER></TD></TR></TABLE></B>';
var TD_start = '<TD WIDTH="30"><CENTER>';
var TD_end = '</CENTER></TD>';
/* BEGIN CODE FOR CALENDAR
NOTE: Tu peux formater ceux ci the 'BORDER', 'BGCOLOR', 'CELLPADDING', 'BORDERCOLOR'
les étiquettes pour personnaliser le regard de votre calendrier.*/
cal = '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR=BBBBBB><TR><TD>';
cal += '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2>' + TR_start;
cal += '<TD COLSPAN="' + DAYS_OF_WEEK + '" BGCOLOR="#EFEFEF"><CENTER><B>';
cal += month_of_year[month] + ' ' + year + '</B>' + TD_end + TR_end;
cal += TR_start;
// NE PAS CHANGER LES LIGNES EN BAS (DESSOUS) //
// LOOPS POUR CHAQUE JOUR DE LA SEMAINE
for(index=0; index < DAYS_OF_WEEK; index++)
{
// VIF LE JOUR ACTUEL DE LA SEMAINE
if(weekday == index)
cal += TD_start + '<B>' + day_of_week[index] + '</B>' + TD_end;
// IMPRIMER LE JOUR
else
cal += TD_start + day_of_week[index] + TD_end;
}
cal += TD_end + TR_end;
cal += TR_start;
// REMPLIR DES ECARTS BLANCS JUSQU' AU JOUR D'AUJOURD'HUI
for(index=0; index < Calendar.getDay(); index++)
cal += TD_start + ' ' + TD_end;
// LOOPS POUR CHAQUE JOUR DE LA SEMAINE DANS LE CALENDRIER
for(index=0; index < DAYS_OF_MONTH; index++)
{
if( Calendar.getDate() > index )
{
// RETOURNE SUR LE LENDEMAIN POUR IMPRIMER
week_day =Calendar.getDay();
// COMMENCER LE NOUVEAU RANG POUR LE PREMIER JOUR DE LA SEMAINE
if(week_day == 0)
cal += TR_start;
if(week_day != DAYS_OF_WEEK)
{
// REGLER LA VARIABLE DANS LA BOUCLE POUR GRADUER JUSQU'AUX OBJECTIFS
var day = Calendar.getDate();
// SOULIGNER LA DATE D'AUJOURD'HUI
if( today==Calendar.getDate() )
cal += highlight_start + day + highlight_end + TD_end;
// IMPRIMER LE JOUR
else
cal += TD_start + day + TD_end;
}
// TERMINER LE RANG POUR LE DERNIER JOUR DE LA SEMAINE
if(week_day == DAYS_OF_WEEK)
cal += TR_end;
}
// LES GRADUATIONS JUSQU' A LA FIN DU MOIS
Calendar.setDate(Calendar.getDate()+1);
}// FIN DU loop
cal += '</TD></TR></TABLE></TABLE>';
// IMPRIMER LE CALENDRIER
document.write(cal);
// FIN -->
</SCRIPT>
[ inclure ??
voici mon code
celendrier.php
<?
//----------------------------------------------------------------
// Voici un petit calendrier qui affiche entre autre,les numeros
// de semaine, tous les jours feries, les week end ...
//
// Version 1.0
//
// Auteur: Patrice FROMHOLTZ
// email: webmaster@lafoireinformatique.com
// web: http://www.lafoireinformatique.com/
//
//----------------------------------------------------------------
?>
<style TYPE="text/css">
<!--
.titremois { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FDFC65; background: #1C2D67 }
.titremois:link { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FDFC65; background: #1C2D67; text-decoration: none }
.titremois:visited { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FDFC65; background: #1C2D67; text-decoration: none }
.titremois:hover { font-family: Helvetica, Arial; font-size: 13px; font-weight: bold; color: #FF0000; background: #1C2D67; text-decoration: underline }
.titrejours { font-family: Helvetica, Arial; font-size: 9px; color: #FDFC65; background: #1C2D67 }
.titrenum { font-family: Helvetica, Arial; font-size: 11px; color: #FDFC65; background: #1C2D67 }
.titrenum2 { font-family: Helvetica, Arial; font-size: 11px; color: #AAAAAA; background: #1C2D67 }
.titreweek { font-family: Helvetica, Arial; font-size: 9px; color: #AAAAAA; background: #1C2D67 }
.titreweek2 { font-family: Helvetica, Arial; font-size: 11px; color: #AAAAAA; background: #1C2D67 }
.titrewend { font-family: Helvetica, Arial; font-size: 11px; color: #FDFC65; background: #5060A0 }
.titrewend2 { font-family: Helvetica, Arial; font-size: 11px; color: #AAAAAA; background: #5060A0 }
.titrenow { font-family: Helvetica, Arial; font-size: 11px; color: #FDFC65; background: #90A0E0 }
-->
</style>
<?
function calcul_joursferies($month,$day,$year)
{
$resultat=false;
$jf1=$year-1900;
$jf2=$jf1%19;
$jf3=intval((7*$jf2+1)/19);
$jf4=(11*$jf2+4-$jf3)%29;
$jf5=intval($jf1/4);
$jf6=($jf1+$jf5+31-$jf4)%7;
$jfj=25-$jf4-$jf6;
$jfm=4;
if ($jfj<=0){
$jfm=3;
$jfj=$jfj+31;
}
$paques=(($jfm < 10) ? "0".$jfm : $jfm)."/".(($jfj < 10) ? "0".$jfj : $jfj);
$lunpaq=date("m/d",mktime(12,0,0,$jfm,$jfj+1,$Year));
$ascension=date("m/d",mktime(12,0,0,$jfm,$jfj+39,$Year));
$lunpent=date("m/d",mktime(12,0,0,$jfm,$jfj+50,$Year));
$JourFerie= Array("01/01","05/01","05/08","07/14","08/15","11/01","11/11","12/25","$paques","$lunpaq","$ascension","$lunpent");
$nbj=0;
$val= $lien=date("m/d", mktime(0,0,0,$month,$day,$year));
while ($nbj<=count($JourFerie)){
if ($JourFerie[$nbj]==$val){
$resultat=true;
$nbj=15;
}
$nbj++;
}
return( $resultat );
}
$tabmonth = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin","Juillet", "Août", "Septembre", "Octobre", "Novembre","Décembre");
$tabday = Array("Lun", "Mar", "Mer", "Jeu", "Ven", "Sam","Dim");
// selectionne la date d aujourd hui si aucune saisie
if (!$dt){
$year = date("Y");
$now = date("Y/m/d");
$month = date("n");
$day = date("d");
}else{
$data=explode(" ",$dt);
$year=$data[0];
$month=$data[1];
$day=$data[2];
$now=date("Y/m/d", mktime(0,0,0,$month,$day,$year));
}
$moyear=$tabmonth[$month-1]." ".$year;
?>
<table WIDTH="160" BORDER="0" CELLSPACING="0" CELLPADDING="2">
<tr>
<td CLASS='titremois' colspan="8" ALIGN="center">
<?
$lien=date("Y+m+d", mktime(0,0,0,$month-1,$day,$year));
echo "<A CLASS='titremois' href=\"?dt=$lien\"><<</a>";
echo "<A CLASS='titremois'> $moyear </a>";
$lien=date("Y+m+d", mktime(0,0,0,$month+1,$day,$year));
echo "<A CLASS='titremois' href=\"?dt=$lien\">>></a>";
?>
</td>
</tr>
<tr>
<?
echo"<td WIDTH=20 class='titreweek' ALIGN='center'>Sem</td>\n";
for ($i=0;$i<7;$i++) {
echo"<td WIDTH=20 class='titrejours' ALIGN='center'>$tabday[$i]</td>\n";
}
?>
</tr>
<?
$num_day=date("w", mktime(0,0,0,$month,01,$year));
if($num_day==0){$num_day=7;}
$max_day=date("t", mktime(0,0,0,$month,01,$year));
$cpt_day=2;
while ($cpt_day<=$max_day+$num_day) {
echo "<tr>";
// calcul le numero de semaine
$nb_day=date("z", mktime(0,0,0,$month,$cpt_day-$num_day+3,$year));
$val=intval($nb_day/7)+1;
echo "<td WIDTH=20 class='titreweek2' ALIGN='center'>".(($val < 10) ? "0".$val : $val)."</td>\n";
// affiche les jours du mois
for ($i=0;$i<7;$i++) {
$theday=date("D", mktime(0,0,0,$month,$cpt_day-$num_day,$year));
$val=date("d", mktime(0,0,0,$month,$cpt_day-$num_day,$year));
$jourferie=calcul_joursferies($month,$cpt_day-$num_day,$year);
$class="titrenum";
if (($theday=="Sun") or ($theday=="Sat")or ($jourferie)){ $class="titrewend";}
if ($now==date("Y/m/d",mktime(0,0,0,$month,$cpt_day-$num_day,$year))){ $class="titrenow";}
if ((($cpt_day-$num_day)<1) or (($cpt_day-$num_day)>$max_day)){
$class="titrenum2";
if (($theday=="Sun") or ($theday=="Sat")or ($jourferie)){ $class="titrewend2";}
}
$cpt_day++;
echo "<td WIDTH=20 class='$class'ALIGN='center'>".$val."</td>\n";
}
echo "</tr>";
}
?>
</table>
]]>