WordPress.org

Make WordPress Core

Changeset 43056


Ignore:
Timestamp:
05/01/2018 03:42:38 PM (2 years ago)
Author:
azaozz
Message:

Privacy: add "Mine" filter for media similarly to posts and comments.

Props audrasjb.
See #43820.

Location:
trunk/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/ajax-actions.php

    r43012 r43056  
    26282628        'post_mime_type',
    26292629        'post_parent',
     2630        'author',
    26302631        'post__in',
    26312632        'post__not_in',
  • trunk/src/wp-admin/includes/class-wp-media-list-table.php

    r42871 r43056  
    131131            );
    132132        }
     133
     134        $type_links['mine'] = sprintf(
     135            '<option value="mine"%s>%s</option>',
     136            selected( 'mine' === $filter, true, false ),
     137            __( 'Mine' )
     138        );
     139
    133140        return $type_links;
    134141    }
  • trunk/src/wp-admin/includes/post.php

    r42875 r43056  
    12101210    if ( isset( $q['detached'] ) || ( isset( $q['attachment-filter'] ) && 'detached' == $q['attachment-filter'] ) ) {
    12111211        $q['post_parent'] = 0;
     1212    }
     1213
     1214    if ( isset( $q['mine'] ) || ( isset( $q['attachment-filter'] ) && 'mine' == $q['attachment-filter'] ) ) {
     1215        $q['author'] = get_current_user_id();
    12121216    }
    12131217
  • trunk/src/wp-includes/js/media-models.js

    r42739 r43056  
    11221122        // are no filters for other properties, so observing will result in
    11231123        // false positives in those queries.
    1124         allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent' ];
     1124        allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent', 'author' ];
    11251125        if ( wp.Uploader && _( this.args ).chain().keys().difference( allowed ).isEmpty().value() ) {
    11261126            this.observe( wp.Uploader.queue );
     
    12391239     */
    12401240    propmap: {
    1241         'search':    's',
    1242         'type':      'post_mime_type',
    1243         'perPage':   'posts_per_page',
    1244         'menuOrder': 'menu_order',
    1245         'uploadedTo': 'post_parent',
    1246         'status':     'post_status',
    1247         'include':    'post__in',
    1248         'exclude':    'post__not_in'
     1241        'search':       's',
     1242        'type':         'post_mime_type',
     1243        'perPage':      'posts_per_page',
     1244        'menuOrder':    'menu_order',
     1245        'uploadedTo':   'post_parent',
     1246        'status':       'post_status',
     1247        'include':      'post__in',
     1248        'exclude':      'post__not_in',
     1249        'author':       'author'
    12491250    },
    12501251    /**
     
    12681269     * @param {Object} [props.post_parent]
    12691270     * @param {Object} [props.post_status]
     1271     * @param {Object} [props.author]
    12701272     * @param {Object} [options]
    12711273     *
  • trunk/src/wp-includes/js/media-views.js

    r42931 r43056  
    72527252        var type = this.model.get('type'),
    72537253            types = wp.media.view.settings.mimeTypes,
     7254            uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0,
    72547255            text;
    72557256
     
    72647265                    uploadedTo: null,
    72657266                    orderby: 'date',
    7266                     order:   'DESC'
     7267                    order:   'DESC',
     7268                    author:  null
    72677269                },
    72687270                priority: 10
     
    72747276                    uploadedTo: wp.media.view.settings.post.id,
    72757277                    orderby: 'menuOrder',
    7276                     order:   'ASC'
     7278                    order:   'ASC',
     7279                    author:  null
    72777280                },
    72787281                priority: 20
     
    72847287                    uploadedTo: 0,
    72857288                    orderby: 'menuOrder',
    7286                     order:   'ASC'
     7289                    order:   'ASC',
     7290                    author:  null
    72877291                },
    72887292                priority: 50
    72897293            }
    72907294        };
     7295
     7296        if ( uid ) {
     7297            this.filters.mine = {
     7298                text:  l10n.mine,
     7299                props: {
     7300                    orderby: 'date',
     7301                    order:   'DESC',
     7302                    author:  uid
     7303                },
     7304                priority: 50
     7305            };
     7306        }
    72917307    }
    72927308});
     
    73157331All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.AttachmentFilters.All.prototype */{
    73167332    createFilters: function() {
    7317         var filters = {};
     7333        var filters = {},
     7334            uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0;
    73187335
    73197336        _.each( wp.media.view.settings.mimeTypes || {}, function( text, key ) {
     
    73257342                    uploadedTo: null,
    73267343                    orderby: 'date',
    7327                     order:   'DESC'
     7344                    order:   'DESC',
     7345                    author:  null
    73287346                }
    73297347            };
     
    73377355                uploadedTo: null,
    73387356                orderby: 'date',
    7339                 order:   'DESC'
     7357                order:   'DESC',
     7358                author:  null
    73407359            },
    73417360            priority: 10
     
    73507369                    uploadedTo: wp.media.view.settings.post.id,
    73517370                    orderby: 'menuOrder',
    7352                     order:   'ASC'
     7371                    order:   'ASC',
     7372                    author:  null
    73537373                },
    73547374                priority: 20
     
    73637383                type:       null,
    73647384                orderby:    'menuOrder',
    7365                 order:      'ASC'
     7385                order:      'ASC',
     7386                author:     null
    73667387            },
    73677388            priority: 50
    73687389        };
     7390
     7391        if ( uid ) {
     7392            filters.mine = {
     7393                text:  l10n.mine,
     7394                props: {
     7395                    status:     null,
     7396                    type:       null,
     7397                    uploadedTo: null,
     7398                    orderby:    'date',
     7399                    order:      'DESC',
     7400                    author:     uid
     7401                },
     7402                priority: 50
     7403            };
     7404        }
    73697405
    73707406        if ( wp.media.view.settings.mediaTrash &&
     
    73787414                    type:       null,
    73797415                    orderby:    'date',
    7380                     order:      'DESC'
     7416                    order:      'DESC',
     7417                    author:     null
    73817418                },
    73827419                priority: 50
  • trunk/src/wp-includes/js/media/models/query.js

    r41351 r43056  
    7272        // are no filters for other properties, so observing will result in
    7373        // false positives in those queries.
    74         allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent' ];
     74        allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent', 'author' ];
    7575        if ( wp.Uploader && _( this.args ).chain().keys().difference( allowed ).isEmpty().value() ) {
    7676            this.observe( wp.Uploader.queue );
     
    189189     */
    190190    propmap: {
    191         'search':    's',
    192         'type':      'post_mime_type',
    193         'perPage':   'posts_per_page',
    194         'menuOrder': 'menu_order',
    195         'uploadedTo': 'post_parent',
    196         'status':     'post_status',
    197         'include':    'post__in',
    198         'exclude':    'post__not_in'
     191        'search':       's',
     192        'type':         'post_mime_type',
     193        'perPage':      'posts_per_page',
     194        'menuOrder':    'menu_order',
     195        'uploadedTo':   'post_parent',
     196        'status':       'post_status',
     197        'include':      'post__in',
     198        'exclude':      'post__not_in',
     199        'author':       'author'
    199200    },
    200201    /**
     
    218219     * @param {Object} [props.post_parent]
    219220     * @param {Object} [props.post_status]
     221     * @param {Object} [props.author]
    220222     * @param {Object} [options]
    221223     *
  • trunk/src/wp-includes/js/media/views/attachment-filters/all.js

    r41351 r43056  
    1515All = wp.media.view.AttachmentFilters.extend(/** @lends wp.media.view.AttachmentFilters.All.prototype */{
    1616    createFilters: function() {
    17         var filters = {};
     17        var filters = {},
     18            uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0;
    1819
    1920        _.each( wp.media.view.settings.mimeTypes || {}, function( text, key ) {
     
    2526                    uploadedTo: null,
    2627                    orderby: 'date',
    27                     order:   'DESC'
     28                    order:   'DESC',
     29                    author:  null
    2830                }
    2931            };
     
    3739                uploadedTo: null,
    3840                orderby: 'date',
    39                 order:   'DESC'
     41                order:   'DESC',
     42                author:  null
    4043            },
    4144            priority: 10
     
    5053                    uploadedTo: wp.media.view.settings.post.id,
    5154                    orderby: 'menuOrder',
    52                     order:   'ASC'
     55                    order:   'ASC',
     56                    author:  null
    5357                },
    5458                priority: 20
     
    6367                type:       null,
    6468                orderby:    'menuOrder',
    65                 order:      'ASC'
     69                order:      'ASC',
     70                author:     null
    6671            },
    6772            priority: 50
    6873        };
     74
     75        if ( uid ) {
     76            filters.mine = {
     77                text:  l10n.mine,
     78                props: {
     79                    status:     null,
     80                    type:       null,
     81                    uploadedTo: null,
     82                    orderby:    'date',
     83                    order:      'DESC',
     84                    author:     uid
     85                },
     86                priority: 50
     87            };
     88        }
    6989
    7090        if ( wp.media.view.settings.mediaTrash &&
     
    7898                    type:       null,
    7999                    orderby:    'date',
    80                     order:      'DESC'
     100                    order:      'DESC',
     101                    author:     null
    81102                },
    82103                priority: 50
  • trunk/src/wp-includes/js/media/views/attachment-filters/uploaded.js

    r41351 r43056  
    1717        var type = this.model.get('type'),
    1818            types = wp.media.view.settings.mimeTypes,
     19            uid = window.userSettings ? parseInt( window.userSettings.uid, 10 ) : 0,
    1920            text;
    2021
     
    2930                    uploadedTo: null,
    3031                    orderby: 'date',
    31                     order:   'DESC'
     32                    order:   'DESC',
     33                    author:  null
    3234                },
    3335                priority: 10
     
    3941                    uploadedTo: wp.media.view.settings.post.id,
    4042                    orderby: 'menuOrder',
    41                     order:   'ASC'
     43                    order:   'ASC',
     44                    author:  null
    4245                },
    4346                priority: 20
     
    4952                    uploadedTo: 0,
    5053                    orderby: 'menuOrder',
    51                     order:   'ASC'
     54                    order:   'ASC',
     55                    author:  null
    5256                },
    5357                priority: 50
    5458            }
    5559        };
     60
     61        if ( uid ) {
     62            this.filters.mine = {
     63                text:  l10n.mine,
     64                props: {
     65                    orderby: 'date',
     66                    order:   'DESC',
     67                    author:  uid
     68                },
     69                priority: 50
     70            };
     71        }
    5672    }
    5773});
  • trunk/src/wp-includes/media.php

    r43054 r43056  
    36583658        'insertIntoPost'              => $post_type_object->labels->insert_into_item,
    36593659        'unattached'                  => __( 'Unattached' ),
     3660        'mine'                        => __( 'Mine' ),
    36603661        'trash'                       => _x( 'Trash', 'noun' ),
    36613662        'uploadedToThisPost'          => $post_type_object->labels->uploaded_to_this_item,
Note: See TracChangeset for help on using the changeset viewer.