Changeset 3592
- Timestamp:
- 12/27/2010 10:57:31 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 43 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-activity.php
r3580 r3592 509 509 * @package BuddyPress Activity 510 510 * @since 1.3 511 * 511 * 512 512 * @param $content The content of the activity, usually found in $activity->content 513 513 * @return array $usernames Array of the found usernames that match existing users … … 516 516 $pattern = '/[@]+([A-Za-z0-9-_\.]+)/'; 517 517 preg_match_all( $pattern, $content, $usernames ); 518 518 519 519 // Make sure there's only one instance of each username 520 520 if ( !$usernames = array_unique( $usernames[1] ) ) 521 521 return false; 522 522 523 523 return $usernames; 524 524 } … … 531 531 * @package BuddyPress Activity 532 532 * @since 1.3 533 * 533 * 534 534 * @param $activity_id The unique id for the activity item 535 535 */ 536 536 function bp_activity_reduce_mention_count( $activity_id ) { 537 537 $activity = new BP_Activity_Activity( $activity_id ); 538 539 if ( $usernames = bp_activity_find_mentions( strip_tags( $activity->content ) ) ) { 538 539 if ( $usernames = bp_activity_find_mentions( strip_tags( $activity->content ) ) ) { 540 540 include_once( ABSPATH . WPINC . '/registration.php' ); 541 542 foreach( (array)$usernames as $username ) { 541 542 foreach( (array)$usernames as $username ) { 543 543 if ( !$user_id = username_exists( $username ) ) 544 544 continue; 545 545 546 546 // Decrease the number of new @ mentions for the user 547 547 $new_mention_count = (int)get_user_meta( $user_id, 'bp_new_mention_count', true ); … … 578 578 } else { 579 579 $user_fullname = bp_core_get_user_displayname( $poster_user_id ); 580 580 581 581 return apply_filters( 'bp_activity_single_at_mentions_notification', '<a href="' . $at_mention_link . '" title="' . $at_mention_title . '">' . sprintf( __( '%1$s mentioned you in an activity update', 'buddypress' ), $user_fullname ) . '</a>', $at_mention_link, $total_items, $activity_id, $poster_user_id ); 582 582 } … … 999 999 1000 1000 $image = '<img src="' . esc_attr( $src ) . '" width="' . $new_width . '" height="' . $new_height . '" alt="' . __( 'Thumbnail', 'buddypress' ) . '" class="align-left thumbnail" />'; 1001 1001 1002 1002 if ( !empty( $link ) ) { 1003 1003 $image = '<a href="' . $link . '">' . $image . '</a>'; … … 1224 1224 /** 1225 1225 * updates_register_activity_actions() 1226 * 1226 * 1227 1227 * Register the activity stream actions for updates 1228 * 1228 * 1229 1229 * @global array $bp 1230 1230 */ -
trunk/bp-activity/bp-activity-filters.php
r3494 r3592 110 110 * 111 111 * @package BuddyPress Activity 112 * 112 * 113 113 * @param string $content The activity content 114 114 */ -
trunk/bp-activity/bp-activity-notifications.php
r3403 r3592 15 15 if ( !$receiver_user_id = bp_core_get_userid( $username ) ) 16 16 continue; 17 18 bp_core_add_notification( $activity_id, $receiver_user_id, 'activity', 'new_at_mention', $poster_user_id ); 17 18 bp_core_add_notification( $activity_id, $receiver_user_id, 'activity', 'new_at_mention', $poster_user_id ); 19 19 20 20 // Now email the user with the contents of the message (if they have enabled email notifications) … … 54 54 } 55 55 } 56 56 57 57 do_action( 'bp_activity_sent_mention_email', $usernames, $subject, $message, $content, $poster_user_id, $activity_id ); 58 58 } … … 98 98 99 99 wp_mail( $to, $subject, $message ); 100 100 101 101 do_action( 'bp_activity_sent_reply_to_update_email', $original_activity->user_id, $subject, $message, $comment_id, $commenter_id, $params ); 102 102 } … … 143 143 144 144 wp_mail( $to, $subject, $message ); 145 145 146 146 do_action( 'bp_activity_sent_reply_to_reply_email', $original_activity->user_id, $subject, $message, $comment_id, $commenter_id, $params ); 147 147 } -
trunk/bp-activity/bp-activity-templatetags.php
r3580 r3592 136 136 * bp_has_activities() 137 137 * 138 * Initializes the activity loop. 138 * Initializes the activity loop. 139 139 * 140 140 * Based on the $args passed, bp_has_activities() populates the $activities_template global. … … 174 174 $show_hidden = true; 175 175 } 176 176 177 177 // The default scope should recognize custom slugs 178 178 if ( array_key_exists( $bp->current_action, (array)$bp->active_components ) ) { … … 959 959 } 960 960 961 function bp_activity_can_favorite() { 961 function bp_activity_can_favorite() { 962 962 $can_favorite = true; 963 963 964 964 return apply_filters( 'bp_activity_can_favorite', $can_favorite ); 965 965 } … … 1048 1048 echo bp_get_member_activity_feed_link(); 1049 1049 } 1050 function bp_activities_member_rss_link() { 1051 echo bp_get_member_activity_feed_link(); 1050 function bp_activities_member_rss_link() { 1051 echo bp_get_member_activity_feed_link(); 1052 1052 } 1053 1053 -
trunk/bp-blogs/bp-blogs-classes.php
r3578 r3592 112 112 $blog_ids[] = $blog->blog_id; 113 113 } 114 114 115 115 $blog_ids = $wpdb->escape( join( ',', (array)$blog_ids ) ); 116 116 $paged_blogs = BP_Blogs_Blog::get_blog_extras( &$paged_blogs, $blog_ids, $type ); -
trunk/bp-core.php
r3566 r3592 483 483 484 484 $wpdb->update( $wpdb->users, array( 'user_status' => $is_spam ), array( 'ID' => $bp->displayed_user->id ) ); 485 485 486 486 if ( $is_spam ) 487 487 bp_core_add_message( __( 'User marked as spammer. Spam users are visible only to site admins.', 'buddypress' ) ); … … 492 492 if ( $is_spam && function_exists( 'bp_activity_hide_user_activity' ) ) 493 493 bp_activity_hide_user_activity( $bp->displayed_user->id ); 494 494 495 495 // We need a special hook for is_spam so that components can delete data at spam time 496 496 if ( $is_spam ) … … 2005 2005 * hook in to. 2006 2006 */ 2007 2007 2008 2008 /** 2009 2009 * bp_include() -
trunk/bp-core/admin/bp-core-schema.php
r3550 r3592 228 228 KEY is_required (is_required) 229 229 ) {$charset_collate};"; 230 230 231 231 $sql[] = "CREATE TABLE {$wpdb->base_prefix}bp_xprofile_data ( 232 232 id bigint(20) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, -
trunk/bp-core/admin/bp-core-upgrade.php
r3550 r3592 10 10 // Install site options on activation 11 11 bp_core_activate_site_options( array( 'bp-disable-account-deletion' => 0, 'bp-disable-avatar-uploads' => 0, 'bp-disable-blogforum-comments' => 0, 'bp-disable-forum-directory' => 0, 'bp-disable-profile-sync' => 0 ) ); 12 12 13 13 /** 14 14 * bp_core_activate_site_options() … … 56 56 if ( $this->current_version = get_option( 'bp-db-version' ) ) 57 57 $this->is_network_activate = true; 58 58 59 59 $this->new_version = constant( 'BP_DB_VERSION' ); 60 60 $this->setup_type = ( empty( $this->current_version ) && !(int)get_site_option( 'bp-core-db-version' ) ) ? 'new' : 'upgrade'; … … 104 104 } else { 105 105 // Upgrade wizard steps 106 106 107 107 if ( $this->is_network_activate ) 108 108 $steps[] = __( 'Multisite Upgrade', 'buddypress' ); 109 109 110 110 if ( $this->current_version < $this->new_version ) 111 111 $steps[] = __( 'Database Upgrade', 'buddypress' ); … … 243 243 <?php 244 244 } 245 245 246 246 function step_ms_upgrade() { 247 247 if ( !current_user_can( 'activate_plugins' ) ) … … 252 252 else 253 253 $blogs_slug = __( 'blogs', 'buddypress' ); 254 254 255 255 if ( !defined( 'BP_ENABLE_MULTIBLOG' ) && is_multisite() ) 256 256 $existing_pages = get_blog_option( BP_ROOT_BLOG, 'bp-pages' ); … … 262 262 <p><input type="submit" value="<?php _e( 'Save & Next →', 'buddypress' ) ?>" name="submit" /></p> 263 263 </div> 264 264 265 265 <p><?php printf( __( 'It looks like you have just activated WordPress Multisite mode, which allows members of your BuddyPress community to have their own WordPress blogs. You can enable or disable this feature at any time at <a href="%s">Network Options</a>.', 'buddypress' ), admin_url( 'ms-options.php' ) ); ?></p> 266 266 267 267 <p><?php _e( "Please select the WordPress page you would like to use to display the blog directory. You can either choose an existing page or let BuddyPress auto-create a page for you. If you'd like to manually create pages, please go ahead and do that now, you can come back to this step once you are finished.", 'buddypress' ) ?></p> 268 268 … … 281 281 </td> 282 282 </tr> 283 283 284 284 </table> 285 285 286 286 <p><?php _e( 'Would you like to enable blog tracking, which tracks blog activity across your network?', 'buddypress' ); ?></p> 287 287 288 288 <div class="left-col"> 289 289 290 290 <div class="component"> 291 291 <h5><?php _e( "Blog Tracking", 'buddypress' ) ?></h5> … … 298 298 <img src="<?php echo plugins_url( 'buddypress/screenshot-7.gif' ) ?>" alt="Activity Streams" /> 299 299 <p><?php _e( "Track new blogs, new posts and new comments across your entire blog network.", 'buddypress' ) ?></p> 300 </div> 301 </div> 302 300 </div> 301 </div> 302 303 303 <div class="submit clear"> 304 304 <p><input type="submit" value="<?php _e( 'Save & Next →', 'buddypress' ) ?>" name="submit" /></p> … … 308 308 <?php wp_nonce_field( 'bpwizard_ms_upgrade' ) ?> 309 309 </div> 310 310 311 311 <script type="text/javascript"> 312 312 jQuery('select').click( function() { … … 838 838 if ( $current_blog->blog_id != BP_ROOT_BLOG && !defined( 'BP_ENABLE_MULTIBLOG' ) ) 839 839 switch_to_blog( BP_ROOT_BLOG ); 840 840 841 841 $existing_pages = get_option( 'bp-pages' ); 842 842 843 843 $bp_pages = $this->setup_pages( (array)$_POST['bp_pages'] ); 844 844 845 845 $bp_pages = array_merge( (array)$existing_pages, (array)$bp_pages ); 846 846 847 847 update_option( 'bp-pages', $bp_pages ); 848 848 849 849 if ( $current_blog->blog_id != BP_ROOT_BLOG ) 850 850 restore_current_blog(); 851 851 852 852 unset( $disabled['bp-blogs.php'] ); 853 853 854 854 bp_core_install( $disabled ); 855 855 } 856 856 857 857 update_site_option( 'bp-deactivated-components', $disabled ); 858 858 … … 1045 1045 return false; 1046 1046 } 1047 1047 1048 1048 function setup_pages( $pages ) { 1049 1049 foreach ( $pages as $key => $value ) { … … 1059 1059 } 1060 1060 } 1061 1061 1062 1062 return $bp_pages; 1063 1063 } -
trunk/bp-core/bp-core-avatars.php
r3465 r3592 485 485 function bp_core_fetch_avatar_filter( $avatar, $user, $size, $default, $alt ) { 486 486 global $pagenow; 487 487 488 488 // Do not filter if inside WordPress options page 489 489 if ( 'options-discussion.php' == $pagenow ) 490 490 return $avatar; 491 491 492 492 // If passed an object, assume $user->user_id 493 493 if ( is_object( $user ) ) -
trunk/bp-core/bp-core-catchuri.php
r3583 r3592 66 66 // Running off blog other than root 67 67 if ( defined( 'BP_ENABLE_MULTIBLOG' ) || 1 != BP_ROOT_BLOG ) { 68 68 69 69 // Any subdirectory names must be removed from $bp_uri. 70 70 // This includes two cases: (1) when WP is installed in a subdirectory, … … 74 74 foreach( $chunks as $key => $chunk ) { 75 75 $bkey = array_search( $chunk, $bp_uri ); 76 76 77 77 if ( $bkey !== false ) 78 78 unset( $bp_uri[$bkey] ); 79 79 80 80 $bp_uri = array_values( $bp_uri ); 81 81 } … … 141 141 unset( $uri_chunks ); 142 142 } 143 143 144 144 // Search doesn't have an associated page, so we check for it separately 145 145 if ( !empty( $bp_uri[0] ) && BP_SEARCH_SLUG == $bp_uri[0] ) 146 146 $matches[] = 1; 147 147 148 148 // This is not a BuddyPress page, so just return. 149 149 if ( !isset( $matches ) ) -
trunk/bp-core/bp-core-classes.php
r3555 r3592 141 141 if ( 'alphabetical' == $type ) 142 142 $sql['where_alpha'] = "AND pd.field_id = 1"; 143 143 144 144 if ( !empty( $exclude ) ) 145 145 $sql['where_exclude'] = "AND u.ID NOT IN ({$exclude})"; … … 260 260 $total_users_sql = apply_filters( 'bp_core_users_by_letter_count_sql', $wpdb->prepare( "SELECT COUNT(DISTINCT u.ID) FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id LEFT JOIN {$bp->profile->table_name_fields} pf ON pd.field_id = pf.id WHERE {$status_sql} AND pf.name = %s {$exclude_sql} AND pd.value LIKE '$letter%%' ORDER BY pd.value ASC", BP_XPROFILE_FULLNAME_FIELD_NAME ), $letter ); 261 261 $paged_users_sql = apply_filters( 'bp_core_users_by_letter_sql', $wpdb->prepare( "SELECT DISTINCT u.ID as id, u.user_registered, u.user_nicename, u.user_login, u.user_email FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id LEFT JOIN {$bp->profile->table_name_fields} pf ON pd.field_id = pf.id WHERE {$status_sql} AND pf.name = %s {$exclude_sql} AND pd.value LIKE '$letter%%' ORDER BY pd.value ASC{$pag_sql}", BP_XPROFILE_FULLNAME_FIELD_NAME ), $letter, $pag_sql ); 262 262 263 263 $total_users = $wpdb->get_var( $total_users_sql ); 264 264 $paged_users = $wpdb->get_results( $paged_users_sql ); -
trunk/bp-core/bp-core-filters.php
r3557 r3592 206 206 207 207 wp_mail( $to, $subject, $message, $message_headers ); 208 208 209 209 do_action( 'bp_core_sent_blog_signup_email', $admin_email, $subject, $message, $domain, $path, $title, $user, $user_email, $key, $meta ); 210 210 -
trunk/bp-core/bp-core-settings.php
r3578 r3592 24 24 if ( !is_super_admin() && empty( $bp->site_options['bp-disable-account-deletion'] ) ) 25 25 bp_core_new_subnav_item( array( 'name' => __( 'Delete Account', 'buddypress' ), 'slug' => 'delete-account', 'parent_url' => $settings_link, 'parent_slug' => $bp->settings->slug, 'screen_function' => 'bp_core_screen_delete_account', 'position' => 90, 'user_has_access' => bp_is_my_profile() ) ); 26 26 27 27 do_action( 'bp_core_settings_setup_nav' ); 28 28 } … … 45 45 46 46 // Form has been submitted and nonce checks out, lets do it. 47 47 48 48 // Validate the user again for the current password when making a big change 49 49 if ( !empty( $_POST['pwd'] ) && $_POST['pwd'] != '' && wp_check_password($_POST['pwd'], $current_user->user_pass, $current_user->ID) ) { 50 50 51 51 // Make sure changing an email address does not already exist 52 52 if ( $_POST['email'] != '' ) { 53 53 54 54 // What is missing from the profile page vs signup - lets double check the goodies 55 55 $user_email = sanitize_email( wp_specialchars( trim( $_POST['email'] ) ) ); 56 56 57 57 if ( !is_email( $user_email ) ) 58 58 $email_error = true; 59 59 60 60 $limited_email_domains = get_site_option( 'limited_email_domains', 'buddypress' ); 61 61 62 62 if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) { 63 63 $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) ); 64 64 65 65 if ( in_array( $emaildomain, (array)$limited_email_domains ) == false ) { 66 66 $email_error = true; 67 67 68 68 } 69 69 } 70 70 71 71 if ( !$email_error && $current_user->user_email != $user_email ) { 72 72 73 73 //we don't want email dups in the system 74 74 if ( email_exists( $user_email ) ) 75 75 $email_error = true; 76 76 77 77 if (!$email_error) 78 78 $current_user->user_email = $user_email; 79 79 } 80 80 } 81 81 82 82 if ( $_POST['pass1'] != '' && $_POST['pass2'] != '' ) { 83 83 84 84 if ( $_POST['pass1'] == $_POST['pass2'] && !strpos( " " . $_POST['pass1'], "\\" ) ) 85 85 $current_user->user_pass = $_POST['pass1']; 86 86 else 87 87 $pass_error = true; 88 88 89 89 } else if ( empty( $_POST['pass1'] ) && !empty( $_POST['pass2'] ) || !empty( $_POST['pass1'] ) && empty( $_POST['pass2'] ) ) { 90 90 $pass_error = true; … … 92 92 unset( $current_user->user_pass ); 93 93 } 94 94 95 95 if ( !$email_error && !$pass_error && wp_update_user( get_object_vars( $current_user ) ) ) 96 96 $bp_settings_updated = true; 97 97 98 98 } else { 99 99 $pwd_error = true; 100 100 } 101 101 102 102 do_action( 'bp_core_general_settings_after_save' ); 103 103 } … … 127 127 </div> 128 128 <?php } ?> 129 129 130 130 <?php if ( $pwd_error && !$bp_settings_updated ) { ?> 131 131 <div id="message" class="error fade"> … … 134 134 <?php } ?> 135 135 136 <?php 136 <?php 137 137 if ( $email_error && !$bp_settings_updated ) { ?> 138 138 <div id="message" class="error fade"> … … 153 153 <input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small" /> <?php _e( 'New Password', 'buddypress' ) ?><br /> 154 154 <input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small" /> <?php _e( 'Repeat New Password', 'buddypress' ) ?> 155 155 156 156 <?php do_action( 'bp_core_general_settings_before_submit' ) ?> 157 157 … … 159 159 <input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ) ?>" id="submit" class="auto" /> 160 160 </div> 161 161 162 162 <?php do_action( 'bp_core_general_settings_after_submit' ) ?> 163 163 … … 184 184 185 185 $bp_settings_updated = true; 186 186 187 187 do_action( 'bp_core_notification_settings_after_save' ); 188 188 } … … 217 217 218 218 <?php do_action( 'bp_core_notification_settings_after_submit' ) ?> 219 219 220 220 <?php wp_nonce_field('bp_settings_notifications') ?> 221 221 … … 257 257 258 258 <?php do_action( 'bp_core_delete_account_before_submit' ) ?> 259 259 260 260 <div class="submit"> 261 261 <input type="submit" disabled="disabled" value="<?php _e( 'Delete My Account', 'buddypress' ) ?> →" id="delete-account-button" name="delete-account-button" /> 262 262 </div> 263 263 264 264 <?php do_action( 'bp_core_delete_account_after_submit' ) ?> 265 265 -
trunk/bp-core/bp-core-signup.php
r3557 r3592 16 16 17 17 $bp->is_directory = false; 18 18 19 19 if ( bp_is_component_front_page( 'register' ) && ( is_user_logged_in() || !bp_get_signup_allowed() ) ) 20 20 bp_core_redirect( $bp->root_domain . '/' . $bp->members->slug ); … … 326 326 if ( defined( 'BP_ACTIVATION_SLUG' ) ) 327 327 $bp_component_slugs[] = BP_ACTIVATION_SLUG; 328 328 329 329 // Add our slugs to the array and allow them to be filtered 330 330 $filtered_illegal_names = apply_filters( 'bp_core_illegal_usernames', array_merge( array( 'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator' ), $bp_component_slugs ) ); … … 635 635 636 636 wp_mail( $to, $subject, $message, $message_headers ); 637 637 638 638 do_action( 'bp_core_sent_user_validation_email', $admin_email, $subject, $message, $user_id, $user_email, $key ); 639 639 } -
trunk/bp-core/bp-core-templatetags.php
r3564 r3592 705 705 function bp_get_avatar_admin_step() { 706 706 global $bp; 707 707 708 708 if ( isset( $bp->avatar_admin->step ) ) 709 709 $step = $bp->avatar_admin->step; … … 719 719 function bp_get_avatar_to_crop() { 720 720 global $bp; 721 721 722 722 if ( isset( $bp->avatar_admin->image->url ) ) 723 723 $url = $bp->avatar_admin->image->url; … … 1024 1024 1025 1025 $options = array(); 1026 1026 1027 1027 if ( bp_is_active( 'xprofile' ) ) 1028 1028 $options['members'] = __( 'Members', 'buddypress' ); … … 1531 1531 else 1532 1532 $path = $current_blog->path; 1533 1533 1534 1534 if ( 'page' != get_option( 'show_on_front' ) || !$component || empty( $bp->pages->{$component} ) || $_SERVER['REQUEST_URI'] != $path ) 1535 1535 return false; -
trunk/bp-core/bp-core-widgets.php
r3477 r3592 64 64 <?php 65 65 if ( 'newest' == $instance['member_default'] ) 66 bp_member_registered(); 66 bp_member_registered(); 67 67 if ( 'active' == $instance['member_default'] ) 68 68 bp_member_last_active(); … … 108 108 ); 109 109 $instance = wp_parse_args( (array) $instance, $defaults ); 110 110 111 111 $title = strip_tags( $instance['title'] ); 112 112 $max_members = strip_tags( $instance['max_members'] ); … … 117 117 118 118 <p><label for="bp-core-widget-members-max"><?php _e('Max members to show:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_members' ); ?>" name="<?php echo $this->get_field_name( 'max_members' ); ?>" type="text" value="<?php echo esc_attr( $max_members ); ?>" style="width: 30%" /></label></p> 119 119 120 120 <p> 121 <label for="bp-core-widget-groups-default"><?php _e('Default members to show:', 'buddypress'); ?> 121 <label for="bp-core-widget-groups-default"><?php _e('Default members to show:', 'buddypress'); ?> 122 122 <select name="<?php echo $this->get_field_name( 'member_default' ) ?>"> 123 123 <option value="newest" <?php if ( $member_default == 'newest' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Newest', 'buddypress' ) ?></option> 124 124 <option value="active" <?php if ( $member_default == 'active' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Active', 'buddypress' ) ?></option> 125 125 <option value="popular" <?php if ( $member_default == 'popular' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Popular', 'buddypress' ) ?></option> 126 </select> 126 </select> 127 127 </label> 128 128 </p> 129 129 130 130 <?php 131 131 } … … 184 184 ); 185 185 $instance = wp_parse_args( (array) $instance, $defaults ); 186 186 187 187 $title = strip_tags( $instance['title'] ); 188 188 $max_members = strip_tags( $instance['max_members'] ); … … 248 248 ); 249 249 $instance = wp_parse_args( (array) $instance, $defaults ); 250 250 251 251 $title = strip_tags( $instance['title'] ); 252 252 $max_members = strip_tags( $instance['max_members'] ); … … 299 299 <div class="item-meta"><span class="activity"><?php bp_member_last_active() ?></span></div> 300 300 <?php elseif ( 'newest' == $type ) : ?> 301 <div class="item-meta"><span class="activity"><?php bp_member_registered() ?></span></div> 301 <div class="item-meta"><span class="activity"><?php bp_member_registered() ?></span></div> 302 302 <?php elseif ( bp_is_active( 'friends' ) ) : ?> 303 303 <div class="item-meta"><span class="activity"><?php bp_member_total_friend_count() ?></span></div> -
trunk/bp-forums.php
r3473 r3592 73 73 else if ( empty( $_POST['topic_text'] ) ) 74 74 $error_message = __( 'Forum posts cannot be empty. Please enter some text.', 'buddypress' ); 75 75 76 76 if ( $error_message ) { 77 77 bp_core_add_message( $error_message, 'error' ); … … 86 86 } 87 87 } 88 88 89 89 bp_core_redirect( $redirect ); 90 90 91 91 } else { 92 92 bp_core_add_message( __( 'Please pick the group forum where you would like to post this topic.', 'buddypress' ), 'error' ); -
trunk/bp-forums/bp-forums-filters.php
r3542 r3592 9 9 add_filter( 'bp_get_the_topic_post_content', 'bp_forums_filter_kses', 1 ); 10 10 11 add_filter( 'bp_get_the_topic_title', 'force_balance_tags' ); 11 add_filter( 'bp_get_the_topic_title', 'force_balance_tags' ); 12 12 add_filter( 'bp_get_the_topic_latest_post_excerpt', 'force_balance_tags' ); 13 13 add_filter( 'bp_get_the_topic_post_content', 'force_balance_tags' ); … … 121 121 function bp_forums_strip_mentions_on_post_edit( $content ) { 122 122 global $bp; 123 123 124 124 $content = htmlspecialchars_decode( $content ); 125 125 126 126 $pattern = "|<a href='" . $bp->root_domain . "/" . $bp->members->slug . "/[A-Za-z0-9-_\.]+/' rel='nofollow'>(@[A-Za-z0-9-_\.]+)</a>|"; 127 127 128 128 $content = preg_replace( $pattern, "$1", $content ); 129 129 130 130 return $content; 131 131 } -
trunk/bp-friends.php
r3542 r3592 572 572 function friends_remove_data( $user_id ) { 573 573 global $bp; 574 574 575 575 BP_Friends_Friendship::delete_all_for_user($user_id); 576 576 -
trunk/bp-friends/bp-friends-notifications.php
r3362 r3592 40 40 41 41 wp_mail( $to, $subject, $message ); 42 42 43 43 do_action( 'bp_friends_sent_request_email', $friend_id, $subject, $message, $friendship_id, $initiator_id ); 44 44 } … … 80 80 81 81 wp_mail( $to, $subject, $message ); 82 82 83 83 do_action( 'bp_friends_sent_accepted_email', $initator_id, $subject, $message, $friendship_id, $friend_id ); 84 84 } -
trunk/bp-groups.php
r3581 r3592 500 500 else if ( empty( $_POST['topic_text'] ) ) 501 501 $error_message = __( 'Forum posts cannot be empty. Please enter some text.', 'buddypress' ); 502 502 503 503 if ( isset( $error_message ) ) { 504 504 bp_core_add_message( $error_message, 'error' ); … … 1045 1045 bp_core_redirect( $bp->root_domain . '/' . $bp->groups->slug . '/create/step/' . $bp->groups->current_create_step . '/' ); 1046 1046 } 1047 1047 1048 1048 $new_group_id = isset( $bp->groups->new_group_id ) ? $bp->groups->new_group_id : 0; 1049 1049 … … 1337 1337 function groups_update_last_activity( $group_id = false ) { 1338 1338 global $bp; 1339 1339 1340 1340 if ( !$group_id ) 1341 1341 $group_id = $bp->groups->current_group->id; 1342 1342 1343 1343 if ( !$group_id ) 1344 1344 return false; 1345 1345 1346 1346 groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() ); 1347 1347 } -
trunk/bp-groups/bp-groups-classes.php
r3555 r3592 289 289 $sql['include'] = " AND g.id IN ({$include})"; 290 290 } 291 291 292 292 if ( !empty( $exclude ) ) { 293 293 $exclude = $wpdb->escape( $exclude ); … … 358 358 return array( 'groups' => $paged_groups, 'total' => $total_groups ); 359 359 } 360 360 361 361 function get_by_most_forum_topics( $limit = null, $page = null, $user_id = false, $search_terms = false, $populate_extras = true, $exclude = false ) { 362 362 global $wpdb, $bp, $bbdb; … … 376 376 $search_sql = " AND ( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )"; 377 377 } 378 378 379 379 if ( !empty( $exclude ) ) { 380 380 $exclude = $wpdb->escape( $exclude ); … … 417 417 $search_sql = " AND ( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )"; 418 418 } 419 419 420 420 if ( !empty( $exclude ) ) { 421 421 $exclude = $wpdb->escape( $exclude ); … … 494 494 $search_sql = " AND ( g.name LIKE '%%{$search_terms}%%' OR g.description LIKE '%%{$search_terms}%%' )"; 495 495 } 496 496 497 497 if ( !empty( $exclude ) ) { 498 498 $exclude = $wpdb->escape( $exclude ); … … 867 867 868 868 $pag_sql = ( !empty( $limit ) && !empty( $page ) ) ? $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ) : ''; 869 869 870 870 $exclude_sql = !empty( $exclude ) ? $wpdb->prepare( " AND g.id NOT IN (%s)", $exclude ) : ''; 871 871 -
trunk/bp-groups/bp-groups-notifications.php
r3362 r3592 39 39 unset( $message, $to ); 40 40 } 41 41 42 42 do_action( 'bp_groups_sent_updated_email', $user_ids, $subject, $message, $group_id ); 43 43 } … … 87 87 88 88 wp_mail( $to, $subject, $message ); 89 89 90 90 do_action( 'bp_groups_sent_membership_request_email', $admin_id, $subject, $message, $requesting_user_id, $group_id, $membership_id ); 91 91 } … … 143 143 144 144 wp_mail( $to, $subject, $message ); 145 145 146 146 do_action( 'bp_groups_sent_membership_approved_email', $requesting_user_id, $subject, $message, $group_id ); 147 147 } … … 191 191 192 192 wp_mail( $to, $subject, $message ); 193 193 194 194 do_action( 'bp_groups_sent_promoted_email', $user_id, $subject, $message, $group_id ); 195 195 } … … 246 246 wp_mail( $to, $subject, $message ); 247 247 } 248 248 249 249 do_action( 'bp_groups_sent_invited_email', $invited_user_id, $subject, $message, $group ); 250 250 } … … 307 307 } 308 308 } 309 309 310 310 do_action( 'bp_groups_sent_mention_email', $usernames, $subject, $message, $content, $poster_user_id, $group_id, $activity_id ); 311 311 } -
trunk/bp-groups/bp-groups-templatetags.php
r3555 r3592 1716 1716 function bp_get_new_group_id() { 1717 1717 global $bp; 1718 1718 1719 1719 if ( isset( $bp->groups->new_group_id ) ) 1720 1720 $new_group_id = $bp->groups->new_group_id; 1721 1721 else 1722 1722 $new_group_id = 0; 1723 1723 1724 1724 return apply_filters( 'bp_get_new_group_id', $new_group_id ); 1725 1725 } … … 1730 1730 function bp_get_new_group_name() { 1731 1731 global $bp; 1732 1732 1733 1733 if ( isset( $bp->groups->current_group->name ) ) 1734 1734 $name = $bp->groups->current_group->name; 1735 1735 else 1736 1736 $name = ''; 1737 1737 1738 1738 return apply_filters( 'bp_get_new_group_name', $name ); 1739 1739 } … … 1744 1744 function bp_get_new_group_description() { 1745 1745 global $bp; 1746 1746 1747 1747 if ( isset( $bp->groups->current_group->description ) ) 1748 1748 $description = $bp->groups->current_group->description; 1749 1749 else 1750 1750 $description = ''; 1751 1751 1752 1752 return apply_filters( 'bp_get_new_group_description', $description ); 1753 1753 } … … 1856 1856 for ( $i = 0; $i < count( $friends ); $i++ ) { 1857 1857 $checked = ''; 1858 1858 1859 1859 if ( !empty( $invites ) ) { 1860 1860 if ( in_array( $friends[$i]['id'], $invites ) ) … … 2246 2246 if ( !$group_id ) { 2247 2247 /* Backwards compatibility */ 2248 if ( !empty( $bp->groups->current_group ) ) 2248 if ( !empty( $bp->groups->current_group ) ) 2249 2249 $group_id = $bp->groups->current_group->id; 2250 2250 if ( !empty( $bp->groups->new_group_id ) ) -
trunk/bp-groups/bp-groups-widgets.php
r3521 r3592 24 24 function widget( $args, $instance ) { 25 25 global $bp; 26 26 27 27 $user_id = apply_filters( 'bp_group_widget_user_id', '0' ); 28 28 … … 100 100 'max_members' => 5, 101 101 'group_default' => 'active' 102 ); 102 ); 103 103 $instance = wp_parse_args( (array) $instance, $defaults ); 104 104 105 105 $title = strip_tags( $instance['title'] ); 106 106 $max_groups = strip_tags( $instance['max_groups'] ); 107 107 $group_default = strip_tags( $instance['group_default'] ); 108 108 ?> 109 109 110 110 <p><label for="bp-groups-widget-title"><?php _e('Title:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" style="width: 100%" /></label></p> 111 111 112 112 <p><label for="bp-groups-widget-groups-max"><?php _e('Max groups to show:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_groups' ); ?>" name="<?php echo $this->get_field_name( 'max_groups' ); ?>" type="text" value="<?php echo esc_attr( $max_groups ); ?>" style="width: 30%" /></label></p> 113 113 114 114 <p> 115 <label for="bp-groups-widget-groups-default"><?php _e('Default groups to show:', 'buddypress'); ?> 115 <label for="bp-groups-widget-groups-default"><?php _e('Default groups to show:', 'buddypress'); ?> 116 116 <select name="<?php echo $this->get_field_name( 'group_default' ); ?>"> 117 117 <option value="newest" <?php if ( $group_default == 'newest' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Newest', 'buddypress' ) ?></option> 118 118 <option value="active" <?php if ( $group_default == 'active' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Active', 'buddypress' ) ?></option> 119 119 <option value="popular" <?php if ( $group_default == 'popular' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Popular', 'buddypress' ) ?></option> 120 </select> 120 </select> 121 121 </label> 122 122 </p> -
trunk/bp-loader.php
r3549 r3592 113 113 'fileupload_maxk' 114 114 ) ); 115 115 116 116 // These options always come from the options table of BP_ROOT_BLOG 117 117 $root_blog_options = apply_filters( 'bp_core_root_blog_options', array( … … 125 125 else 126 126 $site_meta = $wpdb->get_results( "SELECT option_name AS name, option_value AS value FROM {$wpdb->options} WHERE option_name IN ({$meta_keys})" ); 127 127 128 128 $root_blog_meta_keys = "'" . implode( "','", (array)$root_blog_options ) ."'"; 129 129 130 130 $root_blog_meta_table = $wpdb->get_blog_prefix( BP_ROOT_BLOG ) . 'options'; 131 131 $root_blog_meta = $wpdb->get_results( $wpdb->prepare( "SELECT option_name AS name, option_value AS value FROM {$root_blog_meta_table} WHERE option_name IN ({$root_blog_meta_keys})" ) ); -
trunk/bp-messages/bp-messages-notifications.php
r3362 r3592 44 44 wp_mail( $email_to, $email_subject, $email_content ); 45 45 } 46 46 47 47 do_action( 'bp_messages_sent_notification_email', $recipients, $email_subject, $email_content, $args ); 48 48 } -
trunk/bp-messages/bp-messages-templatetags.php
r3584 r3592 673 673 function bp_thread_has_messages( $args = '' ) { 674 674 global $bp, $thread_template, $group_id; 675 675 676 676 $defaults = array( 677 677 'thread_id' => false, -
trunk/bp-messages/js/autocomplete/jquery.autocompletefb.dev.js
r3476 r3592 7 7 * - Idea: Facebook 8 8 * - Guillermo Rauch: Original MooTools script 9 * - InteRiders <http://interiders.com/> 9 * - InteRiders <http://interiders.com/> 10 10 * 11 11 * Copyright (c) 2008 Widi Harsojo <wharsojo@gmail.com>, http://wharsojo.wordpress.com/ … … 14 14 * http://www.gnu.org/licenses/gpl.html 15 15 */ 16 17 jQuery.fn.autoCompletefb = function(options) 16 17 jQuery.fn.autoCompletefb = function(options) 18 18 { 19 19 var tmp = this; 20 var settings = 20 var settings = 21 21 { 22 22 ul : tmp, … … 26 26 inputClass : ".send-to-input" 27 27 } 28 28 29 29 if(options) jQuery.extend(settings, options); 30 31 var acfb = 30 31 var acfb = 32 32 { 33 33 params : settings, … … 43 43 } 44 44 } 45 45 46 46 jQuery(settings.foundClass+" img.p").click(function(){ 47 47 acfb.removeFind(this); 48 48 }); 49 49 50 50 jQuery(settings.inputClass,tmp).autocomplete(settings.urlLookup,settings.acOptions); 51 51 jQuery(settings.inputClass,tmp).result(function(e,d,f){ … … 57 57 var v = '<li class="'+f+'" id="un-'+un+'"><span><a href="'+l+'">'+d[0]+'</a></span> <span class="p">X</span></li>'; 58 58 var x = jQuery(settings.inputClass,tmp).before(v); 59 59 60 60 jQuery('#send-to-usernames').addClass(un); 61 61 62 62 jQuery('.p',x[0].previousSibling).click(function(){ 63 63 acfb.removeFind(this); … … 65 65 jQuery(settings.inputClass,tmp).val(''); 66 66 }); 67 67 68 68 jQuery(settings.inputClass,tmp).focus(); 69 69 return acfb; -
trunk/bp-messages/js/autocomplete/jquery.autocompletefb.js
r3477 r3592 7 7 * - Idea: Facebook 8 8 * - Guillermo Rauch: Original MooTools script 9 * - InteRiders <http://interiders.com/> 9 * - InteRiders <http://interiders.com/> 10 10 * 11 11 * Copyright (c) 2008 Widi Harsojo <wharsojo@gmail.com>, http://wharsojo.wordpress.com/ -
trunk/bp-messages/js/autocomplete/jquery.bgiframe.min.js
r1366 r3592 1 1 /* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net) 2 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 2 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 3 3 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. 4 4 * -
trunk/bp-messages/js/autocomplete/jquery.dimensions.dev.js
r3476 r3592 13 13 14 14 (function($){ 15 15 16 16 $.dimensions = { 17 17 version: '@VERSION' … … 20 20 // Create innerHeight, innerWidth, outerHeight and outerWidth methods 21 21 $.each( [ 'Height', 'Width' ], function(i, name){ 22 22 23 23 // innerHeight and innerWidth 24 24 $.fn[ 'inner' + name ] = function() { 25 25 if (!this[0]) return; 26 26 27 27 var torl = name == 'Height' ? 'Top' : 'Left', // top or left 28 28 borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right 29 29 30 30 return this[ name.toLowerCase() ]() + num(this, 'padding' + torl) + num(this, 'padding' + borr); 31 31 }; 32 32 33 33 // outerHeight and outerWidth 34 34 $.fn[ 'outer' + name ] = function(options) { 35 35 if (!this[0]) return; 36 36 37 37 var torl = name == 'Height' ? 'Top' : 'Left', // top or left 38 38 borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right 39 39 40 40 options = $.extend({ margin: false }, options || {}); 41 41 42 42 return this[ name.toLowerCase() ]() 43 43 + num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width') … … 51 51 $.fn[ 'scroll' + name ] = function(val) { 52 52 if (!this[0]) return; 53 53 54 54 return val != undefined ? 55 55 56 56 // Set the scroll offset 57 57 this.each(function() { 58 58 this == window || this == document ? 59 window.scrollTo( 59 window.scrollTo( 60 60 name == 'Left' ? val : $(window)[ 'scrollLeft' ](), 61 61 name == 'Top' ? val : $(window)[ 'scrollTop' ]() … … 63 63 this[ 'scroll' + name ] = val; 64 64 }) : 65 65 66 66 // Return the scroll offset 67 67 this[0] == window || this[0] == document ? … … 76 76 position: function() { 77 77 var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results; 78 78 79 79 if (elem) { 80 80 // Get *real* offsetParent 81 81 offsetParent = this.offsetParent(); 82 82 83 83 // Get correct offsets 84 84 offset = this.offset(); 85 85 parentOffset = offsetParent.offset(); 86 86 87 87 // Subtract element margins 88 88 offset.top -= num(elem, 'marginTop'); 89 89 offset.left -= num(elem, 'marginLeft'); 90 90 91 91 // Add offsetParent borders 92 92 parentOffset.top += num(offsetParent, 'borderTopWidth'); 93 93 parentOffset.left += num(offsetParent, 'borderLeftWidth'); 94 94 95 95 // Subtract the two offsets 96 96 results = { … … 99 99 }; 100 100 } 101 101 102 102 return results; 103 103 }, 104 104 105 105 offsetParent: function() { 106 106 var offsetParent = this[0].offsetParent; -
trunk/bp-themes/bp-default/_inc/ajax.php
r3580 r3592 568 568 if ( $bp->messages->slug == $bp->current_component ) 569 569 $autocomplete_all = $bp->messages->autocomplete_all; 570 570 571 571 $friends = false; 572 572 … … 576 576 if ( $autocomplete_all ) { 577 577 $users = BP_Core_User::search_users( $_GET['q'], $limit, $pag_page ); 578 578 579 579 if ( !empty( $users['users'] ) ) { 580 580 // Build an array with the correct format … … 584 584 $user_ids[] = $user->id; 585 585 } 586 586 587 587 $user_ids = apply_filters( 'bp_core_autocomplete_ids', $user_ids, $_GET['q'], $limit ); 588 588 } … … 590 590 if ( function_exists( 'friends_search_friends' ) ) { 591 591 $users = friends_search_friends( $_GET['q'], $bp->loggedin_user->id, $limit, 1 ); 592 592 593 593 // Keeping the bp_friends_autocomplete_list filter for backward compatibility 594 594 $users = apply_filters( 'bp_friends_autocomplete_list', $users, $_GET['q'], $limit ); 595 595 596 596 if ( !empty( $users['friends'] ) ) 597 597 $user_ids = apply_filters( 'bp_friends_autocomplete_ids', $users['friends'], $_GET['q'], $limit ); 598 598 } 599 599 } 600 600 601 601 602 602 if ( $user_ids ) { -
trunk/bp-themes/bp-default/_inc/css/default.css
r3587 r3592 20 20 padding-top: 0 !important; /* Remove the top padding space for the admin bar in this theme */ 21 21 } 22 22 23 23 body.activity-permalink { 24 24 min-width: 960px; … … 26 26 } 27 27 28 h1, 29 h2, 30 h3, 31 h4, 32 h5, 28 h1, 29 h2, 30 h3, 31 h4, 32 h5, 33 33 h6 { 34 34 margin: 5px 0 15px 0; 35 35 } 36 36 37 h1 { 38 font-size: 28px; 39 margin-bottom: 25px; 40 } 41 42 h2 { 43 font-size: 24px; 44 margin-bottom: 20px; 45 } 46 47 h3 { 48 font-size: 20px; 49 } 50 51 h4 { 52 font-size: 16px; 53 margin-bottom: 15px; 54 } 55 56 h5 { 57 font-size: 14px; 58 margin-bottom: 0; 59 } 60 61 h6 { 62 font-size: 12px; 63 margin-bottom: 0; 64 } 65 66 a { 67 color: #1fb3dd; 68 } 69 70 a:hover, 71 a:active { 72 color: #888; 73 } 74 75 a:focus { 76 outline: 1px dotted #ccc; 77 } 78 79 .padder { 80 padding: 19px; 81 } 82 83 .clear { 84 clear: left; 85 } 86 87 p { 88 margin-bottom: 15px; 89 } 90 91 p:last-child { 92 margin-bottom: 0; 37 h1 { 38 font-size: 28px; 39 margin-bottom: 25px; 40 } 41 42 h2 { 43 font-size: 24px; 44 margin-bottom: 20px; 45 } 46 47 h3 { 48 font-size: 20px; 49 } 50 51 h4 { 52 font-size: 16px; 53 margin-bottom: 15px; 54 } 55 56 h5 { 57 font-size: 14px; 58 margin-bottom: 0; 59 } 60 61 h6 { 62 font-size: 12px; 63 margin-bottom: 0; 64 } 65 66 a { 67 color: #1fb3dd; 68 } 69 70 a:hover, 71 a:active { 72 color: #888; 73 } 74 75 a:focus { 76 outline: 1px dotted #ccc; 77 } 78 79 .padder { 80 padding: 19px; 81 } 82 83 .clear { 84 clear: left; 85 } 86 87 p { 88 margin-bottom: 15px; 89 } 90 91 p:last-child { 92 margin-bottom: 0; 93 93 } 94 94 … … 128 128 line-height: 1; 129 129 vertical-align: baseline; 130 position: relative; 130 position: relative; 131 131 } 132 132 … … 154 154 position: relative; 155 155 } 156 156 157 157 #header #search-bar { 158 158 position: absolute; … … 190 190 width: 44%; 191 191 } 192 192 193 193 #header h1 a { 194 194 color: #fff; … … 332 332 margin-bottom: 20px; 333 333 } 334 334 335 335 body.activity-permalink div#container { 336 336 background: none; … … 352 352 background: url( ../images/sidebar_back.gif ) top left repeat-x; 353 353 } 354 354 355 355 div#sidebar div#sidebar-me img.avatar { 356 356 float: left; … … 368 368 margin: 15px -16px; 369 369 } 370 370 371 371 div#sidebar ul#bp-nav li { 372 372 padding: 10px 15px; … … 385 385 margin-top: 20px; 386 386 } 387 387 388 388 #footer-widget-area .widget_search input[type=text], 389 389 div#sidebar .widget_search input[type=text] { … … 392 392 } 393 393 394 #footer-widget-area ul#recentcomments li, 394 #footer-widget-area ul#recentcomments li, 395 395 #footer-widget-area .widget_recent_entries ul li, 396 div#sidebar ul#recentcomments li, 396 div#sidebar ul#recentcomments li, 397 397 div#sidebar .widget_recent_entries ul li { 398 398 margin-bottom: 15px; … … 405 405 margin-right: 10px; 406 406 } 407 407 408 408 #footer-widget-area div.item-avatar img, 409 409 div#sidebar div.item-avatar img { … … 414 414 415 415 #footer-widget-area .avatar-block, 416 div#sidebar .avatar-block { 417 overflow: hidden; 416 div#sidebar .avatar-block { 417 overflow: hidden; 418 418 } 419 419 … … 431 431 } 432 432 433 #footer-widget-area div.item-meta, 433 #footer-widget-area div.item-meta, 434 434 #footer-widget-area div.item-content, 435 div#sidebar div.item-meta, 435 div#sidebar div.item-meta, 436 436 div#sidebar div.item-content { 437 437 margin-left: 38px; … … 467 467 -webkit-border-bottom-left-radius: 6px; 468 468 } 469 469 470 470 div#content .one-column { 471 471 margin-right: 0; … … 490 490 } 491 491 492 div#item-header div#item-header-content { 493 margin-left: 170px; 492 div#item-header div#item-header-content { 493 margin-left: 170px; 494 494 } 495 495 … … 499 499 line-height: 120%; 500 500 } 501 501 502 502 div#item-header h2 a { 503 503 text-decoration: none; … … 510 510 } 511 511 512 div#item-header h2 { 513 margin-bottom: 5px; 514 } 515 516 div#item-header span.activity, 512 div#item-header h2 { 513 margin-bottom: 5px; 514 } 515 516 div#item-header span.activity, 517 517 div#item-header h2 span.highlight { 518 518 vertical-align: middle; … … 523 523 } 524 524 525 div#item-header h2 span.highlight { 526 font-size: 16px; 525 div#item-header h2 span.highlight { 526 font-size: 16px; 527 527 } 528 528 … … 558 558 text-align: right; 559 559 } 560 560 561 561 div#item-header div#item-actions h3 { 562 562 font-size: 12px; … … 569 569 } 570 570 571 div#item-header ul h5, 572 div#item-header ul span, 571 div#item-header ul h5, 572 div#item-header ul span, 573 573 div#item-header ul hr { 574 574 display: none; … … 579 579 } 580 580 581 div#item-header ul img.avatar, 581 div#item-header ul img.avatar, 582 582 div#item-header ul.avatars img.avatar { 583 583 width: 30px; … … 586 586 } 587 587 588 div#item-header div.generic-button, 588 div#item-header div.generic-button, 589 589 div#item-header a.button { 590 590 float: left; … … 603 603 width: 100%; 604 604 } 605 605 606 606 ul.item-list li { 607 607 position: relative; … … 609 609 border-bottom: 1px solid #eaeaea; 610 610 } 611 612 ul.single-line li { 613 border: none; 611 612 ul.single-line li { 613 border: none; 614 614 } 615 615 … … 619 619 } 620 620 621 ul.item-list li div.item-title, 621 ul.item-list li div.item-title, 622 622 ul.item-list li h4 { 623 623 font-weight: normal; … … 626 626 margin: 0; 627 627 } 628 628 629 629 ul.item-list li div.item-title span { 630 630 font-size: 12px; … … 667 667 background: #eaeaea; 668 668 } 669 669 670 670 div.item-list-tabs ul li a { 671 671 text-decoration: none; … … 675 675 width: 100%; 676 676 } 677 677 678 678 div.item-list-tabs ul li { 679 679 float: left; 680 680 margin: 5px 0 0 5px; 681 681 } 682 682 683 683 div.item-list-tabs#subnav ul li { 684 684 margin-top: 0; … … 693 693 margin: 7px 20px 0 0; 694 694 } 695 695 696 696 div.item-list-tabs#subnav ul li.last { 697 697 margin-top: 4px; … … 708 708 text-decoration: none; 709 709 } 710 710 711 711 div.item-list-tabs ul li span { 712 712 color: #aaa; … … 729 729 -webkit-border-top-right-radius: 3px; 730 730 } 731 731 732 732 ul li.loading a { 733 733 background-image: url( ../images/ajax-loader.gif ); … … 736 736 padding-right: 30px !important; 737 737 } 738 738 739 739 div#item-nav ul li.loading a { 740 740 background-position: 88% 50%; … … 766 766 } 767 767 768 span.activity, 768 span.activity, 769 769 div#message p { 770 770 display: inline-block; … … 791 791 margin: -37px 0 0 0; 792 792 } 793 793 794 794 div.dir-search input[type=text] { 795 795 padding: 4px; … … 809 809 height: 16px; 810 810 } 811 812 div.pagination#user-pag, 811 812 div.pagination#user-pag, 813 813 .friends div.pagination, 814 .mygroups div.pagination, 815 .myblogs div.pagination, 814 .mygroups div.pagination, 815 .myblogs div.pagination, 816 816 noscript div.pagination { 817 817 background: #f8f8f8; … … 827 827 float: right; 828 828 } 829 829 830 830 div.pagination .pagination-links span, 831 831 div.pagination .pagination-links a { … … 833 833 padding: 0 5px; 834 834 } 835 835 836 836 div.pagination .pagination-links a:hover { 837 837 font-weight: bold; … … 849 849 margin: 15px 0; 850 850 } 851 851 852 852 div#message.updated { 853 clear: both; 853 clear: both; 854 854 } 855 855 … … 859 859 display:block; 860 860 } 861 861 862 862 div#message.error p { 863 863 background: #e41717; … … 888 888 -------------------------------------------------------------- */ 889 889 890 a.button, 891 input[type=submit], 892 input[type=button], 890 a.button, 891 input[type=submit], 892 input[type=button], 893 893 input[type=reset], 894 ul.button-nav li a, 894 ul.button-nav li a, 895 895 div.generic-button a { 896 896 background: url( ../images/white-grad.png ) top left repeat-x; … … 907 907 cursor: pointer; 908 908 } 909 910 a.button:hover, 911 a.button:focus, 912 input[type=submit]:hover, 913 input[type=button]:hover, 909 910 a.button:hover, 911 a.button:focus, 912 input[type=submit]:hover, 913 input[type=button]:hover, 914 914 input[type=reset]:hover, 915 ul.button-nav li a:hover, 915 ul.button-nav li a:hover, 916 916 ul.button-nav li.current a, 917 917 div.generic-button a:hover { … … 927 927 cursor: default; 928 928 } 929 930 div.pending a:hover, 931 a.disabled:hover { 932 border-color: #eee; 933 color: #bbb; 934 } 935 936 div.accept, 929 930 div.pending a:hover, 931 a.disabled:hover { 932 border-color: #eee; 933 color: #bbb; 934 } 935 936 div.accept, 937 937 div.reject { 938 938 float: left; … … 944 944 margin: 0 10px 10px 0; 945 945 } 946 946 947 947 ul.button-nav li.current a { 948 948 font-weight: bold; … … 968 968 -------------------------------------------------------------- */ 969 969 970 form.standard-form textarea, 970 form.standard-form textarea, 971 971 form.standard-form input[type=text], 972 form.standard-form select, 972 form.standard-form select, 973 973 form.standard-form input[type=password], 974 974 .dir-search input[type=text] { … … 982 982 color: #888; 983 983 } 984 984 985 985 form.standard-form select { 986 986 padding: 3px; … … 991 991 } 992 992 993 form.standard-form label, 993 form.standard-form label, 994 994 form.standard-form span.label { 995 995 display: block; … … 997 997 margin: 15px 0 5px 0; 998 998 } 999 999 1000 1000 form.standard-form div.checkbox label, 1001 1001 form.standard-form div.radio label { … … 1013 1013 width: 75%; 1014 1014 } 1015 1015 1016 1016 form.standard-form#sidebar-login-form input[type=text], 1017 1017 form.standard-form#sidebar-login-form input[type=password] { … … 1029 1029 width: 90%; 1030 1030 } 1031 1031 1032 1032 form.standard-form#signup_form div.submit { 1033 float: right; 1034 } 1035 1036 div#signup-avatar img { 1037 margin: 0 15px 10px 0; 1038 } 1039 1033 float: right; 1034 } 1035 1036 div#signup-avatar img { 1037 margin: 0 15px 10px 0; 1038 } 1039 1040 1040 form.standard-form textarea { 1041 1041 width: 75%; 1042 1042 height: 120px; 1043 1043 } 1044 1044 1045 1045 form.standard-form textarea#message_content { 1046 1046 height: 200px; … … 1061 1061 clear: both; 1062 1062 } 1063 1063 1064 1064 form.standard-form div.submit input { 1065 1065 margin-right: 15px; … … 1070 1070 list-style: disc; 1071 1071 } 1072 1072 1073 1073 form.standard-form div.radio ul li { 1074 1074 margin-bottom: 5px; … … 1081 1081 } 1082 1082 1083 form.standard-form #basic-details-section, 1083 form.standard-form #basic-details-section, 1084 1084 form.standard-form #blog-details-section, 1085 1085 form.standard-form #profile-details-section { … … 1087 1087 width: 48%; 1088 1088 } 1089 1090 form.standard-form #profile-details-section { 1091 float: right; 1089 1090 form.standard-form #profile-details-section { 1091 float: right; 1092 1092 } 1093 1093 … … 1096 1096 } 1097 1097 1098 form.standard-form input:focus, 1099 form.standard-form textarea:focus, 1098 form.standard-form input:focus, 1099 form.standard-form textarea:focus, 1100 1100 form.standard-form select:focus { 1101 1101 background: #fafafa; … … 1106 1106 margin-top: 20px; 1107 1107 } 1108 1108 1109 1109 div#invite-list { 1110 1110 height: 400px; … … 1127 1127 width: 100%; 1128 1128 } 1129 1129 1130 1130 table thead tr { 1131 1131 background: #eaeaea; … … 1138 1138 1139 1139 table.profile-fields { 1140 margin-bottom: 20px; 1140 margin-bottom: 20px; 1141 1141 } 1142 1142 … … 1150 1150 vertical-align: middle; 1151 1151 } 1152 1152 1153 1153 table tr td.label { 1154 1154 border-right: 1px solid #eaeaea; … … 1156 1156 width: 25%; 1157 1157 } 1158 1159 table tr td.thread-info p { 1160 margin: 0; 1158 1159 table tr td.thread-info p { 1160 margin: 0; 1161 1161 } 1162 1162 … … 1166 1166 margin-top: 3px; 1167 1167 } 1168 1168 1169 1169 div#sidebar table td, 1170 table.forum td { 1171 text-align: center; 1170 table.forum td { 1171 text-align: center; 1172 1172 } 1173 1173 … … 1180 1180 text-align: left; 1181 1181 } 1182 1183 table.notification-settings th.icon, 1184 table.notification-settings td:first-child { 1185 display: none; 1186 } 1187 1188 table.notification-settings th.title { 1189 width: 80%; 1190 } 1191 1192 table.notification-settings .yes, 1193 table.notification-settings .no { 1194 width: 40px; 1195 text-align: center; 1182 1183 table.notification-settings th.icon, 1184 table.notification-settings td:first-child { 1185 display: none; 1186 } 1187 1188 table.notification-settings th.title { 1189 width: 80%; 1190 } 1191 1192 table.notification-settings .yes, 1193 table.notification-settings .no { 1194 width: 40px; 1195 text-align: center; 1196 1196 } 1197 1197 … … 1200 1200 width: auto; 1201 1201 } 1202 1202 1203 1203 table.forum tr.sticky td { 1204 1204 background: #fff9db; … … 1219 1219 } 1220 1220 1221 table.forum tr > td:first-child, 1221 table.forum tr > td:first-child, 1222 1222 table.forum tr > th:first-child { 1223 1223 padding-left: 15px; 1224 1224 } 1225 1225 1226 table.forum tr > td:last-child, 1226 table.forum tr > td:last-child, 1227 1227 table.forum tr > th:last-child { 1228 1228 padding-right: 15px; 1229 1229 } 1230 1230 1231 table.forum tr th#th-title, 1231 table.forum tr th#th-title, 1232 1232 table.forum tr th#th-poster, 1233 table.forum tr th#th-group, 1233 table.forum tr th#th-group, 1234 1234 table.forum td.td-poster, 1235 table.forum td.td-group, 1236 table.forum td.td-title { 1237 text-align: left; 1235 table.forum td.td-group, 1236 table.forum td.td-title { 1237 text-align: left; 1238 1238 } 1239 1239 … … 1307 1307 border-radius: 3px; 1308 1308 } 1309 1309 1310 1310 form#whats-new-form textarea { 1311 1311 width: 100%; … … 1351 1351 padding: 12px 0 0 0; 1352 1352 } 1353 1353 1354 1354 .activity-list li.mini div.activity-meta { 1355 1355 margin: 0; … … 1366 1366 margin-left: 36px; 1367 1367 } 1368 1368 1369 1369 .activity-list li.activity_comment .activity-avatar img.avatar, 1370 1370 .activity-list li.activity_comment .activity-avatar img.FB_profile_pic { … … 1394 1394 right: 0; 1395 1395 } 1396 1396 1397 1397 body.activity-permalink .activity-list li.mini .activity-meta { 1398 1398 position: absolute; … … 1414 1414 background: url( ../images/replyto_arrow.gif ) 7px 0 no-repeat; 1415 1415 } 1416 1416 1417 1417 .activity-list li .activity-inreplyto > p { 1418 1418 margin: 0; … … 1434 1434 height: 50px; 1435 1435 } 1436 1436 1437 1437 body.activity-permalink .activity-list .activity-avatar img { 1438 1438 width: 100px; … … 1443 1443 margin-left: 70px; 1444 1444 } 1445 1445 1446 1446 body.activity-permalink .activity-list li .activity-content { 1447 1447 -moz-border-radius: 4px; … … 1458 1458 margin-right: 0; 1459 1459 } 1460 1460 1461 1461 body.activity-permalink .activity-list li .activity-header > p { 1462 1462 background: url( ../images/activity_arrow.gif ) top left no-repeat; … … 1473 1473 line-height: 220%; 1474 1474 } 1475 1475 1476 1476 .activity-list .activity-content .activity-header img.avatar { 1477 1477 float: none !important; … … 1492 1492 margin-right: 3px; 1493 1493 } 1494 1494 1495 1495 .activity-list .activity-header a:first-child:hover { 1496 1496 background: #059ae7 !important; 1497 1497 color: #fff !important; 1498 1498 } 1499 1500 .activity-list .activity-content a:first-child:focus { 1501 outline: none; 1499 1500 .activity-list .activity-content a:first-child:focus { 1501 outline: none; 1502 1502 } 1503 1503 … … 1515 1515 text-decoration: underline; 1516 1516 } 1517 1517 1518 1518 .activity-list .activity-content span.activity-header-meta a:hover { 1519 1519 color: inherit; … … 1526 1526 overflow: hidden; 1527 1527 } 1528 1528 1529 1529 body.activity-permalink .activity-content .activity-inner, 1530 1530 body.activity-permalink .activity-content blockquote { … … 1533 1533 1534 1534 /* Backwards compatibility. */ 1535 .activity-inner > .activity-inner { 1536 margin: 0 !important; 1537 } 1538 1539 .activity-inner > blockquote { 1540 margin: 0 !important; 1535 .activity-inner > .activity-inner { 1536 margin: 0 !important; 1537 } 1538 1539 .activity-inner > blockquote { 1540 margin: 0 !important; 1541 1541 } 1542 1542 … … 1559 1559 border-radius: 4px; 1560 1560 } 1561 1561 1562 1562 .activity-list li.load-more a { 1563 1563 color: #555; … … 1586 1586 margin-right: 3px; 1587 1587 } 1588 1588 1589 1589 .activity-list div.activity-meta a.acomment-reply { 1590 1590 background: #fff9db; … … 1594 1594 } 1595 1595 1596 div.activity-meta a:focus { 1597 outline: none; 1598 } 1599 1596 div.activity-meta a:focus { 1597 outline: none; 1598 } 1599 1600 1600 div.activity-meta a:hover { 1601 1601 background: #aaa; … … 1603 1603 border-color: #aaa; 1604 1604 } 1605 1605 1606 1606 div.activity-meta a.acomment-reply:hover { 1607 1607 background: #f7740a; … … 1643 1643 padding: 10px 0 0; 1644 1644 } 1645 1645 1646 1646 body.activity-permalink .activity-list li.mini .activity-comments { 1647 1647 clear: none; … … 1670 1670 margin-left: 20px; 1671 1671 } 1672 1672 1673 1673 body.activity-permalink div.activity-comments ul li > ul { 1674 1674 margin-top: 15px; … … 1686 1686 margin-top: 5px; 1687 1687 } 1688 1689 div.acomment-content .time-since { 1690 display: none; 1691 } 1692 1693 div.acomment-content .activity-delete-link { 1694 display: none; 1695 } 1696 1697 div.acomment-content .comment-header { 1698 display: none; 1688 1689 div.acomment-content .time-since { 1690 display: none; 1691 } 1692 1693 div.acomment-content .activity-delete-link { 1694 display: none; 1695 } 1696 1697 div.acomment-content .comment-header { 1698 display: none; 1699 1699 } 1700 1700 … … 1718 1718 padding: 8px; 1719 1719 } 1720 1720 1721 1721 div.activity-comments li form.ac-form { 1722 1722 margin-right: 15px; … … 1737 1737 background-repeat: no-repeat; 1738 1738 } 1739 1739 1740 1740 div.activity-comments form .ac-textarea { 1741 1741 padding: 8px; … … 1747 1747 border-radius: 3px; 1748 1748 } 1749 1749 1750 1750 div.activity-comments form textarea { 1751 1751 width: 100%; … … 1757 1757 padding: 0; 1758 1758 } 1759 1759 1760 1760 div.activity-comments form input { 1761 1761 margin-top: 5px; … … 1765 1765 float: left; 1766 1766 } 1767 1767 1768 1768 div.ac-reply-avatar img { 1769 1769 border: 2px solid #fff !important; … … 1792 1792 } 1793 1793 1794 li span.unread-count, 1794 li span.unread-count, 1795 1795 tr.unread span.unread-count { 1796 1796 background: #dd0000; … … 1802 1802 border-radius: 3px; 1803 1803 } 1804 1804 1805 1805 div.item-list-tabs ul li a span.unread-count { 1806 1806 padding: 1px 6px; … … 1820 1820 padding: 15px; 1821 1821 } 1822 1822 1823 1823 div#message-thread div.alt { 1824 1824 background: #f4f4f4; … … 1839 1839 font-size: 16px; 1840 1840 } 1841 1841 1842 1842 div#message-thread strong a { 1843 1843 text-decoration: none; … … 1894 1894 font-size: 11px; 1895 1895 } 1896 1896 1897 1897 div#topic-meta div.admin-links { 1898 1898 bottom: 0; … … 1905 1905 padding: 5px 0; 1906 1906 } 1907 1907 1908 1908 div#topic-meta h3 { 1909 font-size: 20px; 1909 font-size: 20px; 1910 1910 } 1911 1911 … … 1924 1924 } 1925 1925 1926 div.post h2.pagetitle, 1926 div.post h2.pagetitle, 1927 1927 div.post h2.posttitle { 1928 1928 margin: 0; 1929 1929 line-height: 120%; 1930 1930 } 1931 1932 div.post h2.pagetitle a, 1931 1932 div.post h2.pagetitle a, 1933 1933 div.post h2.posttitle a { 1934 1934 color: #666; … … 1936 1936 } 1937 1937 1938 .navigation, 1939 .paged-navigation, 1938 .navigation, 1939 .paged-navigation, 1940 1940 .comment-navigation { 1941 1941 overflow: hidden; … … 1957 1957 } 1958 1958 1959 div.post p { 1960 margin: 0 0 20px 0; 1961 } 1962 1963 div.post ul, 1964 div.post ol, 1965 div.post dl { 1966 margin: 0 0 18px 1.5em; 1967 } 1968 1959 div.post p { 1960 margin: 0 0 20px 0; 1961 } 1962 1963 div.post ul, 1964 div.post ol, 1965 div.post dl { 1966 margin: 0 0 18px 1.5em; 1967 } 1968 1969 1969 div.post ul { 1970 list-style: square; 1971 } 1972 1973 div.post ol { 1970 list-style: square; 1971 } 1972 1973 div.post ol { 1974 1974 list-style: decimal; 1975 1975 } 1976 1977 div.post ol ol { 1978 list-style: upper-alpha; 1979 } 1980 1981 div.post dl { 1982 margin-left: 0; 1983 } 1984 1985 div.post dt { 1986 font-size: 14px; 1987 font-weight: bold; 1988 } 1989 1990 div.post dd { 1976 1977 div.post ol ol { 1978 list-style: upper-alpha; 1979 } 1980 1981 div.post dl { 1982 margin-left: 0; 1983 } 1984 1985 div.post dt { 1986 font-size: 14px; 1987 font-weight: bold; 1988 } 1989 1990 div.post dd { 1991 1991 margin: 0 0 15px 0; 1992 1992 } 1993 1993 1994 div.post pre, 1994 div.post pre, 1995 1995 div.post code p { 1996 1996 padding: 15px; … … 2002 2002 2003 2003 div.post code { 2004 font-family: "Monaco", courier, sans-serif; 2004 font-family: "Monaco", courier, sans-serif; 2005 2005 } 2006 2006 … … 2019 2019 border: 1px solid #eee; 2020 2020 } 2021 2021 2022 2022 div.post table th { 2023 border-top: 1px solid #eee; 2024 text-align: left; 2025 } 2026 2027 div.post table td { 2028 border-top: 1px solid #eee; 2029 } 2030 2031 div.post div.author-box, 2023 border-top: 1px solid #eee; 2024 text-align: left; 2025 } 2026 2027 div.post table td { 2028 border-top: 1px solid #eee; 2029 } 2030 2031 div.post div.author-box, 2032 2032 div.comment-avatar-box { 2033 2033 background: #f0f0f0; … … 2043 2043 border-radius: 3px; 2044 2044 } 2045 2046 div.author-box p, 2047 div.comment-avatar-box p { 2048 margin: 5px 0 0; 2049 } 2050 2051 div.author-box a, 2052 div.comment-avatar-box a { 2053 text-decoration: none; 2054 } 2055 2056 div.post div.author-box img, 2045 2046 div.author-box p, 2047 div.comment-avatar-box p { 2048 margin: 5px 0 0; 2049 } 2050 2051 div.author-box a, 2052 div.comment-avatar-box a { 2053 text-decoration: none; 2054 } 2055 2056 div.post div.author-box img, 2057 2057 div.comment-avatar-box img { 2058 2058 float: none; … … 2061 2061 } 2062 2062 2063 div.post div.post-content, 2063 div.post div.post-content, 2064 2064 div.comment-content { 2065 2065 margin-left: 105px; 2066 2066 } 2067 2067 2068 div.post p.date, div.post p.postmetadata, 2068 div.post p.date, div.post p.postmetadata, 2069 2069 div.comment-meta, div.comment-options { 2070 2070 color: #888; … … 2083 2083 } 2084 2084 2085 div.post .tags { 2086 float: left; 2087 } 2088 2089 div.post .comments { 2090 float: right; 2091 } 2092 2093 div.post img { 2094 margin-bottom: 15px; 2095 } 2096 2097 div.post img.wp-smiley { 2098 padding: 0 !important; 2099 margin: 0 !important; 2100 border: none !important; 2101 float: none !important; 2102 clear: none !important; 2085 div.post .tags { 2086 float: left; 2087 } 2088 2089 div.post .comments { 2090 float: right; 2091 } 2092 2093 div.post img { 2094 margin-bottom: 15px; 2095 } 2096 2097 div.post img.wp-smiley { 2098 padding: 0 !important; 2099 margin: 0 !important; 2100 border: none !important; 2101 float: none !important; 2102 clear: none !important; 2103 2103 } 2104 2104 … … 2121 2121 } 2122 2122 2123 div.post .aligncenter, 2123 div.post .aligncenter, 2124 2124 div.post div.aligncenter { 2125 2125 display: block; … … 2144 2144 } 2145 2145 2146 div.post dd.wp-caption p.wp-caption-text, 2146 div.post dd.wp-caption p.wp-caption-text, 2147 2147 div.post .wp-caption p.wp-caption-text { 2148 2148 font-size: 0.9em; … … 2163 2163 } 2164 2164 2165 #comments h3, 2166 #trackbacks h3, 2165 #comments h3, 2166 #trackbacks h3, 2167 2167 #respond h3 { 2168 2168 font-size: 20px; … … 2172 2172 } 2173 2173 2174 #comments span.title, 2174 #comments span.title, 2175 2175 #trackbacks span.title { 2176 2176 color: #aaa; … … 2198 2198 } 2199 2199 2200 ol.commentlist ul.children { 2201 margin-left: 105px; 2200 ol.commentlist ul.children { 2201 margin-left: 105px; 2202 2202 } 2203 2203 … … 2216 2216 background: #fff; 2217 2217 } 2218 2218 2219 2219 #site-generator { 2220 2220 text-align: center; … … 2243 2243 padding: 5px 15px; 2244 2244 font-size: 12px; 2245 clear: left; 2245 clear: left; 2246 2246 } 2247 2247 -
trunk/bp-themes/bp-default/_inc/global.js
r3587 r3592 825 825 jq(this).removeClass('over'); 826 826 }); 827 827 828 828 jq('body#bp-default table.zebra tbody tr:odd').addClass('alt'); 829 829 -
trunk/bp-themes/bp-default/comments.php
r3369 r3592 19 19 foreach ( (array)$comments as $comment ) 20 20 if ( 'comment' != get_comment_type() ) 21 $numTrackBacks++; 21 $numTrackBacks++; 22 22 else 23 23 $numComments++; -
trunk/bp-themes/bp-default/forums/index.php
r3460 r3592 116 116 117 117 </form> 118 118 119 119 <?php do_action( 'bp_after_directory_forums' ) ?> 120 120 -
trunk/bp-themes/bp-default/functions.php
r3589 r3592 536 536 * @deprecated 1.3 537 537 * @deprecated No longer required. 538 * @param string $template Absolute path to the page template 538 * @param string $template Absolute path to the page template 539 539 * @return string 540 540 * @since 1.2 -
trunk/bp-themes/bp-default/groups/single/admin.php
r3531 r3592 200 200 <h5> 201 201 <?php bp_group_member_link() ?> 202 202 203 203 <?php if ( bp_get_group_member_is_banned() ) _e( '(banned)', 'buddypress'); ?> 204 204 205 <span class="small"> - 206 205 <span class="small"> - 206 207 207 <?php if ( bp_get_group_member_is_banned() ) : ?> 208 208 209 209 <a href="<?php bp_group_member_unban_link() ?>" class="confirm member-unban" title="<?php _e( 'Unban this member', 'buddypress' ) ?>"><?php _e( 'Remove Ban', 'buddypress' ); ?></a> 210 210 -
trunk/bp-themes/bp-default/registration/register.php
r3306 r3592 163 163 164 164 <?php endif; ?> 165 165 166 166 <?php if ( bp_get_blog_signup_allowed() ) : ?> 167 167 -
trunk/bp-xprofile.php
r3572 r3592 634 634 $data = array(); 635 635 foreach( (array)$values as $value ) { 636 $data[] = apply_filters( 'xprofile_get_field_data', $value ); 636 $data[] = apply_filters( 'xprofile_get_field_data', $value ); 637 637 } 638 638 } else { 639 639 $data = apply_filters( 'xprofile_get_field_data', $values ); 640 640 } 641 641 642 642 return $data; 643 643 } … … 928 928 if ( !$object_id ) 929 929 return false; 930 930 931 931 if ( !isset( $object_type ) ) 932 932 return false; 933 933 934 934 if ( !in_array( $object_type, array( 'group', 'field', 'data' ) ) ) 935 935 return false; … … 962 962 if ( !$object_id ) 963 963 return false; 964 964 965 965 if ( !isset( $object_type ) ) 966 966 return false; 967 967 968 968 if ( !in_array( $object_type, array( 'group', 'field', 'data' ) ) ) 969 969 return false; … … 1003 1003 if ( !$object_id ) 1004 1004 return false; 1005 1005 1006 1006 if ( !isset( $object_type ) ) 1007 1007 return false; 1008 1008 1009 1009 if ( !in_array( $object_type, array( 'group', 'field', 'data' ) ) ) 1010 1010 return false; 1011 1011 1012 1012 $meta_key = preg_replace( '|[^a-z0-9_]|i', '', $meta_key ); 1013 1013 … … 1019 1019 if ( empty( $meta_value ) ) 1020 1020 return bp_xprofile_delete_meta( $object_id, $object_type, $meta_key ); 1021 1021 1022 1022 $cur = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $bp->profile->table_name_meta . " WHERE object_id = %d AND object_type = %s AND meta_key = %s", $object_id, $object_type, $meta_key ) ); 1023 1023 … … 1036 1036 1037 1037 function bp_xprofile_update_fieldgroup_meta( $field_group_id, $meta_key, $meta_value ) { 1038 return bp_xprofile_update_meta( $field_group_id, 'group', $meta_key, $meta_value ); 1038 return bp_xprofile_update_meta( $field_group_id, 'group', $meta_key, $meta_value ); 1039 1039 } 1040 1040 1041 1041 function bp_xprofile_update_field_meta( $field_id, $meta_key, $meta_value ) { 1042 return bp_xprofile_update_meta( $field_id, 'field', $meta_key, $meta_value ); 1042 return bp_xprofile_update_meta( $field_id, 'field', $meta_key, $meta_value ); 1043 1043 } 1044 1044 1045 1045 function bp_xprofile_update_fielddata_meta( $field_data_id, $meta_key, $meta_value ) { 1046 return bp_xprofile_update_meta( $field_data_id, 'data', $meta_key, $meta_value ); 1046 return bp_xprofile_update_meta( $field_data_id, 'data', $meta_key, $meta_value ); 1047 1047 } 1048 1048 -
trunk/bp-xprofile/admin/js/admin.dev.js
r3476 r3592 13 13 var label = document.createElement('label'); 14 14 label.setAttribute('for', forWhat + '_option' + theId); 15 15 16 16 var txt = document.createTextNode("Option " + theId + ": "); 17 17 label.appendChild(txt); 18 18 19 19 var isDefault = document.createElement('input'); 20 20 21 21 if(forWhat == 'checkbox' || forWhat == 'multiselectbox') { 22 22 isDefault.setAttribute('type', 'checkbox'); … … 24 24 } else { 25 25 isDefault.setAttribute('type', 'radio'); 26 isDefault.setAttribute('name', 'isDefault_' + forWhat + '_option'); 26 isDefault.setAttribute('name', 'isDefault_' + forWhat + '_option'); 27 27 } 28 28 29 29 isDefault.setAttribute('value', theId); 30 30 31 31 var label1 = document.createElement('label'); 32 32 var txt1 = document.createTextNode(" Default Value "); 33 33 34 34 label1.appendChild(txt1); 35 35 label1.setAttribute('for', 'isDefault_' + forWhat + '_option[]'); 36 36 toDelete = document.createElement('a'); 37 37 38 38 toDeleteText = document.createTextNode('[x]'); 39 39 toDelete.setAttribute('href',"javascript:hide('" + forWhat + '_div' + theId + "')"); 40 40 41 41 toDelete.setAttribute('class','delete'); 42 42 … … 47 47 newDiv.appendChild(document.createTextNode(" ")); 48 48 newDiv.appendChild(isDefault); 49 newDiv.appendChild(label1); 50 newDiv.appendChild(toDelete); 49 newDiv.appendChild(label1); 50 newDiv.appendChild(toDelete); 51 51 holder.appendChild(newDiv); 52 53 52 53 54 54 theId++ 55 55 document.getElementById(forWhat + "_option_number").value = theId; … … 61 61 document.getElementById("multiselectbox").style.display = "none"; 62 62 document.getElementById("checkbox").style.display = "none"; 63 63 64 64 if(forWhat == "radio") 65 65 document.getElementById("radio").style.display = ""; 66 66 67 67 if(forWhat == "selectbox") 68 document.getElementById("selectbox").style.display = ""; 69 68 document.getElementById("selectbox").style.display = ""; 69 70 70 if(forWhat == "multiselectbox") 71 document.getElementById("multiselectbox").style.display = ""; 72 71 document.getElementById("multiselectbox").style.display = ""; 72 73 73 if(forWhat == "checkbox") 74 document.getElementById("checkbox").style.display = ""; 74 document.getElementById("checkbox").style.display = ""; 75 75 } 76 76 77 77 function hide(id) { 78 78 if ( !document.getElementById(id) ) return false; 79 79 80 80 document.getElementById(id).style.display = "none"; 81 81 document.getElementById(id).value = ''; … … 84 84 // Set up deleting options ajax 85 85 jQuery(document).ready( function() { 86 87 jQuery("a.ajax-option-delete").click( 86 87 jQuery("a.ajax-option-delete").click( 88 88 function() { 89 89 var theId = this.id.split('-'); 90 90 theId = theId[1]; 91 91 92 92 jQuery.post( ajaxurl, { 93 93 action: 'xprofile_delete_option', 94 94 'cookie': encodeURIComponent(document.cookie), 95 95 '_wpnonce': jQuery("input#_wpnonce").val(), 96 96 97 97 'option_id': theId 98 98 }, … … 100 100 {}); 101 101 } 102 ); 102 ); 103 103 }); 104 104 … … 161 161 162 162 /* tabs init with a custom tab template and an "add" callback filling in the content */ 163 var $tab_items; 163 var $tab_items; 164 164 var $tabs = jQuery( "#tabs" ).tabs(); 165 165 set_tab_items( $tabs ); -
trunk/bp-xprofile/bp-xprofile-classes.php
r3544 r3592 761 761 global $wpdb, $bp; 762 762 763 763 764 764 $retval = $wpdb->get_row( $wpdb->prepare( "SELECT id FROM {$bp->profile->table_name_data} WHERE user_id = %d AND field_id = %d", $this->user_id, $this->field_id ) ); 765 765
Note: See TracChangeset
for help on using the changeset viewer.