User organization in banana depends on the location (xnet or not)/rights of the user
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 7 Oct 2007 16:07:27 +0000 (18:07 +0200)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 7 Oct 2007 16:07:27 +0000 (18:07 +0200)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
include/banana/forum.inc.php
include/banana/hooks.inc.php
include/banana/ml.inc.php

index 10302d8..7195d1e 100644 (file)
@@ -86,7 +86,7 @@ class ForumsBanana extends Banana
               LEFT JOIN  {$globals->banana->table_prefix}list ON list.fid=abos.fid
                   WHERE  uid={?}", S::i('uid'));
         Banana::$profile['headers']['From']         = "$nom <$mail>";
-        Banana::$profile['headers']['Organization'] = 'Utilisateur de Polytechnique.org';
+        Banana::$profile['headers']['Organization'] = make_Organization();
         Banana::$profile['signature']               = $sig;
         Banana::$profile['display']                 = $disp;
         Banana::$profile['autoup']                  = $maj;
@@ -130,7 +130,7 @@ class ForumsBanana extends Banana
                             WHERE  a.alias = {?}', $this->forlife);
         list($nom, $prenom, $promo, $bestalias) = $res->fetchOneRow();
         Banana::$profile['headers']['From']         = "$prenom $nom ($promo) <$bestalias@{$globals->mail->domain}>";
-        Banana::$profile['headers']['Organization'] = 'Utilisateur de Polytechnique.org';
+        Banana::$profile['headers']['Organization'] = make_Organization();
         return parent::post($dest, $reply, $subject, $body);
     }
 
index 46aa962..7a6367e 100644 (file)
@@ -205,6 +205,21 @@ function hook_makeJs($src)
     return ' ';
 }
 
+function make_Organization()
+{
+    global $globals;
+    $perms = S::v('perms');
+    $group = $globals->asso('nom');
+    if (S::has_perms()) {
+        return "Administrateur de Polytechnique.org";
+    } else if ($group && $perms->hasFlag('groupadmin')) {
+        return "Animateur de $group";
+    } else if ($group && $perms->hasFlag('groupmember')) {
+        return "Membre de $group";
+    }
+    return "Utilisateur de Polytechnique.org";
+}
+
 function get_banana_params(array &$get, $group = null, $action = null, $artid = null)
 {
     if (!is_null($group)) {
index a4be8df..713a90f 100644 (file)
@@ -61,7 +61,7 @@ class MLBanana extends Banana
 
         // Build user profile
         Banana::$profile['headers']['From']         = "$nom <$mail>";
-        Banana::$profile['headers']['Organization'] = 'Utilisateur de Polytechnique.org';
+        Banana::$profile['headers']['Organization'] = make_Organization();
         Banana::$profile['signature']               = $sig;
 
         // Page design