source: trunk/spip/esqueleto-redcta/plugins/magusine/inc/arty_upload_bandeau.php @ 556

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

el plugin completo

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1<?php
2// importe la fonction creer_repertoire_documents, qui retourne le chemin vers un dossier donné dans le répertoire img, et le crée si nécessaire
3include_spip('inc/getdocument');
4
5//gestion de l'upload d'un bandeau
6// les bandeaux sont sauvés sous la forme bandeau.ext, et bandeau-id_rubrique.ext pour les bandeaux associés à une rubrique particuliÚre
7function traiter_upload_bandeau($id_rubrique=0){
8  if (isset($_FILES["bandeau"])) {
9    if ($_FILES["bandeau"]["error"] == 0) {
10      $ext = strtolower(end(explode(".", $_FILES["bandeau"]["name"])));
11      $ext_ok = Array("jpg", "gif", "png");
12      if (!in_array($ext, $ext_ok)) {
13        return "arty:erreur_extension";
14      }
15
16      $chem = creer_repertoire_documents("bandeau");
17      $chem = _DIR_DOC."bandeau/";
18     
19      if (!$id_rubrique) {
20        $nom_bandeau = "bandeau";
21      } else {
22        $nom_bandeau = "bandeau-$id_rubrique";
23      }
24     
25      $dest = $chem.$nom_bandeau.".".$ext;
26     
27      $ok = false;
28      if ($chem) {
29        $ok = @move_uploaded_file($_FILES['bandeau']['tmp_name'], $dest);
30      }
31     
32      if ($ok){
33        //nettoyage du dossier bandeau (les bandeaux portant le même nom mais une extension différente du bandeau uploadé sont supprimés)
34        $handle = @opendir($chem); 
35        while($fichier = @readdir($handle)) {
36          if (ereg("^$nom_bandeau\.(jpg|png|gif)$", $fichier) && $fichier != $nom_bandeau.".".$ext){
37            @unlink($chem.$fichier);
38          }
39        }
40        return "arty:upload_reussi";
41      } else {
42        return "arty:upload_rate";
43      }
44    } else if ($_FILES["bandeau"]["error"] == 1 || $_FILES["bandeau"]["error"] == 2) {
45      return "arty:erreur_trop_gros";
46    } else if ($_FILES["bandeau"]["error"] == 3) {
47      return "arty:erreur_transmission";
48    }
49  }
50}
51
52// supprime le bandeau d'une rubrique donnée
53function traiter_suppression_bandeau($id_rubrique=0){
54  if (isset($_GET['action']) && isset($_GET['id_check'])){
55    if ($_GET['action'] == "supprimer_bandeau" && $_GET['id_check'] == $_SESSION["id_check"]) {
56      $chem = _DIR_DOC."bandeau/";
57      $handle = @opendir($chem);       
58      while($fichier = @readdir($handle)) {
59        if (!$id_rubrique) {
60          if (ereg("^bandeau\.(jpg|png|gif)$", $fichier)){
61            @unlink($chem.$fichier);
62          }
63        } else {
64          if (ereg("^bandeau-$id_rubrique\.(jpg|png|gif)$", $fichier)){
65            @unlink($chem.$fichier);
66          }
67        }
68      }
69    }
70  }
71}
72
73// affiche le bandeau principal actuel ainsi qu'un lien pour le supprimer.
74function bandeau_actuel(){
75  $chem = creer_repertoire_documents("bandeau");
76  $chem = _DIR_DOC."bandeau/";
77  $handle = @opendir($chem);
78 
79  while($fichier = @readdir($handle)) {
80    if (ereg("^bandeau\.(jpg|png|gif)$", $fichier)) {
81      $bandeau = $fichier;
82    }
83  }
84  if (!isset($bandeau)){
85    return "<p>"._T("arty:aucun_bandeau")."</p>";
86  } else {
87    $result = _T("arty:bandeau_actuel").":<br /><img width=\"400\" src=\""._DIR_DOC."bandeau/$bandeau?".uniqid(rand())."\">"; // le nombre aléatoire permet d'éviter que le navigateur affiche la version en cache de l'image.
88    $result .= "<p>[<a href=\"?exec=theme&action=supprimer_bandeau&id_check=".$_SESSION['id_check']."\">"._T('arty:supprimer_bandeau')."</a>]</p>";
89    return $result;
90  }
91}
92?>
Note: See TracBrowser for help on using the repository browser.