Auteur |
Message |
BerSeeker
Messages : 22
Inscrit le : 10/02/2003 |
Posté le 10/02/2003 à 13:04:54
Message N°1 #
|
tout d'abord un grand merci pour ce calendrier bien pratique.
mes petites suggestions pour ce calendrier :
- rajouter une option database, pour pouvoir raccorder des infos à chaque date
- augmenter le nombre de couleurs possibles (pas seulement jour actuel et autres jours)
- rajouter une option d'affichage de menu déroulant pour tri rapide par mois et année.
j'y es apporté quelques modifications pour obtenir ce que je recherchai.
http://pafweb.free.fr/index.php
le code est encore en chantier donc c'est un peu bordelique |
|
djosh
Messages : 1
Inscrit le : 10/02/2003 |
Posté le 10/02/2003 à 16:18:59
Message N°2 #
|
Je trouvais aussi qu'il manquait de pouvoir inscrire un evenement ! Je serais donc super interessé par les modifs de ton code ? |
|
maverick
Messages : 619
Inscrit le : 04/04/2002 |
Posté le 11/02/2003 à 07:19:16
Message N°3 #
|
Jolie adaptation !!
Un jour, peut être, on aura 1heure ou 2 pour remettre les mains dans le code, mais d'ici là, il ne vous reste que l'adaptation
Mathieu
____________________
|
|
BerSeeker
Messages : 22
Inscrit le : 10/02/2003 |
Posté le 12/02/2003 à 00:38:41
Message N°4 #
|
ok
je nettoie un peu les lignes de codes que j ai modifié et rajouté et je les poste ici.
premier bloc ajout de la fonction d'appel à la base pour récuperer les données
function actuel($time) // fonction d appel à la bdd
{
$month = date("m", $time);
$day = date("d", $time);
$year = date("y", $time);
$dtmin = mktime("0", "0", "0", $month, $day, $year); // dans la base de données la date est au format unix
$dtmax = $dtmin + 86390; // +24h
$list = query("SELECT * FROM database WHERE date BETWEEN '$dtmin' AND '$dtmax'"); // query est une fonction d'appel à la bdd
while ($ligne = mysql_fetch_array($list,MYSQL_ASSOC)) //temps q'une occurence est trouvée
{
$ladate = date(" d m y à H:i",$ligne["date"]);
$letitre = strtoupper($ligne["titre"]);
$result .= $letitre.' '.le $ladate.'n';
}
return $result;
}
[/quote]
puis premier bloc avec rajout de parametres supplementaires
### Default Params
$param_d['calendar_id'] = 1; // Calendar ID
$param_d['calendar_columns'] = 5; // Nb of columns
$param_d['show_day'] = 1; // Show the day bar
$param_d['show_month'] = 1; // Show the month bar
$param_d['nav_link'] = 1; // Add a nav bar below
$param_d['link_after_date'] = 1; // Enable link on days after the current day
$param_d['link_on_day'] = $PHP_SELF.'?date='; // Link to put on each day
$param_d['font_face'] = 'Verdana, Arial, Helvetica'; // Default font to use
$param_d['font_size'] = 10; // Font size in px
$param_d['bg_color'] = 'designtransparent.gif';
$param_d['today_bg_color'] = 'designtransparent_bleu.gif';
$param_d['match_color'] = 'designtransparent_rouge.gif';
$param_d['match_today'] = 'designtransparent_today.gif';
$param_d['font_today_color'] = '#990000';
$param_d['font_color'] = '#000000';
$param_d['font_nav_bg_color'] = '#A9B4B3';
$param_d['font_nav_color'] = '#FFFFFF';
$param_d['font_header_color'] = '#AAAAAA';
$param_d['border_color'] = 'transparent'; //'#3f6551';
$param_d['use_img'] = 1; // Use gif for nav bar on the bottom
[/quote]
enfin modification et insertion des elements de la base dans le calendrier
[quote]
$output = '<style type="text/css">
<!--
.calendarNav'.$param['calendar_id'].' { font-family: '.$param['font_face'].'; font-size: '.($param['font_size']-1).'px; font-style: normal; background-color: '.$param['border_color'].'}
.calendarTop'.$param['calendar_id'].' { font-family: '.$param['font_face'].'; font-size: '.($param['font_size']+1).'px; font-style: normal; color: '.$param['font_header_color'].'; font-weight: bold; background-color: '.$param['border_color'].'}
.calendarToday'.$param['calendar_id'].' { font-family: '.$param['font_face'].'; font-size: '.$param['font_size'].'px; font-weight: bold; color: '.$param['font_today_color'].'; background-image: url('.$param_d['today_bg_color'].');}
.calendarDays'.$param['calendar_id'].' { font-family: '.$param['font_face'].'; font-size: '.$param['font_size'].'px; font-style: normal; color: '.$param['font_color'].'; background-image: url('.$param['bg_color'].'); text-align: center}
.calendarHeader'.$param['calendar_id'].'{ font-family: '.$param['font_face'].'; font-size: '.($param['font_size']-1).'px; background-color: '.$param['font_nav_bg_color'].'; color: '.$param['font_nav_color'].';}
.calendarTable'.$param['calendar_id'].' { background-color: '.$param['border_color'].'; border: 0px '.$param['border_color'].' solid}
.calendarMatch'.$param['calendar_id'].' { font-family: '.$param['font_face'].'; font-size: '.$param['font_size'].'px; font-style: normal; color: '.$param['font_color'].'; background-image: url('.$param['match_color'].'); text-align: center}
.MatchToday'.$param['calendar_id'].' { font-family: '.$param['font_face'].'; font-size: '.$param['font_size'].'px; font-style: normal; color: '.$param['font_color'].'; background-image: url('.$param['match_today'].'); text-align: center}
-->
</style>';
$output .= '<TABLE width="140" class="calendarTable'.$param['calendar_id'].'" cellpadding="2" cellspacing="1">'."n";
### Displaying the current month/year
//////////////////
/////////////////
### Row start
if ((($i + $first_day_pos-1) % $param['calendar_columns']) == 1 && $i != 1) {
$output .= '<TR align="center">'."n";
$int_counter = 0;
}
$color = "";
$loop_timestamp = mktime(0,0,0, $current_month, $i, $current_year);
$contenu = actuel($loop_timestamp);
if ($i == $current_day) {
if ($contenu){
$color = "MatchToday".$param['calendar_id'];
}
else {
$color = "calendarToday".$param['calendar_id'];
}
}
if ($param['link_on_day'] != '') {
if ( ($param['link_after_date'] == 0) && ($current_timestamp < $loop_timestamp) OR ($contenu == "")) {
if ($color == ""){$color = "calendarDays".$param['calendar_id'];}
$link = $i;
}
else {
if ($color == ""){$color = "calendarMatch".$param['calendar_id'];}
$link = '<A href="'.$param["link_on_day"].$current_year.$current_month_2.$i_2.'" title="'.$contenu.'">'.$i.'</A>';
}
}
else {
if ($color == ""){$color = "calendarDays".$param['calendar_id'];}
$link = $id;
}
$output .= '<TD class="'.$color.'">'.$link.'</TD>'."n";
je sais le code est nettement perfectible
comme par exemple ne faire appel à la bdd qu'une fois et sotcker le contenu du mois dans un tableau de variable du genre [quote] $contenu[$jour] pour économiser l appel à la bdd.
et bien d'autres choses encore
j'ai fait ca en 2h00 alors scuzez du code pas propre |
|
BerSeeker
Messages : 22
Inscrit le : 10/02/2003 |
Posté le 12/02/2003 à 00:40:37
Message N°5 #
|
arf j ai oublié de couper un bout
les
///////
//////
séparent les differents blocs
mais vous vous en seriez appercu tout seul |
|
BerSeeker
Messages : 22
Inscrit le : 10/02/2003 |
Posté le 12/02/2003 à 00:42:44
Message N°6 #
|
a oui encore une chose, sur le site de l exemple c'est une popup javascript
là j 'ai remplacé par un simple Title pour simplifier les lignes ajoutées.
mais le resultat est identique en dehors du design
pff et c'est seulement maintenant que je vois le bouton editer le message....
______________________________
Message édité par BerSeeker |
|
maverick
Messages : 619
Inscrit le : 04/04/2002 |
Posté le 12/02/2003 à 10:40:21
Message N°7 #
|
cool !
merci au nom de la communauté php !
____________________
|
|
BerSeeker
Messages : 22
Inscrit le : 10/02/2003 |
Posté le 14/04/2003 à 23:00:18
Message N°8 #
|
me revoila
bon, voila, j'aimerai modifier('encore) le scirpt du calendrier, mais je sait pas trop par ou commencer...
donc j'aimerai faire un calendrier 30 jours, non plus par mois mais par blocs de 30 jours. avec la date du jour sur la premiere ligne systematiquement, suivie donc de 30 jours.
pas clair !!?
par exemple on est le lundi 14 avril , donc le calendrier affiché commence le lundi 14, colorise donc le jour actuel. puis affiche les ~30 jours suivants. donc jusqu'au 14-15 mai. avec une differenciation de couleur pour le chevauchement de mois.
donc help |
|
marco
Messages : 2
Inscrit le : 18/06/2003 |
Posté le 18/06/2003 à 02:24:55
Message N°9 #
|
Merci pour ces modifications - j'ai un peu du mal a les integrer; peut-on avoir une version complete du script avec les modifications? |
|
BerSeeker
Messages : 22
Inscrit le : 10/02/2003 |
Posté le 21/09/2003 à 13:17:52
Message N°10 #
|
me revoilà ^^
bon, ayant un nouveau site en projet et le calendrier entrant dans le site, je vais le refondre pour y intégrer les élements suivants :
-dates cliquables pour acceder aux news correspondantes (je tente d améliorer mon ancien code )
-coloration des dates en correspondance avec le type de news.
-menus déroulants pour sauter à un mois ou/et une année spécifique.
voilà pour le moment. maintenant patience... |
|