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
}
// 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='
// Retourner le contenu...
return $page;
}
function inclure_formulaire($r) {
if (is_string($r))
echo $r;
echo $r; # ??? c'est du debug ou quoi ?
else {
list($fond, $delais, $contexte_inclus) = $r;
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'];
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 {
}
include_local ('inc-public-global.php3');
include_local('inc-admin.php3');
// refus du debug si pas dans les options generales ni admin connecte
if ($var_mode=='debug') {
if (($code_activation_debug == 'oui')
OR $auteur_session['statut'] == '0minirezo')
spip_log('debug !');
else
$var_mode = false;
if (($code_activation_debug == 'oui')
OR $auteur_session['statut'] == '0minirezo')
spip_log('debug !');
else
$var_mode = false;
}
// est-on admin ?
$affiche_boutons_admin = (!$flag_preserver
AND ($HTTP_COOKIE_VARS['spip_admin']
OR $HTTP_COOKIE_VARS['spip_debug']));
if ($affiche_boutons_admin = (!$flag_preserver
AND ($HTTP_COOKIE_VARS['spip_admin']
OR $HTTP_COOKIE_VARS['spip_debug'])))
include_local('inc-admin.php3');
$tableau_des_erreurs = array();
$page = afficher_page_globale ($fond, $delais, $use_cache);
// Interdire au client de cacher un login, un admin ou un recalcul
if ($flag_dynamique OR $var_mode
OR $HTTP_COOKIE_VARS['spip_admin']) {
@header("Cache-Control: no-cache,must-revalidate");
@header("Pragma: no-cache");
// Pour les autres donner l'heure de modif
if ($flag_dynamique OR $var_mode
OR $HTTP_COOKIE_VARS['spip_admin']) {
@header("Cache-Control: no-cache,must-revalidate");
@header("Pragma: no-cache");
// Pour les autres donner l'heure de modif
} 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
if ($page['texte'])
@header("Content-Type: text/html; charset=".lire_meta('charset'));
else echo debut_entete($fond);
// Faudra-t-il post-traiter la page ?
else
echo debut_entete($fond);
define('spip_active_ob', $flag_ob AND
($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 (!spip_active_ob) {
echo $page['texte'];
$contenu = '';
} else
$contenu = $page['texte'];
}
if (!spip_active_ob) {
echo $page['texte'];
$contenu = '';
} else
$contenu = $page['texte'];
}
// Cas d'une page contenant du PHP :
// Cas d'une page contenant du PHP :
else {
// Evaluer la page
if (!spip_active_ob) {
eval('?' . '>' . $page['texte']);
$contenu = '';
} else {
ob_start();
$res = eval('?' . '>' . $page['texte']);
$contenu = ob_get_contents();
ob_end_clean();
// en cas d'erreur lors du eval, afficher un message
// et forcer les boutons de debug
if ($res === false AND $affiche_boutons_admin
AND $auteur_session['statut'] == '0minirezo') {
include_ecrire('inc_debug_sql.php3');
erreur_squelette(_L('erreur d\'execution de la page'));
}
// Evaluer la page
if (!spip_active_ob) {
eval('?' . '>' . $page['texte']);
$contenu = '';
} else {
ob_start();
$res = eval('?' . '>' . $page['texte']);
$contenu = ob_get_contents();
ob_end_clean();
// en cas d'erreur lors du eval, afficher un message
// et forcer les boutons de debug
if ($res === false AND $affiche_boutons_admin
AND $auteur_session['statut'] == '0minirezo') {
include_ecrire('inc_debug_sql.php3');
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') {
include_ecrire("inc_debug_sql.php3");
debug_dumpfile('',$var_mode_objet,$var_mode_affiche);
exit;
} else if (count($tableau_des_erreurs) > 0
AND $affiche_boutons_admin)
affiche_erreurs_page ($tableau_des_erreurs);
// Traiter var_recherche pour surligner les mots
if ($var_recherche) {
include_ecrire("inc_surligne.php3");
$contenu = surligner_mots($contenu, $var_recherche);
}
// Passer la main au debuggueur le cas echeant
if ($var_mode == 'debug') {
include_ecrire("inc_debug_sql.php3");
debug_dumpfile('',$var_mode_objet,$var_mode_affiche);
exit;
} else if (count($tableau_des_erreurs) > 0
AND $affiche_boutons_admin)
affiche_erreurs_page ($tableau_des_erreurs);
// Traiter var_recherche pour surligner les mots
if ($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
// (ce sera apres la balise /html mais tant pis)
if ($affiche_boutons_admin) {
echo inclure_formulaire(admin_dyn($id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur));
}
terminer_public_global();
// Taches de fin
terminer_public_global();
}
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter