diff --git a/action/ajouter_documents.php b/action/ajouter_documents.php index 8cbf139f5660fddeeda7c09bc7e28f0a173e709f..6a085a53fc3405dd4263867ea0a4cb686c879b5f 100644 --- a/action/ajouter_documents.php +++ b/action/ajouter_documents.php @@ -188,7 +188,7 @@ function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet, if (!$id_document) return _T('medias:erreur_insertion_document_base',array('fichier'=>"<em>".$file['name']."</em>")); - document_set($id_document,$champs); + document_modifier($id_document,$champs); // permettre aux plugins de faire des modifs a l'ajout initial // ex EXIF qui tourne les images si necessaire diff --git a/action/copier_local.php b/action/copier_local.php index ff0f664895a26da323002571c191f0d3b4ab34ed..8c962d7e5f03f789a9aa40d38fb402ee32b1dc65 100644 --- a/action/copier_local.php +++ b/action/copier_local.php @@ -68,7 +68,7 @@ function action_copier_local_post($id_document) { // ajouter l'origine du document aux credits include_spip('action/editer_document'); - document_set($id_document,array('credits'=>($row['credits']?$row['credits'].', ':'').$source)); + document_modifier($id_document,array('credits'=>($row['credits']?$row['credits'].', ':'').$source)); return true; } else { diff --git a/action/editer_document.php b/action/editer_document.php index 3488f7bd257e6a68922b008964ea7b8d0098baed..43b72554028d09d3f5f27284a23c3bfc28bba542 100644 --- a/action/editer_document.php +++ b/action/editer_document.php @@ -18,34 +18,24 @@ if (!defined("_ECRIRE_INC_VERSION")) return; * * @return unknown */ -function action_editer_document_dist() { +function action_editer_document_dist($arg=null) { - $securiser_action = charger_fonction('securiser_action', 'inc'); - $arg = $securiser_action(); + if (is_null($arg)){ + $securiser_action = charger_fonction('securiser_action', 'inc'); + $arg = $securiser_action(); + } // Envoi depuis le formulaire de creation d'un document if (!$id_document = intval($arg)) { - $id_document = insert_document(); + $id_document = document_inserer(); } - if ($id_document = intval($id_document)) { - document_set($id_document); - } - // Erreur - else{ - include_spip('inc/headers'); - redirige_url_ecrire(); - } + if (!$id_document) + return array(0,''); // erreur - if (_request('redirect')) { - $redirect = parametre_url(urldecode(_request('redirect')), - 'id_document', $id_document, '&'); - - include_spip('inc/headers'); - redirige_par_entete($redirect); - } - else - return array($id_document,''); + $err = document_modifier($id_document); + + return array($id_document,$err); } /** @@ -53,7 +43,7 @@ function action_editer_document_dist() { * * @return unknown */ -function insert_document() { +function document_inserer() { $champs = array( 'statut' => 'prop', @@ -70,7 +60,16 @@ function insert_document() { ) ); $id_document = sql_insertq("spip_documents", $champs); - + pipeline('post_insertion', + array( + 'args' => array( + 'table' => 'spip_documents', + 'id_objet' => $id_document + ), + 'data' => $champs + ) + ); + return $id_document; } @@ -82,7 +81,7 @@ function insert_document() { * @param int $id_document * @param array $set */ -function document_set ($id_document, $set=false) { +function document_modifier($id_document, $set=false) { include_spip('inc/modifier'); // champs normaux @@ -129,7 +128,7 @@ function document_set ($id_document, $set=false) { // Changer le statut du document ? // le statut n'est jamais fixe manuellement mais decoule de celui des objets lies $champs = collecter_requests(array('parents','ajouts_parents'),array(),$set); - if(instituer_document($id_document,$champs)) { + if(document_instituer($id_document,$champs)) { // // Post-modifications @@ -149,7 +148,7 @@ function document_set ($id_document, $set=false) { * * @param int $id_document */ -function instituer_document($id_document,$champs=array()){ +function document_instituer($id_document,$champs=array()){ $statut=isset($champs['statut'])?$champs['statut']:null; $date_publication = isset($champs['date_publication'])?$champs['date_publication']:null; @@ -257,4 +256,20 @@ function medias_revision_document_parents($id_document, $parents=null, $ajout=fa objet_associer(array('document'=>$id_document),$objets_parents); } + + +// obsoletes +function insert_document() { + return document_inserer(); +} +function document_set($id_document, $set=false) { + return document_modifier($id_document, $set); +} +function instituer_document($id_document,$champs=array()){ + return document_instituer($id_document,$champs); +} +function revision_document($id_document, $c=false) { + return document_modifier($id_document,$c); +} + ?> diff --git a/action/supprimer_document.php b/action/supprimer_document.php index c606d199738750b8401511f9c05a910c5f3e9a07..a7b8ff207c0fa17a717b7743fd6fa5037d4e7007 100644 --- a/action/supprimer_document.php +++ b/action/supprimer_document.php @@ -27,7 +27,7 @@ function action_supprimer_document_dist($id_document=0) { // si c'etait une vignette, modifier le document source ! if ($source = sql_getfetsel('id_document', 'spip_documents', 'id_vignette='.intval($id_document))){ include_spip('action/editer_document'); - document_set($source,array("id_vignette" => 0)); + document_modifier($source,array("id_vignette" => 0)); } include_spip('inc/documents'); diff --git a/formulaires/illustrer_document.php b/formulaires/illustrer_document.php index 5dee1135c3b16b93154dd50b8e7e6b310256ff1e..adcb1577efa7ae89df092c57a56b8feecc19dfba 100644 --- a/formulaires/illustrer_document.php +++ b/formulaires/illustrer_document.php @@ -67,7 +67,7 @@ function formulaires_illustrer_document_traiter_dist($id_document){ if (is_int(reset($ajoute))){ $id_vignette = reset($ajoute); include_spip('action/editer_document'); - document_set($id_document,array("id_vignette" => $id_vignette,'mode'=>'document')); + document_modifier($id_document,array("id_vignette" => $id_vignette,'mode'=>'document')); $res['message_ok'] = _T('medias:document_installe_succes'); } else diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php index e80524d21d3f490b1e1412133db3bf0e673d9557..cf40fc7adae700321a5af594ebae13ed14b21a31 100644 --- a/formulaires/joindre_document.php +++ b/formulaires/joindre_document.php @@ -153,7 +153,7 @@ function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet= // lier le parent en plus $champs = array('ajout_parents' => array("$objet|$id_objet")); include_spip('action/editer_document'); - document_set($refdoc_joindre,$champs); + document_modifier($refdoc_joindre,$champs); set_request('refdoc_joindre',''); // vider la saisie $ancre = $refdoc_joindre; $sel[] = $refdoc_joindre;