Support https in blog URLs
[dotclear.git] / widget.post.perms.php
index 249c135..0c9615a 100644 (file)
@@ -8,7 +8,7 @@ class xorgPostPermsWidget {
                                        'selected' => false));
     $pos = 'public';
     global $core;
-    $type = $core->blog->settings->get('xorg_blog_type');
+    $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);
@@ -25,17 +25,24 @@ class xorgPostPermsWidget {
       }
     }
     $choices[$pos]['selected'] = true;
-    echo '<p><label>Visibilité du billet&nbsp;:'
-         . '  <select name="post_xorg_perms">';
+    ?>
+    <p>
+      <label>
+        Visibilité du billet&nbsp;:
+        <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) {
+  private static function setPermsMeta($cur) {
     $meta = $cur->getField('post_meta');
     if (is_string($meta)) {
       $meta = unserialize($meta);
@@ -47,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);
   }
 
@@ -68,28 +75,35 @@ class xorgPostPermsWidget {
       $pos = 'public';
     }
     $levels[$pos]['selected'] = true;
-    echo '<p><label>Visibilité nouveaux billets par défaut&nbsp;:'
-       . '  <select name="post_xorg_perms">';
+    ?>
+    <p>
+      <label>
+        Visibilité nouveaux billets par défaut&nbsp;:
+        <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) {
+  public static function behavior_adminBeforeUserUpdate($cur, $user_id) {
     $opts = $cur->getField('user_options');
     $opts['post_xorg_perms'] = $_POST['post_xorg_perms'];
     $cur->setField('user_options', $opts);
   }
 
-  public static function behavior_coreBlogGetPosts(&$rs) {
+  public static function behavior_coreBlogGetPosts($rs) {
     $rs->extend('xorgPostPermsFilter');
   }
 
-/*  public static function behavior_coreBlogGetComments(&$rs) {
+/*  public static function behavior_coreBlogGetComments($rs) {
     $rs->extends('xorgCommentPermsFilter');
   }*/
 }
@@ -97,14 +111,14 @@ class xorgPostPermsWidget {
 if (class_exists('rsExtPostPublic')) {
 
 class xorgPostPermsFilter extends rsExtPostPublic {
-  private static function canRead(&$rs) {
+  private static function canRead($rs) {
     $metas = unserialize($rs->field('post_meta'));
     global $core;
     if (!isset($metas['post_xorg_perms'])) {
       return true;
     } elseif ($metas['post_xorg_perms'] == 'public') {
       return true;
-    } elseif ($metas['post_xorg_perms'] == 'auth' && $core->auth->userID()) {
+    } elseif ($metas['post_xorg_perms'] == 'auth' && $core->auth->checkPassword()) {
       return true;
     } elseif ($metas['post_xorg_perms'] == 'group' && $core->auth->getInfo('xorg_group_member')) {
       return true;
@@ -112,22 +126,22 @@ class xorgPostPermsFilter extends rsExtPostPublic {
     return false;
   }
 
-  private static function showMessage(&$rs) {
+  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['REQUEST_URI'] .'">authentifier</a>';
+         . 'Vous n\'avez pas les droits suffisants pour lire ce billet&nbsp;:<br />';
+    if (!$core->auth->checkPassword()) {
+      $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) {
+  public static function getContent($rs, $absolute_urls = false) {
     if (self::canRead($rs)) {
-      return parent::getContent(&$rs, $absolute_urls);
+      return parent::getContent($rs, $absolute_urls);
     } else if (!self::isExtended($rs)) {
       return self::showMessage($rs);
     } else {
@@ -135,9 +149,9 @@ class xorgPostPermsFilter extends rsExtPostPublic {
     }
   }
 
-  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 self::showMessage($rs);
     } else {
@@ -145,15 +159,15 @@ class xorgPostPermsFilter extends rsExtPostPublic {
     }
   }
 
-  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);
   }
 }