[ Index ]
 

Code source de SPIP 1.8.3

Accédez au Source d'autres logiciels libres | Soutenez Angelica Josefina !

title

Body

[fermer]

/ -> spip_cal.php3 (source)

   1  <?php
   2  
   3  /***************************************************************************\
   4   *  SPIP, Systeme de publication pour l'internet                           *
   5   *                                                                         *
   6   *  Copyright (c) 2001-2005                                                *
   7   *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
   8   *                                                                         *
   9   *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  10   *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
  11  \***************************************************************************/
  12  
  13  
  14  include  ("ecrire/inc_version.php3");
  15  
  16  include_ecrire ("inc_filtres.php3");
  17  include_ecrire("inc_lang.php3");
  18  include_ecrire ("inc_texte.php3");
  19  include_ecrire ("inc_charsets.php3");
  20  include_ecrire ("inc_meta.php3");
  21  include_ecrire("inc_admin.php3");
  22  include_ecrire ("inc_acces.php3");
  23  
  24  /*
  25  function ligne_x ($texte) {
  26      if (ereg("^BEGIN", $texte)) echo "<br>";
  27      echo $texte."<br>";
  28  }
  29  */
  30  function ligne ($texte) {
  31      echo filtrer_ical($texte)."\n";
  32  }
  33  
  34  $nom_site = lire_meta("nom_site");
  35  $adresse_site = lire_meta("adresse_site");
  36  
  37  // securite
  38  unset($id_utilisateur);
  39  $id_auteur = intval($id);
  40  
  41  // verifier la cle
  42  if (verifier_low_sec($id_auteur, $cle, 'ical')) {
  43      $query = "SELECT * FROM spip_auteurs WHERE id_auteur=$id_auteur";
  44      $result = spip_query($query);
  45  
  46      if ($row = spip_fetch_array($result)) {
  47          $id_utilisateur=$row['id_auteur'];
  48          $nom_utilisateur=$row['nom'];
  49          $statut_utilisateur=$row['statut'];
  50          $langue_utilisateur=$row['lang'];
  51      }
  52  }
  53  if (!$id_utilisateur) {
  54      echo _T('info_acces_interdit');
  55      exit;
  56  }
  57  
  58  lang_select($langue_utilisateur);
  59  
  60  @header("Content-Type: text/calendar; charset=utf-8");
  61  
  62  ligne ("BEGIN:VCALENDAR");
  63  ligne ("CALSCALE:GREGORIAN");
  64  ligne ("X-WR-CALNAME;VALUE=TEXT:$nom_site / $nom_utilisateur");
  65  ligne ("X-WR-RELCALID:cal$id_utilisateur @ $adresse_site");
  66  
  67  
  68  // rendez-vous
  69  $result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$id_utilisateur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
  70  while($row=spip_fetch_array($result_messages)){
  71      $id_message=$row['id_message'];
  72      $date_heure=$row["date_heure"];
  73      $date_heure_fin=$row["date_fin"];
  74      //$titre=typo($row["titre"]);
  75      $titre = $row["titre"];
  76      $texte = $row["texte"];
  77      $type=$row["type"];
  78  
  79      if ($type == 'normal') {
  80          $le_type = _T('info_message_2');
  81          $result_auteurs=spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE (lien.id_message='$id_message' AND lien.id_auteur=auteurs.id_auteur)");
  82          while($row_auteur=spip_fetch_array($result_auteurs)){
  83              $id_auteur=$row_auteur['id_auteur'];
  84              $nom_auteur=$row_auteur['nom'];
  85              $email = $row_auteur ['email'];
  86  
  87              if ($id_auteur != $id_utilisateur) $titre = $titre." - ".$nom_auteur;
  88              
  89              if ($id_auteur == $id_utilisateur) ligne ("ORGANIZER:$nom_auteur <$email>");
  90              else  ligne ("ATTENDEE:$nom_auteur <$email>");
  91          }
  92      }
  93      else if ($type == 'pb') {
  94          $le_type = _T('info_pense_bete');
  95      }
  96      else if ($type == 'affich') {
  97          $le_type = _T('info_annonce');
  98          $titre = "[$nom_site] $titre";
  99      }
 100  
 101      ligne ("BEGIN:VEVENT");
 102      ligne ("SUMMARY:".$titre);
 103      ligne ("DESCRIPTION:$texte");
 104      ligne ("UID:mess$id_message @ $adresse_site");
 105      ligne ("DTSTAMP:".date_ical($date_heure));
 106      ligne ("DTSTART:".date_ical($date_heure));
 107      if ($date_heure_fin > $date_heure) ligne ("DTEND:".date_ical($date_heure_fin));
 108  
 109      ligne ("CATEGORIES:$le_type");
 110      ligne("URL:$adresse_site/ecrire/message.php3?id_message=$id_message");
 111      
 112      ligne ("END:VEVENT");
 113      
 114  }
 115  
 116  // todo
 117  $result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE lien.id_auteur='$id_utilisateur' AND lien.id_message=messages.id_message AND messages.type='pb' AND messages.rv!='oui' AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
 118  while($row=spip_fetch_array($result_messages)){
 119      $id_message=$row['id_message'];
 120      $date_heure=$row["date_heure"];
 121      $titre = $row["titre"];
 122      $texte = $row["texte"];
 123      $type=$row["type"];
 124  
 125      if ($type == 'normal') {
 126          $le_type = _T('info_message_2');
 127          $result_auteurs=spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE (lien.id_message='$id_message' AND lien.id_auteur=auteurs.id_auteur)");
 128          while($row_auteur=spip_fetch_array($result_auteurs)){
 129              $id_auteur=$row_auteur['id_auteur'];
 130              $nom_auteur=$row_auteur['nom'];
 131              $email = $row_auteur ['email'];
 132  
 133              if ($id_auteur != $id_utilisateur) $titre = $titre." - ".$nom_auteur;
 134              
 135              if ($id_auteur == $id_utilisateur) ligne ("ORGANIZER:$nom_auteur <$email>");
 136              else  ligne ("ATTENDEE:$nom_auteur <$email>");
 137          }
 138      }
 139      else if ($type == 'pb') {
 140          $le_type = _T('info_pense_bete');
 141      }
 142      else if ($type == 'affich') {
 143          $le_type = _T('info_annonce');
 144          $titre = "[$nom_site] $titre";
 145      }
 146      
 147      ligne ("BEGIN:VTODO");
 148      ligne ("SUMMARY:".$titre);
 149      ligne ("DESCRIPTION:$texte");
 150      ligne ("UID:mess$id_message @ $adresse_site");
 151      ligne ("DTSTAMP:".date_ical($date_heure));
 152      ligne ("DTSTART:".date_ical($date_heure));
 153      ligne ("CATEGORIES:$le_type");
 154      ligne ("URL:$adresse_site/ecrire/message.php3?id_message=$id_message");
 155      ligne ("END:VTODO");
 156  
 157  }
 158  
 159  // Articles et breves proposes
 160  $titres = Array();
 161  $result_articles = spip_query("SELECT id_article, titre, date FROM spip_articles WHERE statut = 'prop'");
 162  while($row=spip_fetch_array($result_articles)){
 163      $id_article=$row['id_article'];
 164      $titre = supprimer_numero($row['titre']);
 165      $titres[] = $titre;
 166      $date_heure = $row['date'];
 167      $nb_articles ++;
 168      ligne ("BEGIN:VEVENT");
 169      ligne ("SUMMARY:[$nom_site] $titre ("._T('info_article_propose').")");
 170      ligne ("UID:article$id_article @ $adresse_site");
 171      ligne ("DTSTAMP:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 172      ligne ("DTSTART;VALUE=DATE:".date ("Ymd", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 173      ligne ("CATEGORIES:"._T('info_article_propose'));
 174      ligne("URL:$adresse_site/ecrire/articles.php3?id_article=$id_article");
 175      ligne ("END:VEVENT");
 176  }
 177  
 178  $result_articles = spip_query("SELECT id_breve, titre, date_heure FROM spip_breves WHERE statut = 'prop'");
 179  while($row=spip_fetch_array($result_articles)){
 180      $id_breve=$row['id_breve'];
 181      $titre = supprimer_numero($row['titre']);
 182      $titres[] = $titre;
 183      $date_heure = $row['date_heure'];
 184      $nb_breves++;
 185      ligne ("BEGIN:VEVENT");
 186      ligne ("SUMMARY:[$nom_site] $titre ("._T('item_breve_proposee').")");
 187      ligne ("UID:breve$id_breve @ $adresse_site");
 188      ligne ("DTSTAMP:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 189      ligne ("DTSTART;VALUE=DATE:".date ("Ymd", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 190      ligne ("CATEGORIES:"._T('item_breve_proposee'));
 191      ligne ("URL:$adresse_site/ecrire/breves_voir.php3?id_breve=$id_breve");
 192      ligne ("END:VEVENT");
 193  
 194  }
 195  
 196  if ($nb_articles + $nb_breves > 0) {
 197      if ($nb_articles > 0) $titre_prop[] = _T('info_articles_proposes').": ".$nb_articles;
 198      if ($nb_breves > 0) $titre_prop[] = _T('info_breves_valider').": ".$nb_breves;
 199      $titre = join($titre_prop," / ");
 200      ligne ("BEGIN:VTODO");
 201      ligne ("SUMMARY:[$nom_site] $titre");
 202      ligne ("UID:prop @ $adresse_site");
 203      $texte = join($titres," / ");
 204      ligne ("DESCRIPTION:$texte");
 205      
 206      $today=getdate(time());
 207      $jour = $today["mday"];
 208      $mois=$today["mon"];
 209      $annee=$today["year"];
 210      ligne ("DTSTAMP:".date ("Ymd\THis", mktime (12,0,0,$mois,$jour,$annee)));
 211      ligne ("DTSTART:".date ("Ymd\THis", mktime (12,0,0,$mois,$jour,$annee)));
 212      ligne ("CATEGORIES:"._T('icone_a_suivre'));
 213      ligne ("URL:$adresse_site/ecrire/");
 214      ligne ("END:VTODO");
 215  }
 216  
 217  
 218  // Nouveaux messages
 219  
 220  $result_messages = spip_query("SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE lien.id_auteur=$id_utilisateur AND vu='non' AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message");
 221  while($row=spip_fetch_array($result_messages)){
 222      $id_message=$row['id_message'];
 223      $date_heure=$row["date_heure"];
 224      $titre = $row["titre"];
 225      $texte = $row["texte"];
 226      $type=$row["type"];
 227  
 228      if ($type == 'normal') {
 229          $le_type = _T('info_message_2');
 230          $result_auteurs=spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE (lien.id_message='$id_message' AND lien.id_auteur=auteurs.id_auteur)");
 231          while($row_auteur=spip_fetch_array($result_auteurs)){
 232              $id_auteur=$row_auteur['id_auteur'];
 233              $nom_auteur = $row_auteur['nom'];
 234              $email = $row_auteur ['email'];
 235  
 236              if ($id_auteur != $id_utilisateur) $titre = $nom_auteur." - ".$titre;
 237              
 238              if ($id_auteur == $id_utilisateur) ligne ("ORGANIZER:$nom_auteur <$email>");
 239              else  ligne ("ATTENDEE:$nom_auteur <$email>");
 240          }
 241          $query_forum = "SELECT * FROM spip_forum WHERE statut='perso' AND id_message='$id_message' ORDER BY date_heure DESC LIMIT 0,1";
 242          $result_forum = spip_query($query_forum);
 243          if ($row_forum = spip_fetch_array($result_forum)) {
 244              $date_heure = $row_forum["date_heure"];
 245              $texte = $row_forum["texte"];
 246              $titre = $row_forum["titre"];
 247              $id_auteur = $row_forum["id_auteur"];
 248  
 249              $result_auteurs2 = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur = $id_auteur");
 250              if ($row_auteur2 = spip_fetch_array($result_auteurs2)){
 251                  $nom_auteur = $row_auteur2['nom'];
 252                  $email = $row_auteur2 ['email'];
 253                  
 254                  $titre = $nom_auteur." - ".$titre;
 255              }
 256          }
 257      }
 258      else if ($type == 'pb') {
 259          $le_type = _T('info_pense_bete');
 260      }
 261      else if ($type == 'affich') {
 262          $le_type = _T('info_annonce');
 263          $titre = "[$nom_site] $titre";
 264      }
 265  
 266      
 267      
 268      ligne ("BEGIN:VTODO");
 269      ligne ("SUMMARY:".$titre);
 270      ligne ("DESCRIPTION:$texte");
 271      ligne ("UID:nouv_mess$id_message @ $adresse_site");
 272      ligne ("DTSTAMP:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 273      ligne ("DTSTART:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 274      ligne ("CATEGORIES:$le_type");
 275      ligne("URL:$adresse_site/ecrire/message.php3?id_message=$id_message");
 276      ligne ("END:VTODO");
 277      
 278  }
 279  
 280  // Messages de forum a valider
 281  if ($statut_utilisateur == "0minirezo") {
 282  
 283      $query_forum = "SELECT * FROM spip_forum WHERE statut = 'prop'";
 284      $result_forum = spip_query($query_forum);
 285  
 286      while($row=spip_fetch_array($result_forum)){
 287          $nb_forum ++;
 288      
 289          $id_forum=$row['id_forum'];
 290          $date_heure = $row['date_heure'];
 291          $titre = $row['titre'];
 292          $texte = $row['texte'];
 293          $auteur = $row['auteur'];
 294          $email_auteur = $row['email_auteur'];
 295          if ($email_auteur) $email_auteur = "<$email_auteur>";
 296          
 297          ligne ("BEGIN:VEVENT");
 298          ligne ("SUMMARY:[$nom_site] $titre "._T('icone_forum_suivi'));
 299          ligne ("DESCRIPTION:$texte\r$auteur $email_auteur");
 300          ligne ("UID:forum$id_forum @ $adresse_site");
 301          ligne ("DTSTAMP:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 302          ligne ("DTSTART:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure),0,mois($date_heure),jour($date_heure),annee($date_heure))));
 303          ligne ("DTEND:".date ("Ymd\THis", mktime (heures($date_heure),minutes($date_heure)+60,0,mois($date_heure),jour($date_heure),annee($date_heure))));
 304          ligne ("CATEGORIES:"._T('icone_forum_suivi'));
 305          ligne("URL:$adresse_site/ecrire/controle_forum.php3");
 306          ligne ("END:VEVENT");
 307  
 308  
 309          
 310      }
 311  
 312      if ($nb_forum > 0) {
 313          ligne ("BEGIN:VTODO");
 314          ligne ("SUMMARY:[$nom_site] "._T('icone_forum_suivi').": $nb_forum");
 315          ligne ("UID:forum @ $adresse_site");
 316          
 317          $today=getdate(time());
 318          $jour = $today["mday"];
 319          $mois=$today["mon"];
 320          $annee=$today["year"];
 321          ligne ("DTSTAMP:".date ("Ymd\THis", mktime (12,0,0,$mois,$jour,$annee)));
 322          ligne ("DTSTART:".date ("Ymd\THis", mktime (12,0,0,$mois,$jour,$annee)));
 323          ligne ("CATEGORIES:"._T('icone_forum_suivi'));
 324          ligne("URL:$adresse_site/ecrire/controle_forum.php3");
 325          ligne ("END:VTODO");
 326      }
 327  }
 328  
 329  
 330  
 331  
 332  ligne ("END:VCALENDAR");
 333  
 334  
 335  ?>


Généré le : Thu Feb 22 22:27:47 2007 par Balluche grâce à PHPXref 0.7