[PLUGINS] +crayons et enluminures
[ptitvelo/web/www.git] / www / plugins / crayons / action / crayons_upload.php
1 <?php
2
3 if (!defined("_ECRIRE_INC_VERSION")) return;
4
5 // upload d'images
6 /*
7 * Cette action recoit des fichiers ($_FILES)
8 * et les affecte a l'objet courant ;
9 * puis renvoie la liste des documents joints
10 *
11 */
12
13 function action_crayons_upload() {
14
15 $type = preg_replace('/\W+/', '', strval(_request('type')));
16 $id = intval(_request('id'));
17
18 // check securite :-)
19 include_spip('inc/autoriser');
20 if (!autoriser('joindredocument',$type,$id)) {
21 echo "Erreur: upload interdit";
22 return false;
23 }
24
25 // on n'accepte qu'un seul document à la fois, dans la variable 'upss'
26 if ($file = $_FILES['upss']
27 AND $file['error'] == 0) {
28
29 $source = $file['tmp_name']; # /tmp/php/phpxxx
30 $nom_envoye = $file['name']; # mon-image.jpg
31
32 include_spip('plugins/installer'); // spip_version_compare dans SPIP 3.x
33 include_spip('inc/plugin'); // spip_version_compare dans SPIP 2.x
34 if (function_exists(spip_version_compare)) { // gerer son absence dans les branche precedente a SPIP 2.x
35 if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.0alpha', '>='))
36 define('_SPIP3', true);
37 }
38 if (defined('_SPIP3')) {
39 include_spip('action/ajouter_documents');
40
41 $ajouter_un_document = charger_fonction('ajouter_un_document','action');
42 $id = $ajouter_un_document("new", $file, $type, $id, 'document');
43
44 } else {
45 include_spip('inc/ajouter_documents');
46
47 $id = ajouter_un_document($source, $nom_envoye, $type, $id, 'document', $id_document=0, &$documents_actifs, $titrer=true);
48 }
49 }
50
51 if (!$id) {
52 $erreur = "erreur !";
53 }
54
55 $a = recuperer_fond('modeles/uploader_item',array('id_document' => $id, 'erreur' => $erreur));
56
57 echo $a;
58 }
59
60 ?>