| @@ -686,11 +686,16 @@ | ||
| 686 | 686 | |
| 687 | 687 | if ( !$update ) |
| 688 | 688 | return array( &$errors, $update, &$user ); |
| 689 | 689 | |
| 690 | - //Don't allow update of user groups from network | |
| 691 | - if ( ( !is_null( get_current_screen() ) ) && ( get_current_screen()->is_network ) ) | |
| 692 | - return; | |
| 690 | + // `get_current_screen()` is defined on most admin pages, but not all. | |
| 691 | + if( function_exists( 'get_current_screen' ) ){ | |
| 692 | + //Don't allow update of user groups from network | |
| 693 | + $screen = get_current_screen(); | |
| 694 | + if ( ! is_null( $screen ) && $screen->is_network ) { | |
| 695 | + return; | |
| 696 | + } | |
| 697 | + } | |
| 693 | 698 | |
| 694 | 699 | if ( current_user_can( $this->manage_usergroups_cap ) && wp_verify_nonce( $_POST['ef_edit_profile_usergroups_nonce'], 'ef_edit_profile_usergroups_nonce' ) ) { |
| 695 | 700 | // Sanitize the data and save |
| 696 | 701 | // Gracefully handle the case where the user was unsubscribed from all usergroups |
| @@ -760,9 +765,9 @@ | ||
| 760 | 765 | <?php |
| 761 | 766 | } else { |
| 762 | 767 | |
| 763 | 768 | ?> |
| 764 | - <ul id="<?php echo $list_id ?>" class="<?php echo $list_class ?>"> | |
| 769 | + <ul id="<?php echo esc_attr( $list_id ) ?>" class="<?php echo esc_attr( $list_class ) ?>"> | |
| 765 | 770 | <?php |
| 766 | 771 | foreach( $usergroups as $usergroup ) { |
| 767 | 772 | $checked = ( in_array( $usergroup->term_id, $selected ) ) ? ' checked="checked"' : ''; |
| 768 | 773 | ?> |
| @@ -767,9 +772,11 @@ | ||
| 767 | 772 | $checked = ( in_array( $usergroup->term_id, $selected ) ) ? ' checked="checked"' : ''; |
| 768 | 773 | ?> |
| 769 | 774 | <li> |
| 770 | 775 | <label for="<?php echo $input_id . esc_attr( $usergroup->term_id ); ?>" title="<?php echo esc_attr($usergroup->description) ?>"> |
| 771 | - <input type="checkbox" id="<?php echo $input_id . esc_attr( $usergroup->term_id ) ?>" name="<?php echo $input_id ?>[]" value="<?php echo esc_attr( $usergroup->term_id ) ?>"<?php echo $checked ?> /> | |
| 776 | + <div class="ef-user-subscribe-actions"> | |
| 777 | + <input type="checkbox" id="<?php echo esc_attr( $input_id . $usergroup->term_id ) ?>" name="<?php echo esc_attr( $input_id )?>[]" value="<?php echo esc_attr( $usergroup->term_id ) ?>"<?php echo $checked ?> /> | |
| 778 | + </div> | |
| 772 | 779 | <span class="ef-usergroup_name"><?php echo esc_html( $usergroup->name ); ?></span> |
| 773 | 780 | <span class="ef-usergroup_description" title="<?php echo esc_attr($usergroup->description) ?>"> |
| 774 | 781 | <?php echo (strlen($usergroup->description) >= 50) ? substr_replace(esc_html($usergroup->description), '...', 50) : esc_html($usergroup->description); ?> |
| 775 | 782 | </span> |
| @@ -843,8 +850,11 @@ | ||
| 843 | 850 | foreach( $unencoded_description as $key => $value ) { |
| 844 | 851 | $usergroup->$key = $value; |
| 845 | 852 | } |
| 846 | 853 | } |
| 854 | + | |
| 855 | + $usergroup = apply_filters( 'ef_usergroup_object', $usergroup ); | |
| 856 | + | |
| 847 | 857 | return $usergroup; |
| 848 | 858 | } |
| 849 | 859 | |
| 850 | 860 | /** |