out["edit_ok"] = false; if(($env->out["artiste"] = $env->data->artiste($_GET[$env->param("artiste")])) !== false) { if ( $env->pun_user["is_super_admin"] || $env->pun_user["id"] === $env->out["artiste"]["pun_user"] || $env->data->is_artiste_admin($_GET[$env->param("artiste")], $env->pun_user["id"]) ) { $env->out["edit_ok"] = true; $env->a = $_GET[$env->param("action")] ? $_GET[$env->param("action")] : "albums"; $function = "a_".$env->a; if(function_exists($function)) $function($env); } else $env->erreur = "Vous n'êtes pas identifié comme administrateur de cet artiste."; } else $env->erreur = "Impossible de lire les infos de l'artiste"; } # ------------------------------------------------------------------------------ # actions # function a_albums($env) { if(($env->out["albums"] = $env->data->artiste_albums($_GET[$env->param("artiste")])) !== false) { } else $env->erreur = "Impossible de lire les albums de l'artiste"; } function a_set_albums($env) { $ordre = array(); $actif = array(); foreach($_POST as $key => $value) { if(strpos($key, "ordre_") === 0 && strlen($value) > 0) { $ordre[substr($key, 6)] = $value; } if(strpos($key, "actif_") === 0 && strlen($value) > 0) { $actif[substr($key, 6)] = $value; } } if($env->data->set_artiste_albums($_GET[$env->param("artiste")], $ordre, $actif) !== false) { _redirect ( $env, $env->url(array("e" => "set_artiste_albums", "artiste" => $_GET[$env->param("artiste")])), "Les albums ont été mis à jour" ); } else $env->erreur = "Impossible de mettre à jour les albums"; } function a_add_album($env) { if($_POST) { $image = false; if($_FILES["image"] && $_FILES["image"]["error"] != UPLOAD_ERR_NO_FILE) { switch($_FILES["image"]["error"]) { case UPLOAD_ERR_OK : break; default : $env->erreur = "Impossible d'uploader l'image."; } if(!$env->erreur) { $v_name = explode(".", $_FILES["image"]["name"]); $ext = $v_name[count($v_name) - 1]; if ( strcasecmp($ext, "png") == 0 || strcasecmp($ext, "gif") == 0 || strcasecmp($ext, "jpg") == 0 || strcasecmp($ext, "jpeg") == 0 ) { $dest = $env->path("uploads")."artistes/".$env->out["artiste"]["id"]; if(file_exists($dest)) { if(!is_dir($dest)) $env->erreur = "le dossier d'upload est un fichier. Impossible d'y uploader l'image"; } else { @mkdir($dest); clearstatcache(); if(!file_exists($dest) && !is_dir($dest)) $env->erreur = "Impossible de creer le dossier d'upload"; } if(!$env->erreur) { if ( @move_uploaded_file ( $_FILES["image"]["tmp_name"], $dest."/".$_FILES["image"]["name"] ) !== false ) $image = $dest."/".$_FILES["image"]["name"]; else $env->erreur = "Impossible de copier l'image uploadée"; } } else $env->message = "Le fichier image doit être au format png, gif ou jpg"; } } if(!$env->message && !$env->erreur) { if ( $env->data->add_artiste_album ( $env->out["artiste"]["id"], $_POST["titre"], $image !== false ? $image : "", $_POST["description"], $_POST["url"], $_POST["format"], $_POST["taille"], $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"] ) ) { _redirect ( $env, $env->url(array("e" => "set_artiste_albums", "artiste" => $env->out["artiste"]["id"])), "L'album a été ajouté" ); } else $env->erreur = "Impossible d'ajouter l'album"; } } else { if(($env->out["formats"] = $env->data->formats()) !== false) { } else $env->erreur = "Impossible de lire la liste des formats"; } } function a_set_album($env) { if(($env->out["album"] = $env->data->artiste_album($_GET[$env->param("album")])) !== false) { if($_POST) { $image = false; if($_POST["del_image"] && $env->out["album"]["image"] && !is_dir($env->out["album"]["image"])) { @unlink($env->out["album"]["image"]); clearstatcache(); if(file_exists($env->out["album"]["image"])) $env->erreur = "Impossible d'effacer l'image"; else $image = null; } if(!$env->erreur && $_FILES["image"] && $_FILES["image"]["error"] != UPLOAD_ERR_NO_FILE) { switch($_FILES["image"]["error"]) { case UPLOAD_ERR_OK : break; default : $env->erreur = "Impossible d'uploader l'image."; } if(!$env->erreur) { $v_name = explode(".", $_FILES["image"]["name"]); $ext = $v_name[count($v_name) - 1]; if ( strcasecmp($ext, "png") == 0 || strcasecmp($ext, "gif") == 0 || strcasecmp($ext, "jpg") == 0 || strcasecmp($ext, "jpeg") == 0 ) { $dest = $env->path("uploads")."artistes/".$env->out["artiste"]["id"]; if(file_exists($dest)) { if(!is_dir($dest)) $env->erreur = "le dossier d'upload est un fichier. Impossible d'y uploader l'image"; } else { @mkdir($dest); clearstatcache(); if(!file_exists($dest) && !is_dir($dest)) $env->erreur = "Impossible de creer le dossier d'upload"; } if(!$env->erreur) { if($env->out["album"]["image"] && file_exists($env->out["album"]["image"])) { @unlink($env->out["album"]["image"]); clearstatcache(); if(file_exists($env->out["artiste"]["image"])) $env->erreur = "Impossible d'effacer l'ancienne image"; } if(!$env->erreur) { if ( @move_uploaded_file ( $_FILES["image"]["tmp_name"], $dest."/".$_FILES["image"]["name"] ) !== false ) $image = $dest."/".$_FILES["image"]["name"]; else $env->erreur = "Impossible de copier l'image uploadee"; } } } else $env->message = "Le fichier image doit être au format png, gif ou jpg"; } } if(!$env->message && !$env->erreur) { if ( $env->data->set_artiste_album ( $_GET[$env->param("album")], $_POST["titre"], $image !== false ? $image : $env->out["album"]["image"], $_POST["description"], $_POST["url"], $_POST["format"], $_POST["taille"], $_POST["annee_date_creation"]."-".$_POST["mois_date_creation"]."-".$_POST["jour_date_creation"] ) ) { _redirect ( $env, $env->url(array("e" => "set_artiste_albums", "artiste" => $env->out["artiste"]["id"])), "L'album a été modifié" ); } else $env->erreur = "Impossible d'enregitrer les modifications"; } } else { if(($env->out["formats"] = $env->data->formats()) !== false) { } else $env->erreur = "Impossible de lire la liste des formats"; } } } function a_del_album($env) { if($env->data->del_artiste_album($_GET[$env->param("album")])) { _redirect ( $env, $env->url(array("e" => "set_artiste_albums", "artiste" => $env->out["artiste"]["id"])), "L'album a été supprimé" ); } else $env->erreur = "Impossible de supprimer l'album"; } ?>