X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=widget.post.perms.php;h=0c9615a6b478712c5103101736718189c225f229;hb=HEAD;hp=89d5d94d2afc1bf6841a83f73b795885b021725c;hpb=d387689d86ca355ae76932d5002ef29017eb94ca;p=dotclear.git diff --git a/widget.post.perms.php b/widget.post.perms.php index 89d5d94..0c9615a 100644 --- a/widget.post.perms.php +++ b/widget.post.perms.php @@ -7,30 +7,42 @@ class xorgPostPermsWidget { 'auth' => array('text' => 'Visible par les X', 'selected' => false)); $pos = 'public'; + global $core; + $type = $core->blog->settings->xorgauth->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'; } } $choices[$pos]['selected'] = true; - echo '
+
+ getField('post_meta'); if (is_string($meta)) { $meta = unserialize($meta); @@ -42,11 +54,11 @@ class xorgPostPermsWidget { $cur->setField('post_meta', serialize($meta)); } - public static function behavior_adminBeforePostCreate(&$cur) { + public static function behavior_adminBeforePostCreate($cur) { self::setPermsMeta($cur); } - public static function behavior_adminBeforePostUpdate(&$cur, $post_id) { + public static function behavior_adminBeforePostUpdate($cur, $post_id) { self::setPermsMeta($cur); } @@ -63,28 +75,35 @@ class xorgPostPermsWidget { $pos = 'public'; } $levels[$pos]['selected'] = true; - echo ''
+ . 'Vous n\'avez pas les droits suffisants pour lire ce billet :
';
+ if (!$core->auth->checkPassword()) {
+ $str .= 'Vous devez vous authentifier';
+ } else {
+ $str .= 'Tu dois être membre du groupe pour lire ce message';
+ }
+ return $str . '
Vous n\'avez pas les droits suffisant pour lire ce billet
'; + return self::showMessage($rs); } else { return null; } } - public static function getExcerpt(&$rs, $absolute_urls = false) { + public static function getExcerpt($rs, $absolute_urls = false) { if (self::canRead($rs)) { - return parent::getContent(&$rs, $absolute_urls); + return parent::getExcerpt($rs, $absolute_urls); } else if (self::isExtended($rs)) { - return 'Vous n\'avez pas les droits suffisant pour lire ce billet'; + return self::showMessage($rs); } else { return null; } } - public static function commentsActive(&$rs) { + public static function commentsActive($rs) { return self::canRead($rs) && parent::commentsActive($rs); } - public static function trackbacksActive(&$rs) { + public static function trackbacksActive($rs) { return self::canRead($rs) && parent::trackbacksActive($rs); } - public static function hasComments(&$rs) { + public static function hasComments($rs) { return self::canRead($rs) && parent::hasComments($rs); } }