$espace ".supprimer_tags($titre)."\n"; afficher_auteur_rubriques($my_rubrique); } } $i=$i-1; } // securite if ($connect_statut != "0minirezo" AND $connect_id_auteur != $id_auteur) { gros_titre(_T('info_acces_interdit')); exit; } // // Recuperer l'auteur (id_auteur) ... ou l'inventer // unset($auteur); if ($id_auteur) { $auteur = spip_fetch_array(spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=$id_auteur")); $new = false; // eviter hack } else { if (!$auteur['nom'] = $titre) { $auteur['nom'] = filtrer_entites(_T('item_nouvel_auteur')); $onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\""; } $auteur['statut'] = '1comite'; // statut par defaut a la creation $auteur['source'] = 'spip'; } // // Modification (et creation si besoin) // if ($nom) { // si on poste un nom, c'est qu'on modifie une fiche auteur $auteur['nom'] = corriger_caracteres($nom); // login et mot de passe unset ($modif_login); $old_login = $auteur['login']; if (($new_login<>$old_login) AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques AND $auteur['source'] == 'spip') { if ($new_login) { if (strlen($new_login) < 4) $echec .= "

"._T('info_login_trop_court'); else if (spip_num_rows(spip_query("SELECT * FROM spip_auteurs WHERE login='".addslashes($new_login)."' AND id_auteur!=$id_auteur AND statut!='5poubelle'"))) $echec .= "

"._T('info_login_existant'); else if ($new_login != $old_login) { $modif_login = true; $auteur['login'] = $new_login; } } // suppression du login else { $auteur['login'] = ''; $modif_login = true; } } // changement de pass, a securiser en jaja ? if ($new_pass AND ($statut != '5poubelle') AND $auteur['login'] AND $auteur['source'] == 'spip') { if ($new_pass != $new_pass2) $echec .= "

"._T('info_passes_identiques'); else if ($new_pass AND strlen($new_pass) < 6) $echec .= "

"._T('info_passe_trop_court'); else { $modif_login = true; $auteur['new_pass'] = $new_pass; } } if ($modif_login) { include_ecrire('inc_session.php3'); zap_sessions ($auteur['id_auteur'], true); if ($connect_id_auteur == $auteur['id_auteur']) supprimer_session($GLOBALS['spip_session']); } // email // seuls les admins peuvent modifier l'email // les admins restreints peuvent modifier l'email des redacteurs // mais pas des autres admins if ($connect_statut == '0minirezo' AND ($connect_toutes_rubriques OR $statut<>'0minirezo')) { if ($email !='' AND !email_valide($email)) { $echec .= "

"._T('info_email_invalide'); $auteur['email'] = $email; } else $auteur['email'] = $email; } if ($connect_id_auteur == $id_auteur) { if ($perso_activer_imessage) { $query = "UPDATE spip_auteurs SET imessage='$perso_activer_imessage' WHERE id_auteur=$id_auteur"; $result = spip_query($query); $auteur['imessage'] = $perso_activer_imessage; } } // variables sans probleme $auteur['bio'] = corriger_caracteres($bio); $auteur['pgp'] = corriger_caracteres($pgp); $auteur['nom_site'] = corriger_caracteres($nom_site_auteur); // attention mix avec $nom_site_spip ;( $auteur['url_site'] = vider_url($url_site); if ($new_pass) { $htpass = generer_htpass($new_pass); $alea_actuel = creer_uniqid(); $alea_futur = creer_uniqid(); $pass = md5($alea_actuel.$new_pass); $query_pass = " pass='$pass', htpass='$htpass', alea_actuel='$alea_actuel', alea_futur='$alea_futur', "; if ($auteur['id_auteur']) effacer_low_sec($auteur['id_auteur']); } else $query_pass = ''; // recoller les champs du extra if ($champs_extra) { include_ecrire("inc_extra.php3"); $extra = extra_recup_saisie("auteurs"); $add_extra = ", extra = '".addslashes($extra)."'"; } else $add_extra = ''; // l'entrer dans la base if (!$echec) { if (!$auteur['id_auteur']) { // creation si pas d'id $auteur['id_auteur'] = spip_abstract_insert("spip_auteurs", "(nom)", "('temp')"); $id_auteur = $auteur['id_auteur']; if ($ajouter_id_article = intval($ajouter_id_article)) spip_query("INSERT INTO spip_auteurs_articles (id_auteur, id_article) VALUES ($id_auteur, $ajouter_id_article)"); } $query = "UPDATE spip_auteurs SET $query_pass nom='".addslashes($auteur['nom'])."', login='".addslashes($auteur['login'])."', bio='".addslashes($auteur['bio'])."', email='".addslashes($auteur['email'])."', nom_site='".addslashes($auteur['nom_site'])."', url_site='".addslashes($auteur['url_site'])."', pgp='".addslashes($auteur['pgp'])."' $add_extra WHERE id_auteur=".$auteur['id_auteur']; spip_query($query) OR die($query); } } // Appliquer des modifications de statut modifier_statut_auteur($auteur, $_POST['statut'], $_POST['add_rub'], $_GET['supp_rub']); // Si on modifie la fiche auteur, reindexer et modifier htpasswd if ($nom OR $statut) { if (lire_meta('activer_moteur') == 'oui') { include_ecrire ("inc_index.php3"); marquer_indexer('auteur', $id_auteur); } // Mettre a jour les fichiers .htpasswd et .htpasswd-admin ecrire_acces(); } // Redirection if (!$echec AND $redirect_ok == "oui") { redirige_par_entete($redirect ? rawurldecode($redirect) : "auteurs_edit.php3?id_auteur=$id_auteur"); } // // Affichage // if ($connect_id_auteur == $id_auteur) debut_page($auteur['nom'], "auteurs", "perso"); else debut_page($auteur['nom'],"auteurs","redacteurs"); echo "


