Skip to:
Content

BuddyPress.org

Ticket #2432: 2432.2.patch

File 2432.2.patch, 3.8 KB (added by boonebgorges, 13 years ago)
  • bp-themes/bp-default/_inc/css/default.css

     
    541541        margin: 20px 0;
    542542}
    543543
    544 span.activity, div#message p {
     544span.activity, div#message p, div.message p {
    545545        display: inline-block;
    546546        font-size: 11px;
    547547        font-weight: normal;
     
    610610/* > Error / Success Messages
    611611-------------------------------------------------------------- */
    612612
    613 div#message {
     613div#message, div.message {
    614614        margin: 15px 0;
    615615}
    616         div#message.updated { clear: both; }
     616        div#message.updated, div#template-messages div.updated { clear: both; }
    617617
    618 div#message p {
     618div#message p, div.message p {
    619619        padding: 10px 15px;
    620620        font-size: 12px;
    621621        display:block;
    622622}
    623         div#message.error p {
     623        div#message.error p, div#template-messages div.error p {
    624624                background: #e41717;
    625625                color: #fff;
    626626                border-color: #a71a1a;
    627627                clear: left;
    628628        }
    629629
    630         div#message.updated p {
     630        div#message.updated p, div#template-messages div.updated p {
    631631                background: #dffcd9;
    632632                color: #1a9b00;
    633633                border-color: #c4e9bd;
  • bp-core.php

     
    12821282 */
    12831283function bp_core_add_message( $message, $type = false ) {
    12841284        global $bp;
    1285 
     1285       
    12861286        if ( !$type )
    12871287                $type = 'success';
     1288       
     1289        if ( empty( $message ) )
     1290                return;
     1291       
     1292        $messages = isset( $bp->template_message ) ? $bp->template_message : array();
    12881293
    1289         /* Send the values to the cookie for page reload display */
    1290         @setcookie( 'bp-message', $message, time()+60*60*24, COOKIEPATH );
    1291         @setcookie( 'bp-message-type', $type, time()+60*60*24, COOKIEPATH );
    1292 
     1294        $messages[] = array( 'content' => $message, 'type' => $type );
     1295       
    12931296        /***
    12941297         * Send the values to the $bp global so we can still output messages
    12951298         * without a page reload
    12961299         */
    1297         $bp->template_message = $message;
    1298         $bp->template_message_type = $type;
     1300        $bp->template_message = $messages;
     1301       
     1302        /* This is to prevent problems with cookies handling serialized strings */
     1303        $messages = base64_encode( maybe_serialize( $messages ) );
     1304
     1305        /* Send the values to the cookie for page reload display */
     1306        @setcookie( 'bp-message', $messages, time()+60*60*24, COOKIEPATH );
    12991307}
    13001308
    13011309/**
     
    13151323function bp_core_setup_message() {
    13161324        global $bp;
    13171325
    1318         if ( empty( $bp->template_message ) && isset( $_COOKIE['bp-message'] ) )
    1319                 $bp->template_message = $_COOKIE['bp-message'];
     1326        if ( empty( $bp->template_message ) && isset( $_COOKIE['bp-message'] ) ) {
     1327                $bp->template_message = maybe_unserialize( imap_base64 ( $_COOKIE['bp-message'] ) );
     1328        }
    13201329
    1321         if ( empty( $bp->template_message_type ) && isset( $_COOKIE['bp-message-type'] ) )
    1322                 $bp->template_message_type = $_COOKIE['bp-message-type'];
    1323 
    13241330        add_action( 'template_notices', 'bp_core_render_message' );
    13251331
    13261332        @setcookie( 'bp-message', false, time() - 1000, COOKIEPATH );
    1327         @setcookie( 'bp-message-type', false, time() - 1000, COOKIEPATH );
    13281333}
    13291334add_action( 'wp', 'bp_core_setup_message', 2 );
    13301335
     
    13411346        global $bp;
    13421347
    13431348        if ( $bp->template_message ) {
    1344                 $type = ( 'success' == $bp->template_message_type ) ? 'updated' : 'error';
    1345         ?>
    1346                 <div id="message" class="<?php echo $type; ?>">
    1347                         <p><?php echo stripslashes( esc_attr( $bp->template_message ) ); ?></p>
     1349                do_action( 'bp_core_before_render_message' );
     1350                ?>
     1351               
     1352                <div id="template-messages">
     1353
     1354                <?php foreach( (array)$bp->template_message as $message ) : ?>
     1355                        <div class="<?php echo ( 'success' == $message['type'] ) ? 'updated' : 'error'; ?> message">
     1356                                <p><?php echo stripslashes( esc_attr( $message['content'] ) ); ?></p>
     1357                        </div>
     1358                <?php endforeach ?>
     1359               
    13481360                </div>
    1349         <?php
     1361               
     1362                <?php
    13501363                do_action( 'bp_core_render_message' );
    13511364        }
    13521365}