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 |
---|
3 | include_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 |
---|
7 | function 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 |
---|
53 | function 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. |
---|
74 | function 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 | ?> |
---|