Subversion Repositories Sites.tela-botanica.org

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 david 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
//
15
// Ce fichier ne sera execute qu'une fois
16
if (defined("_ECRIRE_INC_ADMIN")) return;
17
define("_ECRIRE_INC_ADMIN", "1");
18
 
19
 
20
function fichier_admin($action) {
21
	global $connect_login;
22
	return "admin_".substr(md5($action.(time() & ~2047).$connect_login), 0, 10);
23
}
24
 
25
function debut_admin($action, $commentaire='') {
26
	global $clean_link;
27
	global $connect_statut;
28
 
29
	if ((!$action) || ($connect_statut != "0minirezo")) {
30
		include_ecrire ("inc_presentation.php3");
31
		install_debut_html(_T('info_acces_refuse'));
32
		install_fin_html();
33
		exit;
34
	}
35
	$fichier = fichier_admin($action);
36
	if (@file_exists(_DIR_SESSIONS . $fichier)) {
37
		spip_log ("Action admin: $action");
38
		return true;
39
	}
40
 
41
	include_ecrire ("inc_presentation.php3");
42
	install_debut_html(_T('info_action', array('action' => $action)));
43
 
44
	if ($commentaire) {
45
		echo "<p>".propre($commentaire)."</p>";
46
	}
47
 
48
	echo $clean_link->getForm('POST');
49
	echo "<P><B>"._T('info_authentification_ftp')."</B>";
50
	echo aide("ftp_auth");
51
	echo "<P>"._T('info_creer_repertoire');
52
	echo "<P align='center'><INPUT TYPE='text' NAME='fichier' CLASS='fondl' VALUE=\"$fichier\" SIZE='30'>";
53
	echo "<P> "._T('info_creer_repertoire_2');
54
	echo "<P align='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_recharger_page')."' CLASS='fondo'>";
55
	echo "</FORM>";
56
 
57
	install_fin_html();
58
	exit;
59
}
60
 
61
function fin_admin($action) {
62
	$fichier = fichier_admin($action);
63
	@unlink(_DIR_SESSIONS . $fichier);
64
	@rmdir(_DIR_SESSIONS . $fichier);
65
}
66
 
67
 
68
function _action_auteur($action, $id_auteur, $nom_alea) {
69
	if (!$id_auteur) {
70
		global $connect_id_auteur, $connect_pass;
71
		$id_auteur = $connect_id_auteur;
72
		$pass = $connect_pass;
73
	}
74
	else {
75
		$result = spip_query("SELECT pass FROM spip_auteurs WHERE id_auteur=$id_auteur");
76
		if ($result) if ($row = spip_fetch_array($result)) $pass = $row['pass'];
77
	}
78
	$alea = lire_meta($nom_alea);
79
	return md5($action.$id_auteur.$pass.$alea);
80
}
81
 
82
 
83
function calculer_action_auteur($action, $id_auteur = 0) {
84
	return _action_auteur($action, $id_auteur, 'alea_ephemere');
85
}
86
 
87
function verifier_action_auteur($action, $valeur, $id_auteur = 0) {
88
	if ($valeur == _action_auteur($action, $id_auteur, 'alea_ephemere'))
89
		return true;
90
	if ($valeur == _action_auteur($action, $id_auteur, 'alea_ephemere_ancien'))
91
		return true;
92
	spip_log("inc_admin: verifier action $action $id_auteur : echec");
93
	return false;
94
}
95
 
96
 
97
?>