Skip to:
Content

Ticket #4126: 4126.patch

File 4126.patch, 31.3 KB (added by abwebstudio, 2 years ago)

Updated patch file with changing in code

  • plugins/buddypress/bp-fields/admin/css/buddy-profile-admin-styles.css

    diff -Naur wp-content-old/plugins/buddypress/bp-fields/admin/css/buddy-profile-admin-styles.css wp-content/plugins/buddypress/bp-fields/admin/css/buddy-profile-admin-styles.css
    old new  
     1#pp-profile-data-fields li {
     2        padding: 10px;
     3        width: 50%;
     4        font-weight: bold;
     5        background: #f0f0f0; /* for non-css3 browsers */
     6        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#e7e7e7'); /* for IE */
     7        background: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#e7e7e7)); /* for webkit browsers */
     8        background: -moz-linear-gradient(top,  #f7f7f7,  #e7e7e7); /* for firefox 3.6+ */
     9        cursor: move;
     10        border: 1px solid #ddd;
     11        border-raidus: 10px;
     12        -moz-border-radius: 10px;
     13        -webkit-border-radius: 10px;
     14        }
     15 No newline at end of file
  • plugins/buddypress/bp-fields/admin/js/buddy-profile-admin-scripts.js

    diff -Naur wp-content-old/plugins/buddypress/bp-fields/admin/js/buddy-profile-admin-scripts.js wp-content/plugins/buddypress/bp-fields/admin/js/buddy-profile-admin-scripts.js
    old new  
     1jQuery(document).ready(function($) {
     2                $("#pp-profile-data-fields ul").sortable({
     3                        cursor: 'move'
     4                });
     5
     6                $('#pp-profile-data-fields ul').disableSelection();
     7                $('#pp-profile-data-fields li').disableSelection();
     8});
     9 No newline at end of file
  • plugins/buddypress/bp-fields/bp-show-profile-data.php

    diff -Naur wp-content-old/plugins/buddypress/bp-fields/bp-show-profile-data.php wp-content/plugins/buddypress/bp-fields/bp-show-profile-data.php
    old new  
     1<?php
     2function bp_show_profile_data_init() {
     3        if ( is_admin() ) {
     4                if ( isset( $_GET['page'] ) && !is_super_admin()) {
     5                        if ( $_GET['page'] == 'bp-show-profile-data') {
     6                                add_action( 'admin_enqueue_scripts', 'bp_show_profile_data_admin_scripts' );
     7                                add_action( 'admin_enqueue_scripts', 'bp_show_profile_data_admin_styles' );
     8                        }
     9                }
     10                $bp_profile_data_instance = new BP_Show_Profile_Data_Admin();
     11        }
     12        else {
     13                if ( bp_is_members_component() || bp_is_group_members() )
     14                        add_action( 'wp_enqueue_scripts', 'bp_show_profile_data_styles' );
     15        }
     16}
     17add_action( 'bp_init', 'bp_show_profile_data_init' );
     18
     19function bp_show_profile_data_admin_scripts() {
     20        wp_enqueue_script( 'jquery-ui-sortable' );
     21        wp_enqueue_script( 'buddyprofiledata-admin-script',  plugins_url( 'admin/js/buddy-profile-admin-scripts.js' , __FILE__ ), array('jquery-ui-sortable') );
     22}
     23
     24function bp_show_profile_data_admin_styles() {
     25        wp_enqueue_style( 'buddyprofiledata-admin-styles',  plugins_url( 'admin/css/buddy-profile-admin-styles.css' , __FILE__ ), array() );
     26}
     27
     28function bp_show_profile_data_styles() {
     29        if(file_exists( get_stylesheet_directory() . '/buddy-profile-data.css')) :
     30                wp_enqueue_style( 'buddyprofiledata-styles',  get_stylesheet_directory_uri() . '/buddy-profile-data.css', array() );
     31        else:
     32                wp_enqueue_style( 'buddyprofiledata-styles',  plugins_url('/css/buddy-profile-data.css',__FILE__)  , array() );
     33        endif;
     34}
     35
     36class BP_Show_Profile_Data_Admin {
     37
     38        private $pages_message = '';
     39        private $fields_message = '';
     40        private $allowed_fields = array();
     41        private $allowed_pages = array('members', 'groups' );
     42
     43    public function __construct() {
     44                $this->gather_profile_fields();
     45                $this->pages_update();
     46                $this->fields_update();
     47                add_action('xprofile_field_after_sidebarbox',array($this,'select_profile_field_metabox'));
     48                add_action('xprofile_fields_saved_field',array($this,'profile_field_save'));
     49        }
     50
     51        public function profile_field_save($field) {
     52
     53                if(isset($_POST['card-visibility'])) {
     54
     55                        $profile_fields = get_option( 'pp_profile_data_fields');
     56
     57                        if(!is_array($profile_fields)) {
     58                                $profile_fields = Array();
     59                        }
     60
     61                        if($_POST['card-visibility'] == 'on') {
     62                                $profile_fields[] = $field->id;
     63
     64                                $profile_fields = array_unique($profile_fields);
     65                        } else {
     66
     67                                $exists_key = array_search($field->id, $profile_fields);
     68
     69                                if($exists_key !== false) unset($profile_fields[$exists_key]);
     70                        }
     71
     72                        update_option('pp_profile_data_fields',$profile_fields);
     73                }
     74        }
     75
     76        public function select_profile_field_metabox($field) {
     77
     78                $enabled = false;
     79                if($field->id) {
     80
     81                        $profile_fields = get_option('pp_profile_data_fields');
     82
     83                        $field_key = array_search($field->id,$profile_fields);
     84
     85                        if($field_key !== false) $enabled = true;
     86                }
     87
     88                 ?>
     89
     90                <div class="postbox">
     91                        <h2><label for="card-visibility"><?php esc_html_e( 'Show on card', 'buddypress' ); ?></label></h2>
     92                        <div class="inside">
     93                                <div>
     94                                        <select name="card-visibility" id="card-visibility">
     95                                                <option <?php selected($enabled); ?> value="on"><?php esc_html_e( 'Enabled', 'buddypress' ); ?></option>
     96                                                <option <?php selected(!$enabled); ?> value=""><?php esc_html_e( 'Disabled', 'buddypress' ); ?></option>
     97                                        </select>
     98                                </div>
     99                        </div>
     100                </div>
     101                <?php
     102        }
     103
     104
     105        function bp_profile_data_network_admin_menu() {
     106                add_submenu_page('settings.php', 'BuddyProfileData', 'BuddyProfileData', 'manage_options', 'bp-show-profile-data', array( $this, 'bp_profile_data_admin_screen' ) );
     107        }
     108
     109
     110        function bp_profile_data_admin_menu() {
     111                add_options_page(  __( 'BuddyProfileData', 'bp-show-profile-data'), __( 'BuddyProfileData', 'bp-show-profile-data' ), 'manage_options', 'bp-show-profile-data', array( $this, 'bp_profile_data_admin_screen' ) );
     112        }
     113
     114        function bp_profile_data_admin_screen() {
     115                ?>
     116                <div class="wrap">
     117
     118                <div id="icon-tools" class="icon32"><br /></div>
     119
     120                <h2><?php _e( 'BuddyProfileData', 'bp-show-profile-data' )?></h2>
     121                <br />
     122
     123                <?php if ( bp_is_active( 'xprofile' ) ) {  ?>
     124
     125                        <?php _e( 'Profile data is shown in various places in BuddyPress.', 'bp-show-profile-data' )?>
     126                        <br />
     127                        <?php _e( 'This page controls the additional display of the selected profile fields on the selected pages.', 'bp-show-profile-data' )?>
     128
     129                        <?php
     130                        $this->bp_profile_data_forms();
     131
     132                }
     133                else
     134                        echo '<br>Enable the BuddyPress Extended Profile component.';
     135                ?>
     136                </div>
     137                <?php
     138        }
     139
     140
     141        private function bp_profile_data_forms() {
     142                ?>
     143                <table border="0" cellspacing="10" cellpadding="10">
     144                <tr>
     145                <td style="vertical-align:top; border: 1px solid #ccc;" >
     146
     147                <h3><?php _e('Which pages should show profile data?', 'bp-show-profile-data'); ?></h3>
     148
     149                <?php echo $this->pages_message; ?>
     150
     151                <form action="" name="profile-data-pages-form" id="profile-data-pages-form"  method="post" class="standard-form">
     152
     153                <?php wp_nonce_field('profile-data-pages-action', 'profile-data-pages-field'); ?>
     154
     155                <ul id="pp-profile-data-pages-list">
     156
     157                <?php
     158                $current_pages = explode(",", get_option( 'pp_profile_data_pages' ));
     159
     160                foreach ($this->allowed_pages as $allowed_page => $value) {
     161
     162                        if( in_array( $value, $current_pages ) ) $checked = ' checked="checked"';
     163                        else $checked = '';
     164
     165                        if( 'groups' == $value ) $shown_value = 'Group Members';
     166                        else $shown_value = ucfirst($value);
     167                        ?>
     168
     169                        <li><label for="bp-allowed-pages-<?php echo $value; ?>"><input id="pp-allowed-pages-<?php echo $value; ?>" type="checkbox" name="pages[]" value="<?php echo $value; ?>" <?php echo  $checked; ?> /> <?php echo $shown_value; ?></label></li>
     170
     171                <?php } ?>
     172                </ul>
     173
     174                <input type="hidden" name="profile-data-pages-access" value="1"/>
     175                <input type="submit" name="submit" class="button button-primary" value="<?php _e('Save Changes', 'bp-show-profile-data'); ?>"/>
     176                </form>
     177
     178                </td>
     179
     180                <td style="vertical-align:top; border: 1px solid #ccc;" >
     181
     182                <h3><?php _e('Which profile fields should be shown?', 'bp-show-profile-data'); ?></h3>
     183
     184                <?php echo $this->fields_message; ?>
     185
     186                <?php _e('Drag checked boxes to set display order.', 'bp-show-profile-data'); ?>
     187                <br />
     188                <?php _e('Visibility settings will be honored.', 'bp-show-profile-data'); ?>
     189
     190                <form action="" name="profile-data-fields-form" id="profile-data-fields-form"  method="post" class="standard-form">
     191
     192                <?php wp_nonce_field('profile-data-fields-action', 'profile-data-fields-field'); ?>
     193
     194                        <div id="pp-profile-data-fields">
     195                                <ul id="pp-profile-data-fields-list" class="ui-sortable">
     196
     197                                <?php
     198                                $current_fields = get_option( 'pp_profile_data_fields' );
     199
     200                                if( $current_fields != false ) {
     201
     202                                        foreach ($current_fields as $key => $value) {
     203                                                if( !empty( $value ) ) {
     204                                                        $field_name = $this->allowed_fields[$value];
     205                                                        unset( $this->allowed_fields[$value] );
     206
     207                                        ?>
     208                                                        <li><label for="pp-allowed-fields-<?php echo $field_name; ?>"><input id="pp-allowed-fields-<?php echo $field_name; ?>" type="checkbox" name="fields[]" value="<?php echo $value; ?>"  checked="checked"'/> &nbsp;<?php echo stripslashes(ucfirst($field_name)); ?></label></li>
     209
     210                                         <?php
     211                                                }
     212                                        }
     213                                } ?>
     214
     215                                <?php foreach ($this->allowed_fields as $key => $value) :  ?>
     216
     217                                        <li><label for="pp-allowed-fields-<?php echo $value; ?>"><input id="pp-allowed-fields-<?php echo $value; ?>" type="checkbox" name="fields[]" value="<?php echo $key; ?>" /> &nbsp;<?php echo stripslashes( ucfirst($value) ); ?></label></li>
     218
     219                                <?php endforeach; ?>
     220                                </ul>
     221                        </div>
     222
     223                <input type="hidden" name="profile-data-fields-access" value="1"/>
     224                <input type="submit" name="submit" class="button button-primary" value="<?php _e('Save Changes', 'bp-show-profile-data'); ?>"/>
     225                </form>
     226                </td>
     227                </tr></table>
     228
     229                <?php
     230        }
     231
     232        private function pages_update() {
     233
     234                if( isset( $_POST['profile-data-pages-access'] ) ) {
     235
     236                        if( !wp_verify_nonce($_POST['profile-data-pages-field'],'profile-data-pages-action') )
     237                                die('Security check');
     238
     239                        $updated = 0;
     240
     241                        if( isset( $_POST['pages'] ) ) {
     242
     243                                foreach( $_POST['pages'] as $key => $value ){
     244                                        if( in_array( $value, $this->allowed_pages ) ) {
     245                                                $new_pages[] = $value;
     246                                        }
     247                                }
     248
     249                                $new_pages = implode(",", $new_pages);
     250                                $updated = update_option( 'pp_profile_data_pages', $new_pages );
     251
     252                        } else {
     253                                delete_option( 'pp_profile_data_pages' );
     254                                $updated = 1;
     255                        }
     256
     257                        if( $updated )
     258                                $this->pages_message .=
     259                                        "<div class='updated below-h2'>" . __('Pages have been updated.', 'bp-show-profile-data') . "</div>";
     260                        else
     261                                $this->pages_message .=
     262                                        "<div class='updated below-h2' style='color: red'>" . __('No changes were detected re Pages.', 'bp-show-profile-data') . "</div>";
     263
     264                }
     265        }
     266
     267        private function fields_update() {
     268
     269                if ( isset( $_POST['profile-data-fields-access'] ) ) {
     270
     271                        if ( !wp_verify_nonce($_POST['profile-data-fields-field'],'profile-data-fields-action') )
     272                                die('Security check');
     273
     274                        if ( !is_super_admin() )
     275                                return;
     276
     277                        $updated = 0;
     278
     279                        if ( isset( $_POST['fields'] ) ) {
     280
     281                                $new_fields = array();
     282
     283                                foreach( $_POST['fields'] as $key => $value ){
     284                                        if( array_key_exists($value, $this->allowed_fields ) ) {
     285                                                $new_fields[] = $value;
     286                                        }
     287                                }
     288
     289                                if( !empty( $new_fields ) )
     290                                        $updated = update_option( 'pp_profile_data_fields', $new_fields );
     291
     292                        } else {
     293                                delete_option( 'pp_profile_data_fields' );
     294                                $updated = 1;
     295                        }
     296
     297                        if ( $updated )
     298                                $this->fields_message .=
     299                                        "<div class='updated below-h2'>" . __('Fields have been updated.', 'bp-show-profile-data') . "</div>";
     300                        else
     301                                $this->fields_message .=
     302                                        "<div class='updated below-h2' style='color: red'>" . __('No changes were detected re Fields.', 'bp-show-profile-data') . "</div>";
     303                }
     304        }
     305
     306        private function gather_profile_fields() {
     307
     308                $groups = BP_XProfile_Group::get( array( 'fetch_fields' => true ) );    // from bp-xprofile/bp-xprofile-admin.php
     309
     310                if ( !empty( $groups ) ) {
     311                         foreach ( $groups as $group ) {
     312                                if ( !empty( $group->fields ) ) {
     313                                        foreach ( $group->fields as $field ) {
     314                                                $this->allowed_fields[$field->id] = $field->name;
     315                                        }
     316                                }
     317                        }
     318                }
     319        }
     320}
     321
     322function bp_show_profile_data_display() {
     323        global $wpdb, $bp;
     324
     325        if ( bp_is_current_component( $bp->groups->slug ) ) {
     326                $user_id = bp_get_group_member_id();
     327                echo '<div id="pp-profile-data-groups">';
     328        } else  if ( bp_is_current_component( $bp->members->slug ) ) {
     329                $user_id = bp_get_member_user_id();
     330                echo '<div id="pp-profile-data-members">';
     331        } else
     332                return;
     333
     334
     335        $current_fields = get_option( 'pp_profile_data_fields' );
     336
     337
     338        $hidden_fields = bp_xprofile_get_hidden_fields_for_user( $user_id, $current_user_id = bp_loggedin_user_id() );
     339
     340        if( $current_fields != false ) {
     341                foreach( $current_fields as $key => $value ) {
     342
     343                        if ( !in_array( $value, $hidden_fields ) ) {
     344
     345                                $field_data = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->profile->table_name_fields} WHERE id = %d", $value ) );
     346
     347                                $field_value = xprofile_get_field_data( $value, $user_id, $multi_format = 'comma' );
     348
     349                                $field_value = xprofile_filter_format_field_value( $field_value, $field_type = $field_data->type );
     350
     351                                if( '' != $field_value )
     352                                        echo '<div id=pp-profile-data-name>' . stripslashes($field_data->name) . ':</div><div id=pp-profile-data-value>' . $field_value . '</div><div style="clear:both"></div>';
     353                        }
     354                }
     355        }
     356        echo '</div>';
     357}
     358add_action( 'bp_group_members_list_item', 'bp_show_profile_data_display' );
     359add_action( 'bp_directory_members_item', 'bp_show_profile_data_display' );
     360?>
  • plugins/buddypress/bp-fields/css/buddy-profile-data.css

    diff -Naur wp-content-old/plugins/buddypress/bp-fields/css/buddy-profile-data.css wp-content/plugins/buddypress/bp-fields/css/buddy-profile-data.css
    old new  
     1/*
     2* This file provides default styling for profile field display in BP member lists
     3*
     4* Styling is based on twentytwelve theme & is kept as minimal you will need to
     5* customize to suit your chosen theme.
     6*
     7* You can overload this file by moving it as a copy to your theme directory or
     8* simply add your styles to your themes stylesheets
     9*
     10* @package BuddyProfileData
     11* @version buddyprofiledata 1.0
     12*/
     13
     14
     15div#pp-profile-data-members {
     16        margin-left: 250px;
     17        margin-top: -50px;
     18        position: absolute;
     19        width: 200px;
     20        font-size: 80%;
     21}
     22
     23div#pp-profile-data-groups {
     24        margin-left: 250px;
     25        margin-top: -125px;
     26        position: absolute;
     27        width: 200px;
     28        font-size: 80%;
     29}
     30
     31
     32div#pp-profile-data-name {
     33        width: 50%;
     34        float: left;
     35        overflow: hidden;
     36        font-size: 80%;
     37        font-weight: bold;
     38}
     39
     40div#pp-profile-data-value {
     41        width: 50%;
     42        float: left;
     43        overflow: hidden;
     44        font-size: 80%;
     45}
     46 No newline at end of file
  • plugins/buddypress/bp-fields/.DS_Store

    diff -Naur wp-content-old/plugins/buddypress/bp-fields/.DS_Store wp-content/plugins/buddypress/bp-fields/.DS_Store
    old new  
     1Bud1        nIlocblobadminIlocblobF(ÿÿÿÿÿÿbp-show-profile-data.phpIlocblobÌ(ÿÿÿÿÿÿcssIlocblobR(ÿÿÿÿÿÿ   languagesIlocblobØ(ÿÿÿÿÿÿ
     2loader.phpIlocblobF˜ÿÿÿÿÿÿ
  • plugins/buddypress/bp-fields/languages/bp-profile-data.pot

     @€ @€ @€ @
    E	DSDB `€ @€ @€ @
    \ No newline at end of file
    diff -Naur wp-content-old/plugins/buddypress/bp-fields/languages/bp-profile-data.pot wp-content/plugins/buddypress/bp-fields/languages/bp-profile-data.pot
    old new  
     1msgid ""
     2msgstr ""
     3"Project-Id-Version: bp-profile-data\n"
     4"POT-Creation-Date: 2013-04-23 12:04-0800\n"
     5"PO-Revision-Date: 2013-04-23 12:04-0800\n"
     6"Last-Translator: \n"
     7"Language-Team: philopress\n"
     8"Language: English\n"
     9"MIME-Version: 1.0\n"
     10"Content-Type: text/plain; charset=UTF-8\n"
     11"Content-Transfer-Encoding: 8bit\n"
     12"X-Generator: Poedit 1.5.5\n"
     13"X-Poedit-KeywordsList: _;_e;__\n"
     14"X-Poedit-Basepath: .\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
     16"X-Poedit-SearchPath-0: .\n"
     17"X-Poedit-SearchPath-1: ..\n"
     18
     19#: ../bp-show-profile-data.php:75 ../bp-show-profile-data.php:85
     20msgid "BuddyProfileData"
     21msgstr ""
     22
     23#: ../bp-show-profile-data.php:87
     24msgid "Profile data is shown in various places in BuddyPress."
     25msgstr ""
     26
     27#: ../bp-show-profile-data.php:89
     28msgid ""
     29"This page controls the additional display of the selected profile fields on "
     30"the selected pages."
     31msgstr ""
     32
     33#: ../bp-show-profile-data.php:108
     34msgid "Which pages should show profile data?"
     35msgstr ""
     36
     37#: ../bp-show-profile-data.php:136 ../bp-show-profile-data.php:179
     38msgid "Save Changes"
     39msgstr ""
     40
     41#: ../bp-show-profile-data.php:143
     42msgid "Which profile fields should be shown?"
     43msgstr ""
     44
     45#: ../bp-show-profile-data.php:147
     46msgid "Drag checked boxes to set display order."
     47msgstr ""
     48
     49#: ../bp-show-profile-data.php:149
     50msgid "Visibility settings will be honored."
     51msgstr ""
     52
     53#: ../bp-show-profile-data.php:218
     54msgid "Pages have been updated."
     55msgstr ""
     56
     57#: ../bp-show-profile-data.php:221
     58msgid "No changes were detected re Pages."
     59msgstr ""
     60
     61#: ../bp-show-profile-data.php:257
     62msgid "Fields have been updated."
     63msgstr ""
     64
     65#: ../bp-show-profile-data.php:260
     66msgid "No changes were detected re Fields."
     67msgstr ""
  • plugins/buddypress/bp-fields/loader.php

    diff -Naur wp-content-old/plugins/buddypress/bp-fields/loader.php wp-content/plugins/buddypress/bp-fields/loader.php
    old new  
     1<?php
     2
     3if ( !defined( 'ABSPATH' ) ) exit;
     4
     5function bp_show_profile_data_include() {
     6    require( dirname( __FILE__ ) . '/bp-show-profile-data.php' );
     7        load_plugin_textdomain( 'bp-show-profile-data', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
     8}
     9add_action( 'bp_include', 'bp_show_profile_data_include' );
     10
     11
     12?>
     13 No newline at end of file
  • plugins/buddypress/bp-loader.php

    diff -Naur wp-content-old/plugins/buddypress/bp-loader.php wp-content/plugins/buddypress/bp-loader.php
    old new  
    494494                require( $this->plugin_dir . 'bp-core/bp-core-loader.php'           );
    495495                require( $this->plugin_dir . 'bp-core/bp-core-customizer-email.php' );
    496496
     497
     498                require( $this->plugin_dir . 'bp-fields/loader.php' );
     499
    497500                // Skip or load deprecated content
    498501                if ( false !== $this->load_deprecated ) {
    499502                        require( $this->plugin_dir . 'bp-core/deprecated/1.2.php' );
  • plugins/buddypress/.DS_Store

    diff -Naur wp-content-old/plugins/buddypress/.DS_Store wp-content/plugins/buddypress/.DS_Store
    old new  
     1Bud1        ieldsIl   bp-fieldsIlocblobF(ÿÿ  bp-fieldsbwspblobùbplist00Ù     
     2
    03
     4
    15