[ PHPXref.com ] [ Generated: Sun Jul 20 20:25:42 2008 ] [ SPIP 1.8.3 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/ -> inc-public.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  // Distinguer une inclusion d'un appel initial
  15  if (defined("_INC_PUBLIC")) {
  16      $page = inclure_page($fond, $delais, $contexte_inclus);
  17      if ($page['process_ins'] == 'html')
  18          echo $page['texte'];
  19      else
  20          eval('?' . '>' . $page['texte']);
  21  
  22      if ($page['lang_select'] === true)
  23          lang_dselect();
  24  
  25  } else {
  26      define ("_INC_PUBLIC", 1);
  27      if (!function_exists('include_local')) { # cas de page.php3
  28          include  ("ecrire/inc_version.php3");
  29      }
  30      include_local('inc-public-global.php3');
  31  
  32      // Calculer la page sans evaluer le php qu'elle contient
  33      $page = calcule_header_et_page ($fond, $delais);
  34  
  35      // Execution de la page calculee
  36  
  37      // 1. Cas d'une page contenant uniquement du HTML :
  38      if ($page['process_ins'] == 'html') {
  39          $page = $page['texte'];
  40      }
  41  
  42      // 2. Cas d'une page contenant du PHP :
  43      // Attention cette partie eval() doit imperativement
  44      // etre declenchee dans l'espace des globales (donc pas
  45      // dans une fonction).
  46      else {
  47          // Une page "normale" va s'afficher ici
  48          if (! ($flag_ob 
  49              AND (($var_mode == 'debug')
  50                  OR $var_recherche
  51                  OR $affiche_boutons_admin
  52                  OR $xhtml        ))) {
  53              eval('?' . '>' . $page['texte']);
  54              $page = '';
  55          }
  56  
  57          // Certains cas demandent un ob_start() de plus
  58          else {
  59              ob_start(); 
  60              $res = eval('?' . '>' . $page['texte']);
  61              $page = ob_get_contents(); 
  62              ob_end_clean();
  63  
  64              // en cas d'erreur lors du eval,
  65              // la memoriser dans le tableau des erreurs
  66              // On ne revient pas ici si le nb d'erreurs > 4
  67              if ($res === false AND $affiche_boutons_admin
  68              AND $auteur_session['statut'] == '0minirezo') {
  69                  include_ecrire('inc_debug_sql.php3');
  70                  erreur_squelette(_T('zbug_erreur_execution_page'));
  71              }
  72          }
  73      }
  74  
  75      // Passer la main au debuggueur le cas echeant 
  76      if ($var_mode == 'debug') {
  77          include_ecrire("inc_debug_sql.php3");
  78          debug_dumpfile($var_mode_affiche== 'validation' ? $page :"",
  79                     $var_mode_objet,$var_mode_affiche);
  80      } 
  81      if (count($tableau_des_erreurs) > 0 AND $affiche_boutons_admin)
  82          $page = affiche_erreurs_page($tableau_des_erreurs) . $page;
  83  
  84      // Traiter var_recherche pour surligner les mots
  85      if ($var_recherche) {
  86          include_ecrire("inc_surligne.php3");
  87          $page = surligner_mots($page, $var_recherche);
  88      }
  89  
  90      // Valider/indenter a la demande. garder la compatibilite tidy
  91      if (trim($page) AND $xhtml AND !$flag_preserver AND !headers_sent()) {
  92          if ($xhtml === true) $xhtml = 'tidy';
  93          $file = 'inc_' . $xhtml. ".php";
  94  #        spip_log(_DIR_RESTREINT . $file);
  95          if (is_readable(_DIR_RESTREINT . $file)) { include_ecrire($file); }
  96          if (function_exists($xhtml))
  97              $page = $xhtml($page);
  98          else if (function_exists('xhtml'))
  99              $page = xhtml($page);
 100      }
 101  
 102      // Inserer au besoin les boutons admins
 103      if ($affiche_boutons_admin) {
 104          include_local("inc-admin.php3");
 105          $page = affiche_boutons_admin($page);
 106      }
 107  
 108      // Affichage final s'il en reste
 109      echo $page;
 110  
 111      // Taches de fond ?
 112      terminer_public_global();
 113  }
 114  
 115  ?>


[ Powered by PHPXref - Served by Debian GNU/Linux ]