Skip to:
Content

BuddyPress.org

Ticket #6948: 6948.02.patch

File 6948.02.patch, 5.5 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 2663dde..f28c188 100644
    function bp_attachments_get_attachment( $data = 'url', $args = array() ) { 
    410410                'file'       => '',
    411411        ), 'attachments_get_attachment_src' );
    412412
     413        /**
     414         * Filters whether or not to handle fetching a BuddyPress attachment.
     415         *
     416         * If you want to override this function, make sure you return false.
     417         *
     418         * @since 2.5.1
     419         *
     420         * @param null|string $value If null is returned, proceed with default behaviour. Otherwise, value returned verbatim.
     421         * @param array $r {
     422         *     @type string $object_dir The object dir (eg: members/groups). Defaults to members.
     423         *     @type int    $item_id    The object id (eg: a user or a group id). Defaults to current user.
     424         *     @type string $type       The type of the attachment which is also the subdir where files are saved.
     425         *                              Defaults to 'cover-image'
     426         *     @type string $file       The name of the file.
     427         * }
     428         */
     429        $pre_filter = apply_filters( 'bp_attachments_pre_get_attachment', null, $r );
     430        if ( $pre_filter !== null ) {
     431                return $pre_filter;
     432        }
     433
    413434        // Get BuddyPress Attachments Uploads Dir datas.
    414435        $bp_attachments_uploads_dir = bp_attachments_uploads_dir_get();
    415436
    function bp_attachments_get_attachment( $data = 'url', $args = array() ) { 
    478499function bp_attachments_delete_file( $args = array() ) {
    479500        $attachment_path = bp_attachments_get_attachment( 'path', $args );
    480501
     502        /**
     503         * Filters whether or not to handle deleting an existing BuddyPress attachment.
     504         *
     505         * If you want to override this function, make sure you return false.
     506         *
     507         * @since 2.5.1
     508         *
     509         * @param bool $value Whether or not to delete the BuddyPress attachment.
     510         * @param array Array of arguments for the attachment deletion.
     511         */
     512        if ( ! apply_filters( 'bp_attachments_pre_delete_file', true, $args ) ) {
     513                return true;
     514        }
     515
    481516        if ( empty( $attachment_path ) ) {
    482517                return false;
    483518        }
    function bp_attachments_cover_image_ajax_upload() { 
    12231258                bp_attachments_json_response( false, $is_html4 );
    12241259        }
    12251260
     1261        /**
     1262         * Filters whether or not to shortcircuit cover image uploading.
     1263         *
     1264         * If you want to override this function, make sure you to return an array.
     1265         * eg: array {
     1266         *     @type bool   $result       True if the upload succeeded. False Otherwise.
     1267         *     @type string $name         The name for the Uploaded file (In case of a success)
     1268         *     @type string $url          The url to the cover image (in case of a success)
     1269         *     @type int    feedback_code 1 if the cover image is large enough, 0 otherwise (in case of a success)
     1270         * }
     1271         *
     1272         * @since 2.5.1
     1273         *
     1274         * @param array $value Whether or not to shortcircuit cover image uploading.
     1275         * @param array $bp_params
     1276         * @param array $needs_reset Stores original value of certain globals we need to revert to later.
     1277         * @param array $object_data
     1278         */
     1279        $pre_filter = apply_filters( 'bp_attachments_pre_cover_image_ajax_upload', array(), $bp_params, $needs_reset, $object_data );
     1280        if ( isset( $pre_filter['result'] ) ) {
     1281                bp_attachments_json_response( $pre_filter['result'], $is_html4, $pre_filter );
     1282        }
     1283
    12261284        $cover_image_attachment = new BP_Attachment_Cover_Image();
    12271285        $uploaded = $cover_image_attachment->upload( $_FILES );
    12281286
  • src/bp-core/bp-core-avatars.php

    diff --git src/bp-core/bp-core-avatars.php src/bp-core/bp-core-avatars.php
    index 6529d14..64a9e43 100644
    function bp_core_delete_existing_avatar( $args = '' ) { 
    703703        $args = wp_parse_args( $args, $defaults );
    704704        extract( $args, EXTR_SKIP );
    705705
     706        /**
     707         * Filters whether or not to handle deleting an existing avatar.
     708         *
     709         * If you want to override this function, make sure you return false.
     710         *
     711         * @since 2.5.1
     712         *
     713         * @param bool $value Whether or not to delete the avatar.
     714         * @param array $args {
     715         *     Array of function parameters.
     716         *
     717         *     @type bool|int    $item_id    ID of the item whose avatar you're deleting.
     718         *                                   Defaults to the current item of type $object.
     719         *     @type string      $object     Object type of the item whose avatar you're
     720         *                                   deleting. 'user', 'group', 'blog', or custom.
     721         *                                   Default: 'user'.
     722         *     @type bool|string $avatar_dir Subdirectory where avatar is located.
     723         *                                   Default: false, which falls back on the default location
     724         *                                   corresponding to the $object.
     725         * }
     726         */
     727        if ( ! apply_filters( 'bp_core_pre_delete_existing_avatar', true, $args ) ) {
     728                return true;
     729        }
     730
    706731        if ( empty( $item_id ) ) {
    707732                if ( 'user' == $object )
    708733                        $item_id = bp_displayed_user_id();
    function bp_avatar_handle_capture( $data = '', $item_id = 0 ) { 
    10691094                return false;
    10701095        }
    10711096
     1097        /**
     1098         * Filters whether or not to handle avatar webcam capture.
     1099         *
     1100         * If you want to override this function, make sure you return false.
     1101         *
     1102         * @since 2.5.1
     1103         *
     1104         * @param bool   $value   Whether or not to crop.
     1105         * @param string $data    Base64 encoded image.
     1106         * @param int    $item_id Item to associate.
     1107         */
     1108        if ( ! apply_filters( 'bp_avatar_pre_handle_capture', true, $data, $item_id ) ) {
     1109                return true;
     1110        }
     1111
    10721112        $avatar_dir = bp_core_avatar_upload_path() . '/avatars';
    10731113
    10741114        // It's not a regular upload, we may need to create this folder.