John Blackbourn
fd15794b5c
Add some specific JSON responses when there are user permission errors for AJAX file uploads. Replace some usage of wp_json_encode()
with wp_send_json_*()
.
...
See #25849
Props gcorne
Built from https://develop.svn.wordpress.org/trunk@30354
git-svn-id: http://core.svn.wordpress.org/trunk@30353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-16 05:47:21 +00:00
John Blackbourn
c02845330e
Introduce a button on the user profile screen which clears all other sessions, and on the user editing screen which clears all sessions. Only appears when there are applicable sessions which can be cleared.
...
See #30264 .
Props jorbin, ocean90, johnbillion
Built from https://develop.svn.wordpress.org/trunk@30333
git-svn-id: http://core.svn.wordpress.org/trunk@30332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-13 15:21:21 +00:00
Drew Jaynes
92c153aa8c
Fix the syntax for some status-related documentation introduced in [30155].
...
* Variables in DocBlocks should be backtick-escaped
* Parameter and return types should be as specific as possible
* `@param` types and variables should align with each other, but not intentionally with the `@return` description
See #30230 .
Built from https://develop.svn.wordpress.org/trunk@30284
git-svn-id: http://core.svn.wordpress.org/trunk@30284 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-08 20:56:22 +00:00
Scott Taylor
6a109700d0
In wp_ajax_get_tagcloud()
, bail immediately if $_POST['tax']
isn't set so that all of the variable setting can happen in the same nest scope as the rest of the function - wp_die()
confuses Scrutinizer.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30168
git-svn-id: http://core.svn.wordpress.org/trunk@30168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 22:54:22 +00:00
Scott Taylor
a786fb779c
In wp_ajax_ajax_tag_search()
, bail immediately if $_GET['tax']
isn't set so that all of the variable setting can happen in the same nest scope as the rest of the function - wp_die()
confuses Scrutinizer.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30167
git-svn-id: http://core.svn.wordpress.org/trunk@30167 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 22:48:22 +00:00
Scott Taylor
be08f576df
Improve some post_status
-related documentation.
...
Props ericlewis.
See #30230 .
Built from https://develop.svn.wordpress.org/trunk@30155
git-svn-id: http://core.svn.wordpress.org/trunk@30155 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 20:20:23 +00:00
Boone Gorges
96b42c2fdc
Allow resource_type to be specified in get_ancestors()
.
...
Being explicit about resource type (taxonomy vs post_type) allows for the
proper resolution of conflicts when a taxonomy and post_type share a slug.
Props filosofo.
Fixes #15029 .
Built from https://develop.svn.wordpress.org/trunk@30141
git-svn-id: http://core.svn.wordpress.org/trunk@30141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 02:58:23 +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
Scott Taylor
2f328cc4c1
In wp_ajax_replyto_comment()
, if $_POST['comment_type']
is set, use it for the value of $comment_type
, which the compact()
call has assumed is set since [8720]. It never was.
...
`wp_comment_reply()`'s output can be complete overridden by the `wp_comment_reply` filter, so this check is justified and makes the AJAX callback more flexible.
Props nerrad.
Fixes #29704 .
Built from https://develop.svn.wordpress.org/trunk@29758
git-svn-id: http://core.svn.wordpress.org/trunk@29530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-23 03:29:16 +00:00
Andrew Nacin
4080e96339
Ensure oEmbed previews listen to [embed] width/height attributes.
...
props azaozz.
fixes #29474 .
Built from https://develop.svn.wordpress.org/trunk@29681
git-svn-id: http://core.svn.wordpress.org/trunk@29456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 00:40:16 +00:00
Scott Taylor
149346ff6e
MCE View sandboxes:
...
* Use a `MutationObserver` to listen to the `body` class of the parent editor frame.
* In `wpview_media_sandbox_styles()`, only return the MEjs stylesheets.
* In `wp_ajax_parse_media_shortcode()` and `wp_ajax_parse_embed()`, return an object instead of an HTML blob to allow passing `body` and `head` separately
Props avryl, azaozz.
Fixes #29048 .
Built from https://develop.svn.wordpress.org/trunk@29615
git-svn-id: http://core.svn.wordpress.org/trunk@29389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-26 04:46:15 +00:00
Andrew Ozz
42258a6d89
TinyMCE wpView: fix showing errors for non-embeddable URLs, no-ssl or no items. Props avryl, fixes #29114 , see #29268 .
...
Built from https://develop.svn.wordpress.org/trunk@29577
git-svn-id: http://core.svn.wordpress.org/trunk@29351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-22 18:55:15 +00:00
Andrew Ozz
53c047263b
TinyMCE wpView: add a filter for the stylesheet URLs loaded in the sandbox iframes. See #29048 .
...
Built from https://develop.svn.wordpress.org/trunk@29559
git-svn-id: http://core.svn.wordpress.org/trunk@29334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-20 21:34:15 +00:00
Andrew Ozz
bb862e8221
TinyMCE wpView: show an error when no items are found while parsing a audio/video/playlist shortcode. Props avryl, fixes #29114 .
...
Built from https://develop.svn.wordpress.org/trunk@29546
git-svn-id: http://core.svn.wordpress.org/trunk@29322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-19 23:23:16 +00:00
Scott Taylor
571111022e
Media Grid, support MEDIA_TRASH
:
...
* Add a setting to `_wpMediaViewsL10n.settings`: `mediaTrash`
* In the attachment edit modal, properly toggle between Trash/Untrash
* In `media.view.Attachment`, add a method for `untrashAttachment`
* When creating the grid toolbar, switch the setting order of subviews so that `media.view.DeleteSelectedButton` can listen to the instance of `media.view.AttachmentFilters.All` to update the text in its UI.
* Add a new filter to `media.view.AttachmentFilters.All`, `trash`, when `settings.mediaTrash` is true
* Allow the cached queries in `Query.get()` to be flushed when race conditions exist and collections need to be refreshed. This is currently only being used when `MEDIA_TRASH` is set, to refresh the filtered/mirrored collections related to `all`, `trash`, and any already queried filter.
* Cleanup the bootstrapping of `media.view.MediaFrame.Manage`
* Allow `wp_ajax_query_attachments()` to return items from the trash when `MEDIA_TRASH` is `true`
* Allow `wp_ajax_save_attachment()` to set `post_status` when `MEDIA_TRASH` is `true`. It allows `wp_delete_post()` to be called, which will trash the attachment instead of deleting when the flag is set.
Props koop for the knowledge sharing and thought partnership.
See #29145 .
Built from https://develop.svn.wordpress.org/trunk@29490
git-svn-id: http://core.svn.wordpress.org/trunk@29268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-14 18:31:19 +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
Dominik Schilling
608d505b24
Attach Media: Display the correct error message when search result is empty.
...
fixes #29093 .
Built from https://develop.svn.wordpress.org/trunk@29356
git-svn-id: http://core.svn.wordpress.org/trunk@29132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-02 14:24:15 +00:00
Dominik Schilling
203c44581b
To improve troubleshooting use esc_html()
for a failed embed.
...
see #28195 .
Built from https://develop.svn.wordpress.org/trunk@29354
git-svn-id: http://core.svn.wordpress.org/trunk@29130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-01 22:34:15 +00:00
Dominik Schilling
270a57075c
Media Grid: Add a date filter.
...
props ericlewis.
fixes #28895 .
Built from https://develop.svn.wordpress.org/trunk@29271
git-svn-id: http://core.svn.wordpress.org/trunk@29053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-22 20:47:15 +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
Scott Taylor
043715e8a4
Add a new AJAX action: parse-media-shortcode
. This async call will replace JS rendering of audio/video/playlist shortcodes.
...
See #28905 .
Built from https://develop.svn.wordpress.org/trunk@29178
git-svn-id: http://core.svn.wordpress.org/trunk@28962 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-15 22:08:14 +00:00
Scott Taylor
89d9bbd7f6
Make audio and video URLs/embed handlers work in <iframe>
-sandbox'd MCE views.
...
Introduce:
`get_editor_stylesheets()`
`wp_media_mce_styles()`.
See #28905 .
Built from https://develop.svn.wordpress.org/trunk@29176
git-svn-id: http://core.svn.wordpress.org/trunk@28960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-15 21:51:15 +00:00
Drew Jaynes
b8d47f48c5
Inline documentation cleanup for 4.0 audit.
...
* Alignment for the 'term_search_min_chars' hook docs, added in [28892]
* Globals added for `wp_ajax_parse_embed()`, added [28580]
See #28885 .
Built from https://develop.svn.wordpress.org/trunk@29151
git-svn-id: http://core.svn.wordpress.org/trunk@28935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 00:06:15 +00:00
Scott Taylor
59ffcf668b
Media Grid, for audio files:
...
* Show `artist` and `album` fields in the Edit Attachment modal
* Sync their values on `change`
See #28839 .
Built from https://develop.svn.wordpress.org/trunk@29104
git-svn-id: http://core.svn.wordpress.org/trunk@28890 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 20:55:15 +00:00
Drew Jaynes
b10e168751
Add @see
reference for set_post_thumbnail()
in the phpDoc for wp_ajax_set_attachment_thumbnail()
.
...
See #27891 .
Built from https://develop.svn.wordpress.org/trunk@29037
git-svn-id: http://core.svn.wordpress.org/trunk@28825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 20:36:13 +00:00
Scott Taylor
57dbc55e6e
When setting the poster image for a video shortcode, set that image as the featured image for that attachment (if found) in the background. This AJAX functionality could be used for audio as well.
...
Introduces `attachment_url_to_postid()` to attempt to turn URLs into post IDs.
Fixes #27891 .
Built from https://develop.svn.wordpress.org/trunk@29029
git-svn-id: http://core.svn.wordpress.org/trunk@28817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-08 17:48:17 +00:00
John Blackbourn
38749f273c
Use the admin scheme for theme preview URLs when installing new themes. See #21919 .
...
Built from https://develop.svn.wordpress.org/trunk@28974
git-svn-id: http://core.svn.wordpress.org/trunk@28763 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-03 18:48:16 +00:00
Helen Hou-Sandí
5f6b531f70
Improve oEmbed caching. Introduces the concept of a TTL for oEmbed caches and a filter for oembed_ttl
.
...
We will no longer replace previously valid oEmbed responses with an `{{unknown}}` cache value. When this happens due to reaching a rate limit or a service going down, it is data loss, and is not acceptable. This means that oEmbed caches for a post are no longer deleted indiscriminately every time that post is saved.
oEmbed continues to be cached in post meta, with the addition of a separate meta key containing the timestamp of the last retrieval, which is used to avoid re-requesting a recently cached oEmbed response. By default, we consider a valued cached in the past day to be fresh. This can greatly reduce the number of outbound requests, especially in cases where a post containing multiple embeds is saved frequently.
The TTL used to determine whether or not to request a response can be filtered using `oembed_ttl`, thus allowing for the possibility of respecting the optional oEmbed response parameter `cache_age` or altering the period of time a cached value is considered to be fresh.
Now that oEmbeds are previewed in the visual editor as well as the media modal, oEmbed caches are often populated before a post is saved or published. By pre-populating and avoiding having to re-request that response, we also greatly reduce the chances of a stampede happening when a published post is visible before oEmbed caching is complete.
As it previously stood, a stampede was extremely likely to happen, as the AJAX caching was only triggered when `$_GET['message']` was 1. The published message is 6. We now trigger the caching every time `$_GET['message']` is present on the edit screen, as we are able to avoid triggering so many HTTP requests overall.
props markjaquith. fixes #14759 . see #17210 .
Built from https://develop.svn.wordpress.org/trunk@28972
git-svn-id: http://core.svn.wordpress.org/trunk@28761 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-03 16:45:14 +00:00
Andrew Ozz
5168f9c7c6
Secure embeds in the editor (first run):
...
- When the user pastes an embeddable http URL, try to get the https embed.
- If an embed provider doesn't support ssl embeds, show a placeholder/error message.
- Revise the way we return error messages.
See #28195 , #28507 .
Built from https://develop.svn.wordpress.org/trunk@28919
git-svn-id: http://core.svn.wordpress.org/trunk@28718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-30 05:49:16 +00:00
John Blackbourn
306dc7e646
Introduce a filter to control the minimum characters required for an AJAX term search. Fixes #13580 . Props iamfriendly, brianlayman
...
Built from https://develop.svn.wordpress.org/trunk@28892
git-svn-id: http://core.svn.wordpress.org/trunk@28691 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-29 10:05:16 +00:00
Scott Taylor
f09663f784
Remove remaining Heartbeat API experimental notices
...
Props DH-Shredder.
Fixes #28626 .
Built from https://develop.svn.wordpress.org/trunk@28872
git-svn-id: http://core.svn.wordpress.org/trunk@28672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-28 02:06:14 +00:00
Andrew Ozz
84f3e30f7b
wpView: improve handling of embed errors/error messages, see #28195
...
Built from https://develop.svn.wordpress.org/trunk@28754
git-svn-id: http://core.svn.wordpress.org/trunk@28568 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-15 22:53:16 +00:00
Sergey Biryukov
db9057f308
Remove redundant get_shortcode_regex() check.
...
props kovshenin.
see #28195 .
Built from https://develop.svn.wordpress.org/trunk@28587
git-svn-id: http://core.svn.wordpress.org/trunk@28412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-27 11:30:16 +00:00
Scott Taylor
3c1723afd7
When adding a URL in the Insert from URL
state in the media modal, attempt to show a preview of the content. Drop the unused width and height fields.
...
This will probably be iterated upon.
Props helen, jtsternberg, wonderboymusic.
See #15490 .
Built from https://develop.svn.wordpress.org/trunk@28581
git-svn-id: http://core.svn.wordpress.org/trunk@28406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-26 23:57:14 +00:00
Scott Taylor
89864b4a5a
Don't pass embeds through the_content()
when trying to render MCE previews, leverage WP_Embed
and do_shortcode()
instead.
...
Props kovshenin.
See #28195 .
Built from https://develop.svn.wordpress.org/trunk@28580
git-svn-id: http://core.svn.wordpress.org/trunk@28405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-26 23:43:15 +00:00
Scott Taylor
b8d469600b
These functions import $wpdb
but do not use it.
...
See #27882 .
Built from https://develop.svn.wordpress.org/trunk@28539
git-svn-id: http://core.svn.wordpress.org/trunk@28365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 17:37:14 +00:00
Scott Taylor
f22beb987c
First pass at wpview
logic for the [embed]
shortcode. URLs on a their own line are parsed as well. The toolbar will appear with the "remove" button when the view is clicked. Edit has not been implemented yet.
...
Props avryl, wonderboymusic.
See #28195 .
Built from https://develop.svn.wordpress.org/trunk@28358
git-svn-id: http://core.svn.wordpress.org/trunk@28186 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-10 23:36:18 +00:00
Drew Jaynes
81cfb9427a
Fix mid-file section header style in wp-admin/includes/ajax-actions.php.
...
See #28200 .
Built from https://develop.svn.wordpress.org/trunk@28356
git-svn-id: http://core.svn.wordpress.org/trunk@28184 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-10 05:02:13 +00:00
Drew Jaynes
0ef7244ce7
Add baseline doc blocks for all ajax handlers in ajax-actions.php.
...
Fixes #28200 .
Built from https://develop.svn.wordpress.org/trunk@28355
git-svn-id: http://core.svn.wordpress.org/trunk@28183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-10 05:00:19 +00:00
Scott Taylor
28d98a89f3
In ajax-actions.php
, remove dead code:
...
* In `wp_ajax_add_tag()`, `$post_type` is set and never used.
* In `wp_ajax_hidden_columns()`, `$hidden` is set twice, but only checks for the existence of `$_POST['hidden']` the first time. The two lines can be combined and work together.
* In `wp_ajax_inline_save()`, `$mode` is set and never used.
* In `wp_ajax_find_posts()`, `$searchand = $search = '';` is leftover cruft, neither variable is used. `$wpdb` does not need to be imported, it is never used.
* In `wp_ajax_wp_fullscreen_save_post()`, `$post_type` is set and never used.
* In `wp_ajax_save_attachment_order()`, `$post` is set and never used.
* In `wp_ajax_send_attachment_to_editor()`, `$title` is set and never used.
See #27882 .
Built from https://develop.svn.wordpress.org/trunk@28292
git-svn-id: http://core.svn.wordpress.org/trunk@28120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 15:19:14 +00:00
Drew Jaynes
029dd247be
Ensure the wp_edit_nav_menu_walker
filter is only documented once.
...
See #26869 .
Built from https://develop.svn.wordpress.org/trunk@28213
git-svn-id: http://core.svn.wordpress.org/trunk@28043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-25 06:50:15 +00:00
Drew Jaynes
a9b74e2088
Ensure the nav_menu_meta_box_object
filter hook is only documented once.
...
See #26869 .
Built from https://develop.svn.wordpress.org/trunk@28207
git-svn-id: http://core.svn.wordpress.org/trunk@28037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-25 06:14:15 +00:00
Andrew Nacin
b89775445e
Theme Installer: Proper redirection and action links post-install in multisite.
...
fixes #27869 .
Built from https://develop.svn.wordpress.org/trunk@28163
git-svn-id: http://core.svn.wordpress.org/trunk@27994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-19 18:18:16 +00:00
Andrew Nacin
9f81d0526e
Theme Installer: Revert to proxying through PHP for WordPress.org API requests.
...
This is to ensure we have valid installation nonces, though we've run into this as a problem previously (see #27639 , #27581 , #27055 ).
A tad slower, but we gained speed in 3.9 by simplifying the request made to the API.
props ocean90.
fixes #27798 .
Built from https://develop.svn.wordpress.org/trunk@28126
git-svn-id: http://core.svn.wordpress.org/trunk@27957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-15 01:16:14 +00:00
Drew Jaynes
5613b40981
The sidebar_admin_setup
hook should only be documented once in wp-admin/widgets.php. All others are duplicates.
...
See #25374 , #25501 , #27531 .
Built from https://develop.svn.wordpress.org/trunk@27823
git-svn-id: http://core.svn.wordpress.org/trunk@27657 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 19:47:15 +00:00
Dominik Schilling
c707faa639
Widget Customizer: Convert static WP_Customize_Widgets class into instantiated class and merge Options_Transaction into WP_Customize_Widgets.
...
see #27504 .
props westonruter.
Built from https://develop.svn.wordpress.org/trunk@27816
git-svn-id: http://core.svn.wordpress.org/trunk@27650 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 14:07:14 +00:00
Andrew Nacin
b0188044a2
Heartbeat: Hooks should always receive unslashed data.
...
This affects the privileged hooks; the unprivileged hooks already received unslashed data.
props johnbillion, TobiasBg.
fixes #27260 .
Built from https://develop.svn.wordpress.org/trunk@27576
git-svn-id: http://core.svn.wordpress.org/trunk@27419 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 00:15:15 +00:00
Dominik Schilling
f46a085f7c
Widget Customizer: Use ?wp_customize=on.
...
Let _wp_customize_include() handle customizer initialisation.
Sets also the priority for the Add Widget and Reorder buttons and removes debug cruft.
props westonruter.
fixes #27291 .
Built from https://develop.svn.wordpress.org/trunk@27524
git-svn-id: http://core.svn.wordpress.org/trunk@27367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-13 18:38:14 +00:00
Andrew Nacin
e853a9cc57
Add widget management to the customizer.
...
This brings in the Widget Customizer plugin: https://wordpress.org/plugins/widget-customizer/ .
props westonruter, shaunandrews, michael-arestad, johnregan3, akeda, topher1kenobe, topquarky, bobbravo2, ricardocorreia. And for good measure, props westonruter.
see #27112 .
Built from https://develop.svn.wordpress.org/trunk@27419
git-svn-id: http://core.svn.wordpress.org/trunk@27266 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 20:41:14 +00:00
Andrew Ozz
7121bb490d
Restyles the modal for attaching media to posts, take II (also some autoprefixer and imagemin). Props avryl, see #26952 .
...
Built from https://develop.svn.wordpress.org/trunk@27403
git-svn-id: http://core.svn.wordpress.org/trunk@27250 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 03:54:15 +00:00