[ 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.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  //if (!file_exists("inc_connect.php")) {
  20  if (!file_exists(dirname(__FILE__). "/include/bd/inc_config_metier.php")) {
  21      @header("Location: install.php");
  22      exit;
  23  }
  24  
  25  include(dirname(__FILE__). "/inc_version.php");
  26  // Démarrage d'une session (le cache de rubriques en a besoin)
  27  session_start();
  28  
  29  // Ajout Olivier Mansour 
  30  require_once(dirname(__FILE__). "/inc_connect.php");
  31  
  32  if (!$GLOBALS['db_ok']) {
  33      // Message d'erreur base de donnees
  34      include_ecrire ('inc_presentation.php');
  35      install_debut_html(_T('info_travaux_titre'));
  36      echo "<p>" . _T('titre_probleme_technique'). "</p>\n";
  37      install_fin_html();
  38      die();
  39  }
  40  
  41  require_once(dirname(__FILE__). "/include/bd/inc_auteur_factory.php");
  42  require_once(dirname(__FILE__). "/include/bd/inc_breve_factory.php");
  43  require_once(dirname(__FILE__). "/include/bd/inc_rubrique_factory.php");
  44  require_once(dirname(__FILE__). "/include/bd/inc_syndic_factory.php");
  45  require_once(dirname(__FILE__). "/include/bd/inc_article_factory.php");
  46  require_once(dirname(__FILE__). "/include/authorization/inc_authorization_factory.php");
  47  include_ecrire ("inc_auth.php");
  48  include_ecrire ("inc_presentation.php");
  49  include_ecrire ("inc_texte.php");
  50  include_ecrire ("inc_filtres.php");
  51  include_ecrire ("inc_urls.php");
  52  include_ecrire ("inc_layer.php");
  53  include_ecrire ("inc_rubriques.php");
  54  
  55  // verif de l'acces au back 
  56  $authorization = &recuperer_instance_authorization('autoriseBackOffice', $GLOBALS['connect_id_auteur']);
  57  
  58  if (!$authorization->isAuthorizedAction()) {
  59      // TODO : chaine de langue
  60      echo(_T('avis_acces_interdit'));
  61      echo ' ';
  62      die(_T('info_permissions'));
  63  }
  64  
  65  if (!file_exists(dirname(__FILE__). "/data/inc_meta_cache.php"))
  66      ecrire_metas();
  67  
  68  //
  69  // Preferences de presentation
  70  //
  71  
  72  if ($set_couleur) {
  73      $prefs['couleur'] = floor($set_couleur);
  74      $prefs_mod = true;
  75  }
  76  
  77  if ($set_disp) {
  78      $prefs['display'] = floor($set_disp);
  79      $prefs_mod = true;
  80  }
  81  
  82  if ($set_options == 'avancees' OR $set_options == 'basiques') {
  83      $prefs['options'] = $set_options;
  84      $prefs_mod = true;
  85  }
  86  
  87  if ($prefs_mod) {
  88      $auteurMetier = &recuperer_instance_auteur();
  89      $loadOK = $auteurMetier->load($connect_id_auteur);
  90      if (PEAR::isError($loadOK)) {
  91          die($loadOK->getMessage());
  92      }
  93      else {
  94          $auteurMetier->setPrefs(serialize($prefs));
  95          $updateOK = $auteurMetier->update();
  96          if (PEAR::isError($updateOK)) {
  97              die($updateOK->getMessage());
  98          }
  99      }
 100  }
 101  
 102  if ($var_lang) {
 103      if (changer_langue($var_lang)) {
 104          //----------Modification Clever Age elebescond----------
 105          $auteurMetier = &recuperer_instance_auteur();
 106          $loadOK = $auteurMetier->load($connect_id_auteur);
 107  
 108          if (PEAR::isError($loadOK)) {
 109              die($loadOK->getMessage());
 110          }
 111  
 112          $auteurMetier->setLang($var_lang);
 113          $updateOK = $auteurMetier->update();
 114  
 115          if (PEAR::isError($updateOK)) {
 116              die($updateOK->getMessage());
 117          }
 118          $auteur_session['lang'] = $var_lang;
 119          ajouter_session($auteur_session, $spip_session);
 120  
 121          // Poser un cookie, pour les pages n'ayant pas acces aux meta
 122          spip_setcookie('spip_lang', $var_lang, time() + 365 * 24 * 3600);
 123      }
 124  }
 125  
 126  if ($set_ecran) {
 127      // Poser un cookie, car ce reglage depend plus du navigateur que de l'utilisateur
 128      spip_setcookie('spip_ecran', $set_ecran, time() + 365 * 24 * 3600);
 129      $spip_ecran = $set_ecran;
 130  }
 131  
 132  if (!$spip_ecran)
 133      $spip_ecran = "etroit";
 134  
 135  // Debloquer articles
 136  if ($debloquer_article <> 'tous') {
 137      $articleMetier = recuperer_instance_article();
 138      $articleMetier->unlock($debloquer_article, $connect_id_auteur);
 139  }
 140  
 141  if ($debloquer_article == 'tous') {
 142      $articleMetier = recuperer_instance_article();
 143      $openedArticles = $articleMetier->getOpened($connect_id_auteur);
 144      while (list(, $openedArticle) = each($openedArticles)) {
 145          $articleMetier->unlock($openedArticle->getArticleId(), $connect_id_auteur);
 146      }
 147  }
 148  
 149  // deux globales (compatibilite ascendante)
 150  $options = $prefs['options'];
 151  $spip_display = $prefs['display'];
 152  
 153  switch ($prefs['couleur']) {
 154      case 1:
 155          /// Vert
 156          $couleur_foncee = "#02531B";
 157          $couleur_claire = "#CFFEDE";
 158          $couleur_lien_off = "#304C38";
 159          $couleur_lien = "#854270";
 160          break;
 161  
 162      case 2:
 163          /// Rouge
 164          $couleur_foncee = "#640707";
 165          $couleur_claire = "#FFE0E0";
 166          $couleur_lien = "#346868";
 167          $couleur_lien_off = "#684747";
 168          break;
 169  
 170      case 3:
 171          /// Jaune
 172          $couleur_foncee = "#666500";
 173          $couleur_claire = "#FFFFE0";
 174          $couleur_lien = "#65659C";
 175          $couleur_lien_off = "#6A6A43";
 176          break;
 177  
 178      case 4:
 179          /// Violet
 180          $couleur_foncee = "#340049";
 181          $couleur_claire = "#F9EBFF";
 182          $couleur_lien = "#396B25";
 183          $couleur_lien_off = "#472854";
 184          break;
 185  
 186      case 5:
 187          /// Gris
 188          $couleur_foncee = "#3F3F3F";
 189          $couleur_claire = "#F2F2F2";
 190          $couleur_lien = "#854270";
 191          $couleur_lien_off = "#666666";
 192          break;
 193  
 194      case 6:
 195          /// Bleu
 196          $couleur_foncee = "#3874B0";
 197          $couleur_claire = "#EDF3FE";
 198          $couleur_lien = "#814E1B";
 199          $couleur_lien_off = "#435E79";
 200          break;
 201  
 202      case 7:
 203          /// Bleu pastelle
 204          $couleur_foncee = "#766CF6";
 205          $couleur_claire = "#EBE9FF";
 206          $couleur_lien = "#869100";
 207          $couleur_lien_off = "#5B55A0";
 208          break;
 209  
 210      case 8:
 211          /// Vert pastelles
 212          $couleur_foncee = "#009F3C";
 213          $couleur_claire = "#E2FDEC";
 214          $couleur_lien = "#EE0094";
 215          $couleur_lien_off = "#02722C";
 216          break;
 217  
 218      case 9:
 219          /// Rouge vif
 220          $couleur_foncee = "#FF0000";
 221          $couleur_claire = "#FFEDED";
 222          $couleur_lien = "#D302CE";
 223          $couleur_lien_off = "#D40202";
 224          break;
 225  
 226      case 10:
 227          /// Orange
 228          $couleur_foncee = "#E95503";
 229          $couleur_claire = "#FFF2EB";
 230          $couleur_lien = "#81A0C1";
 231          $couleur_lien_off = "#FF5B00";
 232          break;
 233  
 234      case 11:
 235          /// Violet clair
 236          $couleur_foncee = "#CD006F";
 237          $couleur_claire = "#FDE5F2";
 238          $couleur_lien = "#E95503";
 239          $couleur_lien_off = "#8F004D";
 240          break;
 241  
 242      case 12:
 243          /// Marron
 244          $couleur_foncee = "#8C6635";
 245          $couleur_claire = "#F5EEE5";
 246          $couleur_lien = "#1A64DF";
 247          $couleur_lien_off = "#955708";
 248          break;
 249  
 250      default:
 251          /// Bleu
 252          $couleur_foncee = "#3874B0";
 253          $couleur_claire = "#EDF3FE";
 254          $couleur_lien = "#814E1B";
 255          $couleur_lien_off = "#435E79";
 256  }
 257  
 258  //
 259  // Gestion de version
 260  //
 261  
 262  $version_installee = (double)lire_meta("version_installee");
 263  
 264  if ($version_installee <> $agora_version) {
 265      debut_page();
 266  
 267      if (!$version_installee)
 268          $version_installee = _T('info_anterieur');
 269  
 270      echo "<blockquote><blockquote><h4><font color='red'>" . _T('info_message_technique'). "</font><br> " . _T(
 271                                                                                                                 'info_procedure_maj_version'). "</h4>
 272      " . _T('info_administrateur_site_01'). " <a href='upgrade.php'>" . _T('info_administrateur_site_02'). "</a></blockquote></blockquote><p>";
 273      fin_page();
 274      exit;
 275  }
 276  
 277  //
 278  // Gestion de la configuration globale du site
 279  //
 280  if (!$adresse_site) {
 281      $nom_site_spip = lire_meta("nom_site");
 282      $adresse_site = lire_meta("adresse_site");
 283  }
 284  
 285  if (!$activer_breves) {
 286      $activer_breves = lire_meta("activer_breves");
 287      $articles_mots = lire_meta("articles_mots");
 288  }
 289  
 290  if (!$activer_statistiques) {
 291      $activer_statistiques = lire_meta("activer_statistiques");
 292  }
 293  
 294  if (!$nom_site_spip) {
 295      $nom_site_spip = _T('info_mon_site_spip');
 296      ecrire_meta("nom_site", $nom_site_spip);
 297      ecrire_metas();
 298  }
 299  
 300  if (!$adresse_site) {
 301      $adresse_site = "http://$HTTP_HOST" . substr($REQUEST_URI, 0, strpos($REQUEST_URI, "/ecrire"));
 302      ecrire_meta("adresse_site", $adresse_site);
 303      ecrire_metas();
 304  }
 305  
 306  function tester_rubrique_vide ($id_rubrique) {
 307      //----------Modification Clever Age elebescond----------
 308      $rubriqueMetier = &recuperer_instance_rubrique();
 309      $allForParentIdOK = $rubriqueMetier->getAllForParentId($id_rubrique);
 310  
 311      if (PEAR::isError($allForParentIdOK)) {
 312          die($allForParentIdOK->getMessage());
 313      }
 314  
 315      if (sizeOf($allForParentIdOK) > 0)
 316          return false;
 317  
 318      //----------Modification Clever Age elebescond----------
 319      $rubriqueMetier = &recuperer_instance_rubrique();
 320      /******* Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 321      $articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'mappe', 'map_off', 'prepa', 'prop', 'archi');
 322      //$articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'prepa', 'prop', 'archi');
 323      /******* Fin Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 324  
 325      if (PEAR::isError($articleIdsForRubriqueIdAndStatutOK)) {
 326          die($articleIdsForRubriqueIdAndStatutOK->getMessage());
 327      }
 328  
 329      if (sizeOf($articleIdsForRubriqueIdAndStatutOK) > 0)
 330          return false;
 331  
 332      $rubriqueMetier = &recuperer_instance_rubrique();
 333      $breveIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getBreveIdsForRubriqueIdAndStatut(
 334                                              $id_rubrique, 'publie', 'prop');
 335  
 336      if (PEAR::isError($breveIdsForRubriqueIdAndStatutOK)) {
 337          die($breveIdsForRubriqueIdAndStatutOK->getMessage());
 338      }
 339  
 340      if (sizeOf($breveIdsForRubriqueIdAndStatutOK) > 0)
 341          return false;
 342  
 343      //----------Modification Clever Age elebescond----------
 344      $rubriqueMetier = &recuperer_instance_rubrique();
 345      $syndicIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getSyndicIdsForRubriqueIdAndStatut(
 346                                               $id_rubrique, 'publie', 'prop');
 347  
 348      if (PEAR::isError($syndicIdsForRubriqueIdAndStatutOK)) {
 349          die($syndicIdsForRubriqueIdAndStatutOK->getMessage());
 350      }
 351  
 352      if (sizeOf($syndicIdsForRubriqueIdAndStatutOK) > 0)
 353          return false;
 354  
 355      /* Modification Clever Age, elebescond, utilisation couche métier */
 356      $documentMetier = &recuperer_instance_document();
 357      $allDocumentIdForLinkId = $documentMetier->getAllDocumentIdForLinkId("rubrique", $id_rubrique);
 358  
 359      if (sizeOf($allDocumentIdForLinkId) > 0)
 360          return false;
 361      return true;
 362  }
 363  
 364  //
 365  // Recuperation du cookie
 366  //
 367  
 368  $cookie_admin = $HTTP_COOKIE_VARS['spip_admin'];
 369  
 370  //
 371  // Supprimer / valider forum
 372  //
 373  
 374  function changer_statut_forum ($id_forum, $statut) {
 375      global $connect_statut, $connect_toutes_rubriques;
 376  
 377      //----------------Zone de modifications Clever Age elebescond@clever-age.com----------
 378      $authorization = &recuperer_instance_authorization('changerStatutMessage', $GLOBALS['connect_id_auteur'],
 379                                                         array('id_forum' => $id_forum, 'statut' => $statut));
 380  
 381      if (!$authorization->isAuthorizedAction()) {
 382          return;
 383      }
 384  
 385      $forumMetier = &recuperer_instance_forum();
 386      $loadOK = $forumMetier->load($id_forum);
 387  
 388      if (PEAR::isError($loadOK)) {
 389          die($loadOK->getMessage());
 390      }
 391      else {
 392          $id_parent = $forumMetier->getParentId();
 393          $id_rubrique = $forumMetier->getRubriqueId();
 394          $id_article = $forumMetier->getArticleId();
 395          $id_breve = $forumMetier->getBreveId();
 396          $id_syndic = $forumMetier->getSyndicId();
 397      }
 398  
 399      $deleteFichierOK = $forumMetier->deleteFichier($forum_id_article, $forum_id_rubrique, $forum_id_breve,
 400                                                     $forum_id_parent, "../CACHE");
 401  
 402      if (PEAR::isError($deleteFichierOK)) {
 403          die($deleteFichierOK->getMessage());
 404      }
 405  
 406      $forumMetier = &recuperer_instance_forum();
 407      $loadOK = $forumMetier->load($id_forum);
 408  
 409      if (PEAR::isError($loadOK)) {
 410          die($loadOK->getMessage());
 411      }
 412      else {
 413          if ($forumMetier->changeStatutOK($forumMetier->getForumId(), $statut)) {
 414              $forumMetier->setStatut($statut);
 415  
 416              if ($forumMetier->getParentId() != 0) {
 417                  $forumPere = &recuperer_instance_forum();
 418                  $loadOK = $forumPere->load($forumMetier->getParentId());
 419  
 420                  if (PEAR::isError($loadOK)) {
 421                      die($loadOK->getMessage());
 422                  }
 423  
 424                  if (isset($GLOBALS['redirection_forum'])) {
 425                  //$redirect = $GLOBALS['redirection_forum']?.id_forum$GLOBALS['HTTP_GET_VARS'];
 426                      }
 427                  else {
 428                      global $type_forum;
 429                      switch ($type_forum) {
 430                          case 'article':
 431                              $redirect = '/article.php?id_article=' . $GLOBALS['HTTP_GET_VARS']['id_current_forum'];
 432                              break;
 433  
 434                          case 'rubrique':
 435                              $redirect = '/rubrique.php?id_rubrique=' . $GLOBALS['HTTP_GET_VARS']['id_current_forum'];
 436                              break;
 437  
 438                          case 'breve':
 439                              $redirect = '/breve.php?id_breve=' . $GLOBALS['HTTP_GET_VARS']['id_current_forum'];
 440                              break;
 441                      }
 442                  }
 443  
 444                  if ($forumMetier->getStatut() == 'publie') {
 445                      $forumPere->sendMail($forumMetier, lire_meta('adresse_site'). $redirect);
 446                      $forumMetier->advertiseAuthorPublished(lire_meta('adresse_site'). $redirect);
 447                  }
 448                  if ($forumMetier->getStatut() == 'refuse') {
 449                      $forumMetier->advertiseAuthorRefused();
 450                  }
 451              }
 452  
 453              $updateOK = $forumMetier->update();
 454              if (PEAR::isError($updateOK)) {
 455                  die($updateOK->getMessage());
 456              }
 457          }
 458      }
 459  }
 460  
 461  if ($poub_forum)
 462      changer_statut_forum($poub_forum, 'poubelle');
 463  
 464  if ($off_forum)
 465      changer_statut_forum($off_forum, 'off');
 466  
 467  if ($supp_forum_priv)
 468      changer_statut_forum($supp_forum_priv, 'privoff');
 469  
 470  if ($valid_forum)
 471      changer_statut_forum($valid_forum, 'publie');
 472  
 473  // Supprimer rubrique
 474  $authorization = &recuperer_instance_authorization('supprimerRubrique', $GLOBALS['connect_id_auteur'], array('supp_rubrique' => $supp_rubrique));
 475  
 476  if ($supp_rubrique = intval($supp_rubrique)AND tester_rubrique_vide($supp_rubrique)AND $authorization->isAuthorizedAction()) {
 477      //if ($supp_rubrique = intval($supp_rubrique) AND $connect_statut == 'minirezo' AND acces_rubrique($supp_rubrique)) {
 478      $rubriqueMetier = &recuperer_instance_rubrique();
 479      $deleteOK = $rubriqueMetier->delete($supp_rubrique);
 480      if (PEAR::isError($deleteOK)) {
 481          die($deleteOK->getMessage());
 482      }
 483  }
 484  ?>


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