[6] | 1 | <?php |
---|
| 2 | |
---|
| 3 | function e_set_artiste_albums($env) |
---|
| 4 | { $env->out["edit_ok"] = false; |
---|
| 5 | if(($env->out["artiste"] = $env->data->artiste($_GET[$env->param("artiste")])) !== false) |
---|
| 6 | { if |
---|
| 7 | ( $env->pun_user["is_super_admin"] |
---|
| 8 | || $env->pun_user["id"] === $env->out["artiste"]["pun_user"] |
---|
| 9 | || $env->data->is_artiste_admin($_GET[$env->param("artiste")], $env->pun_user["id"]) |
---|
| 10 | ) |
---|
| 11 | { $env->out["edit_ok"] = true; |
---|
| 12 | $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "albums"; |
---|
| 13 | $function = "a_".$env->a; |
---|
| 14 | if(function_exists($function)) $function($env); |
---|
| 15 | } |
---|
| 16 | else $env->erreur = "Vous n'êtes pas identifié comme administrateur de cet artiste."; |
---|
| 17 | } |
---|
| 18 | else $env->erreur = "Impossible de lire les infos de l'artiste"; |
---|
| 19 | } |
---|
| 20 | |
---|
| 21 | # ------------------------------------------------------------------------------ |
---|
| 22 | # actions |
---|
| 23 | # |
---|
| 24 | |
---|
| 25 | function a_albums($env) |
---|
| 26 | { if(($env->out["albums"] = $env->data->artiste_albums($_GET[$env->param("artiste")])) !== false) |
---|
| 27 | { |
---|
| 28 | } |
---|
| 29 | else $env->erreur = "Impossible de lire les albums de l'artiste"; |
---|
| 30 | } |
---|
| 31 | |
---|
| 32 | function a_set_albums($env) |
---|
| 33 | { $ordre = array(); |
---|
| 34 | $actif = array(); |
---|
| 35 | foreach($_POST as $key => $value) |
---|
| 36 | { if(strpos($key, "ordre_") === 0 && strlen($value) > 0) |
---|
| 37 | { $ordre[substr($key, 6)] = $value; |
---|
| 38 | } |
---|
| 39 | if(strpos($key, "actif_") === 0 && strlen($value) > 0) |
---|
| 40 | { $actif[substr($key, 6)] = $value; |
---|
| 41 | } |
---|
| 42 | } |
---|
| 43 | if($env->data->set_artiste_albums($_GET[$env->param("artiste")], $ordre, $actif) !== false) |
---|
| 44 | { _redirect |
---|
| 45 | ( $env, |
---|
| 46 | $env->url(array("e" => "set_artiste_albums", "artiste" => $_GET[$env->param("artiste")])), |
---|
| 47 | "Les albums ont été mis à jour" |
---|
| 48 | ); |
---|
| 49 | } |
---|
| 50 | else $env->erreur = "Impossible de mettre à jour les albums"; |
---|
| 51 | } |
---|
| 52 | |
---|
| 53 | function a_add_album($env) |
---|
| 54 | { if($_POST) |
---|
| 55 | { $image = false; |
---|
| 56 | if($_FILES["image"] && $_FILES["image"]["error"] != UPLOAD_ERR_NO_FILE) |
---|
| 57 | { switch($_FILES["image"]["error"]) |
---|
| 58 | { case UPLOAD_ERR_OK : break; |
---|
| 59 | default : $env->erreur = "Impossible d'uploader l'image."; |
---|
| 60 | } |
---|
| 61 | if(!$env->erreur) |
---|
| 62 | { $v_name = explode(".", $_FILES["image"]["name"]); |
---|
| 63 | $ext = $v_name[count($v_name) - 1]; |
---|
| 64 | if |
---|
| 65 | ( strcasecmp($ext, "png") == 0 || |
---|
| 66 | strcasecmp($ext, "gif") == 0 || |
---|
| 67 | strcasecmp($ext, "jpg") == 0 || |
---|
| 68 | strcasecmp($ext, "jpeg") == 0 |
---|
| 69 | ) |
---|
| 70 | { $dest = $env->path("uploads")."artistes/".$env->out["artiste"]["id"]; |
---|
| 71 | if(file_exists($dest)) |
---|
| 72 | { if(!is_dir($dest)) $env->erreur = "le dossier d'upload est un fichier. Impossible d'y uploader l'image"; |
---|
| 73 | } |
---|
| 74 | else |
---|
| 75 | { @mkdir($dest); |
---|
| 76 | clearstatcache(); |
---|
| 77 | if(!file_exists($dest) && !is_dir($dest)) $env->erreur = "Impossible de creer le dossier d'upload"; |
---|
| 78 | } |
---|
| 79 | if(!$env->erreur) |
---|
| 80 | { if |
---|
| 81 | ( @move_uploaded_file |
---|
| 82 | ( $_FILES["image"]["tmp_name"], |
---|
| 83 | $dest."/".$_FILES["image"]["name"] |
---|
| 84 | ) !== false |
---|
| 85 | ) $image = $dest."/".$_FILES["image"]["name"]; |
---|
| 86 | else $env->erreur = "Impossible de copier l'image uploadée"; |
---|
| 87 | } |
---|
| 88 | } |
---|
| 89 | else $env->message = "Le fichier image doit être au format png, gif ou jpg"; |
---|
| 90 | } |
---|
| 91 | } |
---|
| 92 | if(!$env->message && !$env->erreur) |
---|
| 93 | { if |
---|
| 94 | ( $env->data->add_artiste_album |
---|
| 95 | ( $env->out["artiste"]["id"], |
---|
| 96 | $_POST["titre"], |
---|
| 97 | $image !== false ? $image : "", |
---|
| 98 | $_POST["description"], |
---|
| 99 | $_POST["url"], |
---|
| 100 | $_POST["format"], |
---|
| 101 | $_POST["taille"], |
---|
| 102 | $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"] |
---|
| 103 | ) |
---|
| 104 | ) |
---|
| 105 | { _redirect |
---|
| 106 | ( $env, |
---|
| 107 | $env->url(array("e" => "set_artiste_albums", "artiste" => $env->out["artiste"]["id"])), |
---|
| 108 | "L'album a été ajouté" |
---|
| 109 | ); |
---|
| 110 | } |
---|
| 111 | else $env->erreur = "Impossible d'ajouter l'album"; |
---|
| 112 | } |
---|
| 113 | } |
---|
| 114 | else |
---|
| 115 | { if(($env->out["formats"] = $env->data->formats()) !== false) |
---|
| 116 | { |
---|
| 117 | } |
---|
| 118 | else $env->erreur = "Impossible de lire la liste des formats"; |
---|
| 119 | } |
---|
| 120 | } |
---|
| 121 | |
---|
| 122 | function a_set_album($env) |
---|
| 123 | { if(($env->out["album"] = $env->data->artiste_album($_GET[$env->param("album")])) !== false) |
---|
| 124 | { if($_POST) |
---|
| 125 | { $image = false; |
---|
| 126 | if($_POST["del_image"] && $env->out["album"]["image"] && !is_dir($env->out["album"]["image"])) |
---|
| 127 | { @unlink($env->out["album"]["image"]); |
---|
| 128 | clearstatcache(); |
---|
| 129 | if(file_exists($env->out["album"]["image"])) $env->erreur = "Impossible d'effacer l'image"; |
---|
| 130 | else $image = null; |
---|
| 131 | } |
---|
| 132 | if(!$env->erreur && $_FILES["image"] && $_FILES["image"]["error"] != UPLOAD_ERR_NO_FILE) |
---|
| 133 | { switch($_FILES["image"]["error"]) |
---|
| 134 | { case UPLOAD_ERR_OK : break; |
---|
| 135 | default : $env->erreur = "Impossible d'uploader l'image."; |
---|
| 136 | } |
---|
| 137 | if(!$env->erreur) |
---|
| 138 | { $v_name = explode(".", $_FILES["image"]["name"]); |
---|
| 139 | $ext = $v_name[count($v_name) - 1]; |
---|
| 140 | if |
---|
| 141 | ( strcasecmp($ext, "png") == 0 || |
---|
| 142 | strcasecmp($ext, "gif") == 0 || |
---|
| 143 | strcasecmp($ext, "jpg") == 0 || |
---|
| 144 | strcasecmp($ext, "jpeg") == 0 |
---|
| 145 | ) |
---|
| 146 | { $dest = $env->path("uploads")."artistes/".$env->out["artiste"]["id"]; |
---|
| 147 | if(file_exists($dest)) |
---|
| 148 | { if(!is_dir($dest)) $env->erreur = "le dossier d'upload est un fichier. Impossible d'y uploader l'image"; |
---|
| 149 | } |
---|
| 150 | else |
---|
| 151 | { @mkdir($dest); |
---|
| 152 | clearstatcache(); |
---|
| 153 | if(!file_exists($dest) && !is_dir($dest)) $env->erreur = "Impossible de creer le dossier d'upload"; |
---|
| 154 | } |
---|
| 155 | if(!$env->erreur) |
---|
| 156 | { if($env->out["album"]["image"] && file_exists($env->out["album"]["image"])) |
---|
| 157 | { @unlink($env->out["album"]["image"]); |
---|
| 158 | clearstatcache(); |
---|
| 159 | if(file_exists($env->out["artiste"]["image"])) $env->erreur = "Impossible d'effacer l'ancienne image"; |
---|
| 160 | } |
---|
| 161 | if(!$env->erreur) |
---|
| 162 | { if |
---|
| 163 | ( @move_uploaded_file |
---|
| 164 | ( $_FILES["image"]["tmp_name"], |
---|
| 165 | $dest."/".$_FILES["image"]["name"] |
---|
| 166 | ) !== false |
---|
| 167 | ) $image = $dest."/".$_FILES["image"]["name"]; |
---|
| 168 | else $env->erreur = "Impossible de copier l'image uploadee"; |
---|
| 169 | } |
---|
| 170 | } |
---|
| 171 | } |
---|
| 172 | else $env->message = "Le fichier image doit être au format png, gif ou jpg"; |
---|
| 173 | } |
---|
| 174 | } |
---|
| 175 | if(!$env->message && !$env->erreur) |
---|
| 176 | { if |
---|
| 177 | ( $env->data->set_artiste_album |
---|
| 178 | ( $_GET[$env->param("album")], |
---|
| 179 | $_POST["titre"], |
---|
| 180 | $image !== false ? $image : $env->out["album"]["image"], |
---|
| 181 | $_POST["description"], |
---|
| 182 | $_POST["url"], |
---|
| 183 | $_POST["format"], |
---|
| 184 | $_POST["taille"], |
---|
| 185 | $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"] |
---|
| 186 | ) |
---|
| 187 | ) |
---|
| 188 | { _redirect |
---|
| 189 | ( $env, |
---|
| 190 | $env->url(array("e" => "set_artiste_albums", "artiste" => $env->out["artiste"]["id"])), |
---|
| 191 | "L'album a été modifié" |
---|
| 192 | ); |
---|
| 193 | } |
---|
| 194 | else $env->erreur = "Impossible d'enregitrer les modifications"; |
---|
| 195 | } |
---|
| 196 | } |
---|
| 197 | else |
---|
| 198 | { if(($env->out["formats"] = $env->data->formats()) !== false) |
---|
| 199 | { |
---|
| 200 | } |
---|
| 201 | else $env->erreur = "Impossible de lire la liste des formats"; |
---|
| 202 | } |
---|
| 203 | } |
---|
| 204 | } |
---|
| 205 | |
---|
| 206 | function a_del_album($env) |
---|
| 207 | { if($env->data->del_artiste_album($_GET[$env->param("album")])) |
---|
| 208 | { _redirect |
---|
| 209 | ( $env, |
---|
| 210 | $env->url(array("e" => "set_artiste_albums", "artiste" => $env->out["artiste"]["id"])), |
---|
| 211 | "L'album a été supprimé" |
---|
| 212 | ); |
---|
| 213 | } |
---|
| 214 | else $env->erreur = "Impossible de supprimer l'album"; |
---|
| 215 | } |
---|
| 216 | |
---|
| 217 | ?> |
---|