Skip to:
Content

BuddyPress.org

Ticket #4802: 4802-widget.diff

File 4802-widget.diff, 5.0 KB (added by imath, 12 years ago)

the diff that uses the widget

  • bp-templates/bp-legacy/buddypress-functions.php

     
    12001200
    12011201        exit;
    12021202}
     1203
     1204/**
     1205 * Filters bp_message_get_notice_checkbox
     1206 *
     1207 * Checks BP Messages Widget is active before printing the checkbox
     1208 * Displays a message to admin if not active.
     1209 *
     1210 * @param string $notice_checkbox
     1211 * @uses is_active_widget() to check if the widget is active
     1212 * @uses admin_url() to print the widgets url
     1213 * @return string $notice_checkbox
     1214 */
     1215function bp_legacy_theme_get_notice_checkbox( $notice_checkbox ) {
     1216       
     1217        if( !is_active_widget( false, false, 'bp_messages_widget') )
     1218                $notice_checkbox = '<small>' . sprintf( __('You need to <a href="%s">activate</a> the (BuddyPress) Site Wide Notices widget to compose site wide notices', 'buddypress'), admin_url( 'widgets.php' ) ) .'</small>';
     1219       
     1220        return $notice_checkbox;
     1221}
     1222
     1223add_filter( 'bp_message_get_notice_checkbox', 'bp_legacy_theme_get_notice_checkbox', 1, 1 );
     1224 No newline at end of file
  • bp-templates/bp-legacy/buddypress/members/single/messages/compose.php

     
    1111        </ul>
    1212
    1313        <?php if ( bp_current_user_can( 'bp_moderate' ) ) : ?>
    14                 <input type="checkbox" id="send-notice" name="send-notice" value="1" /> <?php _e( "This is a notice to all users.", "buddypress" ); ?>
     14               
     15                <?php bp_message_notice_checkbox();?>
     16               
    1517        <?php endif; ?>
    1618
    1719        <label for="subject"><?php _e( 'Subject', 'buddypress' ); ?></label>
  • bp-templates/bp-legacy/css/buddypress.css

     
    506506#buddypress div#message.updated {
    507507        clear: both;
    508508}
    509 #buddypress div#message p {
     509#buddypress div#message p, .widget_bp_messages_widget div#message p {
    510510        font-size: 90%;
    511511        display: block;
    512512        padding: 10px 15px;
     
    10031003        font-weight: bold;
    10041004}
    10051005#buddypress span.activity,
    1006 #buddypress div#message p {
     1006#buddypress div#message p, .widget_bp_messages_widget div#message p {
    10071007        border: 1px solid #e1ca82;
    10081008        -moz-border-radius: 3px;
    10091009        -webkit-border-radius: 3px;
  • bp-messages/bp-messages-loader.php

     
    5151                        'functions',
    5252                        'notifications'
    5353                );
     54               
     55                /*
     56                checks for template dir (in case of child theme)
     57                and if it's not bp-default then include the Site Wide Notice Widget
     58                */
     59                if( strpos( get_template_directory(), 'bp-default' ) === false )
     60                        $includes[] = 'widget';
    5461
    5562                parent::includes( $includes );
    5663        }
  • bp-messages/bp-messages-template.php

     
    523523                return apply_filters( 'bp_get_message_notice_text', $messages_template->thread->message );
    524524        }
    525525
     526
     527/**
     528 * Output the notice to all users checkbox
     529 *
     530 * @uses bp_message_get_notice_checkbox()
     531 */
     532function bp_message_notice_checkbox() {
     533        echo bp_message_get_notice_checkbox();
     534}
     535
     536        /**
     537         * Returns the notice to all users checkbox
     538         *
     539         * @uses apply_filters() To call the 'bp_message_get_notice_checkbox' hook
     540         */
     541        function bp_message_get_notice_checkbox() {
     542               
     543                $notice_checkbox = '<input type="checkbox" id="send-notice" name="send-notice" value="1" /> '. __( "This is a notice to all users.", "buddypress" );
     544               
     545                return apply_filters( 'bp_message_get_notice_checkbox', $notice_checkbox );
     546               
     547        }
     548
    526549function bp_message_notice_delete_link() {
    527550        echo bp_get_message_notice_delete_link();
    528551}
     
    584607                return apply_filters( 'bp_get_messages_slug', $bp->messages->slug );
    585608        }
    586609
    587 function bp_message_get_notices() {
     610
     611/**
     612 * Displays site wide notices if any
     613 *
     614 * Specific to BP Theme Compat :
     615 * using $before_widget and $after_widget parameters avoids extra html
     616 * if no notice are found.
     617 *
     618 * @param string $before_widget the widget opening tag
     619 * @param string $after_widget the widget closing tag
     620 */
     621function bp_message_get_notices( $before_widget = '', $after_widget = '' ) {
    588622        global $userdata;
    589623
    590624        $notice = BP_Messages_Notice::get_active();
     
    599633
    600634        if ( is_array($closed_notices) ) {
    601635                if ( !in_array( $notice->id, $closed_notices ) && $notice->id ) {
     636                        echo $before_widget;
    602637                        ?>
    603638                        <div id="message" class="info notice" rel="n-<?php echo $notice->id ?>">
    604639                                <p>
     
    608643                                </p>
    609644                        </div>
    610645                        <?php
     646                        echo $after_widget;
    611647                }
    612648        }
    613649}