Subversion Repositories Sites.tela-botanica.org

Compare Revisions

Ignore whitespace Rev 3 → Rev 4

/trunk/actu/ecrire/inc_admin.php3
New file
0,0 → 1,97
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_ADMIN")) return;
define("_ECRIRE_INC_ADMIN", "1");
 
 
function fichier_admin($action) {
global $connect_login;
return "admin_".substr(md5($action.(time() & ~2047).$connect_login), 0, 10);
}
 
function debut_admin($action, $commentaire='') {
global $clean_link;
global $connect_statut;
 
if ((!$action) || ($connect_statut != "0minirezo")) {
include_ecrire ("inc_presentation.php3");
install_debut_html(_T('info_acces_refuse'));
install_fin_html();
exit;
}
$fichier = fichier_admin($action);
if (@file_exists(_DIR_SESSIONS . $fichier)) {
spip_log ("Action admin: $action");
return true;
}
 
include_ecrire ("inc_presentation.php3");
install_debut_html(_T('info_action', array('action' => $action)));
 
if ($commentaire) {
echo "<p>".propre($commentaire)."</p>";
}
 
echo $clean_link->getForm('POST');
echo "<P><B>"._T('info_authentification_ftp')."</B>";
echo aide("ftp_auth");
echo "<P>"._T('info_creer_repertoire');
echo "<P align='center'><INPUT TYPE='text' NAME='fichier' CLASS='fondl' VALUE=\"$fichier\" SIZE='30'>";
echo "<P> "._T('info_creer_repertoire_2');
echo "<P align='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_recharger_page')."' CLASS='fondo'>";
echo "</FORM>";
 
install_fin_html();
exit;
}
 
function fin_admin($action) {
$fichier = fichier_admin($action);
@unlink(_DIR_SESSIONS . $fichier);
@rmdir(_DIR_SESSIONS . $fichier);
}
 
 
function _action_auteur($action, $id_auteur, $nom_alea) {
if (!$id_auteur) {
global $connect_id_auteur, $connect_pass;
$id_auteur = $connect_id_auteur;
$pass = $connect_pass;
}
else {
$result = spip_query("SELECT pass FROM spip_auteurs WHERE id_auteur=$id_auteur");
if ($result) if ($row = spip_fetch_array($result)) $pass = $row['pass'];
}
$alea = lire_meta($nom_alea);
return md5($action.$id_auteur.$pass.$alea);
}
 
 
function calculer_action_auteur($action, $id_auteur = 0) {
return _action_auteur($action, $id_auteur, 'alea_ephemere');
}
 
function verifier_action_auteur($action, $valeur, $id_auteur = 0) {
if ($valeur == _action_auteur($action, $id_auteur, 'alea_ephemere'))
return true;
if ($valeur == _action_auteur($action, $id_auteur, 'alea_ephemere_ancien'))
return true;
spip_log("inc_admin: verifier action $action $id_auteur : echec");
return false;
}
 
 
?>