Dotclear

Changeset 694 for plugins/private


Ignore:
Timestamp:
01/14/09 08:32:35 (15 years ago)
Author:
Osku
Message:

Private mode plugin 0.5 : new way of manage session, fixe [9] and [14]

Location:
plugins/private
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • plugins/private/_define.php

    r611 r694  
    2020     /* Description*/    "Protect your blog with a password", 
    2121     /* Author */        "Osku", 
    22      /* Version */       '0.4RC9', 
     22     /* Version */       '0.5', 
    2323     /* Permissions */   'admin' 
    2424); 
  • plugins/private/_public.php

    r611 r694  
    2020$core->tpl->addValue('PrivateReqPage',array('tplPrivate','PrivateReqPage')); 
    2121$core->tpl->addBlock('IfPrivateMsgError',array('tplPrivate','IfPrivateMsgError')); 
     22 
    2223$core->tpl->addValue('PrivateMsgError',array('tplPrivate','PrivateMsgError')); 
    2324 
    2425if ($core->blog->settings->private_flag) 
    2526{ 
    26      //$core->addBehavior('publicPrepend',array('urlPrivate','initSession')); 
    2727     $core->addBehavior('publicBeforeDocument',array('urlPrivate','privacy')); 
    2828} 
     
    3030class urlPrivate extends dcUrlHandlers 
    3131{ 
    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  
    4232     public static function privateFeed($args) 
    4333     { 
     
    5848          $urlp->registerDefault(array('urlPrivate','callbackbidon')); 
    5949 
     50          $path = str_replace(http::getHost(),'',$core->blog->url); 
     51          if ($core->blog->settings->url_scan == 'query_string') 
     52          { 
     53               $path = str_replace(basename($core->blog->url),'',$path); 
     54          } 
     55          if (!isset($session)) 
     56          { 
     57               $session = new sessionDB( 
     58                       $core->con, 
     59                       $core->prefix.'session', 
     60                       'dc_privateblog', 
     61                       $path 
     62               ); 
     63               $session->start(); 
     64          } 
     65 
    6066          foreach ($core->url->getTypes() as $k=>$v) 
    6167          { 
     
    7480          else 
    7581          { 
    76                $session_private = session_id(); 
    77                if (empty($session_private))  
    78                { 
    79                     session_start(); 
    80                } 
    8182               if (!isset($_SESSION['sess_blog_private']) || $_SESSION['sess_blog_private'] == "") 
    8283               { 
     
    9091                         $_ctx->blogpass_error = __('Wrong password'); 
    9192                    } 
    92                     session_unset(); 
    93                     session_destroy(); 
     93                    $session->destroy(); 
    9494                    $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
    95                     self::serveDocument('private.html'); 
     95                    self::serveDocument('private.html','text/html',false); 
    9696                    exit; 
    9797               } 
    9898               elseif ($_SESSION['sess_blog_private'] != $core->blog->settings->blog_private_pwd) 
    9999               { 
    100                     session_unset(); 
    101                     session_destroy(); 
     100                    $session->destroy(); 
    102101                    $_ctx->blogpass_error = __('Wrong password'); 
    103102                    $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
    104                     self::serveDocument('private.html'); 
     103                    self::serveDocument('private.html','text/html',false); 
    105104                    exit; 
    106105               } 
    107106               elseif (isset($_POST['blogout'])) 
    108107               { 
    109                     session_unset(); 
    110                     session_destroy(); 
     108                    $session->destroy(); 
    111109                    $_ctx->blogpass_error = __('Disconnected'); 
    112110                    $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 
    113                     self::serveDocument('private.html'); 
     111                    self::serveDocument('private.html','text/html',false); 
    114112                    exit; 
    115113               } 
    116114               return; 
    117115          } 
    118           return; 
    119116     } 
    120117} 
     
    157154               return; 
    158155          } 
    159           $res = '<div class="blogout">'. 
    160                ($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : ''). 
    161                '<form action="'.$core->blog->url.'" method="post">'. 
    162                '<p class="buttons">'. 
    163                '<input type="hidden" name="blogout" id="blogout" value="">'. 
    164                '<input type="submit" value="'.__('Disconnect').'" class="logout"></p>'. 
    165                '</form></div>'; 
    166           return $res; 
     156 
     157          if ($core->blog->settings->private_flag) 
     158          { 
     159               $res = '<div class="blogout">'. 
     160                    ($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : ''). 
     161                    '<form action="'.$core->blog->url.'" method="post">'. 
     162                    '<p class="buttons">'. 
     163                    '<input type="hidden" name="blogout" id="blogout" value="">'. 
     164                    '<input type="submit" value="'.__('Disconnect').'" class="logout"></p>'. 
     165                    '</form></div>'; 
     166               return $res; 
     167          } 
     168          else 
     169          { 
     170               return;         
     171          } 
    167172     } 
    168173} 
  • plugins/private/index.php

    r611 r694  
    4343} 
    4444 
     45if (is_null($core->blog->settings->blog_private_pwd)) 
     46{ 
     47     $err = __('No password set.'); 
     48} 
     49 
    4550if (!empty($_POST['saveconfig'])) 
    4651{ 
     
    8085     { 
    8186          $core->error->add($e->getMessage()); 
    82      } 
    83  
    84      if (is_null($core->blog->settings->blog_private_pwd)) { 
    85           $err = __('No password set.'); 
    8687     } 
    8788} 
Note: See TracChangeset for help on using the changeset viewer.

Sites map