[ Index ]
 

Code source de SPIP Agora 1.4

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Agora1-4/ecrire/ -> inc_agenda.php (source)

   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 " &nbsp; <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 " &nbsp; <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>&nbsp;</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  ?>


Généré le : Sat Feb 24 14:40:03 2007 par Balluche grâce à PHPXref 0.7