Commit Graph

157 Commits

Author SHA1 Message Date
Helen Hou-Sandí 8eb7f71e6b List tables: A better responsive view.
Instead of truncating columns, the data that's already in the markup can now be toggled into view. Only seems appropriate to celebrate four years of contributing by finally doing the first thing I ever mocked up.

Known issues / concerns:
* Custom list tables that don't define a primary column will show nothing at all. These are not extremely common, as `WP_List_Table` isn't really recommended for plugin consumption, but it happens. We need to come up with some kind of fallback.
* Some visual elements, particularly whitespace, could use refining.
* Needs a11y review.
* Touch performance on iOS feels sluggish - is there anything we can do about that?
* Would this be better accordion-style (only one expanded at a time)?
* Is `wp_strip_all_tags()` good enough for column titles that have HTML in them? It's essentially a workaround for the fact that core's comments column does that for the icon, which maybe it shouldn't. Perhaps worth another ticket, as a markup change would be fairly independent.
* Visual hierarchy is not great when expanded (also worthy of another ticket).
* Quick edit now becomes noticeably more annoying to cancel out of, as you have to scroll all the way down and you lose your position from before it was opened. Again, worthy of another ticket.

props Michael Arestad, helen.
see #32395.

Built from https://develop.svn.wordpress.org/trunk@33016


git-svn-id: http://core.svn.wordpress.org/trunk@32987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 01:31:25 +00:00
Sergey Biryukov b26accf35a List tables: Select All should not be a column header.
It sets a redundant relationship with all checkboxes in its column and also conveys wrong information for screen readers.

props afercia, valendesigns.
see #31654.
Built from https://develop.svn.wordpress.org/trunk@32984


git-svn-id: http://core.svn.wordpress.org/trunk@32955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-28 05:46:25 +00:00
Scott Taylor 7537240d37 List tables: when post navigation links point to the current page, use `<span>`s and text instead of `<a>`s.
Props afercia.
Fixes #32253.

Built from https://develop.svn.wordpress.org/trunk@32948


git-svn-id: http://core.svn.wordpress.org/trunk@32919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-25 20:32:26 +00:00
Scott Taylor 5c6b63d3a6 `if` is a statment, not a function.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32800


git-svn-id: http://core.svn.wordpress.org/trunk@32771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 20:01:25 +00:00
Helen Hou-Sandí c87224eaf6 List tables: Use a class instead of inline styles for hidden columns.
fixes #32608.

Built from https://develop.svn.wordpress.org/trunk@32724


git-svn-id: http://core.svn.wordpress.org/trunk@32694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-10 19:47:27 +00:00
Helen Hou-Sandí 51b5ed9fa4 List tables: Better primary column back-compat.
Why are people manually setting `$_column_headers` other than because somebody else told them to? Maybe time will tell.

props kovshenin.
see #25408.

Built from https://develop.svn.wordpress.org/trunk@32722


git-svn-id: http://core.svn.wordpress.org/trunk@32692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-10 14:59:30 +00:00
Helen Hou-Sandí 005d937ce2 List tables:
* Avoid notices in custom list tables that manually set `$_column_headers`. Any plugins using this for a specific purpose should update.
* Restore a special class name in the users list table.

props georgestephanis, stephdau.
see #25408.

Built from https://develop.svn.wordpress.org/trunk@32717


git-svn-id: http://core.svn.wordpress.org/trunk@32687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-10 01:46:27 +00:00
Konstantin Obenland 5daf12dba4 Text improvements for screen readers in list table paginations.
Removes title attributes where reasonable and uses accessible hidden text.
Screen readers will now correctly read out all available information.

Props afercia, rianrietveld.
Fixes #32028.


Built from https://develop.svn.wordpress.org/trunk@32693


git-svn-id: http://core.svn.wordpress.org/trunk@32663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-05 05:01:25 +00:00
Drew Jaynes 8bcf53cc68 Fix formatting and add missing return descriptions for inline documenation introduced in [32644] for `WP_List_Table`.
Also fixes an error introduced in [32661] for `WP_Links_List_Table`.

See #25408. See #32246.

