Skip to content
Extraits de code Groupes Projets
Valider 4e4e2465 rédigé par esj's avatar esj
Parcourir les fichiers

consquences du formulaire_admin en squelette

parent 9c99e680
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -5,131 +5,106 @@
if (defined("_INC_ADMIN")) return;
define("_INC_ADMIN", "1");
include_ecrire('inc_debug_sql.php3');
global $admin_array ;
$admin_array = array('id_article', 'id_breve', 'id_rubrique', 'id_mot', 'id_auteur');
//
// Afficher un bouton admin
//
function bouton_admin($titre, $lien) {
return "<li><a href='$lien' class='spip-admin-boutons'>$titre</a></li>\n";
# on ne peut rien dire au moment de l'excution du squelette
function admin_stat($args, $filtres)
{
return $args;
}
# les boutons admin sont mis d'autorite si absents
# donc une variable statique controle si FORMULAIRE_ADMIN a ete vu.
# Toutefois, si c'est le debuger qui appelle,
# il peut avoir recopie le code dans ses donnees et il faut le lui refounir.
# Pas question de recompiler: ca fait boucler !
# Le debuger transmet donc ses donnees, et cette balise y retrouve son petit.
function admin_dyn($id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur, $debug='') {
global $var_preview, $use_cache;
static $dejafait = false;
if ($GLOBALS['flag_preserver'] || !$GLOBALS['spip_admin'])
return '';
if (!is_array($debug))
{
if ($dejafait) return '';
}
else {
if ($dejafait) {
$res = '';
foreach($debug['sourcefile'] as $k => $v) {
if (strpos($v,'formulaire_admin') === 0)
{return $debug['resultat'][$k . 'tout'];}
}
return '';
}
}
function afficher_boutons_admin($pop='', $forcer_debug = false /* cas ou l'eval() plante dans inc-public */) {
global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
global $var_preview;
include_ecrire("inc_filtres.php3");
include_ecrire("inc_lang.php3");
$dejafait = true;
include(_FILE_CONNECT);
// regler les boutons dans la langue de l'admin (sinon tant pis)
if ($login = addslashes(ereg_replace('^@','',$GLOBALS['spip_admin']))) {
$q = spip_query("SELECT lang FROM spip_auteurs WHERE login='$login'");
$row = spip_fetch_array($q);
$login = addslashes(ereg_replace('^@','',$GLOBALS['spip_admin']));
if ($row = spip_fetch_array(spip_query("SELECT lang FROM spip_auteurs WHERE login='$login'"))) {
$lang = $row['lang'];
lang_select($lang);
}
$ret = '<div class="spip-admin-bloc" dir="'.lang_dir($lang,'ltr','rtl').'">
<div class="spip-admin">
<ul>';
// Bouton modifier
if ($id_article) {
$ret .= bouton_admin(_T('admin_modifier_article')." ($id_article)", _DIR_RESTREINT_ABS . "articles.php3?id_article=$id_article");
}
else if ($id_breve) {
$ret .= bouton_admin(_T('admin_modifier_breve')." ($id_breve)", _DIR_RESTREINT_ABS . "breves_voir.php3?id_breve=$id_breve");
}
else if ($id_rubrique) {
$ret .= bouton_admin(_T('admin_modifier_rubrique')." ($id_rubrique)", _DIR_RESTREINT_ABS . "naviguer.php3?coll=$id_rubrique");
}
else if ($id_mot) {
$ret .= bouton_admin(_T('admin_modifier_mot')." ($id_mot)", _DIR_RESTREINT_ABS . "mots_edit.php3?id_mot=$id_mot");
}
else if ($id_auteur) {
$ret .= bouton_admin(_T('admin_modifier_auteur')." ($id_auteur)", _DIR_RESTREINT_ABS . "auteurs_edit.php3?id_auteur=$id_auteur");
}
// repartir de zero pour les boutons car clean_link a pu etre utilisee
// Si on est en preview rien d'autre ne fonctionne
if (!$var_preview) {
$link = new Link;
// Bouton Recalculer
$link = new Link;
$link->addVar('recalcul', 'oui');
$link->delVar('var_debug');
$link->delVar('debug_objet');
$link->delVar('debug_affiche');
$lien = $link->getUrl();
$ret .= bouton_admin(_T('admin_recalculer').$pop, $lien);
$link->delVar('var_debug');
$link->delVar('var_debug_objet');
$link->delVar('var_debug_affiche');
# pour avoir toujours un "?" dans la balise
$link->addVar('var_rien',0);
// en preview pas de stat ni de debug
if (!$var_preview) {
// Bouton statistiques
if (lire_meta("activer_statistiques") != "non" AND $id_article
AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
if (lire_meta("activer_statistiques") != "non"
AND $id_article
AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
if (spip_fetch_array(spip_query("SELECT id_article
FROM spip_articles WHERE statut='publie'
AND id_article =".intval($id_article)))) {
include_local ("inc-stats.php3");
$ret .= bouton_admin(_T('stats_visites_et_popularite',
afficher_raccourci_stats($id_article)),
_DIR_RESTREINT_ABS . "statistiques_visites.php3?id_article=$id_article");
$r = afficher_raccourci_stats($id_article);
$visites = $r['visites'];
$popularite = $r['popularite'];
$statistiques = 'statistiques_visites.php3?';
}
}
// Bouton de debug
if ($forcer_debug
OR $GLOBALS['bouton_admin_debug']
OR (!$GLOBALS['var_debug']
OR ($GLOBALS['var_debug'] == 'oui'
AND $GLOBALS['HTTP_COOKIE_VARS']['spip_debug'])) {
$link = new Link;
if ($GLOBALS['code_activation_debug'])
$code_activation = $GLOBALS['code_activation_debug'];
else if ($GLOBALS['auteur_session']['statut'] == '0minirezo')
$code_activation = 'oui';
if ($code_activation) {
$link->addvar('var_debug', $code_activation);
$ret .= bouton_admin(_L('Debug'), $link->getUrl());
}
if (!$debug = $GLOBALS['code_activation_debug'])
if ($GLOBALS['auteur_session']['statut'] == '0minirezo')
$debug = 'oui';
}
}
$ret .= "</ul></div></div>\n";
lang_dselect();
return $ret;
}
function calcul_admin_page($cached, $texte) {
$a = afficher_boutons_admin($cached ? ' *' : '');
// Inserer la feuille de style selon les normes, dans le <head>
// Feuilles de style admin : d'abord la CSS officielle, puis la perso,
// puis celle du squelette (.spip-admin, cf. impression.css)
$css = "<link rel='stylesheet' href='spip_admin.css' type='text/css' />\n";
if (@file_exists('spip_admin_perso.css'))
$css .= "<link rel='stylesheet' href='spip_admin_perso.css' type='text/css' />\n";
if (eregi('<(/head|body)', $texte, $regs)) {
$texte = explode($regs[0], $texte, 2);
$texte = $texte[0].$css.$regs[0].$texte[1];
} else
$texte .= $css;
// Inserer les boutons admin dans la page
// La constante doit etre definie a l'identique dans inc-form-squel
// balise #FORMULAIRE_ADMIN ? sinon ajouter en fin de page
if (!(strpos($texte, '<!-- @@formulaire_admin@@45609871@@ -->') === false))
$texte = str_replace('<!-- @@formulaire_admin@@45609871@@ -->', $a, $texte);
else {
$a = '<div class="spip-admin-float">'.$a."</div>\n";
if (eregi('</(body|html)>', $texte, $regs)){
$texte = explode($regs[0], $texte, 2);
$texte = $texte[0].$a.$regs[0].$texte[1];
} else
$texte .= $a;
}
return $texte;
return array('formulaire_admin', 0,
array(
'action' => quote_amp($link->getUrl()),
'id_article' => $id_article,
'id_auteur' => $id_auteur,
'id_breve' => $id_breve,
'debug' => $debug,
'id_mot' => $id_mot,
'popularite' => intval($popularite),
'rubrique' => $rubrique,
'statistiques' => $statistiques,
'visites' => intval($visites),
'use_cache' => ($use_cache ? ' *' : '')));
}
......
......@@ -392,14 +392,14 @@ echo menu_langues(\"var_lang_ecrire\", \$menu_lang);
//
function balise_LOGIN_PRIVE_dist($p) {
balise_distante_interdite($p);
$p->code = '("<"."?php include(\'inc-login.php3\'); login((\$GLOBALS[\'var_url\'] ? \$GLOBALS[\'var_url\'] : \'' . _DIR_RESTREINT_ABS . '\'), \'prive\'); ?".">")';
$p->code = '("<"."?php include(\'inc-login.php3\'); echo login((\$GLOBALS[\'var_url\'] ? \$GLOBALS[\'var_url\'] : \'' . _DIR_RESTREINT_ABS . '\'), \'prive\'); ?".">")';
$p->statut = 'php';
return $p;
}
function balise_LOGIN_PUBLIC_dist($p) {
balise_distante_interdite($p);
$p->code = '("<"."?php include(\'inc-login.php3\'); login(\'' .
$p->code = '("<"."?php include(\'inc-login.php3\'); echo login(\'' .
$p->fonctions[0] .
'\', false); ?".">")';
$p->fonctions = array();
......@@ -660,7 +660,7 @@ function balise_PARAMETRES_FORUM_dist($p) {
function calculer_balise_formulaire($p) {
balise_distante_interdite($p);
$nom = strtolower(substr($p->nom_champ, strlen('FORMULAIRE_')));
$nom = strtolower(substr($p->nom_champ, strpos($p->nom_champ,'_')+1));
$filtres = $p->fonctions;
$file = 'inc-' . $nom . _EXTENSION_PHP;
include_local($file);
......@@ -694,15 +694,6 @@ function balise_distante_interdite($p) {
}
}
//
// Boutons d'administration:
//
function balise_FORMULAIRE_ADMIN_dist($p) {
$p->code = "'<!-- @@formulaire_admin@@45609871@@ -->'";
$p->statut = "php";
return $p;
}
// reference a l'URL de la page courante
function balise_SELF_dist($p) {
......
......@@ -13,7 +13,7 @@ define("_INC_CACHE", "1");
function nettoyer_uri() {
$fichier_requete = $GLOBALS['REQUEST_URI'];
$fichier_requete = eregi_replace
('[?&](submit|valider|PHPSESSID|(var_[^=&]*)|recalcul)=[^&]*',
('[?&](PHPSESSID|(var_[^=&]*))=[^&]*',
'', $fichier_requete);
return $fichier_requete;
}
......@@ -109,39 +109,31 @@ function retire_caches() {
}
//
// Doit-on recalculer le cache ?
// Retourne 0 s'il faut recalculer le cache, 1 sinon
//
function utiliser_cache(&$chemin_cache, $delais) {
function utiliser_cache($chemin_cache, $delais) {
global $HTTP_SERVER_VARS;
// Existence du fichier
$ok_cache = @file_exists($chemin_cache);
// ne jamais calculer pour les moteurs de recherche, proxies...
if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'HEAD')
return 1;
// Date de creation du fichier
if ($ok_cache) {
$t = @filemtime($chemin_cache);
$age = time() - $t;
$age_ok = (($age < $delais) AND ($age >= 0));
// calcul par forcage
// fichier cache trop vieux ?
if (!$age_ok)
$ok_cache = false;
}
if ($GLOBALS['var_debug'] &&
($GLOBALS['HTTP_COOKIE_VARS']['spip_session']
|| $GLOBALS['HTTP_COOKIE_VARS']['spip_admin']
|| @file_exists(_ACCESS_FILE_NAME))) # insuffisant...
return 0;
// recalcul obligatoire
// calcul par absence
$recalcul = (($GLOBALS['recalcul'] == 'oui') &&
($GLOBALS['HTTP_COOKIE_VARS']['spip_session']
|| $GLOBALS['HTTP_COOKIE_VARS']['spip_admin']
|| @file_exists(_ACCESS_FILE_NAME))); # insuffisant...
if (!@file_exists($chemin_cache)) return 0;
$ok_cache &= !$recalcul;
// ne jamais recalculer pour les moteurs de recherche, proxies...
if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'HEAD')
$ok_cache = true;
#spip_log("'$ok_cache'");
return $ok_cache;
// calcul par obsolescence
return ((time() - @filemtime($chemin_cache)) < $delais) ? 0 : 1;
}
......@@ -185,7 +177,7 @@ function determiner_cache($delais, &$use_cache, &$chemin_cache) {
// Le fichier cache est-il valide ?
if ($delais == 0 OR !empty($GLOBALS['HTTP_POST_VARS'])) {
$use_cache = false;
$use_cache = 0;
$chemin_cache = '';
} else {
$use_cache = utiliser_cache($chemin_cache, $delais);
......@@ -196,7 +188,7 @@ function determiner_cache($delais, &$use_cache, &$chemin_cache) {
include_local(_FILE_CONNECT);
if (!$GLOBALS['db_ok']) {
if ($chemin_cache AND @file_exists($chemin_cache)) {
$use_cache = true;
$use_cache = 1;
}
else {
spip_log("Erreur base de donnees & "
......@@ -204,7 +196,7 @@ function determiner_cache($delais, &$use_cache, &$chemin_cache) {
if (!$GLOBALS['flag_preserver']) {
include_ecrire('inc_presentation.php3');
install_debut_html(_T('info_travaux_titre'));
echo "<p>"._T('titre_probleme_technique')."</p>\n";
echo _T('titre_probleme_technique');
install_fin_html();
}
exit;
......
......@@ -150,7 +150,7 @@ function calculer_formulaire($nom, $args, $filtres) {
$f = $nom . '_stat';
$r = $f($args, $filtres);
if (is_string($r))
if (!is_array($r))
return $r;
else {
return
......
......@@ -16,10 +16,9 @@ include_ecrire("inc_filtres.php3");
include_ecrire("inc_lang.php3");
include_ecrire("inc_documents.php3");
include_ecrire("inc_abstract_sql.php3");
include_local("inc-forum.php3");
include_ecrire("inc_forum.php3");
include_ecrire("inc_debug_sql.php3");
include_local("inc-calcul-outils.php3");
include_local("inc-admin.php3");
// Ce fichier peut contenir une affectation de $dossier_squelettes indiquant
// le repertoire du source des squelettes (les pseudo-html avec <BOUCLE...)
......@@ -38,7 +37,7 @@ else
// Le squelette compile est-il trop vieux ?
function squelette_obsolete($skel, $squelette) {
return (
($GLOBALS['recalcul'] == 'oui')
$GLOBALS['var_debug']
OR !@file_exists($skel)
OR (@filemtime($squelette) > ($date = @filemtime($skel)))
OR (@filemtime('mes_fonctions.php3') > $date)
......@@ -87,7 +86,6 @@ function charger_squelette ($squelette) {
$f = $squelette . '_fonctions.php3';
if (@file_exists($f)) include($f);
if (function_exists($nom)) return $nom;
$skel_code = calculer_squelette($skel, $nom, $ext, $sourcefile);
......@@ -96,11 +94,9 @@ function charger_squelette ($squelette) {
if (is_array($skel_code))
erreur_squelette($skel_code[0], $skel_code[1]);
else {
if ($GLOBALS['var_debug']
AND $GLOBALS['debug_objet'] == $nom
AND $GLOBALS['debug_affiche'] == 'code') {
if ($GLOBALS['var_debug'] == 'oui') {
include_ecrire("inc_debug_sql.php3");
debug_dumpfile ($skel_code);
debug_dumpfile ($skel_code, $nom, 'code');
}
eval('?'.'>'.$skel_code);
if (function_exists($nom)) {
......@@ -156,12 +152,11 @@ function cherche_page ($cache, $contexte, $fond) {
$page = $fonc(array('cache' => $cache), array($contexte));
// Passer la main au debuggueur)
if ($GLOBALS['var_debug']
AND $GLOBALS['debug_objet'] == $fonc
AND $GLOBALS['debug_affiche'] == 'resultat') {
if ($GLOBALS['var_debug'] == 'oui')
{
include_ecrire("inc_debug_sql.php3");
debug_dumpfile ($page['texte']);
}
debug_dumpfile ($page['texte'], $fonc, 'resultat');
}
}
// Nettoyer le resultat si on est fou de XML
......@@ -181,14 +176,14 @@ function cherche_page ($cache, $contexte, $fond) {
return $page;
}
// Etablit le contexte initial a partir des globales
// Contexte: les parametres HHTP sauf ceux ajoutés par spip + la globale date
function calculer_contexte() {
foreach($GLOBALS['HTTP_GET_VARS'] as $var => $val) {
if (!eregi("^(recalcul|submit|var_.*)$", $var))
if (strpos($var, 'var_') !== 0)
$contexte[$var] = $val;
}
foreach($GLOBALS['HTTP_POST_VARS'] as $var => $val) {
if (!eregi("^(recalcul|submit|var_.*)$", $var))
if (strpos($var, 'var_') !== 0)
$contexte[$var] = $val;
}
......@@ -273,7 +268,7 @@ function calculer_page($chemin_cache, $elements, $delais, $inclusion=false) {
serialize($page['signal']))." -->\n";
// Enregistrer le fichier cache
if ($delais > 0 AND !$GLOBALS['var_debug']
if ($delais > 0 AND $GLOBALS['var_debug'] != 'oui'
AND empty($GLOBALS['HTTP_POST_VARS']))
ecrire_fichier($chemin_cache, $signal.$page['texte']);
......
......@@ -626,7 +626,7 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) {
## compile vers boucle_debug_compile()
## 2) le resultat de la boucle, lui, sera plus tard envoye vers
## boucle_debug_resultat()
if ($GLOBALS['var_debug']) {
if ($GLOBALS['var_debug'] == 'oui') {
boucle_debug_compile ($id, $nom, $pretty,
$sourcefile, $codeboucle.$fincode);
$codedebug = "\n boucle_debug_resultat
......@@ -670,9 +670,9 @@ function $nom (\$Cache, \$Pile, \$doublons=array(), \$Numrows='', \$SP=0) {
?".">";
if ($GLOBALS['var_debug'])
if ($GLOBALS['var_debug'] == 'oui')
squelette_debug_compile($nom, $sourcefile, $squelette_compile);
# spip_log($squelette_compile);
return $squelette_compile;
}
......
......@@ -16,7 +16,7 @@ function ecrire_auteur_stat($args, $filtres)
}
function ecrire_auteur_dyn($id_auteur, $mail, $sujet, $texte, $adres) {
global $flag_wordwrap, $clean_link, $spip_lang_rtl;
global $spip_lang_rtl;
include_ecrire("inc_lang.php3"); // pour spip_lang_rtl
if (!$spip_lang_rt) $spip_lang_rtl = '_rtl'; # INDISPENSABLE cf skel
$mailko = $texte && !email_valide($adres);
......@@ -30,13 +30,19 @@ function ecrire_auteur_dyn($id_auteur, $mail, $sujet, $texte, $adres) {
return _T('form_prop_message_envoye');
}
$clean_link->delVar('sujet_message_auteur');
$clean_link->delVar('texte_message_auteur');
$clean_link->delVar('email_message_auteur');
$clean_link->delVar('id_auteur');
// repartir de zero pour les boutons car clean_link a pu etre utilisee
$link = new Link;
$link->delVar('sujet_message_auteur');
$link->delVar('texte_message_auteur');
$link->delVar('email_message_auteur');
$link->delVar('id_auteur');
return
array('formulaire_ecrire_auteur', 0,
array(
'action' => $link->getUrl(),
'id_auteur' => $id_auteur,
'mailko' => $mailko ? $spip_lang_rtl : '',
'mail' => entites_html($adres),
......
......@@ -351,7 +351,7 @@ function forum_dyn($titre, $table, $accepter_forum, $idr, $idf, $ida, $idb, $ids
// memoriser l'URL courante pour y revenir apres envoi du message
// aux appels suivants, reconduire la valeur.
if ($retour_forum = rawurldecode($GLOBALS['HTTP_GET_VARS']['retour']))
$retour_forum = ereg_replace('&recalcul=oui','',$retour_forum);
$retour_forum = ereg_replace('&var_debug=recalcul','',$retour_forum);
else {
if (!$retour_forum = rawurldecode($GLOBALS['HTTP_POST_VARS']['retour']))
$retour_forum = $url;
......
......@@ -223,7 +223,7 @@ function parser($texte, $id_parent, &$boucles, $nom) {
$p = strpos($texte, '<BOUCLE'.$nom_boucle);
// envoyer la boucle au debugueur
if ($GLOBALS['var_debug']) {
if ($GLOBALS['var_debug']== 'oui') {
$preg = "@<B($nom_boucle|OUCLE${nom_boucle}[^-_.a-zA-Z0-9][^>]*)>"
. ".*</(BOUCLE|/?B)$nom_boucle>@ms";
preg_match($preg, $texte, $match);
......
......@@ -58,10 +58,10 @@ function login($cible, $prive = 'prive') {
($auteur_session['statut']=='0minirezo' OR $auteur_session['statut']=='1comite')) {
if (($cible != $action) && !headers_sent())
redirige_par_entete($cible);
echo "<a href='$cible'>"._T('login_par_ici')."</a>\n";
return;
return "<a href='$cible'>"._T('login_par_ici')."</a>\n";
;
}
echo login_pour_tous($cible, $prive, '', $action, $prive?'redac':'forum');
return login_pour_tous($cible, $prive, '', $action, $prive?'redac':'forum');
}
......@@ -75,15 +75,6 @@ function login_pour_tous($cible, $prive, $message, $action, $mode) {
global $spip_admin;
global $php_module;
$login = $GLOBALS['var_login'];
// Le login est memorise dans le cookie d'admin eventuel
if (!$login) {
if (ereg("^@(.*)$", $spip_admin, $regs))
$login = $regs[1];
} else if ($login == '-1')
$login = '';
$flag_autres_sources = $GLOBALS['ldap_present'];
// en cas d'echec de cookie, inc_auth a renvoye vers spip_cookie qui
// a tente de poser un cookie ; s'il n'est pas la, c'est echec cookie
// s'il est la, c'est probablement un bookmark sur bonjour=oui,
......@@ -91,7 +82,15 @@ function login_pour_tous($cible, $prive, $message, $action, $mode) {
if ($GLOBALS['var_echec_cookie'])
$echec_cookie = ($GLOBALS['spip_session'] != 'test_echec_cookie');
$login = $GLOBALS['var_login'];
// Le login est memorise dans le cookie d'admin eventuel
if (!$login) {
if (ereg("^@(.*)$", $spip_admin, $regs))
$login = $regs[1];
} else if ($login == '-1')
$login = '';
$source_auteur = false ;
// quels sont les aleas a passer ?
if ($login) {
$statut_login = 0; // statut inconnu
......@@ -99,30 +98,29 @@ function login_pour_tous($cible, $prive, $message, $action, $mode) {
$query = "SELECT * FROM spip_auteurs WHERE login='$login'";
$row = spip_fetch_array(spip_query($query));
if ($row) {
if ($row['statut'] == '5poubelle' OR ($row['source'] == 'spip' AND $row['pass'] == '')) {
$source_auteur = ($row['source'] == 'spip') ;
if ($row['statut'] == '5poubelle' OR ((!$source_auteur) AND $row['pass'] == '')) {
$statut_login = -1; // refus
} else {
$statut_login = 1; // login connu
// Quels sont les aleas a passer pour le javascript ?
if ($row['source'] == 'spip') {
$id_auteur = $row['id_auteur'];
$source_auteur = $row['source'];
if ($source_auteur) {
$alea_actuel = $row['alea_actuel'];
$alea_futur = $row['alea_futur'];
}
// Bouton duree de connexion
if ($row['prefs']) {
$prefs = unserialize($row['prefs']);
if ($prefs = unserialize($row['prefs'])) {
$rester_checked = ($prefs['cnx'] == 'perma' ? ' checked=\'checked\'':'');
}
}
}
// login inconnu (sauf LDAP) ou refuse
if ($statut_login == -1 OR ($statut_login == 0 AND !$flag_autres_sources)) {
if ($statut_login == -1 OR ($statut_login == 0 AND !$GLOBALS['ldap_present'])) {
$erreur = _T('login_identifiant_inconnu', array('login' => htmlspecialchars($login)));
$login = '';
@spip_setcookie("spip_admin", "", time() - 3600);
......@@ -153,7 +151,7 @@ function login_pour_tous($cible, $prive, $message, $action, $mode) {
if ($login) {
$session = "<br /><br /><label><b>"._T('login_login2')."</b><br /></label>\n<input type='text' name='session_login' class='forml' value=\"$login\" size='40' />";
if ($source_auteur != 'spip')
if (!$source_auteur)
$challenge = '';
else {
$challenge =
......@@ -210,13 +208,12 @@ function login_pour_tous($cible, $prive, $message, $action, $mode) {
'document.form_login.var_login.focus();');
if ($echec_cookie AND $php_module AND !$ignore_auth_http) {
$res .= "<form action='spip_cookie.php3' method='get'>";
$res .= "<fieldset>\n<p>";
$res .= _T('login_preferez_refuser')." \n";
$res .= "<input type='hidden' name='essai_auth_http' value='oui'/> ";
$res .= "<input type='hidden' name='url' value='$cible'/>\n";
$res .= "<div align='right'><input type='submit' class='spip_bouton' value='"._T('login_sans_cookiie')."'/></div>\n";
$res .= "</fieldset></form>\n";
$res .= "<form action='spip_cookie.php3' method='get'><fieldset>\n<p>"
. _T('login_preferez_refuser')
. "<input type='hidden' name='essai_auth_http' value='oui'/>\n"
. "<input type='hidden' name='url' value='$cible'/>\n"
. "<div align='right'><input type='submit' class='spip_bouton' value='"._T('login_sans_cookiie')."'/></div>\n"
. "</fieldset></form>\n";
}
$res .= "\n<div align='center' style='font-size: 12px;' >"; // debut du pied de login
......@@ -243,9 +240,7 @@ function login_pour_tous($cible, $prive, $message, $action, $mode) {
$res .= " [<a href='$url_site'>"._T('login_retoursitepublic')."</a>]";
}
$res .= "</div>\n";
return $res . "</div></div>";
return $res . "</div></div></div>";
}
......
......@@ -7,7 +7,7 @@ define("_INC_PUBLIC_GLOBAL", "1");
//
// Aller chercher la page dans le cache ou pas
//
function obtenir_page ($contexte, $chemin_cache, $delais, $use_cache, $fond, $inclusion=false) {
function obtenir_page ($contexte, $chemin_cache, $delais, &$use_cache, $fond, $inclusion=false) {
global $lastmodified;
if (!$use_cache) {
......@@ -79,8 +79,8 @@ function obtenir_page ($contexte, $chemin_cache, $delais, $use_cache, $fond, $in
// Appeler cette fonction pour obtenir la page principale
//
function afficher_page_globale ($fond, $delais, &$use_cache) {
global $flag_preserver, $flag_dynamique, $recalcul, $lastmodified;
global $var_preview;
global $flag_preserver, $flag_dynamique, $lastmodified;
global $var_preview, $var_debug;
include_local ("inc-cache.php3");
// demande de previsualisation ?
......@@ -91,7 +91,7 @@ function afficher_page_globale ($fond, $delais, &$use_cache) {
$statut = $GLOBALS['auteur_session']['statut'];
if ($statut=='0minirezo' OR
(lire_meta('preview')=='1comite' AND $statut=='1comite')) {
$recalcul = 'oui';
$var_debug = 'recalcul';
$delais = 0;
$var_preview = true;
spip_log('preview !');
......@@ -116,8 +116,8 @@ function afficher_page_globale ($fond, $delais, &$use_cache) {
// (ici on ne tient pas compte d'une obsolence du cache ou des
// eventuels fichiers inclus modifies depuis la date
// HTTP_IF_MODIFIED_SINCE du client)
if ($GLOBALS['HTTP_IF_MODIFIED_SINCE'] AND $recalcul != oui
AND $chemin_cache AND !$flag_dynamique) {
if ($GLOBALS['HTTP_IF_MODIFIED_SINCE'] AND !$var_debug
AND $chemin_cache AND !$flag_dynamique) {
$lastmodified = @filemtime($chemin_cache);
$headers_only = http_last_modified($lastmodified);
}
......@@ -190,7 +190,7 @@ function afficher_page_globale ($fond, $delais, &$use_cache) {
}
function terminer_public_global($use_cache, $chemin_cache='') {
function terminer_public_global() {
// Mise a jour des fichiers langues de l'espace public
if ($GLOBALS['cache_lang_modifs']) {
......@@ -198,9 +198,9 @@ function terminer_public_global($use_cache, $chemin_cache='') {
ecrire_caches_langues();
}
// Si on a pu utiliser un cache,
// il reste du temps pour une tache de fond, notamment le cache
if ($use_cache) {
// S'il n'y a pas eu plus de 3 executions de squelette
// il reste du temps pour une tache de fond,
if ($GLOBALS['included_files']['inc-calcul.php3'] <= 3) {
include_ecrire('inc_cron.php3');
spip_cron();
}
......@@ -262,14 +262,4 @@ function inclure_formulaire($r) {
}
}
//
// Le bouton des administrateurs
//
function admin_page($cached, $texte) {
if (!$GLOBALS['flag_preserver']
&& ($GLOBALS['HTTP_COOKIE_VARS']['spip_admin'])) {
return calcul_admin_page($cached, $texte);
}
return false; // pas de boutons admin
}
?>
......@@ -60,32 +60,27 @@ 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_debug=='oui') {
if (($code_activation_debug == $var_debug)
OR $auteur_session['statut'] == '0minirezo')
spip_log('debug !');
else
$var_debug = false;
}
// demande de debug ?
if ($var_debug AND ($code_activation_debug == $var_debug
OR $auteur_session['statut'] == '0minirezo'
))
{
$recalcul = 'oui';
$var_debug = true;
spip_log('debug !');
} else
$var_debug = false;
// Faut-il preparer les boutons d'admin ?
// est-on admin ?
$affiche_boutons_admin = (!$flag_preserver
AND ($HTTP_COOKIE_VARS['spip_admin']
OR $HTTP_COOKIE_VARS['spip_debug']));
if ($affiche_boutons_admin)
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 ($recalcul == 'oui')
if ($flag_dynamique OR $var_debug
OR $HTTP_COOKIE_VARS['spip_admin']) {
@header("Cache-Control: no-cache,must-revalidate");
@header("Pragma: no-cache");
......@@ -100,7 +95,7 @@ else {
// Faudra-t-il post-traiter la page ?
define('spip_active_ob', $flag_ob AND
($var_debug OR $var_recherche OR $affiche_boutons_admin));
($var_debug == 'oui' OR $var_recherche OR $affiche_boutons_admin));
// Cas d'une page contenant uniquement du HTML :
......@@ -129,17 +124,19 @@ else {
// 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')
AND $auteur_session['statut'] == '0minirezo') {
include_ecrire('inc_debug_sql.php3');
erreur_squelette(_L('erreur d\'execution de la page'));
}
}
}
// Passer la main au debuggueur le cas echeant
if ($var_debug) {
if ($var_debug == 'oui') {
include_ecrire("inc_debug_sql.php3");
debug_dumpfile('');
debug_dumpfile('',$var_debug_objet,$var_debug_affiche);
exit;
} else if (count($tableau_des_erreurs) > 0
AND $affiche_boutons_admin)
......@@ -151,13 +148,14 @@ else {
$contenu = surligner_mots($contenu, $var_recherche);
}
// Ajouter les boutons admins (les normaux)
if ($affiche_boutons_admin)
$contenu = calcul_admin_page($use_cache, $contenu);
echo $contenu;
terminer_public_global($use_cache, $page['cache']);
// 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();
}
?>
......@@ -9,7 +9,7 @@ function recherche_stat($args, $filtres)
}
function recherche_dyn($lien) {
return array('formulaire_recherche', 0,
return array('formulaire_recherche', 3600,
array('lien' => ($lien ? $lien : 'recherche.php3'),
'recherche' => ($GLOBALS['recherche'] ? $GLOBALS['recherche'] : _T('info_rechercher'))));
}
......
......@@ -556,7 +556,7 @@ function afficher_compactes($image_name) {
echo "<ul>$aff_fichiers</ul>";
echo "<div>&nbsp;</div>";
echo "<div style='text-align: right;'><input class='fondo' style='font-size: 9px;' TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."'></div>";
echo "<div style='text-align: right;'><input class='fondo' style='font-size: 9px;' type='submit' value='"._T('bouton_valider')."'></div>";
echo "</form>";
install_fin_html();
......
......@@ -17,7 +17,7 @@ utiliser_langue_visiteur();
unset($erreur);
$mode = $GLOBALS['mode'];
spip_log("mode $mode");
// recuperer le cookie de relance
if ($p = addslashes($p)) {
$mode = 'oubli_pass';
......@@ -34,12 +34,12 @@ if ($p = addslashes($p)) {
"<p>"._T('pass_rappel_login', array('login' => $login));
} else {
install_debut_html(_T('pass_nouveau_pass'));
echo "<p><br>";
echo "<form action='spip_pass.php3' method='post'>";
echo "<input type='hidden' name='p' value='".htmlspecialchars($p)."'>";
echo _T('pass_choix_pass')."<br>\n";
echo "<input type='password' name='pass' value=''>";
echo ' <input type=submit class="fondl" value="'._T('pass_ok').'"></div></form>';
echo "<p><br>",
"<form action='spip_pass.php3' method='post'>",
"<input type='hidden' name='p' value='".htmlspecialchars($p)."'>",
_T('pass_choix_pass')."<br>\n",
"<input type='password' name='pass' value=''>",
'<input type=submit class="fondl" value="'._T('pass_ok').'"></div></form>';
install_fin_html();
exit;
}
......@@ -85,46 +85,38 @@ if ($mode == 'oubli_pass') {
if ($erreur)
echo $erreur;
else {
echo _T('pass_indiquez_cidessous');
echo "<p>";
echo '<form action="spip_pass.php3" method="post">';
echo '<div align="right">';
echo '<input type="text" class="fondo" name="email_oubli" value="">';
echo '<input type="hidden" name="mode" value="oubli_pass">';
echo ' <input type=submit class="fondl" value="'._T('pass_ok').'"></div></form>';
echo _T('pass_indiquez_cidessous'),
"<p>",
'<form action="spip_pass.php3" method="post">',
'<div align="right">',
'<input type="text" class="fondo" name="email_oubli" value="">',
'<input type="hidden" name="mode" value="oubli_pass">',
'<input type=submit class="fondl" value="'._T('pass_ok').'"></div></form>';
}
}
else {
$inscriptions_ecrire = (lire_meta("accepter_inscriptions") == "oui");
if ($inscriptions_ecrire AND ! $mode)
$mode = 'redac';
$inscriptions = (lire_meta("accepter_inscriptions") == "oui");
if ($inscriptions_ecrire OR (lire_meta('accepter_visiteurs') == 'oui') OR (lire_meta('forums_publics') == 'abo')) {
if ($inscriptions OR (lire_meta('accepter_visiteurs') == 'oui') OR (lire_meta('forums_publics') == 'abo')) {
// debut presentation
if (!$mode)
$mode = 'forum';
install_debut_html(_T('pass_vousinscrire'));
echo "<p>";
if ($mode != 'forum')
echo _T('pass_espace_prive_bla');
else
echo _T('pass_forum_bla');
echo "\n</p>";
$mode = $inscriptions ? 'redac' : 'forum';
include_local("inc-inscription.php3");
include_local("inc-public-global.php3");
echo inclure_formulaire(inscription_dyn($mode,
install_debut_html(_T('pass_vousinscrire'));
echo "<p>",
(($mode != 'forum') ? _T('pass_espace_prive_bla') :
_T('pass_forum_bla')),
"\n</p>",
inclure_formulaire(inscription_dyn($mode,
$GLOBALS['mail_inscription'],
$GLOBALS['nom_inscription']));
}
else {
install_debut_html(_T('pass_erreur'));
echo "<p>"._T('pass_rien_a_faire_ici');
echo "<p>",_T('pass_rien_a_faire_ici'), '</p>';
}
}
......
<?php
// redirige vers l'URL canonique de l'article,
// en passant le parametre recalcul=oui
// en indiquant recalcul et previsu
include ("ecrire/inc_version.php3");
......@@ -37,7 +37,7 @@ if (strpos($url,'?')) {
else {
$super='?';
}
if ($recalcul) $url .= $super."recalcul=oui";
if ($recalcul) $url .= $super."var_debug=recalcul";
else if ($preview) $url .= $super."var_preview=oui";
@header("Location: $url");
......
......@@ -89,7 +89,7 @@ if ($bad_dirs OR $absent_dirs) {
echo "<p>";
echo "<FORM ACTION='$bad_urls' METHOD='GET'>\n";
echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='". _T('login_recharger')."'></DIV>";
echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' VALUE='". _T('login_recharger')."'></DIV>";
echo "</FORM>";
install_fin_html();
......
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