source: spip-zone/_plugins_/mediatheque/action/copier_local.php @ 43455

Last change on this file since 43455 was 43455, checked in by cedric@…, 10 years ago

renommer les fichiers de langue : gestdoc -> medias

File size: 2.5 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2009                                                *
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
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15// Fonction appellee lorsque l'utilisateur clique sur le bouton
16// 'copier en local' (document/portfolio).
17// Il s'agit de la partie logique, c'est a dire que cette fonction
18// realise la copie.
19
20// http://doc.spip.org/@action_copier_local_dist
21function action_copier_local_dist($id_document=0) {
22
23        if (!$id_document){
24                // Recupere les arguments.
25                $securiser_action = charger_fonction('securiser_action', 'inc');
26                $arg = $securiser_action();
27       
28                $id_document = intval($arg);
29        }
30
31        if (!$id_document) {
32                spip_log("action_copier_local_dist $arg pas compris");
33                return false;
34        } else  {
35                // arguments recuperes, on peut maintenant appeler la fonction.
36                return action_copier_local_post($id_document);
37        }
38}
39
40// http://doc.spip.org/@action_copier_local_post
41function action_copier_local_post($id_document) {
42
43        // Il faut la source du document pour le copier
44        $row = sql_fetsel("mode,fichier, descriptif, credits", "spip_documents", "id_document=$id_document");
45        $source = $row['fichier'];
46
47        include_spip('inc/distant'); // pour 'copie_locale'
48        $fichier = copie_locale($source);
49        if ($fichier) {
50                $fichier = _DIR_RACINE . $fichier;
51                $files[] = array('tmp_name'=>$fichier,'name'=>basename($fichier));
52                $ajouter_documents = charger_fonction('ajouter_documents','action');
53                spip_log("convertit doc $id_document en local: $source => $fichier");
54                $liste = array();
55                $ajouter_documents($id_document,$files,'',0,$row['mode'],$liste);
56
57                spip_unlink($fichier);
58               
59                // ajouter l'origine du document aux credits
60                include_spip('action/editer_document');
61                document_set($id_document,array('credits'=>($row['credits']?$row['credits'].', ':'').$source));
62                return true;
63               
64        } else {
65                spip_log("echec copie locale $source");
66        }
67        return _T('medias:erreur_copie_fichier',array('nom'=>$source));
68}
69
70?>
Note: See TracBrowser for help on using the repository browser.