syntaxe POO (visibilite) et maj indentation
[mw_sourceml] / app / controllers / users / sources_invitations.php
index 40f2a2f..a56dd49 100644 (file)
@@ -2,14 +2,13 @@
 
   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){
@@ -34,7 +33,7 @@
       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"]))){
@@ -88,7 +71,7 @@
       $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