'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';
}
}
$choices[$pos]['selected'] = true;
- echo '<p><label>Visibilité du billet :'
- . ' <select name="post_xorg_perms">';
+ ?>
+ <p>
+ <label>
+ Visibilité du billet :
+ <select name="post_xorg_perms">
+ <?php
foreach ($choices as $val => $fields) {
echo '<option value="' . $val . '"' . ($fields['selected'] ? ' selected="selected"' : '') . '>'
. $fields['text'] . '</option>';
}
- echo ' </select>'
- . '</label></p>';
+ ?>
+ </select>
+ </label>
+ </p>
+ <?php
}
private static function setPermsMeta(&$cur) {
$pos = 'public';
}
$levels[$pos]['selected'] = true;
- echo '<p><label>Visibilité nouveaux billets par défaut :'
- . ' <select name="post_xorg_perms">';
+ ?>
+ <p>
+ <label>
+ Visibilité nouveaux billets par défaut :
+ <select name="post_xorg_perms">
+ <?php
foreach ($levels as $key => $fields) {
echo '<option value="' . $key . '"' . ($fields['selected'] ? ' selected="selected"' : '') . '>'
. $fields['text'] . '</option>';
}
- echo '</select>'
- . '(1) Ne concerne que les blogs de groupes X. Equivaut à "Visible par les X" sur les autres blogs"'
- . '</label></p>';
+ ?>
+ </select>
+ (1) Ne concerne que les blogs de groupes X. Equivaut à "Visible par les X" sur les autres blogs"
+ </label>
+ </p>
+ <?php
}
public static function behavior_adminBeforeUserUpdate(&$cur, $user_id) {
return false;
}
+ private static function showMessage(&$rs) {
+ $metas = unserialize($rs->field('post_meta'));
+ global $core;
+ $str = '<p class="error">'
+ . 'Vous n\'avez pas les droits suffisants pour lire ce billet<br />';
+ if (!$core->auth->userID()) {
+ $str .= 'Vous devez vous <a href="' . $core->blog->url . 'auth/Xorg?path=' . $_SERVER['PATH_INFO'] .'">authentifier</a>';
+ } else {
+ $str .= 'Tu dois être membre du groupe pour lire ce message';
+ }
+ return $str . '</p>';
+ }
+
public static function getContent(&$rs, $absolute_urls = false) {
if (self::canRead($rs)) {
return parent::getContent(&$rs, $absolute_urls);
} else if (!self::isExtended($rs)) {
- return '<p class="error">Vous n\'avez pas les droits suffisant pour lire ce billet</p>';
+ return self::showMessage($rs);
} else {
return null;
}
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;
}