From 5d4901a28b12dfde30cbc2d7cd78f813cadabcb6 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 12 Nov 2006 20:49:34 +0000
Subject: [PATCH] les auteurs dans le moule de l'API inc/modifier

---
 ecrire/action/editer_article.php |  6 ++--
 ecrire/action/editer_auteurs.php | 61 --------------------------------
 ecrire/inc/modifier.php          | 17 ++++++++-
 3 files changed, 19 insertions(+), 65 deletions(-)

diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index 2c6c9ad076..c5458793e5 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -116,13 +116,13 @@ function revisions_articles ($id_article, $c=false) {
 	global $flag_revisions;
 	include_spip('inc/filtres');
 
+	// unifier $texte en cas de texte trop long (sur methode POST seulement)
+	if (!is_array($c)) trop_longs_articles();
+
 	// Ces champs seront pris nom pour nom (_POST[x] => spip_articles.x)
 	$champs_normaux = array('surtitre', 'titre', 'soustitre', 'descriptif',
 		'nom_site', 'url_site', 'chapo', 'texte', 'ps');
 
-	// unifier $texte en cas de texte trop long (sur methode POST seulement)
-	if (!is_array($c)) trop_longs_articles();
-
 	// ne pas accepter de titre vide
 	if (_request('titre', $c) === '')
 		$c = set_request('titre', _T('ecrire:info_sans_titre'), $c);
diff --git a/ecrire/action/editer_auteurs.php b/ecrire/action/editer_auteurs.php
index 7e094f6f1a..bbef1cb854 100644
--- a/ecrire/action/editer_auteurs.php
+++ b/ecrire/action/editer_auteurs.php
@@ -100,65 +100,4 @@ function rechercher_auteurs($cherche_auteur)
 	return mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
 }
 
-// http://doc.spip.org/@revisions_auteurs
-function revisions_auteurs($id_auteur, $c=false) {
-	include_spip('inc/filtres');
-
-	$champs_normaux = array('nom', 'bio', 'pgp', 'nom_site', 'lien_site');
-
-	if (_request('nom', $c) === '')
-		$c = set_request('nom', _T('ecrire:item_nouvel_auteur'), $c);
-
-	$champs = array();
-	foreach ($champs_normaux as $champ) {
-		$val = _request($champ, $c);
-		if ($val !== NULL)
-			$champs[$champ] = corriger_caracteres($val);
-	}
-
-	// recuperer les extras
-	if ($GLOBALS['champs_extra']) {
-		include_spip('inc/extra');
-		if ($extra = extra_update('auteurs', $id_auteur, $c))
-			$champs['extra'] = $extra;
-	}
-
-	// Envoyer aux plugins
-	$champs = pipeline('pre_edition',
-		array(
-			'args' => array(
-				'table' => 'spip_auteurs',
-				'id_objet' => $id_auteur
-			),
-			'data' => $champs
-		)
-	);
-
-	$update = array();
-	foreach ($champs as $champ => $val)
-		$update[] = $champ . '=' . _q($val);
-
-	if (!count($update)) return;
-
-	spip_query("UPDATE spip_auteurs SET ".join(', ',$update)." WHERE id_auteur=$id_auteur");
-
-	// marquer le fait que l'auteur est travaille par toto a telle date
-	// une alerte sera donnee aux autres administrateurs sur exec=auteur_infos
-	if ($GLOBALS['meta']['articles_modif'] != 'non') {
-		include_spip('inc/drapeau_edition');
-		signale_edition ($id_auteur, $GLOBALS['auteur_session'], 'auteur');
-	}
-
-	// Notification ?
-	pipeline('post_edition',
-		array(
-			'args' => array(
-				'table' => 'spip_auteurs',
-				'id_objet' => $id_auteur
-			),
-			'data' => $champs
-		)
-	);
-}
-
 ?>
diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index 3eff6b25bd..9b61cfd97e 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -87,7 +87,7 @@ function modifier_contenu($type, $id, $options, $c=false) {
 
 }
 
-// http://doc.spip.org/@revisions_documents
+// http://doc.spip.org/@revision_document
 function revision_document($id_document, $c=false) {
 
 	return modifier_contenu('document', $id_document,
@@ -99,4 +99,19 @@ function revision_document($id_document, $c=false) {
 
 }
 
+
+// http://doc.spip.org/@revision_auteur
+function revision_auteur($id_auteur, $c=false) {
+	include_spip('inc/modifier');
+
+	return modifier_contenu('auteur', $id_auteur,
+		array(
+			'champs' => array('nom', 'bio', 'pgp', 'nom_site', 'lien_site', 'email'),
+			'nonvide' => array('nom' => _T('ecrire:item_nouvel_auteur'))
+		),
+		$c);
+
+}
+
+
 ?>
-- 
GitLab