Posté : 16-02-2009 13:57
l'idée de départ : en un petit coup d'oeil on voit si le mois affiché dans le bloc comporte des rdv appartenant à une catégorie précise (définie dans la partie admin) ce qui évite de balader sa souris sur tous les jours du mois.
pour voir le résultat : http://portail.echiquier-nimois.com/
pour le code : trois bloc à insérer
le premier est à mettre juste après ceci (environ de la ligne 45) :
if (!$month) $month = $m;
if (!$year) $year = $y;
il faut mettre :
// - - - - - - - -
// modification "cat_mev" par ZericK (partie 1/3)
// - - - - - - - -
// "cat_mev" pour CAT.egorie M.ise en EV.idence
// mise en evidence des dates correspondant à une categorie de rdv
$cat_mev_flag = "oui"; // si on met "non" rien ne sera mis en evidence !
$cat_mev_legende = "oui"; // si on met "non" il n'y a pas de légende ajoutee sous le bloc
// aller chercher manuellement dans la table "event_call_cat" le numero "cat_ id" de la categorie voulue
$cat_mev_id = "3"; // reporter manuellement ce numero ici
$cat_mev_intitule = "Légende explicative"; // mettre un intitule explicite qu i sera vu en fin de bloc
$cat_mev_initiale = "L"; // mettre une lettre symbolique qui sera dans la leg ende sous le bloc
$cat_mev_color = "blue"; // couleur d'ecriture de la date mise en evidence (à changer selon le theme)
$cat_mev_font = "bold"; // mettre en gras la date (optionnel selon le theme)
// un petit morceau de style pour la legende
$pre_content = "\n<style>#cat_mev_td {color:$cat_mev_color;font-weight:$ca t_mev_font;}";
// et un autre pour le jour dans le calendrier
$pre_content .= "\n<style>#cat_mev_jour, #cat_mev_jour a {color:$cat_mev_c olor;font-weight:$cat_mev_font;}";
// maintenant on recupere les dates qui nous interessent
if ( $cat_mev_flag == "oui" ) {
$tab_event[] = 1999; // pour ne pas avoir un tableau vide si pas de date da ns le mois
$query = "select day from event_call_events where cat='$cat_mev_id' and mon th='$month' and year='$year' order by day ASC";
$result = mysql_query($query);
if ( mysql_num_rows($result) > 0 ) { while ($row = mysql_fetch_assoc($resul t)) { $tab_cat_event[] = $row['day']; } }
}
// - - - - - - -
// fin de modification "cat_mev" (partie 1/3)
// - - - - - - -
le deuxième bloc est à insérer juste après ceci (vers la ligne 200) :
for ($i=1;$i<=$nr;$i++) {
$sun = $i;
if ($day_start == 0) $sun++;
$content.= " |
il faut mettre :
// - - - - - - -
// modification "cat_mev" (partie 2/3)
// - - - - - - -
// on ajoute simplement un "id" à la balise "td"
// ce qui va changer l'écriture par le style css associé (cf partie 1)
if ( $cat_mev_flag == "oui" ) { foreach ($tab_cat_event as $le_jour) { if ( $i == $le_jour ) { $content.= " id=\"cat_mev_jour\" "; } } }
// - - - - - - -
// fin de modification "cat_mev" (partie 2/3)
// - - - - - - -
qui va donc se retrouver avant :
if ($i == $d && $month == $m && $year == $y) { // highlight today's day
$content.= "bgcolor='$mini_todayclr' ";
}
enfin le troisième va se placer tout en fin de script
juste avant la balise de fermeture de php
edit: il y a un problème d'affichage de ce bout de code
apparemment dû à une balise table qui fait foirer la mise en page
j'essaie de le faire passer dans le message suivant
...
vu comme ça , on peut trouver que c'est long et compliqué, mais trois copier/coller en faisant un peu attention, il doit y en avoir pour deux minutes maximum
PS : n'oubliez pas de régler les variables en début de script selon vos goûts ...
Message édité par : ZericK / 16-02-2009 14:13 |