Finish pluging group perms.
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Sat, 31 May 2008 21:26:21 +0000 (23:26 +0200)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Sat, 31 May 2008 21:26:21 +0000 (23:26 +0200)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
class.xorg.auth.php
widget.post.perms.php

index 03f340a..9181ff4 100644 (file)
@@ -202,6 +202,14 @@ class xorgAuth extends dcAuth {
 
   public function getInfo($n) {
     $this->buildFromSession();
+    if ($n == 'xorg_group_member') {
+      global $core;
+      if ($core->blog->settings('xorg_blog_owner') != $_SESSION['xorg-group']) {
+        return false;
+      }
+      $perm = $this->xorg_infos['grpauth'];
+      return $this->isSuperAdmin() || $perm == 'admin' || $perm == 'membre';
+    }
     return parent::getInfo($n);
   }
 
index 1d6e9ce..249c135 100644 (file)
@@ -7,13 +7,18 @@ class xorgPostPermsWidget {
                      'auth'   => array('text' => 'Visible par les X',
                                        'selected' => false));
     $pos = 'public';
+    global $core;
+    $type = $core->blog->settings->get('xorg_blog_type');
+    if ($type == 'group-admin' || $type == 'group-member') {
+      $choices['group'] = array('text' => 'Visible par les membres du groupe',
+                                'selected' => false);
+    }
     if (!is_null($post)) {
       $metas = unserialize($post->field('post_meta'));
       if (isset($metas['post_xorg_perms'])) {
         $pos = $metas['post_xorg_perms'];
       }
     } else {
-      global $core;
       $pos = $core->auth->getOption('post_xorg_perms');
       if ($pos && !isset($choices[$pos])) {
         $pos = 'auth';