syntaxe POO (visibilite) et maj indentation
[mw_sourceml] / app / controllers / sources / piste.php
1 <?php
2
3   class mw_sources_piste extends mw_controller{
4
5     public $content_sources_mod;
6
7     public function validate(){
8       $env = $this->env();
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;
14       }
15       return "impossible de valider le module";
16     }
17
18     public function index(){
19       $env = $this->env();
20       $data = $env->data();
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);
25           $groupe = null;
26           $morceau = null;
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);
31             }
32             else $groupe = false;
33           }
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);
38 /*
39                 if(!isset($groupe)){
40                   $groupe = $data->get_admin_groupe($morceau["groupes"]);
41                   if(!$groupe) $groupe = false;
42                 }
43 */
44               }
45             }
46           }
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);
54                 $select = array();
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");
62               }
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);
68               }
69               else $env->erreur("impossible de lire la liste des albums");
70             }
71             else $env->erreur("Impossible de lire les informations du morceau");
72           }
73           else $env->erreur("Impossible de lire les informations du groupe");
74         }
75         else $erreur = "impossible de lire la liste des groupes";
76       }
77       else $env->erreur("impossible de lire la liste des licences");
78     }
79
80     public function view(){
81       $env = $this->env();
82       $data = $env->data();
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);
97                   $morceau = null;
98                   $album = null;
99                   foreach($ariane as $id_ariane => $source_ariane){
100                     if(!isset($morceau)) $morceau = $source_ariane;
101                     else{
102                       if(!isset($album)) $album = $source_ariane;
103                     }
104                   }
105                   if($morceau) $env->set_out("morceau", $morceau);
106                   if($album) $env->set_out("album", $album);
107                 }
108                 else $env->erreur("Impossible de lire le fil d'ariane");
109               }
110               else $env->erreur("impossible de lire la liste des albums");
111             }
112             else $env->erreur("Impossible de lire les informations du groupe");
113           }
114           else $env->erreur("Impossible de lire les informations de la source");
115         }
116         else $env->erreur("parametre de piste manquant");
117       }
118       else $env->erreur("impossible de lire la liste des licences");
119     }
120
121   }