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 |
?>
|