Skip to:
Content

BuddyPress.org

Ticket #4677: 4677.5.patch

File 4677.5.patch, 13.4 KB (added by boonebgorges, 9 years ago)
  • src/bp-activity/bp-activity-template.php

    diff --git src/bp-activity/bp-activity-template.php src/bp-activity/bp-activity-template.php
    index 7fb5482..fe8a0eb 100644
    function bp_activity_secondary_avatar( $args = '' ) { 
    16061606                // Set item_id and object (default to user)
    16071607                switch ( $activities_template->activity->component ) {
    16081608                        case 'groups' :
     1609                                if ( bp_disable_group_avatar_uploads() ) {
     1610                                        return false;
     1611                                }
     1612
    16091613                                $object  = 'group';
    16101614                                $item_id = $activities_template->activity->item_id;
    16111615                                $link    = '';
  • src/bp-core/admin/bp-core-admin-settings.php

    diff --git src/bp-core/admin/bp-core-admin-settings.php src/bp-core/admin/bp-core-admin-settings.php
    index 4c0a1e5..9573be1 100644
    function bp_admin_setting_callback_group_creation() { 
    182182<?php
    183183}
    184184
     185/**
     186 * 'Enable group avatars' field markup.
     187 *
     188 * @since BuddyPress (2.3.0)
     189 */
     190function bp_admin_setting_callback_group_avatar_uploads() {
     191?>
     192        <input id="bp-disable-group-avatar-uploads" name="bp-disable-group-avatar-uploads" type="checkbox" value="1" <?php checked( ! bp_disable_group_avatar_uploads() ); ?> />
     193        <label for="bp-disable-group-avatar-uploads"><?php _e( 'Allow customizable avatars for groups', 'buddypress' ); ?></label>
     194<?php
     195}
     196
    185197/** Forums Section ************************************************************/
    186198
    187199/**
    function bp_core_admin_settings_save() { 
    280292                        }
    281293                }
    282294
    283                 // Some legacy options are not registered with the Settings API
     295                // Some legacy options are not registered with the Settings API, or are reversed in the UI.
    284296                $legacy_options = array(
    285297                        'bp-disable-account-deletion',
    286298                        'bp-disable-avatar-uploads',
     299                        'bp-disable-group-avatar-uploads',
    287300                        'bp_disable_blogforum_comments',
    288301                        'bp-disable-profile-sync',
    289302                        'bp_restrict_group_creation',
  • src/bp-core/bp-core-admin.php

    diff --git src/bp-core/bp-core-admin.php src/bp-core/bp-core-admin.php
    index 643db6c..fb1a2cd 100644
    class BP_Admin { 
    337337                        // Add the main section
    338338                        add_settings_section( 'bp_xprofile', _x( 'Profile Settings', 'BuddyPress setting tab', 'buddypress' ), 'bp_admin_setting_callback_xprofile_section', 'buddypress' );
    339339
    340                         $avatar_setting = 'bp_xprofile';
     340                        add_settings_field( 'bp-disable-avatar-uploads', __( 'Profile Photo Uploads', 'buddypress' ), 'bp_admin_setting_callback_avatar_uploads', 'buddypress', 'bp_xprofile' );
     341                        register_setting( 'buddypress', 'bp-disable-avatar-uploads', 'intval' );
    341342
    342343                        // Profile sync setting
    343344                        add_settings_field( 'bp-disable-profile-sync',   __( 'Profile Syncing',  'buddypress' ), 'bp_admin_setting_callback_profile_sync',     'buddypress', 'bp_xprofile' );
    class BP_Admin { 
    351352                        // Add the main section
    352353                        add_settings_section( 'bp_groups',        __( 'Groups Settings',  'buddypress' ), 'bp_admin_setting_callback_groups_section',   'buddypress'              );
    353354
    354                         if ( empty( $avatar_setting ) ) {
    355                                 $avatar_setting = 'bp_groups';
    356                         }
    357 
    358355                        // Allow subscriptions setting
    359356                        add_settings_field( 'bp_restrict_group_creation', __( 'Group Creation',   'buddypress' ), 'bp_admin_setting_callback_group_creation',   'buddypress', 'bp_groups' );
    360357                        register_setting  ( 'buddypress',         'bp_restrict_group_creation',   'intval'                                                                                );
     358
     359                        // Allow group avatars.
     360                        add_settings_field( 'bp-disable-group-avatar-uploads', __( 'Group Photo Uploads', 'buddypress' ), 'bp_admin_setting_callback_group_avatar_uploads', 'buddypress', 'bp_groups' );
     361                        register_setting( 'buddypress', 'bp-disable-group-avatar-uploads', 'intval' );
    361362                }
    362363
    363364                /** Forums ************************************************************/
    class BP_Admin { 
    393394                                register_setting  ( 'buddypress',         '_bp_enable_akismet',   'intval'                                                                                  );
    394395                        }
    395396                }
    396 
    397                 /** Avatar upload for users or groups ************************************/
    398 
    399                 if ( ! empty( $avatar_setting ) ) {
    400                     // Allow avatar uploads
    401                     add_settings_field( 'bp-disable-avatar-uploads', __( 'Profile Photo Uploads',   'buddypress' ), 'bp_admin_setting_callback_avatar_uploads',   'buddypress', $avatar_setting );
    402                     register_setting  ( 'buddypress',         'bp-disable-avatar-uploads',   'intval'                                                                                    );
    403                 }
    404397        }
    405398
    406399        /**
  • src/bp-core/bp-core-avatars.php

    diff --git src/bp-core/bp-core-avatars.php src/bp-core/bp-core-avatars.php
    index 8457c03..3d829cd 100644
    function bp_avatar_is_front_edit() { 
    18001800        if ( bp_is_active( 'groups' ) ) {
    18011801                // Group creation
    18021802                if ( bp_is_group_create() && bp_is_group_creation_step( 'group-avatar' ) && 'crop-image' !== bp_get_avatar_admin_step() ) {
    1803                         $retval = ! bp_core_get_root_option( 'bp-disable-avatar-uploads' );
     1803                        $retval = ! bp_disable_group_avatar_uploads();
    18041804
    18051805                // Group Manage
    18061806                } elseif ( bp_is_group_admin_page() && bp_is_group_admin_screen( 'group-avatar' ) && 'crop-image' !== bp_get_avatar_admin_step() ) {
    1807                         $retval = ! bp_core_get_root_option( 'bp-disable-avatar-uploads' );
     1807                        $retval = ! bp_disable_group_avatar_uploads();
    18081808                }
    18091809        }
    18101810
  • src/bp-core/bp-core-options.php

    diff --git src/bp-core/bp-core-options.php src/bp-core/bp-core-options.php
    index 646ff07..1ca2ee6 100644
    function bp_get_default_options() { 
    5555                // Avatar uploads
    5656                'bp-disable-avatar-uploads'       => false,
    5757
     58                // Group Profile Photos
     59                'bp-disable-group-avatar-uploads' => false,
     60
    5861                // Allow users to delete their own accounts
    5962                'bp-disable-account-deletion'     => false,
    6063
    function bp_disable_avatar_uploads( $default = true ) { 
    581584}
    582585
    583586/**
     587 * Are group avatars disabled?
     588 *
     589 * For backward compatibility, this option falls back on the value of 'bp-disable-avatar-uploads' when no value is
     590 * found in the database.
     591 *
     592 * @since BuddyPress (2.3.0)
     593 *
     594 * @param bool $default Optional. Fallback value if not found in the database.
     595 *                      Defaults to the value of `bp_disable_avatar_uploads()`.
     596 * @return bool True if group avatar uploads are disabled, otherwise false.
     597 */
     598function bp_disable_group_avatar_uploads( $default = null ) {
     599        $disabled = bp_get_option( 'bp-disable-group-avatar-uploads', '' );
     600
     601        if ( '' === $disabled ) {
     602                if ( is_null( $default ) ) {
     603                        $disabled = bp_disable_avatar_uploads();
     604                } else {
     605                        $disabled = $default;
     606                }
     607        }
     608
     609        /**
     610         * Filters whether or not members are able to upload group avatars.
     611         *
     612         * @since BuddyPress (2.3.0)
     613         *
     614         * @param bool $disabled Whether or not members are able to upload their groups avatars.
     615         * @param bool $default  Default value passed to the function.
     616         */
     617        return (bool) apply_filters( 'bp_disable_group_avatar_uploads', $disabled, $default );
     618}
     619
     620/**
    584621 * Are members able to delete their own accounts?
    585622 *
    586623 * @since BuddyPress (1.6.0)
  • src/bp-groups/bp-groups-loader.php

    diff --git src/bp-groups/bp-groups-loader.php src/bp-groups/bp-groups-loader.php
    index 58addca..1229d47 100644
    class BP_Groups_Component extends BP_Component { 
    298298                ) );
    299299
    300300                // If avatar uploads are not disabled, add avatar option
    301                 $disabled_avatar_uploads = (int) bp_core_get_root_option( 'bp-disable-avatar-uploads' );
     301                $disabled_avatar_uploads = (int) bp_disable_group_avatar_uploads();
    302302                if ( ! $disabled_avatar_uploads && $bp->avatar->show_avatars ) {
    303303                        $this->group_creation_steps['group-avatar'] = array(
    304304                                'name'     => _x( 'Photo', 'Group screen nav', 'buddypress' ),
    class BP_Groups_Component extends BP_Component { 
    574574                                        'position'        => 10,
    575575                                ), $default_params );
    576576
    577                                 if ( ! (int) bp_get_option( 'bp-disable-avatar-uploads' ) && buddypress()->avatar->show_avatars ) {
     577                                if ( ! bp_disable_group_avatar_uploads() && buddypress()->avatar->show_avatars ) {
    578578                                        $sub_nav[] = array_merge( array(
    579579                                                'name'        => __( 'Photo', 'buddypress' ),
    580580                                                'slug'        => 'group-avatar',
  • src/bp-groups/bp-groups-screens.php

    diff --git src/bp-groups/bp-groups-screens.php src/bp-groups/bp-groups-screens.php
    index a21fcb5..2cd2753 100644
    function groups_screen_group_admin_avatar() { 
    906906                return false;
    907907
    908908        // If the logged-in user doesn't have permission or if avatar uploads are disabled, then stop here
    909         if ( ! bp_is_item_admin() || (int) bp_get_option( 'bp-disable-avatar-uploads' ) || ! buddypress()->avatar->show_avatars )
     909        if ( ! bp_is_item_admin() || bp_disable_group_avatar_uploads() || ! buddypress()->avatar->show_avatars )
    910910                return false;
    911911
    912912        $bp = buddypress();
  • src/bp-groups/bp-groups-template.php

    diff --git src/bp-groups/bp-groups-template.php src/bp-groups/bp-groups-template.php
    index e6921a0..0ec604c 100644
    function bp_group_class() { 
    709709                                $classes[] = 'is-mod';
    710710                }
    711711
     712                // Whether a group avatar will appear.
     713                if ( bp_disable_group_avatar_uploads() || ! buddypress()->avatar->show_avatars ) {
     714                        $classes[] = 'group-no-avatar';
     715                } else {
     716                        $classes[] = 'group-has-avatar';
     717                }
     718
    712719                /**
    713720                 * Filters classes that will be applied to row class of the current group in the loop.
    714721                 *
    function bp_group_avatar( $args = '' ) { 
    858865        function bp_get_group_avatar( $args = '' ) {
    859866                global $groups_template;
    860867
    861                 // Bail if avatars are turned off
    862                 // @todo Should we maybe still filter this?
    863                 if ( ! buddypress()->avatar->show_avatars ) {
     868                // Bail if avatars are turned off.
     869                if ( bp_disable_group_avatar_uploads() || ! buddypress()->avatar->show_avatars ) {
    864870                        return false;
    865871                }
    866872
  • src/bp-templates/bp-legacy/buddypress/groups/groups-loop.php

    diff --git src/bp-templates/bp-legacy/buddypress/groups/groups-loop.php src/bp-templates/bp-legacy/buddypress/groups/groups-loop.php
    index 9302d13..c584d4b 100644
     
    3838        <?php while ( bp_groups() ) : bp_the_group(); ?>
    3939
    4040                <li <?php bp_group_class(); ?>>
    41                         <div class="item-avatar">
    42                                 <a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
    43                         </div>
     41                        <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
     42                                <div class="item-avatar">
     43                                        <a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
     44                                </div>
     45                        <?php endif; ?>
    4446
    4547                        <div class="item">
    4648                                <div class="item-title"><a href="<?php bp_group_permalink(); ?>"><?php bp_group_name(); ?></a></div>
  • src/bp-templates/bp-legacy/buddypress/groups/single/group-header.php

    diff --git src/bp-templates/bp-legacy/buddypress/groups/single/group-header.php src/bp-templates/bp-legacy/buddypress/groups/single/group-header.php
    index 9954be3..80f53b3 100644
    do_action( 'bp_before_group_header' ); 
    2929
    3030</div><!-- #item-actions -->
    3131
    32 <div id="item-header-avatar">
    33         <a href="<?php bp_group_permalink(); ?>" title="<?php bp_group_name(); ?>">
     32<?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
     33        <div id="item-header-avatar">
     34                <a href="<?php bp_group_permalink(); ?>" title="<?php bp_group_name(); ?>">
    3435
    35                 <?php bp_group_avatar(); ?>
     36                        <?php bp_group_avatar(); ?>
    3637
    37         </a>
    38 </div><!-- #item-header-avatar -->
     38                </a>
     39        </div><!-- #item-header-avatar -->
     40<?php endif; ?>
    3941
    4042<div id="item-header-content">
    4143        <span class="highlight"><?php bp_group_type(); ?></span>
    do_action( 'bp_before_group_header' ); 
    6163<?php
    6264do_action( 'bp_after_group_header' );
    6365do_action( 'template_notices' );
    64 ?>
    65  No newline at end of file
     66?>
  • src/bp-templates/bp-legacy/buddypress/members/single/groups/invites.php

    diff --git src/bp-templates/bp-legacy/buddypress/members/single/groups/invites.php src/bp-templates/bp-legacy/buddypress/members/single/groups/invites.php
    index 426a87e..3cfc601 100644
     
    77                <?php while ( bp_groups() ) : bp_the_group(); ?>
    88
    99                        <li>
    10                                 <div class="item-avatar">
    11                                         <a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
    12                                 </div>
     10                                <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
     11                                        <div class="item-avatar">
     12                                                <a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
     13                                        </div>
     14                                <?php endif; ?>
    1315
    1416                                <h4><a href="<?php bp_group_permalink(); ?>"><?php bp_group_name(); ?></a><span class="small"> - <?php printf( _nx( '%d member', '%d members', bp_get_group_total_members( false ),'Group member count', 'buddypress' ), bp_get_group_total_members( false )  ); ?></span></h4>
    1517
  • src/bp-templates/bp-legacy/css/buddypress.css

    diff --git src/bp-templates/bp-legacy/css/buddypress.css src/bp-templates/bp-legacy/css/buddypress.css
    index 9a64410..71aa588 100644
    body.activity-permalink #buddypress ul.item-list li.activity-item { 
    12811281        margin: 10px 0 0 60px;
    12821282        width: 50%;
    12831283}
     1284#buddypress ul.item-list li.group-no-avatar div.item-desc {
     1285        margin-left: 0;
     1286}
    12841287#buddypress ul.item-list li div.action {
    12851288        position: absolute;
    12861289        top: 15px;