source: trunk/spip/esqueleto-redcta/plugins/magusine/inc/upload-image.php @ 681

Last change on this file since 681 was 80, checked in by guille, 16 years ago

el plugin completo

  • Property svn:executable set to *
File size: 2.3 KB
Line 
1<?php
2//gestion de l'upload d'un logo pour les groupes de mot
3// les logos sont sauvés sous la forme bandeau.ext, et bandeau-id_rubrique.ext pour les bandeaux associés à une rubrique particuliÚre
4function traiter_upload_image($nom,$rep,$id_groupe=0){
5  if (isset($_FILES[$nom])) {
6    if ($_FILES[$nom]["error"] == 0) {
7      $ext = strtolower(end(explode(".", $_FILES[$nom]["name"])));
8     
9      $ext_ok = Array("jpg", "gif", "png");
10      if (!in_array($ext, $ext_ok)) {
11        return "arty:erreur_extension";
12      }
13
14      $chem = creer_repertoire_documents($rep);
15      $chem = _DIR_DOC.$rep."/";
16     
17      if (!$id_groupe) {
18        $nom_logo = $nom;
19      } else {
20        $nom_logo = "$nom-$id_groupe";
21      }
22     
23      $dest = $chem.$nom_logo.".".$ext;
24      $ok = false;
25      if ($chem) {
26        $ok = @move_uploaded_file($_FILES[$nom]['tmp_name'], $dest);
27      }
28     
29      if ($ok){
30        //nettoyage du dossier logo (les logo portant le même nom mais une extension différente du bandeau uploadé sont supprimés)
31        $handle = @opendir($chem); 
32        while($fichier = @readdir($handle)) {
33          if (ereg("^$nom_logo\.(jpg|png|gif)$", $fichier) && $fichier != $nom_logo.".".$ext){
34            @unlink($chem.$fichier);
35          }
36        }
37        return "arty:upload_reussi";
38      } else {
39        return "arty:upload_rate";
40      }
41    } else if ($_FILES[$nom]["error"] == 1 || $_FILES[$nom]["error"] == 2) {
42      return "arty:erreur_trop_gros";
43    } else if ($_FILES[$nom]["error"] == 3) {
44      return "arty:erreur_transmission";
45    }
46  }
47}
48
49// supprime le bandeau d'une rubrique donnée
50function traiter_suppression_logo($id_groupe=0){
51  if (isset($_GET['action']) && isset($_GET['id_check'])){
52    if ($_GET['action'] == "supprimer_logo" && $_GET['id_check'] == $_SESSION["id_check"]) {
53      //$chem = creer_repertoire_documents("logo-groupe");
54       $chem = _DIR_DOC."logo-groupe/";
55      $handle = @opendir($chem);       
56      while($fichier = @readdir($handle)) {
57        if (!$id_groupe) {
58          if (ereg("^logo\.(jpg|png|gif)$", $fichier)){
59            @unlink($chem.$fichier);
60          }
61        } else {
62          if (ereg("^logo-$id_groupe\.(jpg|png|gif)$", $fichier)){
63            @unlink($chem.$fichier);
64          }
65        }
66      }
67    }
68  }
69}
70
71?>
Note: See TracBrowser for help on using the repository browser.