Built from https://develop.svn.wordpress.org/trunk@32662


git-svn-id: http://core.svn.wordpress.org/trunk@32632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-31 01:29:26 +00:00
Scott Taylor c6a4512b1b Add missing doc blocks to `wp-admin/includes/*`.
Fix some egregious uses of tabbing.
Some functions can simply return `apply_filters(...)` instead of setting a variable that is immediately returned.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32654


git-svn-id: http://core.svn.wordpress.org/trunk@32624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 20:17:26 +00:00
Scott Taylor 19a3aacc94 Add `@static*` annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32650


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Helen Hou-Sandí 4c0c7fd7ba List tables: introduce the concept of a "primary" column.
This becomes the column that contains the row actions, and allows for a more flexibility, particularly with custom post types and list tables. To (re)define the primary column, use the `list_table_primary_column` filter, which receives the column name and the screen ID as arguments.

props stephdau, DaveAl, jesin.
see #25408.

Built from https://develop.svn.wordpress.org/trunk@32644


git-svn-id: http://core.svn.wordpress.org/trunk@32614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 02:41:25 +00:00
Scott Taylor b56b9b3e5c Add `@global` annotations for `wp-admin/*`.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32642


git-svn-id: http://core.svn.wordpress.org/trunk@32612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-28 21:41:30 +00:00
Dominik Schilling f9e1c18698 List Table: Add placeholder to a plural string.
props SergeyBiryukov.
fixes #32034.
Built from https://develop.svn.wordpress.org/trunk@32473


git-svn-id: http://core.svn.wordpress.org/trunk@32443 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-09 19:22:24 +00:00
Andrew Ozz 19dbf7b998 Improve table footer tab sequence by moving `<tfoot>` after `<tbody>`. Props afercia, rianrietveld, DrewAPicture. Fixes #30914.
Built from https://develop.svn.wordpress.org/trunk@31513


git-svn-id: http://core.svn.wordpress.org/trunk@31494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 21:48:26 +00:00
Helen Hou-Sandí 2a1f3c4c1f Posts list table: Add a filter to disable the months dropdown.
It was previously possible to prevent it from displaying by filtering everything out from the results, but if one really doesn't want it, they should be able to short-circuit before the query even runs.

props norcross, SergeyBiryukov.
fixes #30254.

Built from https://develop.svn.wordpress.org/trunk@31438


git-svn-id: http://core.svn.wordpress.org/trunk@31419 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-12 18:38:29 +00:00
Scott Taylor 02a1f35ac8 Fix some internal types that are passed to functions to avoid changing the acceptable types passed as arguments to those functions:
* In `WP_Importer->is_user_over_quota()`, the default value for the first argument for `upload_is_user_over_quota()` is `true`. Don't bother passing `1`.
* When calling `submit_button()` with no `$name`, pass empty string instead of `false`.
* The default value for the 2nd argument to `get_edit_post_link()` is `'display'`. Because PHP is PHP, passing `true` is the same as passing `'display'` or nothing. Don't bother passing `true`. 
* In `WP_User_Meta_Session_Tokens::drop_sessions()`, pass `0` instead of `false` to `delete_metadata()` as the value for `$object_id`, which expects an int. 

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31220


git-svn-id: http://core.svn.wordpress.org/trunk@31201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 22:51:21 +00:00
Scott Taylor cde4c83091 [31210] broke Supportflow on dotorg, which declares these methods as `protected`. Switch to `protected` for the noop methods. The subclasses can make them more visible using `public`.
See #30799.

Built from https://develop.svn.wordpress.org/trunk@31211


git-svn-id: http://core.svn.wordpress.org/trunk@31192 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 18:37:24 +00:00
Scott Taylor 3fb283db0a Add 2 noop methods to `WP_List_Table`: `->column_default()` and `->column_cb()`.
`WP_List_Table` is essentially an `abstract` class. Some of its methods throw `die()` warnings if they aren't overridden in a child class.

These noop methods wouldn't be `abstract`, because they are not required in subclasses. However, `WP_List_Table` can call these methods in its own method, `->single_row_columns()`, whether a subclass defined them or not.

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31210