"; debut_gauche(); if ($id_auteur) { debut_boite_info(); echo "

"; echo ""._T('titre_cadre_numero_auteur')." :"; echo "
$id_auteur"; echo "
"; fin_boite_info(); } debut_droite(); // // Formulaire d'edition de l'auteur // if ($echec){ debut_cadre_relief(); echo http_img_pack("warning.gif", _T('info_avertissement'), "width='48' height='48' align='left'"); echo "$echec

"._T('info_recommencer').""; fin_cadre_relief(); echo "

"; } debut_cadre_formulaire(); echo "

"; echo ""; // // Infos personnelles // echo "
"; debut_cadre_relief("fiche-perso-24.gif", false, "", _T("icone_informations_personnelles")); echo _T('titre_cadre_signature_obligatoire'); echo "("._T('entree_nom_pseudo').")
"; echo "

"; echo ""._T('entree_adresse_email').""; if ($connect_statut == "0minirezo" AND ($connect_toutes_rubriques OR $auteur['statut']<>'0minirezo')) { echo "

\n"; } else { echo " : ".$auteur['email'].""; echo "
("._T('info_reserve_admin').")\n"; echo "

"; } echo ""._T('entree_infos_perso')."
"; echo "("._T('entree_biographie').")
"; echo "\n"; debut_cadre_enfonce("site-24.gif", false, "", _T('info_site_web')); echo ""._T('entree_nom_site')."
"; echo "

\n"; echo ""._T('entree_url')."
"; echo "\n"; fin_cadre_enfonce(); echo "

"; if ($options == "avancees") { debut_cadre_enfonce("cadenas-24.gif", false, "", _T('entree_cle_pgp')); echo "\n"; fin_cadre_enfonce(); echo "

"; } else { echo ""; } echo "

"; if ($champs_extra) { include_ecrire("inc_extra.php3"); extra_saisie($auteur['extra'], 'auteurs', $auteur['statut']); } fin_cadre_relief(); echo "

"; // // Login et mot de passe : // accessibles seulement aux admins non restreints et l'auteur lui-meme // if ($auteur['source'] != 'spip') { $edit_login = false; $edit_pass = false; } else if (($connect_statut == "0minirezo") AND $connect_toutes_rubriques) { $edit_login = true; $edit_pass = true; } else if ($connect_id_auteur == $id_auteur) { $edit_login = false; $edit_pass = true; } else { $edit_login = false; $edit_pass = false; } debut_cadre_relief("base-24.gif"); // Avertissement en cas de modifs de ses propres donnees if (($edit_login OR $edit_pass) AND $connect_id_auteur == $id_auteur) { debut_cadre_enfonce(); echo http_img_pack("warning.gif", _T('info_avertissement'), "width='48' height='48' align='right'"); echo ""._T('texte_login_precaution')."\n"; fin_cadre_enfonce(); echo "

"; } // Un redacteur n'a pas le droit de modifier son login ! if ($edit_login) { echo ""._T('item_login')." "; echo "("._T('texte_plus_trois_car').") :
"; echo "

\n"; } else { echo "

"._T('item_login')."

".$auteur['login']." "; echo " ("._T('info_non_modifiable').")

"; } // On ne peut modifier le mot de passe en cas de source externe (par exemple LDAP) if ($edit_pass) { echo ""._T('entree_nouveau_passe')." "; echo "("._T('info_plus_cinq_car').") :
"; echo "
\n"; echo _T('info_confirmer_passe')."
"; echo "

\n"; } fin_cadre_relief(); echo "

"; // // Apparaitre dans la liste des redacteurs connectes // if ($connect_id_auteur == $id_auteur) { debut_cadre_relief("messagerie-24.gif", false, "", _T('info_liste_redacteurs_connectes')); echo "

"._T('texte_auteur_messagerie')."
"; if ($auteur['imessage']=="non"){ echo ""; echo " "; echo "
"; echo " "; } else { echo ""; echo " "; echo "
"; echo " "; } fin_cadre_relief(); echo "

"; } // Afficher le formulaire de changement de statut (cf. inc_acces.php3) afficher_formulaire_statut_auteur ($id_auteur, $auteur['statut']); echo "\n"; echo "\n"; echo "\n"; echo "

"; echo "
"; echo "
"; fin_cadre_formulaire(); echo " 

"; fin_page(); ?>