Dotclear


Ignore:
Timestamp:
12/24/08 11:42:28 (15 years ago)
Author:
Osku
google:author:
popech
Message:

Private : almost final shot :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/private/_public.php

    r570 r611  
    2222$core->tpl->addValue('PrivateMsgError',array('tplPrivate','PrivateMsgError')); 
    2323 
    24 $core->addBehavior('publicBeforeDocument',array('urlPrivate','privacy')); 
    25  
     24if ($core->blog->settings->private_flag) 
     25{ 
     26     //$core->addBehavior('publicPrepend',array('urlPrivate','initSession')); 
     27     $core->addBehavior('publicBeforeDocument',array('urlPrivate','privacy')); 
     28} 
    2629 
    2730class urlPrivate extends dcUrlHandlers 
    2831{ 
     32     public static function initSession($args) 
     33     { 
     34          $session_private = session_id(); 
     35          if (empty($session_private))  
     36          { 
     37               session_start(); 
     38          } 
     39          return; 
     40     } 
     41 
     42     public static function privateFeed($args) 
     43     { 
     44          self::feed($args); 
     45     } 
     46 
     47     public static function callbackbidon($args) 
     48     { 
     49          return; 
     50     } 
     51 
    2952     public static function privacy($args) 
    3053     { 
    3154          global $core,$_ctx; 
    3255 
    33           if ($core->blog->settings->private_flag) 
     56          $urlp = new urlHandler(); 
     57          $urlp->mode = $core->url->mode; 
     58          $urlp->registerDefault(array('urlPrivate','callbackbidon')); 
     59 
     60          foreach ($core->url->getTypes() as $k=>$v) 
     61          { 
     62               $urlp->register($k,$v['url'],$v['representation'],array('urlPrivate','callbackbidon')); 
     63          } 
     64 
     65          $urlp->getDocument(); 
     66          $type = $urlp->type; 
     67          unset($urlp); 
     68 
     69          if ($type == 'feed' || $type == 'spamfeed' || $type == 'hamfeed' || $type == 'trackback')  
     70          { 
     71               return; 
     72          } 
     73 
     74          else 
    3475          { 
    3576               $session_private = session_id(); 
     
    4990                         $_ctx->blogpass_error = __('Wrong password'); 
    5091                    } 
     92                    session_unset(); 
     93                    session_destroy(); 
    5194                    $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
    5295                    self::serveDocument('private.html'); 
    5396                    exit; 
    5497               } 
    55                elseif (isset($_POST['blogout'])){ 
     98               elseif ($_SESSION['sess_blog_private'] != $core->blog->settings->blog_private_pwd) 
     99               { 
     100                    session_unset(); 
     101                    session_destroy(); 
     102                    $_ctx->blogpass_error = __('Wrong password'); 
     103                    $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
     104                    self::serveDocument('private.html'); 
     105                    exit; 
     106               } 
     107               elseif (isset($_POST['blogout'])) 
     108               { 
    56109                    session_unset(); 
    57110                    session_destroy(); 
     
    82135     public static function PrivateReqPage($attr) 
    83136     { 
    84           $url = isset($_SERVER['REQUEST_URI']) ? html::escapeHTML($_SERVER['REQUEST_URI']) : $core->blog->url; 
    85           return '<?php echo $url; ?>'; 
     137          return '<?php echo(isset($_SERVER[\'REQUEST_URI\']) ? html::escapeHTML($_SERVER[\'REQUEST_URI\']) : $core->blog->url); ?>'; 
    86138     } 
    87139 
     
    107159          $res = '<div class="blogout">'. 
    108160               ($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : ''). 
    109                '<form action="'.$core->blog->url.'logout" method="post">'. 
     161               '<form action="'.$core->blog->url.'" method="post">'. 
    110162               '<p class="buttons">'. 
    111163               '<input type="hidden" name="blogout" id="blogout" value="">'. 
Note: See TracChangeset for help on using the changeset viewer.

Sites map