git-svn-id: http://core.svn.wordpress.org/trunk@31191 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 17:42:22 +00:00
Helen Hou-Sandí 62a197d6bf List tables: Use CSS :nth-child() selectors for zebra striping.
Note that this does not fix issues related to comment quick edit. Internal linking also continues to use the `.alternate` class for now. IE8 and below gracefully degrade by not having zebra striping.

There is some hoop jumping with adding an extra table row to maintain zebra striping during quick edit. Documenting that here for future reference; it is also in the inline documentation.

fixes #30981 and #26060. see #25060.

Built from https://develop.svn.wordpress.org/trunk@31181


git-svn-id: http://core.svn.wordpress.org/trunk@31162 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-14 22:14:22 +00:00
Scott Taylor b51593763a `WP_Themes_List_Table` accesses `$_pagination_args` from the parent class. Switch `$_pagination_args` to `protected` in `WP_List_Table`.
See #30891.

Built from https://develop.svn.wordpress.org/trunk@31167


git-svn-id: http://core.svn.wordpress.org/trunk@31148 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 16:26:21 +00:00
Scott Taylor e6fc90f973 In `WP_List_Table`, only call magic method internals again whitelists of properties and methods, `$compat_fields` and `$compat_methods`.
See #30891.

Built from https://develop.svn.wordpress.org/trunk@31146


git-svn-id: http://core.svn.wordpress.org/trunk@31127 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-11 22:20:22 +00:00
Scott Taylor 5547115dc2 Fix some `@param` docs that have chars too close them.
Add `@property` annotations to `WP_User` and `WP_Post`.
Remove erroneous `@param`s from image editor class methods.
Officially add the property `$_column_headers` to `WP_List_Table`.	

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31127


git-svn-id: http://core.svn.wordpress.org/trunk@31108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 06:57:22 +00:00
Scott Taylor bc1341628f Comment List Tables:
* Declare `$extra_items` property
* Since `->get_column_info()` overrides its parent's method, it doesn't need to set `_column_headers`, which is an undeclared property that is only used for caching the lookup after the first run in the parent class, which isn't called in the child class.
* `$_args` in `WP_List_Table` has to be `protected` for `WP_Post_Comments_List_Table` to legally access it. `$_args` is awkward as is and should probably be only available via a getter.

See #30799.

Built from https://develop.svn.wordpress.org/trunk@30984


git-svn-id: http://core.svn.wordpress.org/trunk@30970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 23:27:25 +00:00
Scott Taylor 65ab522a51 Improve various `@param` docs for List Tables.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30679


