Dotclear

Changeset 501


Ignore:
Timestamp:
09/23/08 13:02:15 (15 years ago)
Author:
Moe
Message:

Subscribe to comments 1.2.2 :

  • fixed bug with nonce, it's now checked only when it's necessary
  • fixed typo
Location:
plugins/subscribeToComments
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • plugins/subscribeToComments/_define.php

    r499 r501  
    3030     /* Description*/                "Subscribe to comments", 
    3131     /* Author */                    "Moe (http://gniark.net/)", 
    32      /* Version */                   '1.2.1', 
     32     /* Version */                   '1.2.2', 
    3333     /* Permissions */               'admin' 
    3434); 
  • plugins/subscribeToComments/_public.php

    r499 r501  
    5555               $session_id = session_id(); 
    5656               if (empty($session_id)) {session_start();} 
    57       
    58                # from /dotclear/inc/admin/prepend.php, modified 
    59                # Check nonce from POST requests 
    60                if ((!empty($_POST)) AND (count($_POST) > 0)) 
    61                { 
    62                     # post but no nonce : when someone post a comment in a post with  
    63                     # subscribetocomments in the URL 
    64                     if ((empty($_POST['subscribeToCommentsNonce'])) || 
    65                          ($_POST['subscribeToCommentsNonce'] !=  
    66                               crypt::hmac(DC_MASTER_KEY,session_id())) 
    67                     ) 
    68                     { 
    69                          http::head(412); 
    70                          header('Content-Type: text/html'); 
    71                          echo 'Precondition Failed'; 
    72                          echo '<br /><a href="'.subscribeToComments::url().'">Reload the page</a>'; 
    73                          exit; 
    74                     } 
    75                } 
    76                # /from /dotclear/inc/admin/prepend.php, modified 
    77            
     57                
     58               $_ctx =& $GLOBALS['_ctx']; 
     59 
    7860               try { 
    7961                    subscribeToComments::cleanKeys(); 
     
    8567      
    8668                    if (isset($_POST['logout'])) { 
     69                         subscriber::checkNonce(); 
    8770                         subscriber::logout(); 
    8871                         subscribeToComments::redirect('loggedout'); 
     
    9982                    elseif ((isset($_POST['subscribe'])) AND (isset($_POST['post_id']))) 
    10083                    { 
     84                         subscriber::checkNonce(); 
    10185                         if (isset($_POST['email'])) 
    10286                         { 
     
    118102                    elseif ((isset($_POST['resend'])) AND (isset($_POST['email']))) 
    119103                    { 
     104                         subscriber::checkNonce(); 
    120105                         subscribeToComments::checkEmail($_POST['email']); 
    121106                         subscriber::resendInformations($_POST['email']); 
     
    130115                         subscribeToComments::redirect('updatedemail'); 
    131116                    } 
    132  
    133                     $_ctx =& $GLOBALS['_ctx']; 
    134117 
    135118                    # messages 
     
    167150                    if (subscriber::checkCookie()) 
    168151                    { 
    169                          $subscriber = new subscriber( 
    170                          subscriber::getCookie('email')); 
     152                         $subscriber = new subscriber(subscriber::getCookie('email')); 
    171153                         $_ctx->subscribeToCommentsEmail = $subscriber->email; 
    172154           
    173155                         if ((isset($_POST['requestChangeEmail'])) AND (isset($_POST['new_email']))) 
    174156                         { 
     157                              subscriber::checkNonce(); 
    175158                              subscribeToComments::checkEmail($_POST['new_email']); 
    176159                              $subscriber->requestUpdateEmail($_POST['new_email']); 
    177160                              subscribeToComments::redirect('requestsent');      
    178161                         } 
    179                          elseif ((isset($_POST['remove'])) AND (isset($_POST['entries']))) { 
     162                         elseif ((isset($_POST['remove'])) AND (isset($_POST['entries']))) 
     163                         { 
     164                              subscriber::checkNonce(); 
    180165                              $subscriber->removeSubscription($_POST['entries']); 
    181166                              subscribeToComments::redirect('removedsubscriptions'); 
    182167                         } 
    183168                         elseif (isset($_POST['deleteAccount'])) { 
     169                              subscriber::checkNonce(); 
    184170                              $subscriber->deleteAccount(); 
    185171                              subscribeToComments::redirect('accountdeleted'); 
    186172                         } 
    187173                         elseif (isset($_POST['blockEmails'])) { 
     174                              subscriber::checkNonce(); 
    188175                              $subscriber->blockEmails(true); 
    189176                              subscribeToComments::redirect('emailsblocked'); 
    190177                         } 
    191178                         elseif (isset($_POST['allowEmails'])) { 
     179                              subscriber::checkNonce(); 
    192180                              $subscriber->blockEmails(false); 
    193181                              subscribeToComments::redirect('emailsallowed'); 
  • plugins/subscribeToComments/class.subscriber.php

    r490 r501  
    149149          $post = subscribeToComments::getPost($post_id); 
    150150 
    151           if (subscribeToComments::getPost($_ctx->posts->post_id) == false) 
     151          if (subscribeToComments::getPost($post_id) == false) 
    152152          {throw new Exception(__('Invalid post.'));} 
    153153 
     
    371371 
    372372     /** 
     373     check nonce when a action is requested with $_POST 
     374     */ 
     375     public static function checkNonce() 
     376     { 
     377          # from /dotclear/inc/admin/prepend.php, modified 
     378          if ((empty($_POST['subscribeToCommentsNonce'])) OR 
     379               ($_POST['subscribeToCommentsNonce'] !=  
     380                    crypt::hmac(DC_MASTER_KEY,session_id())) 
     381          ) 
     382          { 
     383               http::head(412); 
     384               header('Content-Type: text/html'); 
     385               echo 'Precondition Failed'; 
     386               echo '<br /><a href="'.subscribeToComments::url().'">Reload the page</a>'; 
     387               exit; 
     388          } 
     389     } 
     390 
     391     /** 
    373392     if emails are blocked 
    374393     @return <b>boolean</b>   Emails are blocked 
Note: See TracChangeset for help on using the changeset viewer.

Sites map