Make WordPress Core

Changeset 43056


Ignore:
Timestamp:
05/01/2018 03:42:38 PM (8 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.