class sml_data_source_groupes extends mw_data{
- function init_groupe_status(){
+ public function init_groupe_status(){
return true;
}
- function source_groupes($id_source)
- { $env = $this->env();
+ public function source_groupes($id_source){
+ $env = $this->env();
$sgbd = $this->sgbd();
$groupes = array();
$groupes_status = array();
- if($rst = $sgbd->open_data("sml_sources_authors"))
- { while($v_rst = $sgbd->fetch_data($rst))
- { if(isset($v_rst) && isset($v_rst["id_author"]) && isset($v_rst["id_source"]) && isset($v_rst["id_sources_access"]))
- { if($v_rst["id_source"] == $id_source) $groupes_status[$v_rst["id_author"]] = $v_rst["id_sources_access"];
+ if($rst = $sgbd->open_data("sml_sources_authors")){
+ while($v_rst = $sgbd->fetch_data($rst)){
+ if(isset($v_rst) && isset($v_rst["id_author"]) && isset($v_rst["id_source"]) && isset($v_rst["id_sources_access"])){
+ if($v_rst["id_source"] == $id_source) $groupes_status[$v_rst["id_author"]] = $v_rst["id_sources_access"];
}
- else
- { $groupes_status = false;
+ else{
+ $groupes_status = false;
break;
}
}
}
else $groupes_status = false;
if($groupes_status === false) return false;
- if($rst = $sgbd->open_data("sml_authors"))
- { while($v_rst = $sgbd->fetch_data($rst))
- { if(isset($v_rst) && isset($v_rst["id"]))
- { if(isset($groupes_status[$v_rst["id"]]))
- { $groupes[$v_rst["id"]] = $v_rst;
+ if($rst = $sgbd->open_data("sml_authors")){
+ while($v_rst = $sgbd->fetch_data($rst)){
+ if(isset($v_rst) && isset($v_rst["id"])){
+ if(isset($groupes_status[$v_rst["id"]])){
+ $groupes[$v_rst["id"]] = $v_rst;
$groupes[$v_rst["id"]]["id_groupe_status"] = $groupes_status[$v_rst["id"]];
- $groupes[$v_rst["id"]]["image_uri"] =
- ( $v_rst["image"] ?
+ $groupes[$v_rst["id"]]["image_uri"] = (
+ isset($v_rst["image"]) && $v_rst["image"] ?
$env->path("content")."uploads/".$v_rst["image"]
: ""
);
}
}
- else
- { $groupes = false;
+ else{
+ $groupes = false;
break;
}
}
return $groupes;
}
- function groupes_sources($params){
+ public function groupes_sources($params){
if(!isset($params["groupes"])) return false;
if(!isset($params["id_source_access"])) return false;
$satisfy_all_groupes_access = true;
$author_ids = array();
foreach($groupes as $i => $groupe) $author_ids[$groupe["id"]] = true;
$sgbd = $this->sgbd();
- $_sources = array();
+ $authors = array();
if($rst = $sgbd->open_data("sml_sources_authors")){
- while(($_sources !== false) && $v_rst = $sgbd->fetch_data($rst)){
+ while(($authors !== false) && $v_rst = $sgbd->fetch_data($rst)){
if(isset($v_rst)){
if(
isset($v_rst["id"])
isset($source_access_ids[$v_rst["id_sources_access"]])
&& isset($author_ids[$v_rst["id_author"]])
){
- $_sources[$v_rst["id_source"]] = array(
- "id_source" => $v_rst["id_source"],
- "id_author" => $v_rst["id_author"],
- );
+ if(!isset($authors[$v_rst["id_source"]])){
+ $authors[$v_rst["id_source"]] = array();
+ }
+ $authors[$v_rst["id_source"]][] = $v_rst["id_author"];
}
}
}
- else $_sources = false;
+ else $authors = false;
}
$sgbd->close_data($rst);
}
- else $_sources = false;
- if($_sources === false) return false;
+ else $authors = false;
+ if($authors === false) return false;
if($rst = $sgbd->open_data("sml_sources")){
while(($sources !== false) && $v_rst = $sgbd->fetch_data($rst)){
if(isset($v_rst) && isset($v_rst["id"])){
- if(isset($_sources[$v_rst["id"]])){
- if(!isset($sources[$v_rst["id"]])){
+ if(isset($authors[$v_rst["id"]])){
+ if(!isset($params["id_class"]) || (isset($v_rst["id_class"]) && ($v_rst["id_class"] == $params["id_class"]))){
$sources[$v_rst["id"]] = $v_rst;
- $sources[$v_rst["id"]]["authors"] = array();
+ $sources[$v_rst["id"]]["authors"] = $authors[$v_rst["id"]];
}
- $sources[$v_rst["id"]]["authors"][] = $_sources[$v_rst["id"]]["id_author"];
}
}
else $sources = false;
$sgbd->close_data($rst);
}
else $sources = false;
- if($_sources === false) return false;
+ if($sources === false) return false;
foreach($sources as $id_source => $source){
if($satisfy_all_groupes_access){
if(count($source["authors"]) < count($groupes)){
return $sources;
}
- function source_has_groupe($id_source, $id_groupe){
+ public function source_has_groupe($id_source, $id_groupe){
$sgbd = $this->sgbd();
$HAS_THIS_GROUP = 0;
if($rst = $sgbd->open_data("sml_sources_authors")){
return $HAS_THIS_GROUP;
}
- function add_source_groupe($id_source, $id_groupe, $id_groupe_status)
- { $sgbd = $this->sgbd();
- if
- ( $sgbd->add_data
- ( "sml_sources_authors",
- array
- ( "id_source" => $id_source,
+ public function add_source_groupe($id_source, $id_groupe, $id_groupe_status){
+ $sgbd = $this->sgbd();
+ if(
+ $sgbd->add_data(
+ "sml_sources_authors",
+ array(
+ "id_source" => $id_source,
"id_author" => $id_groupe,
"id_sources_access" => $id_groupe_status
)
)
- )
- { return true;
+ ){
+ return true;
}
return false;
}
- function set_source_groupe($id, $id_groupe_status)
- { if(($groupe = $this->groupe($id)) !== false)
- { if
- ( $sgbd->set_data
- ( "sml_sources_authors",
+ public function set_source_groupe($id, $id_groupe_status){
+ if(($groupe = $this->groupe($id)) !== false){
+ if(
+ $sgbd->set_data(
+ "sml_sources_authors",
$id,
array(
"id_sources_access" => $id_groupe_status
)
)
- )
- { return true;
+ ){
+ return true;
}
}
return false;
}
- function del_source_groupes($id_source){
+ public function del_source_groupes($id_source){
$sgbd = $this->sgbd();
$OK = true;
if($rst = $sgbd->open_data("sml_sources_authors")){
return $OK;
}
- function del_source_groupe($id_source, $id_author){
+ public function del_source_groupe($id_source, $id_author){
$sgbd = $this->sgbd();
$OK = true;
if($rst = $sgbd->open_data("sml_sources_authors")){
// --------------------------------------------------------------------
- function sources_access(){
+ public function sources_access(){
$sgbd = $this->sgbd();
$sources_access = array();
$sgbd = $this->sgbd();
return $sources_access;
}
- function id_groupe_status_admin() { return 1; }
- function id_groupe_status_editeur() { return 2; }
- function id_groupe_status_contributeur() { return 3; }
+ public function id_groupe_status_admin(){
+ return 1;
+ }
+ public function id_groupe_status_editeur(){
+ return 2;
+ }
+ public function id_groupe_status_contributeur(){
+ return 3;
+ }
- function get_admin_groupe($groupes)
- { $groupe = array();
- if(is_array($groupes)) foreach($groupes as $source_groupe)
- { if($source_groupe["id_groupe_status"] == $this->id_groupe_status_admin())
- { $groupe = $source_groupe;
+ public function get_admin_groupe($groupes){
+ $groupe = array();
+ if(is_array($groupes)) foreach($groupes as $source_groupe){
+ if($source_groupe["id_groupe_status"] == $this->id_groupe_status_admin()){
+ $groupe = $source_groupe;
break;
}
}
return $groupe;
}
- function get_editor_groupes($groupes){
+ public function get_editor_groupes($groupes){
$editor_groupes = array();
if(is_array($groupes)) foreach($groupes as $source_groupe){
if(
return $editor_groupes;
}
- function source_permissions($source, $id_user)
- { $permissions = array
- ( "admin" => false,
+ public function source_permissions($source, $id_user){
+ $permissions = array(
+ "admin" => false,
"editeur" => false,
"contributeur" => false
);
- foreach($source["groupes"] as $id_groupe => $source_groupe)
- { if($source_groupe["id_user"] == $id_user)
- { if($source_groupe["id_groupe_status"] == $this->id_groupe_status_admin())
- { $permissions["admin"] = true;
+ foreach($source["groupes"] as $id_groupe => $source_groupe){
+ if($source_groupe["id_user"] == $id_user){
+ if($source_groupe["id_groupe_status"] == $this->id_groupe_status_admin()){
+ $permissions["admin"] = true;
$permissions["editeur"] = true;
$permissions["contributeur"] = true;
}
- elseif($source_groupe["id_groupe_status"] == $this->id_groupe_status_editeur())
- { $permissions["editeur"] = true;
+ elseif($source_groupe["id_groupe_status"] == $this->id_groupe_status_editeur()){
+ $permissions["editeur"] = true;
$permissions["contributeur"] = true;
}
- elseif($source_groupe["id_groupe_status"] == $this->id_groupe_status_contributeur())
- { $permissions["contributeur"] = true;
+ elseif($source_groupe["id_groupe_status"] == $this->id_groupe_status_contributeur()){
+ $permissions["contributeur"] = true;
}
}
}
// --------------------------------------------------------------------
- function sources_invitations($groupes, $id_user){
+ public function sources_invitations($groupes, $id_user){
$sgbd = $this->sgbd();
$invitations = array("list" => array(), "total" => 0);
$groupes_in = array();
}
}
-
-?>
\ No newline at end of file