- if(($this->status = $data->source_status()) !== false)
- { foreach($this->status as $id_source_status => $source_status)
- { if($source_status["nom"] == "album") $this->album_status_id = $id_source_status;
- if($source_status["nom"] == "morceau") $this->morceau_status_id = $id_source_status;
- if($source_status["nom"] == "piste") $this->piste_status_id = $id_source_status;
- if(isset($this->album_status_id) && isset($this->morceau_status_id) && isset($this->piste_status_id)) break;
- }
- if(isset($this->album_status_id) && isset($this->morceau_status_id) && isset($this->piste_status_id))
- { if($this->user = $env->user())
- { if(($this->groupes = $data->groupes($this->user["id"])) !== false)
- { $env->set_out("groupes", $this->groupes);
- $this->albums = array();
- $this->morceaux = array();
- if($this->groupes["total"] > 0)
- { foreach($this->groupes["list"] as $id_groupe => $groupe)
- { $this->albums[$id_groupe] = array();
- $select = array
- ( "status" => $this->album_status_id,
- "id_user" => $this->user["id"],
- "id_groupe" => $id_groupe
- );
- if(($albums = $data->sources($select)) !== false)
- { $this->albums[$id_groupe] = $albums["list"];
- }
- else
- { $this->albums = false;
- break;
- }
-
- $this->morceaux[$id_groupe] = array();
- $select = array
- ( "status" => $this->morceau_status_id,
- "id_user" => $this->user["id"],
- "id_groupe" => $id_groupe
- );
- if(($morceaux = $data->sources($select)) !== false)
- { foreach($morceaux["list"] as $id_morceau => $morceau)
- { if(($compositions = $data->source_compositions(array("id_source" => $id_morceau))) !== false)
- { if($compositions) foreach($compositions[$id_morceau] as $_id_album) { $morceaux["list"][$id_morceau]["album"] = $_id_album; break; }
- if(!isset($morceaux["list"][$id_morceau]["album"])) $morceaux["list"][$id_morceau]["album"] = 0;
- }
- else
- { $this->morceaux = false;
- break;
- }
- }
- if($this->morceaux !== false)
- { foreach($morceaux["list"] as $id_morceau => $morceau)
- { if(!isset($this->morceaux[$id_groupe][$morceau["album"]])) $this->morceaux[$id_groupe][$morceau["album"]] = array();
- $this->morceaux[$id_groupe][$morceau["album"]][$id_morceau] = $morceau;
- }
- }
- }
- else
- { $this->morceaux = false;
- break;
- }
- if($this->morceaux === false) break;
- }
- }
- if($this->albums !== false && $this->morceaux !== false)
- { $env->set_out("albums", $this->albums);
- $env->set_out("morceaux", $this->morceaux);
- if($env->etat("action") == "edit" || $env->etat("action") == "del" || $env->etat("action") == "maj_xml")
- { if(($this->piste = $data->source($_GET[$env->param("id")], true)) !== false && $this->piste)
- {
- }
- else return "Impossible de lire les informations de la source";
- }
- if($env->etat("action") == "add" || $env->etat("action") == "edit")
- { if(($this->licences = $data->licences()) !== false)
- { $env->set_out("licences", $this->licences);
- }
- else return "Impossible de lire la liste des licences";
- }
- }
- else return "Impossible de lire la liste des albums";
- }
- else return "Impossible de lire la liste des groupes";
- }
- else return "Vous devez être identifier pour accéder à cette page";
- }
- else
- { if(!isset($this->album_status_id)) return "Type de source inconnu: album";
- return "Type de source inconnu: morceau";
- }
+ if(($this->status = $data->source_status()) === false){
+ return "Impossible de lire la liste des status de source";
+ }
+ foreach($this->status as $id_source_status => $source_status){
+ if($source_status["nom"] == "album") $this->album_status_id = $id_source_status;
+ if($source_status["nom"] == "morceau") $this->morceau_status_id = $id_source_status;
+ if($source_status["nom"] == "piste") $this->piste_status_id = $id_source_status;
+ if(isset($this->album_status_id) && isset($this->morceau_status_id) && isset($this->piste_status_id)) break;
+ }
+ if(
+ !isset($this->album_status_id)
+ || !isset($this->morceau_status_id)
+ || !isset($this->piste_status_id)
+ ){
+ return "liste des status de source incomplète";
+ }
+ if(!($this->user = $env->user())){
+ return "Vous devez être identifié pour accéder à cette page";