X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Faction%2Fdocumenter.php;fp=www%2Fecrire%2Faction%2Fdocumenter.php;h=63933e3835310a7d2b05b3618c3e894298be8c1b;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/ecrire/action/documenter.php b/www/ecrire/action/documenter.php new file mode 100644 index 0000000..63933e3 --- /dev/null +++ b/www/ecrire/action/documenter.php @@ -0,0 +1,90 @@ + 0), "id_vignette=".$id_document); + + pipeline('post_edition', + array( + 'args' => array( + 'operation' => 'delier_document', + 'table' => 'spip_documents', + 'id_objet' => $id_document, + 'objet' => $objet, + 'id' => $id_objet + ), + 'data' => null + ) + ); + + // On supprime ensuite s'il est orphelin + // (autorisation verifiee dans l'action) + $supprimer_document = charger_fonction('supprimer_document','action'); + return $supprimer_document($id_document); +} + +// http://doc.spip.org/@action_documenter_post +function action_documenter_post($r) +{ + // - sign indique le portfolio image ou document, dans le cas de + // la page exec=articles + // - id est l'id_objet (id_article ou id_rubrique etc) + // - type est 'article' (ou 'rubrique') + // - id_document le doc a supprimer ou a delier de l'objet + // SI VIDE, on supprime tous les documents du type SIGN + // (bouton "supprimer tous les documents") + list(, $sign, $id, $type, ,$id_document) = $r; + + if ($id_document) { + supprimer_lien_document($id_document, $type, $id); + } + else { + $obj = "id_objet=".intval($id)." AND objet=".sql_quote($type); + $typdoc = sql_in('docs.extension', array('gif', 'jpg', 'png'), $sign ? '' : 'NOT'); + + $s = sql_select('docs.id_document AS id_doc', "spip_documents AS docs LEFT JOIN spip_documents_liens AS l ON l.id_document=docs.id_document", "$obj AND docs.mode='document' AND $typdoc"); + while ($t = sql_fetch($s)) { + supprimer_lien_document($t['id_doc'], $type, $id); + } + } + + if ($type == 'rubrique') { + include_spip('inc/rubriques'); + depublier_branche_rubrique_if($id); + } +} +?>