3 class sml_data_source_groupes extends mw_data
6 function init_groupe_status(){
10 function source_groupes($id_source)
11 { $env = $this->env();
12 $sgbd = $this->sgbd();
15 "SELECT #--sml_authors.*"
16 .", #--sml_sources_authors.id_sources_access as id_groupe_status"
17 ." FROM #--sml_authors, #--sml_sources_authors"
18 ." WHERE #--sml_sources_authors.id_author=#--sml_authors.id"
19 ." AND #--sml_sources_authors.id_source=".$this->eq($id_source);
20 $rst = $sgbd->query($sql);
22 while($v_rst = $sgbd->fetch_assoc($rst))
23 { $v_rst["image_uri"] =
25 $env->path("content")."uploads/".$v_rst["image"]
28 $groupes[$v_rst["id"]] = $v_rst;
30 $sgbd->free_result($rst);
32 catch(Exception $e) { return false; }
36 function add_source_groupe($id_source, $id_groupe, $id_groupe_status)
37 { $sgbd = $this->sgbd();
40 "INSERT INTO #--sml_sources_authors(id_source, id_author, id_sources_access) VALUES"
41 ."( ".$this->eq($id_source)
42 .", ".$this->eq($id_groupe)
43 .", ".$this->eq($id_groupe_status)
47 catch(Exception $e) { return false; }
51 function set_source_groupe($id, $id_groupe_status)
52 { if(($groupe = $this->groupe($id)) !== false)
53 { $sgbd = $this->sgbd();
56 "UPDATE #--sml_sources_authors SET"
57 ." id_sources_access=".$this->eq($id_groupe_status)
61 catch(Exception $e) { return false; }
67 function del_source_groupes($id_source)
68 { $sgbd = $this->sgbd();
70 $sql = "DELETE FROM #--sml_sources_authors WHERE id_source=".$this->eq($id_source);
73 catch(Exception $e) { return false; }
77 function del_source_groupe($id)
78 { $sgbd = $this->sgbd();
80 $sql = "DELETE FROM #--sml_sources_authors WHERE id=".$this->eq($id);
83 catch(Exception $e) { return false; }
87 // --------------------------------------------------------------------
89 function id_groupe_status_admin() { return 1; }
90 function id_groupe_status_editeur() { return 2; }
91 function id_groupe_status_contributeur() { return 3; }
93 function get_admin_groupe($groupes)
95 if(is_array($groupes)) foreach($groupes as $source_groupe)
96 { if($source_groupe["id_groupe_status"] == $this->id_groupe_status_admin())
97 { $groupe = $source_groupe;
104 function source_permissions($source, $id_user)
105 { $permissions = array
108 "contributeur" => false
110 foreach($source["groupes"] as $id_groupe => $source_groupe)
111 { if($source_groupe["id_user"] == $id_user)
112 { if($source_groupe["id_groupe_status"] == $this->id_groupe_status_admin())
113 { $permissions["admin"] = true;
114 $permissions["editeur"] = true;
115 $permissions["contributeur"] = true;
117 elseif($source_groupe["id_groupe_status"] == $this->id_groupe_status_editeur())
118 { $permissions["editeur"] = true;
119 $permissions["contributeur"] = true;
121 elseif($source_groupe["id_groupe_status"] == $this->id_groupe_status_contributeur())
122 { $permissions["contributeur"] = true;