Skip to:
Content

BuddyPress.org

Ticket #1474: 1474.patch

File 1474.patch, 5.8 KB (added by boonebgorges, 9 years ago)
  • bp-themes/bp-default/sidebar.php

     
    55
    66        <?php do_action( 'bp_inside_before_sidebar' ) ?>
    77
     8        <?php if ( !dynamic_sidebar( 'sidebar' ) ) : ?>
     9
    810        <?php if ( is_user_logged_in() ) : ?>
    911
    1012                <?php do_action( 'bp_before_sidebar_me' ) ?>
     
    5557
    5658        <?php endif; ?>
    5759
     60    <?php endif; ?>
     61
    5862        <?php /* Show forum tags on the forums directory */
    5963        if ( BP_FORUMS_SLUG == bp_current_component() && bp_is_directory() ) : ?>
    6064                <div id="forum-directory-tags" class="widget tags">
     
    6670                </div>
    6771        <?php endif; ?>
    6872
    69         <?php dynamic_sidebar( 'sidebar' ) ?>
    70 
    7173        <?php do_action( 'bp_inside_after_sidebar' ) ?>
    7274
    7375        </div><!-- .padder -->
  • bp-core/bp-core-widgets.php

     
    55        add_action('widgets_init', create_function('', 'return register_widget("BP_Core_Members_Widget");') );
    66        add_action('widgets_init', create_function('', 'return register_widget("BP_Core_Whos_Online_Widget");') );
    77        add_action('widgets_init', create_function('', 'return register_widget("BP_Core_Recently_Active_Widget");') );
     8        add_action('widgets_init', create_function('', 'return register_widget("BP_Core_Login_Widget");') );
    89}
    910add_action( 'bp_register_widgets', 'bp_core_register_widgets' );
    1011
     
    224225        }
    225226}
    226227
     228/*** LOGIN WIDGET *****************/
     229
     230class BP_Core_Login_Widget extends WP_Widget {
     231        function bp_core_login_widget() {
     232                parent::WP_Widget( false, $name = __( 'BuddyPress Login', 'buddypress' ) );
     233        }
     234
     235        function widget($args, $instance) {
     236                global $bp;
     237
     238        $args = apply_filters( 'bp_login_widget_args', $args );
     239
     240                extract( $args );
     241
     242                echo $before_widget;
     243                echo $before_title
     244                   . $widget_name
     245                   . $after_title; ?>
     246
     247                <?php if ( is_user_logged_in() ) : ?>
     248
     249            <?php do_action( 'bp_before_sidebar_me' ) ?>
     250   
     251            <div id="sidebar-me">
     252                <a href="<?php echo bp_loggedin_user_domain() ?>">
     253                    <?php bp_loggedin_user_avatar( 'type=thumb&width=40&height=40' ) ?>
     254                </a>
     255   
     256                <h4><?php echo bp_core_get_userlink( bp_loggedin_user_id() ); ?></h4>
     257                <a class="button logout" href="<?php echo wp_logout_url( bp_get_root_domain() ) ?>"><?php _e( 'Log Out', 'buddypress' ) ?></a>
     258   
     259                <?php do_action( 'bp_sidebar_me' ) ?>
     260            </div>
     261   
     262            <?php do_action( 'bp_after_sidebar_me' ) ?>
     263   
     264            <?php if ( function_exists( 'bp_message_get_notices' ) ) : ?>
     265                <?php bp_message_get_notices(); /* Site wide notices to all users */ ?>
     266            <?php endif; ?>
     267   
     268        <?php else : ?>
     269   
     270            <?php do_action( 'bp_before_sidebar_login_form' ) ?>
     271   
     272            <p id="login-text">
     273                <?php _e( 'To start connecting please log in first.', 'buddypress' ) ?>
     274                <?php if ( bp_get_signup_allowed() ) : ?>
     275                    <?php printf( __( ' You can also <a href="%s" title="Create an account">create an account</a>.', 'buddypress' ), site_url( BP_REGISTER_SLUG . '/' ) ) ?>
     276                <?php endif; ?>
     277            </p>
     278   
     279            <form name="login-form" id="sidebar-login-form" class="standard-form" action="<?php echo site_url( 'wp-login.php', 'login_post' ) ?>" method="post">
     280                <label><?php _e( 'Username', 'buddypress' ) ?><br />
     281                <input type="text" name="log" id="sidebar-user-login" class="input" /></label>
     282   
     283                <label><?php _e( 'Password', 'buddypress' ) ?><br />
     284                <input type="password" name="pwd" id="sidebar-user-pass" class="input" /></label>
     285   
     286                <p class="forgetmenot"><label><input name="rememberme" type="checkbox" id="sidebar-rememberme" value="forever" /> <?php _e( 'Remember Me', 'buddypress' ) ?></label></p>
     287   
     288                <?php do_action( 'bp_sidebar_login_form' ) ?>
     289                <input type="submit" name="wp-submit" id="sidebar-wp-submit" value="<?php _e('Log In'); ?>" tabindex="100" />
     290                <input type="hidden" name="testcookie" value="1" />
     291            </form>
     292   
     293            <?php do_action( 'bp_after_sidebar_login_form' ) ?>
     294   
     295        <?php endif; ?>
     296
     297                <?php echo $after_widget; ?>
     298        <?php
     299        }
     300
     301        function update( $new_instance, $old_instance ) {
     302                $instance = $old_instance;
     303               
     304                return $instance;
     305        }
     306
     307        function form( $instance ) {
     308                $instance = wp_parse_args( (array) $instance, array( 'max_members' => 15 ) );
     309                $max_members = strip_tags( $instance['max_members'] );
     310                ?>
     311
     312                <p><?php _e( 'Login/logout widget for BuddyPress.', 'buddypress' ) ?></p>
     313        <?php
     314        }
     315}
     316
     317
    227318/** Widget AJAX ******************/
    228319
    229320function bp_core_ajax_widget_members() {
  • bp-core/bp-core-filters.php

     
    247247}
    248248if ( !is_admin() || ( is_admin() && empty( $_POST['noconfirmation'] ) ) )
    249249        add_filter( 'wpmu_signup_user_notification', 'bp_core_activation_signup_user_notification', 1, 4 );
     250       
     251function bp_core_login_widget_cleanup( $args ) {
     252    $unset_params = array(
     253        'before_widget',
     254        'after_widget',
     255        'before_title',
     256        'after_title',
     257        'widget_name'
     258    );
     259   
     260    foreach( $unset_params as $unset_param ) {
     261        unset( $args[$unset_param] );
     262    }
     263   
     264    return $args;
     265}
     266add_filter( 'bp_login_widget_args', 'bp_core_login_widget_cleanup' );
    250267
    251268?>
     269 No newline at end of file