Skip to content
Extraits de code Groupes Projets
Valider 38eca4bc rédigé par Fil's avatar Fil
Parcourir les fichiers

pas la peine de charger inc-admin.php3 pour les visiteurs normaux !

parent bcd8ac8f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -105,4 +105,26 @@ function admin_dyn($id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur, $d ...@@ -105,4 +105,26 @@ function admin_dyn($id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur, $d
} }
// Inserer la feuille de style selon les normes, dans le <head>
// Feuilles de style admin : d'abord la CSS officielle, puis la perso,
function perso_admin($texte) {
$css = "<link rel='stylesheet' href='spip_admin.css' type='text/css' />\n";
if (@file_exists('spip_admin_perso.css'))
$css2 = "<link rel='stylesheet' href='spip_admin_perso.css' type='text/css' />\n";
else $css2 = '';
$x = strpos($texte,$css);
if ($x !== false) {
if ($css2) {
$x+=strlen($css);
return substr($texte,0,$x) . $css2 . substr($texte,$x+1);
} else return $texte;
} else {
if (eregi('<(/head|body)', $texte, $regs)) {
$texte = explode($regs[0], $texte, 2);
return $texte[0] . $css. $css2 . $regs[0] . $texte[1];
} else
return $css . $css2 . $texte;
}
}
?> ?>
...@@ -248,41 +248,19 @@ function inclure_page($fond, $delais_inclus, $contexte_inclus, $cache_incluant=' ...@@ -248,41 +248,19 @@ function inclure_page($fond, $delais_inclus, $contexte_inclus, $cache_incluant='
// Retourner le contenu... // Retourner le contenu...
return $page; return $page;
} }
function inclure_formulaire($r) { function inclure_formulaire($r) {
if (is_string($r)) if (is_string($r))
echo $r; echo $r; # ??? c'est du debug ou quoi ?
else { else {
list($fond, $delais, $contexte_inclus) = $r; list($fond, $delais, $contexte_inclus) = $r;
if ((!$contexte_inclus['lang']) AND if ((!$contexte_inclus['lang']) AND
($GLOBALS['spip_lang'] != lire_meta('langue_site'))) ($GLOBALS['spip_lang'] != lire_meta('langue_site')))
$contexte_inclus['lang'] = $GLOBALS['spip_lang']; $contexte_inclus['lang'] = $GLOBALS['spip_lang'];
include('inc-public.php3'); include('inc-public.php3');
} }
} }
// Inserer la feuille de style selon les normes, dans le <head>
// Feuilles de style admin : d'abord la CSS officielle, puis la perso,
function perso_admin($texte) {
$css = "<link rel='stylesheet' href='spip_admin.css' type='text/css' />";
if (@file_exists('spip_admin_perso.css'))
$css2 = "<link rel='stylesheet' href='spip_admin_perso.css' type='text/css' />\n";
else $css2 = '';
$x = strpos($texte,$css);
if ($x !== false) {
if ($css2) {
$x+=strlen($css);
return substr($texte,0,$x) . $css2 . substr($texte,$x+1);
} else return $texte;
} else {
if (eregi('<(/head|body)', $texte, $regs)) {
$texte = explode($regs[0], $texte, 2);
return $texte[0].$css."\n" . $css2.$regs[0].$texte[1];
} else return $texte . $css . "\n" . $css2;
}
}
?> ?>
...@@ -60,101 +60,103 @@ else { ...@@ -60,101 +60,103 @@ else {
} }
include_local ('inc-public-global.php3'); include_local ('inc-public-global.php3');
include_local('inc-admin.php3');
// refus du debug si pas dans les options generales ni admin connecte // refus du debug si pas dans les options generales ni admin connecte
if ($var_mode=='debug') { if ($var_mode=='debug') {
if (($code_activation_debug == 'oui') if (($code_activation_debug == 'oui')
OR $auteur_session['statut'] == '0minirezo') OR $auteur_session['statut'] == '0minirezo')
spip_log('debug !'); spip_log('debug !');
else else
$var_mode = false; $var_mode = false;
} }
// est-on admin ? // est-on admin ?
$affiche_boutons_admin = (!$flag_preserver if ($affiche_boutons_admin = (!$flag_preserver
AND ($HTTP_COOKIE_VARS['spip_admin'] AND ($HTTP_COOKIE_VARS['spip_admin']
OR $HTTP_COOKIE_VARS['spip_debug'])); OR $HTTP_COOKIE_VARS['spip_debug'])))
include_local('inc-admin.php3');
$tableau_des_erreurs = array(); $tableau_des_erreurs = array();
$page = afficher_page_globale ($fond, $delais, $use_cache); $page = afficher_page_globale ($fond, $delais, $use_cache);
// Interdire au client de cacher un login, un admin ou un recalcul // Interdire au client de cacher un login, un admin ou un recalcul
if ($flag_dynamique OR $var_mode if ($flag_dynamique OR $var_mode
OR $HTTP_COOKIE_VARS['spip_admin']) { OR $HTTP_COOKIE_VARS['spip_admin']) {
@header("Cache-Control: no-cache,must-revalidate"); @header("Cache-Control: no-cache,must-revalidate");
@header("Pragma: no-cache"); @header("Pragma: no-cache");
// Pour les autres donner l'heure de modif // Pour les autres donner l'heure de modif
} else if ($lastmodified) } else if ($lastmodified)
@Header ("Last-Modified: ".http_gmoddate($lastmodified)." GMT"); @Header ("Last-Modified: ".http_gmoddate($lastmodified)." GMT");
// si le squelette est nul se rabattre sur l'entete standard // si le squelette est nul se rabattre sur l'entete standard
if ($page['texte']) if ($page['texte'])
@header("Content-Type: text/html; charset=".lire_meta('charset')); @header("Content-Type: text/html; charset=".lire_meta('charset'));
else echo debut_entete($fond); else
// Faudra-t-il post-traiter la page ? echo debut_entete($fond);
define('spip_active_ob', $flag_ob AND define('spip_active_ob', $flag_ob AND
($var_mode == 'debug' OR $var_recherche OR $affiche_boutons_admin)); ($var_mode == 'debug' OR $var_recherche OR $affiche_boutons_admin));
// Cas d'une page contenant uniquement du HTML : // Cas d'une page contenant uniquement du HTML :
if ($page['process_ins'] == 'html') { if ($page['process_ins'] == 'html') {
if (!spip_active_ob) { if (!spip_active_ob) {
echo $page['texte']; echo $page['texte'];
$contenu = ''; $contenu = '';
} else } else
$contenu = $page['texte']; $contenu = $page['texte'];
} }
// Cas d'une page contenant du PHP : // Cas d'une page contenant du PHP :
else { else {
// Evaluer la page // Evaluer la page
if (!spip_active_ob) {
if (!spip_active_ob) { eval('?' . '>' . $page['texte']);
eval('?' . '>' . $page['texte']); $contenu = '';
$contenu = ''; } else {
} else { ob_start();
ob_start(); $res = eval('?' . '>' . $page['texte']);
$res = eval('?' . '>' . $page['texte']); $contenu = ob_get_contents();
$contenu = ob_get_contents(); ob_end_clean();
ob_end_clean();
// en cas d'erreur lors du eval, afficher un message
// en cas d'erreur lors du eval, afficher un message // et forcer les boutons de debug
// et forcer les boutons de debug if ($res === false AND $affiche_boutons_admin
if ($res === false AND $affiche_boutons_admin AND $auteur_session['statut'] == '0minirezo') {
AND $auteur_session['statut'] == '0minirezo') { include_ecrire('inc_debug_sql.php3');
include_ecrire('inc_debug_sql.php3'); erreur_squelette(_L('erreur d\'execution de la page'));
erreur_squelette(_L('erreur d\'execution de la page'));
}
} }
} }
}
if ($affiche_boutons_admin) $contenu = perso_admin($contenu); // Passer la main au debuggueur le cas echeant
if ($var_mode == 'debug') {
// Passer la main au debuggueur le cas echeant include_ecrire("inc_debug_sql.php3");
if ($var_mode == 'debug') { debug_dumpfile('',$var_mode_objet,$var_mode_affiche);
include_ecrire("inc_debug_sql.php3"); exit;
debug_dumpfile('',$var_mode_objet,$var_mode_affiche); } else if (count($tableau_des_erreurs) > 0
exit; AND $affiche_boutons_admin)
} else if (count($tableau_des_erreurs) > 0 affiche_erreurs_page ($tableau_des_erreurs);
AND $affiche_boutons_admin)
affiche_erreurs_page ($tableau_des_erreurs); // Traiter var_recherche pour surligner les mots
if ($var_recherche) {
// Traiter var_recherche pour surligner les mots include_ecrire("inc_surligne.php3");
if ($var_recherche) { $contenu = surligner_mots($contenu, $var_recherche);
include_ecrire("inc_surligne.php3"); }
$contenu = surligner_mots($contenu, $var_recherche);
} // Ajouter au besoin la CSS des boutons admins
if ($affiche_boutons_admin)
$contenu = perso_admin($contenu);
// Afficher le resultat final
echo $contenu;
echo $contenu; // Afficher les boutons admin
if ($affiche_boutons_admin)
inclure_formulaire(
admin_dyn($id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur));
// Ajouter les boutons admins (les normaux) si absents // Taches de fin
// (ce sera apres la balise /html mais tant pis) terminer_public_global();
if ($affiche_boutons_admin) {
echo inclure_formulaire(admin_dyn($id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur));
}
terminer_public_global();
} }
?> ?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter