syntaxe POO (visibilite) et maj indentation
[mw_sourceml] / app / data / modules / xml / sml_data_licences.php
1 <?php
2
3   class sml_data_licences extends mw_data{
4
5     public function licences($start = null){
6       $sgbd = $this->sgbd();
7       $env = $this->env();
8       $licences = array("list" => array(), "total" => 0);
9       if($rst = $sgbd->open_data("sml_licences")){
10         while($v_rst = $sgbd->fetch_data($rst)){
11           if(isset($v_rst)){
12             $licences["total"]++;
13             if(!isset($start) || !$env->config("max_list") || ($licences["total"] > $start && $licences["total"] < ($start + $env->config("max_list")))){
14               $licences["list"][$v_rst["id"]] = $v_rst;
15             }
16           }
17           else{
18             $licences = false;
19             break;
20           }
21         }
22         $sgbd->close_data($rst);
23       }
24       else $licences = false;
25       return $licences;
26     }
27
28     public function licence($id){
29       if($id == 0) return $id;
30       $sgbd = $this->sgbd();
31       return $sgbd->get_data("sml_licences", $id);
32     }
33
34     public function add_licence($nom, $url){
35       $sgbd = $this->sgbd();
36       return $sgbd->add_data(
37         "sml_licences",
38         array(
39           "nom" => $nom,
40           "url" => $url
41         )
42       );
43     }
44
45     public function set_licence($id, $nom, $url){
46       if(($licence = $this->licence($id)) !== false){
47         $sgbd = $this->sgbd();
48         if($nom != $licence["nom"] || $url != $licence["url"]){
49           $licence["nom"] = $nom;
50           $licence["url"] = $url;
51           if(!$this->maj_source_xml_licence($licence)) return false;
52         }
53         return $sgbd->set_data(
54           "sml_licences",
55           $id,
56           array
57           ( "nom" => $nom,
58             "url" => $url
59           )
60         );
61       }
62       return false;
63     }
64
65     public function del_licence($id){
66       $OK = true;
67       $USED = false;
68       $sgbd = $this->sgbd();
69       $env = $this->env();
70       if($rst = $sgbd->open_data("sml_sources")){
71         while($source = $sgbd->fetch_data($rst)){
72           if(isset($source)){
73             if($source["licence"] == $id){
74               $USED = true;
75               break;
76             }
77           }
78           else{
79             $OK = false;
80             break;
81           }
82         }
83         $sgbd->close_data($rst);
84       }
85       else $OK = false;
86       if($OK){
87         if($USED) return 1;
88         return $sgbd->del_data("sml_licences", $id) ? true : false;
89       }
90       return false;
91     }
92
93   }