Skip to:
Content

BuddyPress.org

Ticket #6290: 6290.warning.patch

File 6290.warning.patch, 5.2 KB (added by imath, 4 years ago)
  • src/bp-core/bp-core-attachments.php

    diff --git src/bp-core/bp-core-attachments.php src/bp-core/bp-core-attachments.php
    index d454d88..e059c43 100644
    function bp_attachments_get_plupload_l10n() { 
    9898                        'dismiss'                   => __( 'Dismiss', 'buddypress' ),
    9999                        'crunching'                 => __( 'Crunching…', 'buddypress' ),
    100100                        'unique_file_warning'       => __( 'Make sure to upload a unique file', 'buddypress' ),
    101                         'error_uploading'           => __( '“%s” has failed to upload.', 'buddypress' )
     101                        'error_uploading'           => __( '“%s” has failed to upload.', 'buddypress' ),
     102                        'has_avatar_warning'        => __( 'If you'd like to delete your current profile photo but not upload a new one, please use the delete tab.', 'buddypress' )
    102103        ) );
    103104}
    104105
  • 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..94e42bf 100644
    function bp_avatar_ajax_upload() { 
    947947                }
    948948        }
    949949
     950        // Init the feedback message
     951        $feedback_message = false;
     952
     953        if ( ! empty( $bp->template_message ) ) {
     954                $feedback_message = $bp->template_message;
     955
     956                // Remove template message.
     957                $bp->template_message      = false;
     958                $bp->template_message_type = false;
     959                @setcookie( 'bp-message', false, time() - 1000, COOKIEPATH );
     960                @setcookie( 'bp-message-type', false, time() - 1000, COOKIEPATH );
     961        }
     962
    950963        if ( empty( $avatar ) ) {
    951964                // Default upload error
    952                 $message = array();
    953 
    954                 // Intercept the template message and remove it
    955                 if ( ! empty( $bp->template_message ) ) {
    956                         // Set the feedback message
    957                         $message = array(
    958                                 'type'    => 'upload_error',
    959                                 'message' => $bp->template_message,
    960                         );
     965                $message = __( 'Upload failed.', 'buddypress' );
    961966
    962                         // Remove template message.
    963                         $bp->template_message      = false;
    964                         $bp->template_message_type = false;
    965                         @setcookie( 'bp-message', false, time() - 1000, COOKIEPATH );
    966                         @setcookie( 'bp-message-type', false, time() - 1000, COOKIEPATH );
     967                // Use the template message if set
     968                if ( ! empty( $feedback_message ) ) {
     969                        $message = $feedback_message;
    967970                }
    968971
    969                 bp_attachments_json_response( false, $is_html4, $message );
     972                // Upload error reply
     973                bp_attachments_json_response( false, $is_html4, array(
     974                        'type'    => 'upload_error',
     975                        'message' => $message,
     976                ) );
    970977        }
    971978
    972979        if ( empty( $bp->avatar_admin->image->file ) ) {
    function bp_avatar_ajax_upload() { 
    990997                'url'       => $bp->avatar_admin->image->url,
    991998                'width'     => $uploaded_image[0],
    992999                'height'    => $uploaded_image[1],
     1000                'feedback'  => $feedback_message,
    9931001        ) );
    9941002}
    9951003add_action( 'wp_ajax_bp_avatar_upload', 'bp_avatar_ajax_upload' );
  • src/bp-core/css/avatar.css

    diff --git src/bp-core/css/avatar.css src/bp-core/css/avatar.css
    index d11d853..d3434e4 100644
    div.bp-avatar-status .bp-bar { 
    5050}
    5151
    5252#bp-uploader-warning, #bp-webcam-message p.warning {
    53         background-color: #ffec8b;
    54         border: 1px solid #fc0;
     53        background-color: #ffd;
     54        border: 1px solid #cb2;
    5555        color: #440;
    5656        display: block;
    5757        font-size: 90%;
    div.bp-avatar-nav { 
    281281        width: auto;
    282282}
    283283
     284.bp-avatar .item {
     285        overflow:hidden;
     286}
     287
    284288.bp-avatar .avatar-crop-management.adjust {
    285289        float: left;
    286290        clear: none;
  • src/bp-core/js/avatar.js

    diff --git src/bp-core/js/avatar.js src/bp-core/js/avatar.js
    index aad00be..bb032c1 100644
    window.bp = window.bp || {}; 
    2626                        // Init some vars
    2727                        this.views    = new Backbone.Collection();
    2828                        this.jcropapi = {};
     29                        this.warning = null;
    2930
    3031                        // Set up nav
    3132                        this.setupNav();
    window.bp = window.bp || {}; 
    349350
    350351                                avatarStatus.inject( '.bp-avatar-status' );
    351352                        } );
     353                },
     354
     355                removeWarning: function() {
     356                        if ( ! _.isNull( this.warning ) ) {
     357                                this.warning.remove();
     358                        }
     359                },
     360
     361                displayWarning: function( message ) {
     362                        this.removeWarning();
     363
     364                        this.warning = new bp.Views.uploaderWarning( {
     365                                value: message
     366                        } );
     367
     368                        this.warning.inject( '.bp-avatar-status' );
    352369                }
    353370        };
    354371
    window.bp = window.bp || {}; 
    362379                },
    363380
    364381                initialize: function() {
     382                        var hasAvatar = _.findWhere( this.collection.models, { id: 'delete' } );
     383
     384                        // Display a message to inform about the delete tab
     385                        if ( 1 !== hasAvatar.get( 'hide' ) ) {
     386                                bp.Avatar.displayWarning( BP_Uploader.strings.has_avatar_warning );
     387                        }
     388
    365389                        _.each( this.collection.models, this.addNavItem, this );
    366390                        this.collection.on( 'change:hide', this.showHideNavItem, this );
    367391                },
    window.bp = window.bp || {}; 
    405429                toggleView: function( event ) {
    406430                        event.preventDefault();
    407431
     432                        // First make sure to remove all warnings
     433                        bp.Avatar.removeWarning();
     434
    408435                        var active = $( event.target ).data( 'nav' );
    409436
    410437                        _.each( this.collection.models, function( model ) {
    window.bp = window.bp || {}; 
    488515                                aspectRatio : 1
    489516                        } );
    490517
     518                        // Display a warning if the image is smaller than minimum advised
     519                        if ( false !== this.model.get( 'feedback' ) ) {
     520                                bp.Avatar.displayWarning( this.model.get( 'feedback' ) );
     521                        }
     522
    491523                        this.on( 'ready', this.initCropper );
    492524                },
    493525