class mw_users_sources_invitations extends mw_controller{
- var $user;
+ public $user;
+ public $status;
+ public $album_status_id;
+ public $morceau_status_id;
+ public $piste_status_id;
- var $status;
- var $album_status_id;
- var $morceau_status_id;
- var $piste_status_id;
-
- function validate(){
+ public function validate(){
$env = $this->env();
$data = $env->data();
if(($this->status = $data->source_status()) === false){
return true;
}
- function index(){
+ public function index(){
$env = $this->env();
$data = $env->data();
if(($sources_access = $data->sources_access()) === false){
$env->erreur("Impossible de lire la liste des groupes");
return;
}
- $groupes_in = "";
- foreach($groupes["list"] as $id_groupe => $groupe) $groupes_in .= ($groupes_in ? "," : "").$id_groupe;
- $invitations = array("list" => array(), "total" => 0);
- if($groupes_in){
- if(
- (
- $invitations = $data->list_sml_sources_invitations(
- array(
- "index_name" => "id",
- "where"=> "id_author IN(".$groupes_in.") OR id_user=".$this->user["id"],
- "order_by" => "date_invitation",
- "order" => "DESC"
- )
- )
- ) === false
- ){
- $env->erreur("Impossible de lire la liste des invitations");
- return;
- }
+ if(($invitations = $data->sources_invitations($groupes["list"], $this->user["id"])) === false){
+ $env->erreur("Impossible de lire la liste des invitations");
+ return;
}
foreach($invitations["list"] as $id_invitation => $invitation){
if(!($user = $data->user_by_id($invitation["id_user"]))){
$env->set_out("status", $this->status);
}
- function source_groupes(){
+ public function source_groupes(){
$env = $this->env();
$data = $env->data();
if(!($source = $data->source($_GET[$env->param("id")], true))){
$env->erreur("Impossible de lire la liste des groupes");
return;
}
- if(($invitations = $data->list_sml_sources_invitations(array("index_name" => "id", "where"=> "id_source=".$source["id"]))) === false){
+ if(
+ (
+ $invitations = $data->list_sml_sources_invitations(
+ array(
+ "index_name" => "id",
+ "filters" => array(
+ array("id_source", "eq", $source["id"])
+ )
+ )
+ )
+ ) === false
+ ){
$env->erreur("Impossible de lire la liste des invitations pour cette source");
return;
}
$env->set_out("invitations", $invitations);
}
- function invite_groupe(){
+ public function invite_groupe(){
$env = $this->env();
$data = $env->data();
if(!($source = $data->source($_GET[$env->param("id")], true))){
);
}
- function annule_invitation_groupe(){
+ public function annule_invitation_groupe(){
$env = $this->env();
$data = $env->data();
if(!($invitation = $data->get_sml_sources_invitations("id", $_GET[$env->param("id")]))){
);
}
- function accepter_invitation_groupe(){
+ public function accepter_invitation_groupe(){
$env = $this->env();
$data = $env->data();
if(($groupes = $data->groupes($this->user["id"])) === false){
$env->erreur("l'invitation s'adresse a un groupe qui n'appartient pas à votre utilisateur");
return;
}
- $source["permissions"] = $data->source_permissions($source, $this->user["id"]);
- if($source["permissions"]["contributeur"]){
- $env->erreur("vous avez déjà accès à cette source");
+ if(($HAS_THIS_GROUP = $data->source_has_groupe($source["id"], $invitation["id_author"])) === false){
+ $env->erreur("Impossible de savoir si ce groupe a déjà accès à cette source");
+ return;
+ }
+ if($HAS_THIS_GROUP){
+ $env->erreur("le groupe a déjà accès à cette source");
return;
}
if(!$data->del_sml_sources_invitations("id", $invitation["id"])){
);
}
- function refuser_invitation_groupe(){
+ public function refuser_invitation_groupe(){
$env = $this->env();
$data = $env->data();
if(($groupes = $data->groupes($this->user["id"])) === false){
);
}
- function del_groupe(){
+ public function del_groupe(){
$env = $this->env();
$data = $env->data();
if(!($source = $data->source($_GET[$env->param("id")], true))){
}
}
-
-?>
\ No newline at end of file