[ Index ] |
|
Code source de SPIP 1.9.2c |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2007 * 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 if (!defined("_ECRIRE_INC_VERSION")) return; 14 15 // http://doc.spip.org/@fichier_admin 16 function fichier_admin($action) { 17 global $connect_login; 18 return "admin_".substr(md5($action.(time() & ~2047).$connect_login), 0, 10); 19 } 20 21 // http://doc.spip.org/@debut_admin 22 function debut_admin($script, $action, $commentaire='') { 23 global $connect_login, $connect_statut, $connect_toutes_rubriques; 24 25 if ((!$action) || ($connect_statut != "0minirezo")) { 26 include_spip('inc/minipres'); 27 echo minipres(_T('info_acces_refuse')); 28 exit; 29 } 30 if ($connect_toutes_rubriques) { 31 $dir = _DIR_TMP; 32 } else { 33 $dir = _DIR_TRANSFERT . $connect_login . '/'; 34 } 35 36 $signal = fichier_admin($action); 37 if (@file_exists($dir . $signal)) { 38 spip_log ("Action admin: $action"); 39 return true; 40 } 41 if ($commentaire) { 42 include_spip('inc/texte'); 43 $commentaire = ("\n<p>".propre($commentaire)."</p>\n"); 44 } 45 46 include_spip('inc/minipres'); 47 48 49 // Si on est un super-admin, un bouton de validation suffit 50 // nom de l'autorisation a revoir... 'webmestre' veut tout et rien dire... 51 if (autoriser('webmestre')) { 52 if (_request('validation_admin') == $signal) { 53 spip_log ("Action super-admin: $action"); 54 return true; 55 } 56 $form = $commentaire 57 . "<form action='./' method='post'>" 58 . copy_request($script) 59 . '<input type="hidden" name="validation_admin" value="'.$signal.'" />' 60 . bouton_suivant(_T('bouton_valider')) 61 . "</form>"; 62 $js = ''; 63 } 64 65 else { 66 $form = $commentaire 67 . "<form action='./' method='post'>" 68 . copy_request($script) 69 . fieldset(_T('info_authentification_ftp').aide("ftp_auth"), 70 array( 71 'fichier' => array( 72 'label' => _T('info_creer_repertoire'), 73 'valeur' => $signal 74 )), 75 ('<br />' 76 . _T('info_creer_repertoire_2', array('repertoire' => joli_repertoire($dir))) 77 . bouton_suivant(_T('bouton_recharger_page')))) 78 . "</form>"; 79 $js = " onload='document.forms[0].fichier.value=\"\";barre_inserer(\"$signal\", document.forms[0].fichier)'"; 80 } 81 82 // code volontairement tordu: 83 // provoquer la copie dans le presse papier du nom du repertoire 84 // en remettant a vide le champ pour que ca marche aussi en cas 85 // de JavaScript inactif. 86 echo minipres(_T('info_action', array('action' => $action)), 87 $form, $js); 88 exit; 89 } 90 91 // http://doc.spip.org/@fin_admin 92 function fin_admin($action) { 93 global $connect_login, $connect_toutes_rubriques; 94 if ($connect_toutes_rubriques) { 95 $dir = _DIR_TMP; 96 } else { 97 $dir = _DIR_TRANSFERT . $connect_login . '/'; 98 } 99 $signal = fichier_admin($action); 100 @unlink($dir . $signal); 101 @rmdir($dir . $signal); 102 } 103 104 105 // http://doc.spip.org/@copy_request 106 function copy_request($script) 107 { 108 $hidden = ""; 109 $args = $_POST; 110 $args['exec'] = $script; 111 unset($args['fichier']); 112 include_spip('inc/filtres'); 113 foreach($args as $n => $c) { 114 $hidden .= "\n<input type='hidden' name='$n' value='" . 115 entites_html($c) . 116 "' />"; 117 } 118 return $hidden; 119 } 120 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 10:20:27 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |