[198] | 1 | <?php |
---|
| 2 | /***************************************************************************\ |
---|
| 3 | Plugin : magusine |
---|
| 4 | Licence : GPL |
---|
| 5 | Auteurs : Stéphane Noël, Philippe Vanderlinden |
---|
| 6 | Infos : http://www.spip-contrib.net/Le-plugin-Magusine |
---|
| 7 | http://www.magunews.net/spip.php?rubrique645 |
---|
| 8 | |
---|
| 9 | $LastChangedRevision: 12345 $ |
---|
| 10 | $LastChangedBy: bubu $ |
---|
| 11 | $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $ |
---|
| 12 | \***************************************************************************/ |
---|
| 13 | |
---|
| 14 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
| 15 | |
---|
| 16 | // 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 |
---|
| 17 | include_spip('inc/getdocument'); |
---|
| 18 | include_spip('inc/filtres_images_mini'); |
---|
| 19 | |
---|
| 20 | function formulaires_upload_bandeau_charger_dist($id_rubrique,$largeurMax,$hauteurMax) |
---|
| 21 | { |
---|
| 22 | $valeurs = array( |
---|
| 23 | "id_rubrique" =>$id_rubrique, |
---|
| 24 | "id_check" =>$_SESSION["id_check"], |
---|
| 25 | "largeurMax" =>$largeurMax, |
---|
| 26 | "hauteurMax" =>$hauteurMax |
---|
| 27 | ); |
---|
| 28 | |
---|
| 29 | return $valeurs; |
---|
| 30 | } |
---|
| 31 | |
---|
| 32 | // gestion de l'upload d'un bandeau |
---|
| 33 | // les bandeaux sont sauvés sous la forme bandeau.ext, et bandeau-id_rubrique.ext pour les bandeaux associés à une rubrique particuliÚre |
---|
| 34 | function formulaires_upload_bandeau_traiter_dist($id_rubrique,$largeurMax,$hauteurMax) |
---|
| 35 | { |
---|
| 36 | if (isset($_FILES["bandeau"])) { |
---|
| 37 | if ($_FILES["bandeau"]["error"] == 0) { |
---|
| 38 | $ext = strtolower(end(explode(".", $_FILES["bandeau"]["name"]))); |
---|
| 39 | $ext_ok = Array("jpg", "gif", "png"); |
---|
| 40 | if (!in_array($ext, $ext_ok)) { |
---|
| 41 | return array('message_erreur'=>_T("arty:erreur_extension") ); |
---|
| 42 | } |
---|
| 43 | |
---|
| 44 | $chem = creer_repertoire_documents("bandeau"); |
---|
| 45 | $chem = _DIR_IMG."bandeau/"; |
---|
| 46 | $nom_bandeau = "bandeau".((is_numeric($id_rubrique))?"-".$id_rubrique:""); |
---|
| 47 | $dest = $chem.$nom_bandeau.".".$ext; |
---|
| 48 | |
---|
| 49 | $ok = false; |
---|
| 50 | if ($chem) { |
---|
| 51 | $ok = @move_uploaded_file($_FILES['bandeau']['tmp_name'], $dest); |
---|
| 52 | } |
---|
| 53 | |
---|
| 54 | if ($ok){ |
---|
| 55 | //nettoyage du dossier bandeau (les bandeaux portant le même nom mais une extension différente du bandeau uploadé sont supprimés) |
---|
| 56 | $handle = @opendir($chem); |
---|
| 57 | while($fichier = @readdir($handle)) { |
---|
| 58 | if (ereg("^$nom_bandeau\.(jpg|png|gif)$", $fichier) && $fichier != $nom_bandeau.".".$ext){ |
---|
| 59 | @unlink($chem.$fichier); |
---|
| 60 | } |
---|
| 61 | } |
---|
| 62 | |
---|
| 63 | $fichier_upload = $chem.$nom_bandeau.".".$ext; |
---|
| 64 | |
---|
| 65 | # calculer la nouvelle taille du bandeau |
---|
| 66 | list($rWidth, $rHeight, $rType, $rAttr) = getimagesize($fichier_upload); |
---|
| 67 | $ratioImg = image_ratio($rWidth,$rHeight,$largeurMax,$hauteurMax); |
---|
| 68 | |
---|
| 69 | |
---|
| 70 | $valeurs["message_ok"]["message"] = ""; |
---|
| 71 | $valeurs["message_ok"]["hauteur"] = $ratioImg[1]; |
---|
| 72 | $valeurs["message_ok"]["largeur"] = $ratioImg[0]; |
---|
| 73 | $valeurs["message_ok"]["fichier_upload"] = $fichier_upload; |
---|
| 74 | |
---|
| 75 | return $valeurs; |
---|
| 76 | |
---|
| 77 | } else { |
---|
| 78 | return array('message_erreur'=>_T("arty:upload_rate") ); |
---|
| 79 | } |
---|
| 80 | } else if ($_FILES["bandeau"]["error"] == 1 || $_FILES["bandeau"]["error"] == 2) { |
---|
| 81 | return array('message_erreur'=>_T("arty:erreur_trop_gros") ); |
---|
| 82 | } else if ($_FILES["bandeau"]["error"] == 3) { |
---|
| 83 | return array('message_erreur'=>_T("arty:erreur_transmission") ); |
---|
| 84 | } |
---|
| 85 | } |
---|
| 86 | } |
---|
| 87 | |
---|
| 88 | ?> |
---|