git-svn-id: http://core.svn.wordpress.org/trunk@30669 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 00:33:23 +00:00
Drew Jaynes 78bb3e5ff5 Docs Formatting: Backtick-escape inline code for all dynamic hook docs in wp-admin/includes/*.
Also adds a few inline `@see` cross-references as they apply.

Affects DocBlocks for the following hooks:
* `views_{$this->screen->id}`
* `bulk_actions-{$this->screen->id}`
* `manage_{$this->screen->id}_sortable_columns`
* `theme_action_links_$stylesheet`
* `after_theme_row_$stylesheet`
* `install_plugins_table_api_args_$tab`
* `$prefix . plugin_action_links`
* `after_plugin_row_$plugin_file`
* `manage_taxonomies_for_{$post_type}_columns`
* `manage_{$post_type}_posts_columns`
* `manage_{$post->post_type}_posts_custom_column`
* `{$taxonomy}_row_actions`
* `manage_{$this->screen->taxonomy}_custom_column`
* `install_themes_table_api_args_' . $tab`
* `auto_update_ . $type`
* `{$action}_prefilter`
* `admin_head_{$content_func}`
* `nav_menu_items_{$post_type_name}`
* `activate_ . $plugin`
* `deactivate_ . $plugin`
* `edit_{$post_type}_per_page`
* `postbox_classes_{$page}_{$id}`
* `_wp_post_revision_field_$field`
* `manage_{$screen->id}_columns`
* `in_plugin_update_message-{$file}`
* `in_theme_update_message-{$theme_key}`

See #30552.

Built from https://develop.svn.wordpress.org/trunk@30648


git-svn-id: http://core.svn.wordpress.org/trunk@30638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 11:28:24 +00:00
Drew Jaynes 4432dc752b 4.1 Docs Audit: Various formatting fixes for inline documentation in class-wp-list-table.php and comment-template.php.
See #30469.

Built from https://develop.svn.wordpress.org/trunk@30610


git-svn-id: http://core.svn.wordpress.org/trunk@30600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 11:22:23 +00:00
Drew Jaynes 273396fe1e Ensure inline code is markdown-escaped as such, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements:
* Backtick-escapes a `<link>` tag in a parameter description for the `embed_oembed_discover` hook
* Inline code fixes in the summary and return description for `WP_List_Table::get_table_classes()`
* Removes HTML markup from the summary for `WP_List_Table::display_rows_or_placeholder()`
* Backtick-escapes a `<tr>` tag in a parameter description for `WP_Users_List_Table::single_row()`
* Converts non-DocBlocks into multi-line comments in `WP_Dependencies::do_items()`
* Removes HTML markup from the summary for the `comment_form_top` hook.
* Inline code and snippet fixes in the description for `wp_get_schedules()`

Props rarst for the initial patch.
See #30473.

Built from https://develop.svn.wordpress.org/trunk@30537


git-svn-id: http://core.svn.wordpress.org/trunk@30526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 04:58:22 +00:00
Drew Jaynes 7081b906f4 Fix a couple of typos in the hook documentation for the `$option` filter in wp-admin/includes/class-wp-list-table.php.
Props bobbingwide.
Fixes #30229.

Built from https://develop.svn.wordpress.org/trunk@30227


git-svn-id: http://core.svn.wordpress.org/trunk@30227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-04 16:05:22 +00:00
Drew Jaynes 256bea185d Add parameter and return descriptions to the `WP_List_Table::get_pagination_arg()` DocBlock.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30225


git-svn-id: http://core.svn.wordpress.org/trunk@30225 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-04 15:55:23 +00:00
Scott Taylor 4d0f66854a Fix the return value doc for `WP_List_Table->get_pagination_arg()`.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30169


git-svn-id: http://core.svn.wordpress.org/trunk@30169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 23:00:23 +00:00
Scott Taylor 0b9c1be743 In `WP_List_Table`, add a property, `$modes`, to allow `WP_Media_List_Table` to inherit `->view_switcher()`.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30154


git-svn-id: http://core.svn.wordpress.org/trunk@30154 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 19:56:24 +00:00
Drew Jaynes f8657d5890 Remove redundant and erroneous `@uses` tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.

Built from https://develop.svn.wordpress.org/trunk@30105


git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-30 01:05:24 +00:00
Gary Pendergast 007ec52958 Add `wp_json_encode()`, a wrapper for `json_encode()` that ensures everything is converted to UTF-8.
Change all core calls from `json_encode()` to `wp_json_encode()`.

Fixes #28786.


Built from https://develop.svn.wordpress.org/trunk@30055


git-svn-id: http://core.svn.wordpress.org/trunk@30055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-28 18:35:19 +00:00
Andrew Nacin f7392ef917 Pinking shears.
Built from https://develop.svn.wordpress.org/trunk@29707


git-svn-id: http://core.svn.wordpress.org/trunk@29481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-04 15:23:16 +00:00
Drew Jaynes d60a081137 Add `@access` tags to constructor docblocks in list table classes.
See #28679. See [29459].

Built from https://develop.svn.wordpress.org/trunk@29460


git-svn-id: http://core.svn.wordpress.org/trunk@29238 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-10 02:22:16 +00:00
Drew Jaynes 8e86454467 Document default arguments for the `WP_List_Table` class. Also add referenced docblocks to extending class constructors.
Props mikejolley for the initial patch.
Fixes #28679. See #28298.

Built from https://develop.svn.wordpress.org/trunk@29459


git-svn-id: http://core.svn.wordpress.org/trunk@29237 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-10 02:18:17 +00:00
Drew Jaynes a8583d5f19 Fix some words that aren't words.
See #28885.

Built from https://develop.svn.wordpress.org/trunk@29454


git-svn-id: http://core.svn.wordpress.org/trunk@29232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-09 19:30:17 +00:00
Scott Taylor 704a4c4803 Mark `WP_List_Table::bulk_actions()`'s argument `$which` as optional for BC.
Fixes #29026.

Built from https://develop.svn.wordpress.org/trunk@29440


git-svn-id: http://core.svn.wordpress.org/trunk@29218 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-07 21:30:15 +00:00
Scott Taylor ce7955cc9e Add screen reader text to list table date dropdown.
See #29026.

Built from https://develop.svn.wordpress.org/trunk@29433


git-svn-id: http://core.svn.wordpress.org/trunk@29211 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-07 19:44:15 +00:00
Scott Taylor c5dff42d51 Revert [29428] to avoid errors with Add Media for now.
See #29026.

Built from https://develop.svn.wordpress.org/trunk@29432


git-svn-id: http://core.svn.wordpress.org/trunk@29210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-07 19:40:15 +00:00
Scott Taylor afb0b3e4ef Media Grid: add screen reader labels with more context to filters and bulk actions. Ditto for list view.
Props afercia.
Fixes #29026.

Built from https://develop.svn.wordpress.org/trunk@29428


git-svn-id: http://core.svn.wordpress.org/trunk@29206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-07 05:20:16 +00:00
Scott Taylor 64407235a9 `WP_List_Table::items` should be `public`, not `protected`. It is accessed in a subclass directly via `wp_ajax_get_comments()`.
See [28493].
Fixes #29072.

Built from https://develop.svn.wordpress.org/trunk@29423


git-svn-id: http://core.svn.wordpress.org/trunk@29201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-07 02:51:16 +00:00
Dominik Schilling 7a67693b37 Add missing `screen-reader-text` CSS class in [29294].
see #28867.
Built from https://develop.svn.wordpress.org/trunk@29308


git-svn-id: http://core.svn.wordpress.org/trunk@29090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-27 13:43:17 +00:00
Scott Taylor 97fff7e952 Adds `<label>`s to current page selector and bulk actions `<select>` field so that screen readers have an explicit label.
Props joedolson.
Fixes #28867.

Built from https://develop.svn.wordpress.org/trunk@29294


git-svn-id: http://core.svn.wordpress.org/trunk@29076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-25 00:20:16 +00:00
Drew Jaynes 097dc8ee15 Fix syntax for single- and multi-line comments in wp-admin-directory files.
See #28931.

Built from https://develop.svn.wordpress.org/trunk@29206


git-svn-id: http://core.svn.wordpress.org/trunk@28990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-17 09:14:16 +00:00
Drew Jaynes 9ae01ba532 Fix a typo in the `@access` tag for `WP_List_Table::__get()`.
Props joehoyle.
Fixes #28925. See #28885.

Built from https://develop.svn.wordpress.org/trunk@29199


git-svn-id: http://core.svn.wordpress.org/trunk@28983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-16 22:13:14 +00:00
Drew Jaynes 90d7cc27c2 Fill out inline documentation for magic methods added to the `WP_List_Table` class in [28493], [28521], and [28524].
See #22234 and #28885.

Built from https://develop.svn.wordpress.org/trunk@29148


git-svn-id: http://core.svn.wordpress.org/trunk@28932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 23:55:16 +00:00
Scott Taylor 176b9b2301 Fix mismatches in access modifiers for `WP_List_Table` + subclasses.
Fixes #28843, #28879.

Built from https://develop.svn.wordpress.org/trunk@29137


git-svn-id: http://core.svn.wordpress.org/trunk@28921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 22:09:16 +00:00
Dominik Schilling 6ef23ea006 Lists View Switcher: Replace blank image with screen reader text.
props davidakennedy.
fixes #28871.
Built from https://develop.svn.wordpress.org/trunk@29133


git-svn-id: http://core.svn.wordpress.org/trunk@28918 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 11:05:15 +00:00