syntaxe POO (visibilite) et maj indentation
[mw_sourceml] / app / controllers / admin / sourceml.php
1 <?php
2
3   class mw_admin_sourceml extends mw_controller{
4
5     public $groupes;
6     public $albums;
7     public $status;
8     public $album_status_id;
9
10     public function validate(){
11       $env = $this->env();
12       $data = $env->data();
13       if(($this->status = $data->source_status()) === false){
14         return "Impossible de lire la liste des status de source";
15       }
16       foreach($this->status as $id_source_status => $source_status){
17         if($source_status["nom"] == "album") $this->album_status_id = $id_source_status;
18         if(isset($this->album_status_id) && isset($this->morceau_status_id)) break;
19       }
20       if(!isset($this->album_status_id)) return "Type de source inconnu: album";
21       if(($this->groupes = $data->groupes()) === false){
22         return "Impossible de lire la liste des groupes";
23       }
24       $select = array("status" => $this->album_status_id);
25       if(($this->albums = $data->sources($select)) === false){
26         return "impossible de lire la liste des albums";
27       }
28       return true;
29     }
30
31     public function index(){
32       $env = $this->env();
33       $data = $env->data();
34       if(!($groupes = $this->groupes)){
35         $env->erreur("Impossible de lire la liste des groupes");
36         return;
37       }
38       if(!($albums = $this->albums)){
39         $env->erreur("Impossible de lire la liste des albums");
40         return;
41       }
42       if(($CONFIG = $env->get_CONFIG()) === false){
43         $env->erreur("Impossible de lire la configuration");
44         return;
45       }
46       if($_POST){
47         if($_POST["start_action"] == "sources/groupe"){
48           if(!$data->set_config("start_action", "sources/groupe")){
49             $env->erreur("impossible d'enregistrer la configuration");
50             return;
51           }
52         }
53         elseif($_POST["start_action"] == "sources/groupe/view"){
54           $params = array("id" => $_POST["groupe_param"]);
55           if(
56                 !$data->set_config("start_action", "sources/groupe/view")
57             ||  !$data->set_config("start_action_params", @serialize($params))
58           ){
59             $env->erreur("impossible d'enregistrer la configuration");
60             return;
61           }
62         }
63         elseif($_POST["start_action"] == "sources/album/view"){
64           $params = array("album" => $_POST["album_param"]);
65           if(
66                 !$data->set_config("start_action", "sources/album/view")
67             ||  !$data->set_config("start_action_params", @serialize($params))
68           ){
69             $env->erreur("impossible d'enregistrer la configuration");
70             return;
71           }
72         }
73         elseif(
74               isset($CONFIG["start_action"])
75           &&  (
76                 ($CONFIG["start_action"] == "sources/groupe")
77             ||  ($CONFIG["start_action"] == "sources/groupe/view")
78             ||  ($CONFIG["start_action"] == "sources/album/view")
79           )
80         ){
81           if(!$data->set_config("start_action", "")){
82             $env->erreur("impossible d'enregistrer la configuration");
83             return;
84           }
85         }
86         $env->redirect(
87           $env->url("admin/sourceml"),
88           "la configuration a été enregistrée"
89         );
90       }
91       $env->set_out("groupes", $this->groupes);
92       $env->set_out("albums", $this->albums);
93       $env->set_out("config", $CONFIG);
94     }
95
96   }