Skip to:
Content

BuddyPress.org

Ticket #6005: no_js_bulk_delete_messages.diff

File no_js_bulk_delete_messages.diff, 8.2 KB (added by lakrisgubben, 10 years ago)
  • src/bp-messages/bp-messages-actions.php

     
    102102                return false;
    103103        }
    104104
    105         $thread_ids = $_POST['thread_ids'];
     105        if ( isset( $_POST['thread_ids'] ) ) {
     106                $thread_ids = wp_parse_id_list( $_POST['thread_ids'] );
     107        } elseif ( isset( $_POST['message_ids'] ) ) {
     108                $thread_ids = wp_parse_id_list( $_POST['message_ids'] );
     109        }
    106110
    107         if ( !$thread_ids || !messages_check_thread_access( $thread_ids ) ) {
     111        $nonce  = !empty( $_POST['messages_delete_thread'] ) ? $_POST['messages_delete_thread'] : '';
     112
     113        if ( empty( $thread_ids ) || ! wp_verify_nonce( $nonce, 'messages_delete_thread' ) ) {
    108114                bp_core_redirect( trailingslashit( bp_displayed_user_domain() . bp_get_messages_slug() . '/' . bp_current_action() ) );
     115                return false;
    109116        } else {
    110                 if ( !check_admin_referer( 'messages_delete_thread' ) ) {
    111                         return false;
     117                foreach ( $thread_ids as $thread_id ) {
     118                        if ( ! messages_check_thread_access( $thread_id ) ) {
     119                                bp_core_redirect( trailingslashit( bp_displayed_user_domain() . bp_get_messages_slug() . '/' . bp_current_action() ) );
     120                                return false;
     121                        }
     122                        else {
     123                                messages_delete_thread( $thread_id );
     124                        }
    112125                }
     126                bp_core_add_message( __('Messages deleted.', 'buddypress') );
    113127
    114                 if ( !messages_delete_thread( $thread_ids ) ) {
    115                         bp_core_add_message( __('There was an error deleting messages.', 'buddypress'), 'error' );
    116                 } else {
    117                         bp_core_add_message( __('Messages deleted.', 'buddypress') );
    118                 }
    119 
    120128                bp_core_redirect( trailingslashit( bp_displayed_user_domain() . bp_get_messages_slug() . '/' . bp_current_action() ) );
    121129        }
    122130}
  • src/bp-messages/bp-messages-template.php

     
    856856function bp_messages_options() {
    857857?>
    858858
    859         <?php _e( 'Select:', 'buddypress' ) ?>
    860 
     859        <label for="message-type-select">
     860                <?php _e( 'Select:', 'buddypress' ) ?>
     861        </label>
    861862        <select name="message-type-select" id="message-type-select">
    862863                <option value=""></option>
    863864                <option value="read"><?php _ex('Read', 'Message dropdown filter', 'buddypress') ?></option>
     
    874875
    875876        <a href="#" id="delete_<?php echo bp_current_action(); ?>_messages"><?php _e( 'Delete Selected', 'buddypress' ); ?></a> &nbsp;
    876877
     878        <noscript>
     879                <input type="submit" id="messages-bulk-delete" class="button action" value="<?php esc_attr_e( 'Delete Selected', 'buddypress' ); ?>">
     880        </noscript>
     881
    877882<?php
    878883}
    879884
  • src/bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php

     
    1818
    1919        <?php do_action( 'bp_before_member_messages_threads'   ); ?>
    2020
    21         <table id="message-threads" class="messages-notices">
    22                 <?php while ( bp_message_threads() ) : bp_message_thread(); ?>
     21        <form action="<?php echo bp_loggedin_user_domain() . bp_get_messages_slug() . '/' . bp_current_action() ?>/bulk-delete/" method="post" id="messages-bulk-management">
    2322
    24                         <tr id="m-<?php bp_message_thread_id(); ?>" class="<?php bp_message_css_class(); ?><?php if ( bp_message_thread_has_unread() ) : ?> unread<?php else: ?> read<?php endif; ?>">
    25                                 <td width="1%" class="thread-count">
    26                                         <span class="unread-count"><?php bp_message_thread_unread_count(); ?></span>
    27                                 </td>
    28                                 <td width="1%" class="thread-avatar"><?php bp_message_thread_avatar(); ?></td>
     23                <table id="message-threads" class="messages-notices">
     24                        <?php while ( bp_message_threads() ) : bp_message_thread(); ?>
    2925
    30                                 <?php if ( 'sentbox' != bp_current_action() ) : ?>
    31                                         <td width="30%" class="thread-from">
    32                                                 <?php _e( 'From:', 'buddypress' ); ?> <?php bp_message_thread_from(); ?><br />
    33                                                 <span class="activity"><?php bp_message_thread_last_post_date(); ?></span>
     26                                <tr id="m-<?php bp_message_thread_id(); ?>" class="<?php bp_message_css_class(); ?><?php if ( bp_message_thread_has_unread() ) : ?> unread<?php else: ?> read<?php endif; ?>">
     27                                        <td width="1%" class="thread-count">
     28                                                <input type="checkbox" name="message_ids[]" value="<?php bp_message_thread_id(); ?>" />
    3429                                        </td>
    35                                 <?php else: ?>
    36                                         <td width="30%" class="thread-from">
    37                                                 <?php _e( 'To:', 'buddypress' ); ?> <?php bp_message_thread_to(); ?><br />
    38                                                 <span class="activity"><?php bp_message_thread_last_post_date(); ?></span>
     30
     31                                        <td width="1%" class="thread-count">
     32                                                <span class="unread-count"><?php bp_message_thread_unread_count(); ?></span>
    3933                                        </td>
    40                                 <?php endif; ?>
     34                                        <td width="1%" class="thread-avatar"><?php bp_message_thread_avatar(); ?></td>
    4135
    42                                 <td width="50%" class="thread-info">
    43                                         <p><a href="<?php bp_message_thread_view_link(); ?>" title="<?php esc_attr_e( "View Message", "buddypress" ); ?>"><?php bp_message_thread_subject(); ?></a></p>
    44                                         <p class="thread-excerpt"><?php bp_message_thread_excerpt(); ?></p>
    45                                 </td>
     36                                        <?php if ( 'sentbox' != bp_current_action() ) : ?>
     37                                                <td width="30%" class="thread-from">
     38                                                        <?php _e( 'From:', 'buddypress' ); ?> <?php bp_message_thread_from(); ?><br />
     39                                                        <span class="activity"><?php bp_message_thread_last_post_date(); ?></span>
     40                                                </td>
     41                                        <?php else: ?>
     42                                                <td width="30%" class="thread-from">
     43                                                        <?php _e( 'To:', 'buddypress' ); ?> <?php bp_message_thread_to(); ?><br />
     44                                                        <span class="activity"><?php bp_message_thread_last_post_date(); ?></span>
     45                                                </td>
     46                                        <?php endif; ?>
    4647
    47                                 <?php do_action( 'bp_messages_inbox_list_item' ); ?>
     48                                        <td width="50%" class="thread-info">
     49                                                <p><a href="<?php bp_message_thread_view_link(); ?>" title="<?php esc_attr_e( "View Message", "buddypress" ); ?>"><?php bp_message_thread_subject(); ?></a></p>
     50                                                <p class="thread-excerpt"><?php bp_message_thread_excerpt(); ?></p>
     51                                        </td>
    4852
    49                                 <td width="13%" class="thread-options">
    50                                         <input type="checkbox" name="message_ids[]" value="<?php bp_message_thread_id(); ?>" />
    51                                         <a class="button confirm" href="<?php bp_message_thread_delete_link(); ?>" title="<?php esc_attr_e( "Delete Conversation", "buddypress" ); ?>"><?php _e( 'Delete', 'buddypress' ); ?></a> &nbsp;
    52                                 </td>
    53                         </tr>
     53                                        <?php do_action( 'bp_messages_inbox_list_item' ); ?>
    5454
    55                 <?php endwhile; ?>
    56         </table><!-- #message-threads -->
     55                                        <td width="13%" class="thread-options">
     56                                                <a class="button confirm" href="<?php bp_message_thread_delete_link(); ?>" title="<?php esc_attr_e( "Delete Conversation", "buddypress" ); ?>"><?php _e( 'Delete', 'buddypress' ); ?></a>
     57                                        </td>
     58                                </tr>
    5759
    58         <div class="messages-options-nav">
    59                 <?php bp_messages_options(); ?>
    60         </div><!-- .messages-options-nav -->
     60                        <?php endwhile; ?>
     61                </table><!-- #message-threads -->
    6162
     63                <div class="messages-options-nav">
     64                        <?php bp_messages_options(); ?>
     65                </div><!-- .messages-options-nav -->
     66                <?php wp_nonce_field( 'messages_delete_thread', 'messages_delete_thread' ); ?>
     67        </form>
     68
    6269        <?php do_action( 'bp_after_member_messages_threads' ); ?>
    6370
    6471        <?php do_action( 'bp_after_member_messages_options' ); ?>
  • src/bp-templates/bp-legacy/css/buddypress.css

     
    740740body.no-js #buddypress #notifications-bulk-management #select-all-notifications {
    741741        display: none;
    742742}
     743body.no-js #buddypress label[for="message-type-select"] {
     744        display: none;
     745}
     746body.no-js #buddypress #message-type-select {
     747        display: none;
     748}
     749body.no-js #buddypress #delete_inbox_messages,
     750body.no-js #buddypress #delete_sentbox_messages {
     751        display: none;
     752}
     753#buddypress #notifications-bulk-management {
     754        clear: left;
     755}
     756body.no-js #buddypress #notifications-bulk-management #select-all-notifications {
     757        display: none;
     758}
    743759#buddypress .standard-form input:focus,
    744760#buddypress .standard-form textarea:focus,
    745761#buddypress .standard-form select:focus {