[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 // Ce fichier ne sera execute qu'une fois 20 if (defined("_ECRIRE_INC_AGENDA")) 21 return; 22 23 define("_ECRIRE_INC_AGENDA", "1"); 24 25 // 26 // Afficher un agenda (un mois) sous forme de petit tableau 27 // 28 29 function agenda ($mois, $annee, $jour_ved, $mois_ved, $annee_ved, $semaine = false) { 30 global $couleur_foncee, $couleur_claire; 31 global $connect_id_auteur; 32 global $spip_lang_left, $spip_lang_right; 33 34 $today = getdate(time()); 35 $jour_today = $today["mday"]; 36 $mois_today = $today["mon"]; 37 $annee_today = $today["year"]; 38 39 $date = date("Y-m-d", mktime(0, 0, 0, $mois, 1, $annee)); 40 $mois = mois($date); 41 $annee = annee($date); 42 43 // rendez-vous personnels dans le mois 44 /******** Modifiaction elebescond@clever-age.com ***********************/ 45 $messageMetier = &recuperer_instance_message(); 46 $rdvs = $messageMetier->getAgenda($connect_id_auteur, $annee, $mois); 47 48 if (PEAR::isError($rdvs)) { 49 die($rdvs->getMessage()); 50 } 51 52 while (list(, $rdv) = each($rdvs)) { 53 $date_heure = $rdv->getDateHeure(); 54 $lejour = journum($rdv->getDateHeure()); 55 $les_rv[$lejour]++; 56 } 57 58 $nom = mktime(1, 1, 1, $mois, 1, $annee); 59 $jour_semaine = date("w", $nom); 60 $nom_mois = nom_mois('2000-' . sprintf("%02d", $mois). '-01'); 61 62 if ($semaine) { 63 $jour_valide = mktime(1, 1, 1, $mois_ved, $jour_ved, $annee_ved); 64 $jour_semaine_valide = date("w", $jour_valide); 65 66 if ($jour_semaine_valide == 0) 67 $jour_semaine_valide = 7; 68 69 $debut = mktime(1, 1, 1, $mois_ved, $jour_ved - $jour_semaine_valide + 1, $annee_ved); 70 $fin = mktime(1, 1, 1, $mois_ved, $jour_ved - $jour_semaine_valide + 7, $annee_ved); 71 } 72 73 echo "<div align='center' style='padding: 5px;'>" . 74 "<b class='verdana1'><a href='calendrier.php?mois=$mois&&annee=$annee' style='color: black;'>" . 75 affdate_mois_annee("$annee-$mois-1"). "</a></b></div>"; 76 77 echo "<table width='100%' cellspacing='0' cellpadding='0'>"; 78 79 echo "<tr>"; 80 81 for ($i = 1; $i < $jour_semaine; $i++) { 82 echo "<td></td>"; 83 } 84 85 for ($j = 1; $j < 32; $j++) { 86 $jour_j = sprintf("%02d", $j); 87 $nom = mktime(1, 1, 1, $mois, $jour_j, $annee); 88 $jour_semaine = date("w", $nom); 89 if (checkdate($mois, $j, $annee)) { 90 if ($j == $jour_ved AND $mois == $mois_ved AND $annee == $annee_ved) { 91 if ($semaine) 92 $lien = "calendrier_jour.php"; 93 else 94 $lien = "calendrier_semaine.php"; 95 96 echo "<td class='arial2' style='margin: 1px; padding: 2px; background-color: white; border: 1px solid $couleur_foncee; text-align: center; -moz-border-radius: 5px;'>"; 97 echo "<a href='$lien?jour=$j&mois=$mois&annee=$annee' style='color: black'><b>$j</b></a>"; 98 echo "</td>"; 99 } 100 else if ($semaine AND $nom >= $debut AND $nom <= $fin) { 101 if ($jour_semaine == 1) { 102 $style 103 = "-moz-border-radius-top$spip_lang_left: 10px; -moz-border-radius-bottom$spip_lang_left: 10px;"; 104 } 105 else if ($jour_semaine == 0) { 106 $style 107 = "-moz-border-radius-top$spip_lang_right: 10px; -moz-border-radius-bottom$spip_lang_right: 10px;"; 108 } 109 else { 110 $style = ""; 111 } 112 113 echo "<td class='arial2' style='margin: 0px; padding: 3px; background-color: white; text-align: center; $style'>"; 114 echo "<a href='calendrier_semaine.php?jour=$j&mois=$mois&annee=$annee' style='color: black'><b>$j</b></a>"; 115 echo "</td>"; 116 } 117 else { 118 if ($j == $jour_today AND $mois == $mois_today AND $annee == $annee_today) { 119 $couleur_fond = $couleur_foncee; 120 $couleur = "white"; 121 } 122 else { 123 if ($jour_semaine == 0) { 124 $couleur_fond = $couleur_claire; 125 $couleur = "#aaaaaa"; 126 } 127 else { 128 $couleur_fond = "#eeeeee"; 129 $couleur = "#aaaaaa"; 130 } 131 if ($les_rv[$j] > 0) { 132 $couleur = "black"; 133 } 134 } 135 136 echo "<td>"; 137 echo "<div class='arial2' style='margin-left: 1px; margin-top: 1px; padding: 2px; background-color: $couleur_fond; text-align: center; -moz-border-radius: 5px;'>"; 138 139 if ($semaine) 140 echo "<a href='calendrier_semaine.php?jour=$j&mois=$mois&annee=$annee' style='color: $couleur;'>$j</a>"; 141 else 142 echo "<a href='calendrier_jour.php?jour=$j&mois=$mois&annee=$annee' style='color: $couleur;'>$j</a>"; 143 144 echo "</div>"; 145 echo "</td>"; 146 } 147 if ($jour_semaine == 0) 148 echo "</tr>\n<tr>"; 149 } 150 } 151 152 echo "</tr>\n"; 153 echo "</table>"; 154 } 155 156 function calendrier_jour ($jour, $mois, $annee, $large = "large", $le_message = 0) { 157 global $spip_lang_rtl, $spip_lang_right, $spip_lang_left; 158 global $connect_id_auteur, $connect_statut; 159 global $couleur_claire; 160 161 $date = date("Y-m-d", mktime(0, 0, 0, $mois, $jour, $annee)); 162 $jour = journum($date); 163 $mois = mois($date); 164 $annee = annee($date); 165 166 if ($large == "large") { 167 $largeur = 300; 168 $modif_decalage = 40; 169 $debut_gauche = 40; 170 } 171 else if ($large == "col") { 172 $largeur = 120; 173 $modif_decalage = 15; 174 $debut_gauche = 20; 175 } 176 else { 177 $largeur = 80; 178 $modif_decalage = 5; 179 $debut_gauche = 5; 180 } 181 182 $bgcolor = "white"; 183 184 if ($large == "etroit") { 185 $bgcolor = "#eeeeee"; 186 187 $today = getdate(time()); 188 $jour_today = $today["mday"]; 189 $mois_today = $today["mon"]; 190 $annee_today = $today["year"]; 191 if ($jour == $jour_today AND $mois == $mois_today AND $annee == $annee_today) 192 $bgcolor = "white"; 193 } 194 195 $nom = mktime(1, 1, 1, $mois, $jour, $annee); 196 $jour_semaine = date("w", $nom); 197 198 if ($jour_semaine == 0) 199 $bgcolor = $couleur_claire; 200 201 if ($large == "col") { 202 echo "<div align='center' style='padding: 5px;'><b class='verdana1'><a href='calendrier_jour.php?jour=$jour&mois=$mois&annee=$annee' style='color:black;'>" . affdate_jourcourt( 203 "$annee-$mois-$jour"). "</a></b></div>"; 204 } 205 else if ($large == "large") { 206 echo "<div align='center' style='padding: 5px;'>"; 207 echo " <a href='message_edit.php?rv=$annee-$mois-$jour&new=oui&type=pb' class='arial1' style='color: blue;'><IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> " . _T("lien_nouvea_pense_bete"). "</a>"; 208 echo " <a href='message_edit.php?rv=$annee-$mois-$jour&new=oui&type=normal' class='arial1' style='color: green;'><IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> " . _T("lien_nouveau_message"). "</a>"; 209 210 /************* Modification elebescond@clever-age.com *********************/ 211 $authorization = &recuperer_instance_authorization('annoncerNouvelleGenerale', $GLOBALS['connect_id_auteur']); 212 213 if ($authorization->isAuthorizedAction()) 214 /* 215 if ($connect_statut == "0minirezo") 216 */ 217 /************* Fin modification elebescond@clever-age.com ******************/ 218 echo " <a href='message_edit.php?rv=$annee-$mois-$jour&new=oui&type=affich' class='arial1' style='color: #ff9900;'><IMG SRC='img_pack/m_envoi_jaune$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> " . _T("lien_nouvelle_annonce"). "</a>\n"; 219 echo "</div>"; 220 } 221 222 if ($large != "etroit") 223 echo "<div style='background-color: $bgcolor; border-left: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;'>"; // bordure 224 else 225 echo "<div style='background-color: $bgcolor;'>"; // bordure 226 227 echo "<div style='position: relative; width: 100%; height: 450px; background: url(img_pack/fond-calendrier.gif);'>"; 228 229 echo "<div style='position: absolute; $spip_lang_left: 2px; top: 2px; color: #666666;' class='arial0'><b class='arial0'>0:00<br />7:00</b></div>"; 230 231 for ($i = 7; $i < 20; $i++) { 232 echo "<div style='position: absolute; $spip_lang_left: 2px; top: " . (($i - 6) * 30 233 + 2). "px; color: #666666;' class='arial0'><b class='arial0'>$i:00</b></div>"; 234 } 235 236 echo "<div style='position: absolute; $spip_lang_left: 2px; top: 422px; color: #666666;' class='arial0'><b class='arial0'>20:00<br />23:59</b></div>"; 237 238 // articles du jour 239 /********* Modification elebescond@clever-age.com **************/ 240 $articleMetier = &recuperer_instance_article(); 241 $articles = $articleMetier->getArticlesOfTheDay($annee . '-' . $mois . '-' . $jour . ' 00:00:00'); 242 243 if (PEAR::isError($articles)) { 244 die($articles->getMessage()); 245 } 246 247 while (list(, $article) = each($articles)) { 248 $id_article = $article->getArticleId(); 249 $titre = typo($article->getTitre()); 250 $lejour = journum($article->getDate()); 251 $lemois = mois($article->getDate()); 252 $les_articles .= "<div><a href='articles.php?id_article=$id_article' class='arial1'>" 253 ."<img src='img_pack/puce-verte-breve.gif' width='8' height='9' border='0' /> " 254 .$titre."</a></div>"; 255 } 256 257 // breves du jour 258 $breveMetier = &recuperer_instance_breve(); 259 $breves = $breveMetier->getBrevesOfTheDay($annee . '-' . $mois . '-' . $jour . ' 00:00:00'); 260 261 if (PEAR::isError($breves)) { 262 die($breves->getMessage()); 263 } 264 265 while (list(, $breve) = each($breves)) { 266 $id_breve = $breve->getBreveId(); 267 $titre = typo($breve->getTitre()); 268 $lejour = journum($breve->getDateHeure()); 269 $lemois = mois($breve->getDateHeure()); 270 $les_breves .= "<div><a href='breves_voir.php?id_breve=$id_breve' class='arial1'>" 271 ."<img src='img_pack/puce-blanche-breve.gif' width='8' height='9' border='0' /> " 272 .$titre."</a></div>"; 273 } 274 275 if ($large == "large") { 276 if ($les_articles OR $les_breves) { 277 if ($les_articles) 278 $les_articles = "<div><b class='verdana1'>" . _T('info_articles'). "</b></div>" . $les_articles; 279 280 if ($les_breves) 281 $les_breves = "<div><b class='verdana1'>" . _T('info_breves_02'). "</b></div>" . $les_breves; 282 283 echo "<div style='position: absolute; $spip_lang_left: 355px; top: 32px; width: 140px;'>"; 284 echo $les_articles; 285 echo $les_breves; 286 echo "</div>"; 287 } 288 } 289 290 // rendez-vous personnels 291 /******************* Modification elebescond@clever-age.com *********************/ 292 $messageMetier = &recuperer_instance_message(); 293 $messages = $messageMetier->getPersonnalRDV($connect_id_auteur, $annee, $mois, $jour); 294 295 if (PEAR::isError($messages)) { 296 die($messages->getMessage()); 297 } 298 299 while (list(, $message) = each($messages)) { 300 $id_message = $message->getMessageId(); 301 $date_heure = $message->getDateHeure(); 302 $date_fin = $message->getFinDate(); 303 $titre = $message->getTitre(); 304 $texte = $message->getTexte(); 305 $type = $message->getType(); 306 $lejour = journum($message->getDateHeure()); 307 308 if ($type == "normal") { 309 $la_couleur = "#02531B"; 310 $couleur_fond = "#CFFEDE"; 311 } 312 elseif ($type == "pb") { 313 $la_couleur = "#3874B0"; 314 $couleur_fond = "#EDF3FE"; 315 } 316 elseif ($type == "affich") { 317 $la_couleur = "#ccaa00"; 318 $couleur_fond = "#ffffee"; 319 } 320 else { 321 $la_couleur = "black"; 322 $couleur_fond = "#aaaaaa"; 323 } 324 325 $heure_debut = heures($date_heure); 326 $minutes_debut = minutes($date_heure); 327 328 // En attendant gestion heure de fin... 329 $heure_fin = heures($date_fin); 330 $minutes_fin = minutes($date_fin); 331 332 if ($heure_debut < 6) { 333 $heure_debut = 6; 334 $minutes_debut = 0; 335 } 336 337 if ($heure_fin < 7) { 338 $heure_fin = 7; 339 $minutes_fin = 00; 340 } 341 342 if ($heure_debut > 20) { 343 $heure_debut = 20; 344 $minutes_debut = 0; 345 } 346 347 if ($heure_fin > 20) { 348 $heure_fin = 21; 349 $minutes_fin = 00; 350 } 351 352 $haut = floor((($heure_debut - 6) * 60 + $minutes_debut) / 2); 353 $bas = floor((($heure_fin - 6) * 60 + $minutes_fin) / 2); 354 355 $hauteur = ($bas - $haut) - 7; 356 357 if ($hauteur < 23) 358 $hauteur = 23; 359 360 if ($bas_prec > $haut) 361 $decalage = $decalage + $modif_decalage; 362 else 363 $decalage = $debut_gauche; 364 365 if ($bas > $bas_prec) 366 $bas_prec = $bas; 367 368 if ($le_message == $id_message) 369 $couleur_cadre = "black"; 370 else 371 $couleur_cadre = "$la_couleur"; 372 373 echo "<div class='dessous' style='position: absolute; $spip_lang_left: " . $decalage . "px; top: " . $haut . "px; height: " . ($hauteur 374 + 8). "px; width: " . ($largeur 375 + 8). "px; ' onClick=\"document.location='message.php?id_message=$id_message'\" onMouseOver=\"changeclass(this, 'dessus');\" onMouseOut=\"changeclass(this, 'dessous');\">"; 376 echo "<div style='position: absolute; height: " . $hauteur . "px; width: " . $largeur . "px; border: 1px solid $la_couleur; padding: 3px; background-color: $couleur_fond; -moz-border-radius: 5px;'>"; 377 echo "</div>"; 378 echo "<div style='position: absolute; overflow: hidden; height: " . $hauteur . "px; width: " . $largeur . "px; border: 1px solid $couleur_cadre; padding: 3px; -moz-border-radius: 5px;'>"; 379 echo "<div><b><a href='message.php?id_message=$id_message' class='verdana1' style='color: $la_couleur;'>$titre</a></b></div>"; 380 381 if ($type == "normal") { 382 $messageMetier = &recuperer_instance_message(); 383 $loadOK = $messageMetier->load($id_message); 384 385 if (PEAR::isError($loadOK)) { 386 die($loadOK->getMessage()); 387 } 388 389 $auteurs = $messageMetier->getAllAuteursForMessageExceptAuteurId($connect_id_auteur); 390 391 while (list(, $auteur) = each($auteurs)) { 392 $id_auteur = $auteur->getAuteurId(); 393 $nom_auteur = $auteur->getNom(); 394 $les_auteurs[$id_message][] = $nom_auteur; 395 } 396 397 if (count($les_auteurs[$id_message]) > 0) { 398 echo "<div><font class='verdana1'>" . join($les_auteurs[$id_message], ", "). "</font></div>\n"; 399 } 400 } 401 402 if ($large) 403 echo "<div><a href='message.php?id_message=$id_message' class='arial1' style='color:#333; text-decoration:none;'>$texte</a></div>\n"; 404 405 echo "</div>\n"; 406 echo "</div>\n"; 407 } 408 409 echo "</div>\n"; 410 echo "</div>\n"; 411 412 if ($large != "large") { 413 if ($les_articles OR $les_breves) { 414 if ($les_articles) 415 $les_articles = "<div><b class='verdana1'>" . _T('info_articles'). "</b></div>\n" . $les_articles; 416 417 if ($les_breves) 418 $les_breves = "<div><b class='verdana1'>" . _T('info_breves_02'). "</b></div>\n" . $les_breves; 419 420 echo "<div style='padding: 5px;'>"; 421 echo $les_articles; 422 echo $les_breves; 423 echo "</div>\n"; 424 } 425 } 426 } 427 428 function liste_rv ($messages, $type) { 429 global $spip_lang_rtl, $spip_lang_left; 430 431 if ($type == annonces) { 432 $titre = _T('info_annonces_generales'); 433 $couleur_titre = "ccaa00"; 434 $couleur_texte = "black"; 435 $couleur_fond = "#ffffee"; 436 } 437 else if ($type == pb) { 438 $titre = _T('infos_vos_pense_bete'); 439 $couleur_titre = "#3874B0"; 440 $couleur_fond = "#EDF3FE"; 441 $couleur_texte = "white"; 442 } 443 else if ($type == rv) { 444 $titre = _T('info_vos_rendez_vous'); 445 $couleur_titre = "#666666"; 446 $couleur_fond = "#eeeeee"; 447 $couleur_texte = "white"; 448 } 449 450 if (sizeOf($messages) > 0) { 451 echo "<div> </div>\n" . 452 "<div style='border:1px solid #999; background-color:$couleur_fond; -moz-border-radius:5px;'>"; 453 echo "<div style='background-color: $couleur_titre; padding: 3px; color: $couleur_texte;'>"; 454 echo "<b class='verdana1'>$titre</b>"; 455 echo "</div>\n"; 456 echo "<div style='padding: 3px;'>"; 457 458 while (list(, $message) = each($messages)) { 459 if (ereg("^=([^[:space:]]+)$", $message->getTexte(), $match)) 460 $url = $match[1]; 461 else 462 $url = "message.php?id_message=" . $message->getMessageId(); 463 464 $type = $message->getType(); 465 $rv = $message->getRv(); 466 $date = $message->getDateHeure(); 467 468 if ($type == "normal") 469 $bouton = "m_envoi"; 470 elseif ($type == "pb") 471 $bouton = "m_envoi_bleu"; 472 elseif ($type == "affich") 473 $bouton = "m_envoi_jaune"; 474 else 475 $bouton = "m_envoi"; 476 477 $titre = typo($message->getTitre()); 478 479 echo "<div style='margin:5px; padding-$spip_lang_left:20px; " . 480 "background:url(img_pack/$bouton$spip_lang_rtl.gif) $spip_lang_left center no-repeat;'>"; 481 482 if ($rv == "oui") { 483 echo "<b class='arial0'>" . affdate_jourcourt($date). "</b><br />\n"; 484 } 485 486 echo "<b><a href='$url' class='arial1'>$titre</a></b>"; 487 echo "</div>\n"; 488 } 489 490 echo "</div>\n"; 491 echo "</div>\n"; 492 } 493 } 494 495 function afficher_taches () { 496 global $connect_id_auteur, $options; 497 $messageMetier = &recuperer_instance_message(); 498 $messages = $messageMetier->displayTasks('annonces', $connect_id_auteur); 499 500 if (PEAR::isError($messages)) { 501 die($messages->getMessage()); 502 } 503 504 liste_rv($messages, "annonces"); 505 506 $messages = $messageMetier->displayTasks('pb', $connect_id_auteur); 507 508 if (PEAR::isError($messages)) { 509 die($messages->getMessage()); 510 } 511 512 liste_rv($messages, "pb"); 513 514 $messages = $messageMetier->displayTasks('rv', $connect_id_auteur); 515 516 if (PEAR::isError($messages)) { 517 die($messages->getMessage()); 518 } 519 520 liste_rv($messages, "rv"); 521 522 } 523 524 // afficher l'encadre "lien iCal" 525 function afficher_ical ($id) { 526 echo debut_cadre_enfonce(); 527 echo "<div class='verdana1'>" . _T("calendrier_synchro"). "</div>"; 528 icone_horizontale(_T("icone_suivi_activite"), "synchro.php", "synchro-24.gif"); 529 echo fin_cadre_enfonce(); 530 } 531 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |