3 class mw_sources_piste extends mw_controller{
5 public $content_sources_mod;
7 public function validate(){
9 if($this->content_sources_mod = $env->get_controller("content/sources")){
10 $this->content_sources_mod->validation_result = true;
11 $this->content_sources_mod->validate_status($env);
12 $this->content_sources_mod->validate_licences($env);
13 return $this->content_sources_mod->validation_result;
15 return "impossible de valider le module";
18 public function index(){
21 if(isset($this->content_sources_mod->licences) && $this->content_sources_mod->licences !== false){
22 $env->set_out("licences", $this->content_sources_mod->licences);
23 if(($groupes = $data->groupes()) !== false){
24 $env->set_out("groupes", $groupes);
27 if(isset($_GET[$env->param("groupe")]) && $_GET[$env->param("groupe")]){
28 if(isset($groupes["list"][$_GET[$env->param("groupe")]])){
29 $groupe = $groupes["list"][$_GET[$env->param("groupe")]];
30 $env->set_out("groupe", $groupe);
34 if($groupe !== false){
35 if(isset($_GET[$env->param("morceau")]) && $_GET[$env->param("morceau")]){
36 if(($morceau = $data->source($_GET[$env->param("morceau")], true)) !== false){
37 $env->set_out("morceau", $morceau);
40 $groupe = $data->get_admin_groupe($morceau["groupes"]);
41 if(!$groupe) $groupe = false;
47 if($groupe !== false){
48 $env->set_out("groupe", $groupe);
49 if($morceau !== false){
50 $select = array("status" => $this->content_sources_mod->morceau_status_id);
51 if(isset($groupe)) $select["id_groupe"] = $groupe["id"];
52 if(($morceaux = $data->sources($select)) !== false){
53 $env->set_out("morceaux", $morceaux);
55 $select["status"] = $this->content_sources_mod->piste_status_id;
56 $select["order_by"] = "ordre";
57 if(isset($groupe)) $select["id_groupe"] = $groupe["id"];
58 if(isset($_GET[$env->param("morceau")])) $select["id_composition"] = $_GET[$env->param("morceau")];
59 $select["start"] = isset($_GET[$env->param("start")]) && $_GET[$env->param("start")] ? $_GET[$env->param("start")] : 0;
60 if(($pistes = $data->sources($select, true)) !== false) $env->set_out("pistes", $pistes);
61 else $env->erreur("Impossible de lire la liste des pistes");
63 else $env->erreur("impossible de lire la liste des morceaux");
64 $select = array("status" => $this->content_sources_mod->album_status_id);
65 if(isset($groupe)) $select["id_groupe"] = $groupe["id"];
66 if(($albums = $data->sources($select)) !== false){
67 $env->set_out("albums", $albums);
69 else $env->erreur("impossible de lire la liste des albums");
71 else $env->erreur("Impossible de lire les informations du morceau");
73 else $env->erreur("Impossible de lire les informations du groupe");
75 else $erreur = "impossible de lire la liste des groupes";
77 else $env->erreur("impossible de lire la liste des licences");
80 public function view(){
83 if(isset($this->content_sources_mod->licences) && $this->content_sources_mod->licences !== false){
84 $env->set_out("licences", $this->content_sources_mod->licences);
85 if(isset($_GET[$env->param("piste")]) && $_GET[$env->param("piste")]){
86 if($piste = $data->source($_GET[$env->param("piste")], true)){
87 $env->set_out("piste", $piste);
88 if($groupe = $data->get_admin_groupe($piste["groupes"])){
89 // $env->set_out("groupe", $groupe);
90 $env->set_out("groupes", $piste["groupes"]);
91 $select = array("status" => $this->content_sources_mod->album_status_id);
92 $select["id_groupe"] = $groupe["id"];
93 if(($albums = $data->sources($select)) !== false){
94 $env->set_out("albums", $albums);
95 if(($ariane = $data->source_ariane($piste["id"])) !== false){
96 $ariane = array_reverse($ariane);
99 foreach($ariane as $id_ariane => $source_ariane){
100 if(!isset($morceau)) $morceau = $source_ariane;
102 if(!isset($album)) $album = $source_ariane;
105 if($morceau) $env->set_out("morceau", $morceau);
106 if($album) $env->set_out("album", $album);
108 else $env->erreur("Impossible de lire le fil d'ariane");
110 else $env->erreur("impossible de lire la liste des albums");
112 else $env->erreur("Impossible de lire les informations du groupe");
114 else $env->erreur("Impossible de lire les informations de la source");
116 else $env->erreur("parametre de piste manquant");
118 else $env->erreur("impossible de lire la liste des licences");