Skip to:
Content

BuddyPress.org

Changeset 1032 for trunk/bp-messages.php


Ignore:
Timestamp:
02/09/2009 06:52:51 AM (17 years ago)
Author:
apeatling
Message:

Added nonce security checks to all BuddyPress actions. Fixes #454

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-messages.php

    r1030 r1032  
    123123    if ( is_site_admin() ) {
    124124        /* Need to check db tables exist, activate hook no-worky in mu-plugins folder. */
    125         if ( false == ( $wpdb->get_var( "SHOW TABLES LIKE '%{$bp->messages->table_name_messages}%'" ) ) || ( get_site_option('bp-messages-db-version') < BP_MESSAGES_DB_VERSION ) )
     125        if ( !$wpdb->get_var( "SHOW TABLES LIKE '%{$bp->messages->table_name_messages}%'" ) || ( get_site_option('bp-messages-db-version') < BP_MESSAGES_DB_VERSION ) )
    126126            messages_install();
    127127    }
     
    389389    global $bp, $current_user;
    390390   
     391    if ( !check_admin_referer( 'messages_send_message' ) )
     392        return false;
     393   
    391394    messages_add_callback_values( $recipients, $subject, $content );
    392395   
     
    515518
    516519function messages_send_notice( $subject, $message, $from_template ) {
     520   
     521   
    517522    if ( !is_site_admin() || empty( $subject ) || empty( $message ) ) {
    518523        return false;
     
    539544
    540545function messages_delete_thread( $thread_ids ) {
     546    if ( !check_admin_referer( 'messages_delete_thread' ) )
     547        return false;
     548   
    541549    if ( is_array($thread_ids) ) {
    542550        $error = 0;
     
    571579
    572580
    573 /**************************************************************************
    574  messages_view_thread()
    575  
    576  Displays a message thread.
    577  **************************************************************************/
    578 
    579 function messages_view_thread( $thread_id ) {
    580     global $bp;
    581 
    582     $thread = new BP_Messages_Thread( $thread_id, true );
    583    
    584     if ( !$thread->has_access ) {
    585         unset($_GET['mode']); ?>
    586         <div id="message" class="error">
    587             <p><?php _e( 'There was an error when viewing that message', 'buddypress' ) ?></p>
    588         </div>
    589     <?php   
    590     } else {
    591         if ( $thread->messages ) { ?>
    592             <?php $thread->mark_read() ?>
    593                
    594             <div class="wrap">
    595                 <h2 id="message-subject"><?php echo $thread->subject; ?></h2>
    596                 <table class="form-table">
    597                     <tbody>
    598                         <tr>
    599                             <td>
    600                                 <img src="<?php echo $bp->messages->image_base ?>/email_open.gif" alt="Message" style="vertical-align: top;" /> &nbsp;
    601                                 <?php _e('Sent between ', 'buddypress') ?> <?php echo BP_Messages_Thread::get_recipient_links($thread->recipients) ?>
    602                                 <?php _e('and', 'buddypress') ?> <?php echo bp_core_get_userlink($bp->loggedin_user->id) ?>.
    603                             </td>
    604                         </tr>
    605                     </tbody>
    606                 </table>
    607                
    608         <?php
    609             foreach ( $thread->messages as $message ) {
    610                 ?>
    611                     <a name="<?php echo 'm-' . $message->id ?>"></a>
    612                     <div class="message-box">
    613                         <div class="avatar-box">
    614                             <?php echo apply_filters( 'bp_message_sender_avatar', bp_core_get_avatar( $message->sender_id, 1 ) ) ?>
    615                             <h3><?php echo apply_filters( 'bp_message_sender_id', bp_core_get_userlink( $message->sender_id ) ) ?></h3>
    616                             <small><?php echo apply_filters( 'bp_message_date_sent', bp_format_time( strtotime($message->date_sent ) ) ) ?></small>
    617                         </div>
    618                         <?php echo apply_filters( 'bp_message_content', stripslashes($message->message) ); ?>
    619                         <div class="clear"></div>
    620                     </div>
    621                 <?php
    622             }
    623        
    624             ?>
    625                 <form id="send-reply" action="<?php echo get_option('home'); ?>/wp-admin/admin.php?page=bp-messages.php&amp;mode=send" method="post">
    626                     <div class="message-box">
    627                             <div id="messagediv">
    628                                 <div class="avatar-box">
    629                                     <?php if ( function_exists('bp_core_get_avatar') )
    630                                         echo bp_core_get_avatar($bp->loggedin_user->id, 1);
    631                                     ?>
    632                    
    633                                     <h3><?php _e("Reply: ", 'buddypress') ?></h3>
    634                                 </div>
    635                                 <label for="reply"></label>
    636                                 <div>
    637                                     <textarea name="content" id="message_content" rows="15" cols="40"><?php echo $content; ?></textarea>
    638                                 </div>
    639                             </div>
    640                             <p class="submit">
    641                                 <input type="submit" name="send" value="Send Reply &raquo;" id="send_reply_button"/>
    642                             </p>
    643                             <input type="hidden" id="thread_id" name="thread_id" value="<?php echo $thread->thread_id ?>" />
    644                             <input type="hidden" name="subject" id="subject" value="<?php _e('Re: ', 'buddypress'); echo str_replace( 'Re: ', '', $thread->last_message_subject); ?>" />
    645                     </div>
    646                     <?php if ( function_exists('wp_nonce_field') )
    647                         wp_nonce_field('messages_sendreply');
    648                     ?>
    649                 </form>
    650             </div>
    651             <?php
    652         }
    653     }
    654 }
    655581
    656582// List actions to clear super cached pages on, if super cache is installed
Note: See TracChangeset for help on using the changeset viewer.