Boone Gorges
49803a45f3
Send multisite site/user signup emails via hooked functions.
...
Site and user signup notifications are moved to the new actions
`'after_signup_site'` and `'after_signup_user'`. Site and user activation
notifications are moved to the existing actions `'wpmu_activate_blog'` and
`'wpmu_activate_user'`.
Props dshanske, thomaswm, jeremyfelt.
See #33587..
Built from https://develop.svn.wordpress.org/trunk@34112
git-svn-id: http://core.svn.wordpress.org/trunk@34080 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 03:28:24 +00:00
Scott Taylor
ecc4106ed1
Add an argument to parent_dropdown()
, $post
, to allow it to be called for an arbitrary post.
...
Fixes #23162 .
Built from https://develop.svn.wordpress.org/trunk@34111
git-svn-id: http://core.svn.wordpress.org/trunk@34079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 03:20:25 +00:00
Scott Taylor
172e37b007
Move Walker_Category
and Walker_CategoryDropdown
into their own files via svn cp
. Remove them from category-template.php
. Load them in category.php
. svn cp
category.php
over to category-functions.php
, which also loads now in category.php
.
...
See #33413 .
Built from https://develop.svn.wordpress.org/trunk@34110
git-svn-id: http://core.svn.wordpress.org/trunk@34078 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 03:10:24 +00:00
Scott Taylor
4cec121d0b
Move Walker_Page
and Walker_PageDropdown
into their own files via svn cp
. Remove them from post-template.php
. Load them in post.php
.
...
`post-template.php` loads after `post.php` in `wp-settings.php`. It could probably also be loaded in `post.php`, but avoiding that for the moment.
See #33413 .
Built from https://develop.svn.wordpress.org/trunk@34109
git-svn-id: http://core.svn.wordpress.org/trunk@34077 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:59:24 +00:00
Scott Taylor
07c6fad006
In wp_link_pages()
, ensure that $prev
is greater than 0
.
...
Props betzster.
Fixes #25273 .
Built from https://develop.svn.wordpress.org/trunk@34108
git-svn-id: http://core.svn.wordpress.org/trunk@34076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:46:24 +00:00
Boone Gorges
b62bcef1b1
Send password-change email notifications via hook.
...
`wp_password_change_notification()` is now called at the 'after_password_reset'
action, rather than being invoked directly from the `reset_password()` function.
In order to make it possible to call `wp_password_change_notification()` as a
`do_action()` callback, the function signature has to be changed so that the
`$user` parameter is expected to be a value rather than a reference. Since
PHP 5.0, objects are passed by reference, so `&$user` was unnecessary anyway.
Props dshanske, thomaswm.
See #33587 .
Built from https://develop.svn.wordpress.org/trunk@34107
git-svn-id: http://core.svn.wordpress.org/trunk@34075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:45:25 +00:00
Boone Gorges
c614849786
Send comment notification emails via a hooked function.
...
Previously, `wp_notify_postauthor()` and `wp_notify_moderator()` were called
directly from `wp_new_comment()`, making it difficult to modify or suppress
default notification emails.
Props dshanske, thomaswm.
See #33587 .
Built from https://develop.svn.wordpress.org/trunk@34106
git-svn-id: http://core.svn.wordpress.org/trunk@34074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:17:26 +00:00
Scott Taylor
373d73f781
Turn off autocomplete
for the new-post-slug
field.
...
Props johnbillion.
Fixes #32752 .
Built from https://develop.svn.wordpress.org/trunk@34105
git-svn-id: http://core.svn.wordpress.org/trunk@34073 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:03:25 +00:00
Dion Hulse
476b5c2046
When running on windows systems, normalise the capitalisation of the drive letter for more reliable string comparisons.
...
Props tyxla
Fixes #33265
Built from https://develop.svn.wordpress.org/trunk@34104
git-svn-id: http://core.svn.wordpress.org/trunk@34072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 01:59:25 +00:00
Scott Taylor
bae7312f03
Pass $r
and $pages
to the 'wp_dropdown_pages' and 'wp_list_pages' filters.
...
Props bigdawggi, SergeyBiryukov.
Fixes #23734 .
Built from https://develop.svn.wordpress.org/trunk@34103
git-svn-id: http://core.svn.wordpress.org/trunk@34071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 01:32:24 +00:00
Scott Taylor
9604c74f62
Objects are passed by-reference since PHP 5. In _get_custom_object_labels()
, cast $object->labels
back to object
before returning. This function is weird.
...
Adds unit test.
Props Toro_Unit.
Fixes #33023 .
Built from https://develop.svn.wordpress.org/trunk@34102
git-svn-id: http://core.svn.wordpress.org/trunk@34070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 01:23:26 +00:00
Scott Taylor
ae6a3aee7f
Make WP_List_Table::get_primary_column_name()
public in list table classes that have it.
...
Fixes #33854 .
Built from https://develop.svn.wordpress.org/trunk@34101
git-svn-id: http://core.svn.wordpress.org/trunk@34069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 01:12:25 +00:00
Scott Taylor
5077d917a3
Check if the $post_type
passed to get_post_type_object()
is a scalar
value. Non-scalars were producing PHP warnings.
...
Adds unit tests.
Props Kloon.
Fixes #30013 .
Built from https://develop.svn.wordpress.org/trunk@34100
git-svn-id: http://core.svn.wordpress.org/trunk@34068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 00:03:24 +00:00
Jeremy Felt
fa1e1a8850
Multisite: Implement the get_by_path
method in WP_Network
.
...
Move the internals of `get_network_by_path()` to `WP_Network()` and allow network objects to be retrieved by passing a requested domain and path.
Props johnjamesjacoby, jeremyfelt, drewapicture, wonderboymusic.
See #31985 .
Built from https://develop.svn.wordpress.org/trunk@34099
git-svn-id: http://core.svn.wordpress.org/trunk@34067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 23:40:24 +00:00
Scott Taylor
c745c2deb3
In edit_post_link()
, add an argument for the class attribute that defaults to post-edit-link
.
...
Props voldemortensen.
Fixes #30563 .
Built from https://develop.svn.wordpress.org/trunk@34098
git-svn-id: http://core.svn.wordpress.org/trunk@34066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 23:34:24 +00:00
Jeremy Felt
16b4096779
Multisite: Introduce the WP_Network
class.
...
A `WP_Network` object initially matches a row from `wp_site` and is populated with additional properties used by WordPress core. The first iteration is used to retrieve an existing network based on data passed to the class.
* A network can be retrieved by its ID through `WP_Network::get_instance()`, following in the steps of `WP_Post` and `WP_Comment`.
* A network object can be created or completed by passing initial properties in as a standard object to `new WP_Network()`.
Using these methods, we are now able to populate the global `$current_site` during load via this class.
Props johnjamesjacoby, jeremyfelt, drewapicture, wonderboymusic.
See #31985 .
Built from https://develop.svn.wordpress.org/trunk@34097
git-svn-id: http://core.svn.wordpress.org/trunk@34065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 23:31:26 +00:00
Andrea Fercia
2a6793c7b2
Bump H3 headings to H2 on the Writing Settings screen for better accessibility.
...
Props mrahmadawais.
Fixes #33651 .
Built from https://develop.svn.wordpress.org/trunk@34096
git-svn-id: http://core.svn.wordpress.org/trunk@34064 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 16:48:26 +00:00
Helen Hou-Sandí
7f772bdaff
Comments: Fix inline edit/reply on small screens.
...
props ocean90, SergeyBiryukov.
fixes #33596 .
Built from https://develop.svn.wordpress.org/trunk@34094
git-svn-id: http://core.svn.wordpress.org/trunk@34062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 12:47:27 +00:00
Weston Ruter
bd801ae5db
Customize: Remove redundant aria-label
attributes.
...
Adds an `$options` array argument to `WP_Screen::render_screen_options()` to allow the `div#screen-options-wrap` element to be omitted when `wrap` value is `false`.
Props afercia, westonruter.
Fixes #33182 .
Built from https://develop.svn.wordpress.org/trunk@34093
git-svn-id: http://core.svn.wordpress.org/trunk@34061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 06:16:26 +00:00
Jeremy Felt
f7a00464d5
Tests: Update Tests_Feed_RSS::test_items
to expect new comment permalink structure.
...
Introduced in [34075] for posts without comments.
Props netweb.
Fixes #19893 .
Built from https://develop.svn.wordpress.org/trunk@34092
git-svn-id: http://core.svn.wordpress.org/trunk@34060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 23:31:25 +00:00
Boone Gorges
1ff03c9d6e
Fail gracefully when checking mapped cap against unregistered post type.
...
Post type objects are reponsible for mapping their capabilities to core caps.
As a result, when the post type is no longer registered, the caps are no
longer mapped. This causes problems when a post is left in the database after
the post type is no longer present, and WP does an 'edit_post' or other cap
check against it: a PHP notice is thrown, and the cap check always fails.
As a more graceful fallback, we map all post-type-dependent caps onto
'edit_others_posts', which allows highly privileged users to be able to
access orphaned content (such as comments belonging to disabled post types),
while minimizing the possibility of unintended privilege escalation.
We also add a `_doing_it_wrong()` notice, so that developers and site
administrators are aware that the cap mapping is failing in the absence of
the registered post type.
Props mitchoyoshitaka, DrewAPicture, imath, codeelite, boonebgorges, nofearinc, SergeyBiryukov, jorbin, dlh.
Fixes #16956 .
Built from https://develop.svn.wordpress.org/trunk@34091
git-svn-id: http://core.svn.wordpress.org/trunk@34059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 21:27:25 +00:00
Boone Gorges
c0a0d4ba50
Use stricter sanitization for meta query clause keys.
...
By forcing all clause keys to be strings, we make it possible to use strict
comparison when validating values of 'orderby' as passed to `WP_Query`. This
eliminates situations where the presence of numeric clause keys could result
in an improperly validated 'orderby' value.
Props nikolov.tmw.
Fixes #32937 .
Built from https://develop.svn.wordpress.org/trunk@34090
git-svn-id: http://core.svn.wordpress.org/trunk@34058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 21:06:24 +00:00
Boone Gorges
fc884dc7ec
Allow setup_postdata()
to accept a post ID.
...
Previously, it accepted only a full post object.
Props sc0ttclark, mordauk, wonderboymusic.
Fixes #30970 .
Built from https://develop.svn.wordpress.org/trunk@34089
git-svn-id: http://core.svn.wordpress.org/trunk@34057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 20:58:23 +00:00
Boone Gorges
e0b1340461
Remove extraneous table join in get_adjacent_post()
.
...
Since [29248], a table join has not been necessary to process the
`$excluded_terms` parameter of `get_adjacent_post()`. Aside from adding extra
overhead, this join meant that post records that don't have any corresponding
rows in `wp_term_relationships` were erroneously excluded from results.
Fixes #32833 .
Built from https://develop.svn.wordpress.org/trunk@34088
git-svn-id: http://core.svn.wordpress.org/trunk@34056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 20:34:24 +00:00
Dominik Schilling
4d5cd90b46
Revert [34013] and parts of [33970].
...
* `_WP_Editors::wp_mce_translation()` can't be changed without changing strings in TinyMCE and plugins.
* `\u2026` is escaped by `json_encode()` to `\\u2026`, makes `\u2026` visible in our UI.
See #32875 .
Built from https://develop.svn.wordpress.org/trunk@34087
git-svn-id: http://core.svn.wordpress.org/trunk@34055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 20:03:24 +00:00
Dominik Schilling
720cea8cf9
Themes: Don't use HTML entities for placeholders.
...
See #32875 .
Built from https://develop.svn.wordpress.org/trunk@34086
git-svn-id: http://core.svn.wordpress.org/trunk@34054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 19:48:24 +00:00
Scott Taylor
8977166746
In wp_insert_post()
, when setting $post_author
, use isset()
instead of ! empty()
to allow 0
to be passed as the value for $post_author
.
...
Adds unit tests.
Props ericdaams, wonderboymusic.
Fixes #32585 .
Built from https://develop.svn.wordpress.org/trunk@34085
git-svn-id: http://core.svn.wordpress.org/trunk@34053 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 18:54:25 +00:00
Scott Taylor
8591f94b0a
WP_Posts_List_Table
: there are a cadre of edit.php
URLs that are generated by string-building instead of using our handy functions. Create a helper method, ->get_edit_link()
that standardizes the generation and escaping of these URLs.
...
Props BdN3504 for the initial patch on the ticket.
Fixes #32376 .
Built from https://develop.svn.wordpress.org/trunk@34084
git-svn-id: http://core.svn.wordpress.org/trunk@34052 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 17:13:25 +00:00
Scott Taylor
a2aca8d063
Use table-layout: auto
(instead of fixed
) on table.fixed
to ensure that things like date/time don't horrendously wrap on small screens. Before/After screenshots attached to the ticket.
...
Props gaelan.
Fixes #32691 .
Built from https://develop.svn.wordpress.org/trunk@34083
git-svn-id: http://core.svn.wordpress.org/trunk@34051 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 16:04:25 +00:00
Scott Taylor
5a21742a6f
wp_delete_post()
: add a filter, 'pre_delete_post', to allow bailout from the function if the filter returns a non-null value.
...
Props boonebgorges.
Fixes #32933 .
Built from https://develop.svn.wordpress.org/trunk@34082
git-svn-id: http://core.svn.wordpress.org/trunk@34050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 15:59:24 +00:00
Scott Taylor
891b76e034
sanitize_post()
: the default value for $context
is 'display'. The documentation says the default for sanitize_post_field()
is 'display', but there is no default for the arg. Make the argument: $context = 'default'
.
...
Props morganestes.
Fixes #33117 .
Built from https://develop.svn.wordpress.org/trunk@34081
git-svn-id: http://core.svn.wordpress.org/trunk@34049 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 15:46:25 +00:00
Scott Taylor
0b412d3333
sanitize_post()
is polymorphic, add an is_array()
check for $post
before operating on it as an array.
...
Props morganestes.
Fixes #33118 .
Built from https://develop.svn.wordpress.org/trunk@34080
git-svn-id: http://core.svn.wordpress.org/trunk@34048 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 15:38:27 +00:00
Dominik Schilling
620abd39a1
Bundled Themes: Update Tested up to
.
...
Props mercime.
Fixes #33794 .
Built from https://develop.svn.wordpress.org/trunk@34079
git-svn-id: http://core.svn.wordpress.org/trunk@34047 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 12:47:25 +00:00
Scott Taylor
281faeb69d
After [34076], fix the logic for post_status
in months dropdown.
...
See #21015 .
Built from https://develop.svn.wordpress.org/trunk@34077
git-svn-id: http://core.svn.wordpress.org/trunk@34045 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 08:19:24 +00:00
Scott Taylor
eb230b5424
List Tables: don't render "extra tablenav" if there are no posts. This includes Bulk Actions, Dates Dropdown, Category Dropdowns, Pagination.
...
Also ensure that the Months dropdown, when it is shown, shows months from the proper set of posts.
Props egower, CoenJacobs, MikeHansenMe, mehulkaklotar.
Fixes #33824 , #21015 , #21856 .
Built from https://develop.svn.wordpress.org/trunk@34076
git-svn-id: http://core.svn.wordpress.org/trunk@34044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 08:13:24 +00:00
Scott Taylor
41c5bfb493
Comments: get_comments_link()
should return a link with #respond
as the hash instead of #comments
if get_comments_number()
returns 0
.
...
Props cgrymala, wonderboymusic.
Fixes #19893 .
Built from https://develop.svn.wordpress.org/trunk@34075
git-svn-id: http://core.svn.wordpress.org/trunk@34043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 07:36:25 +00:00
Scott Taylor
ed83979728
AJAX Reply to Comment: check the edit_comment
cap when parent comment will be auto-approved.
...
Props rachelbaker.
Fixes #23939 .
Built from https://develop.svn.wordpress.org/trunk@34074
git-svn-id: http://core.svn.wordpress.org/trunk@34042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 07:19:25 +00:00
Boone Gorges
1a203b5328
Better default values in WP_Query::get_queried_object()
.
...
Setting the default value of the `queried_object_id` property to `0` meant
that, when called early enough in the WP bootstrap, `get_queried_object()`
could short-circuit the normal query by fooling it into thinking that the
request was for a page with id 0. Setting the default value to `null` instead
avoids this problem.
Props gradyetc, jazbek.
Fixes #31355 .
Built from https://develop.svn.wordpress.org/trunk@34073
git-svn-id: http://core.svn.wordpress.org/trunk@34041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 03:37:23 +00:00
Scott Taylor
4dbaf63b67
Edit Comment screen: remove the "View Comment" button (actually a link) from the publish meta box. Mimic the "Edit URL/Permalink" UI from the Edit Post screen to show the comment link below the screen title, but make it an actual link, not a button.
...
Props ocean90, DrewAPicture, wonderboymusic.
Fixes #19168 .
Built from https://develop.svn.wordpress.org/trunk@34072
git-svn-id: http://core.svn.wordpress.org/trunk@34040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 03:20:24 +00:00
Scott Taylor
1cbda0e1eb
Comments: comment_link()
currently takes no arguments, yet get_comment_link()
does. Allow comment_link()
to optionally take the same arguments.
...
See #33638 .
Built from https://develop.svn.wordpress.org/trunk@34071
git-svn-id: http://core.svn.wordpress.org/trunk@34039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 03:16:23 +00:00
Scott Taylor
821939d6d1
Quick Edit: fix an ID attribute name collision by renaming one of the author fields author-name
.
...
Props afercia.
Fixes #33770 .
Built from https://develop.svn.wordpress.org/trunk@34070
git-svn-id: http://core.svn.wordpress.org/trunk@34038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 02:35:25 +00:00
Scott Taylor
b453af5718
When clicking "Show More Comments" in the Comments meta box on the Edit Post screen, change the click behavior to call a new class method on commentsBox
, ->load()
, that resets st
(cool name) to the number of visible <tr>
s before calling ->get()
. This will account for spam'd and trash'd comments when returning comments at the proper offset.
...
Props utkarshpatel.
Fixes #33829 .
Built from https://develop.svn.wordpress.org/trunk@34069
git-svn-id: http://core.svn.wordpress.org/trunk@34037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 02:28:26 +00:00
Andrew Ozz
a69e71fafe
Settings, password field: fix placement of the error icon and removal of the error class.
...
Props liljimmi, adamsilverstein.
Fixes #33406 for trunk.
Built from https://develop.svn.wordpress.org/trunk@34068
git-svn-id: http://core.svn.wordpress.org/trunk@34036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 00:10:25 +00:00
Andrea Fercia
a751eccdf2
Bump H3 headings to H2 on the Plugin Editor screen for better accessibility.
...
Fixes #33839 .
Built from https://develop.svn.wordpress.org/trunk@34067
git-svn-id: http://core.svn.wordpress.org/trunk@34035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 00:08:24 +00:00
Andrea Fercia
f446d01b4c
Bump H3 headings to H2 on the Theme Editor screen for better accessibility.
...
Props mrahmadawais.
Fixes #33660 .
Built from https://develop.svn.wordpress.org/trunk@34066
git-svn-id: http://core.svn.wordpress.org/trunk@34034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 00:00:24 +00:00
Andrea Fercia
085d051305
Nav Menus: fix the quick search spinner position on Operating Systems that show scrollbars.
...
Fixes #33290 .
Built from https://develop.svn.wordpress.org/trunk@34065
git-svn-id: http://core.svn.wordpress.org/trunk@34033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 23:52:25 +00:00
Andrea Fercia
5f5ea8c3e2
Quick Edit: fix the Tags auto-suggest tooltip visibility.
...
Be sure to hide the `jquery.suggest` Tags textarea tooltip also when using the keyboard to Save/Cancel.
Props rommelxcastro for the initial patch.
Fixes #32580 .
Built from https://develop.svn.wordpress.org/trunk@34064
git-svn-id: http://core.svn.wordpress.org/trunk@34032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 23:34:25 +00:00
Andrew Ozz
e1ccdf760e
Settings: properly set the password field label on loading.
...
See #33778 .
Built from https://develop.svn.wordpress.org/trunk@34062
git-svn-id: http://core.svn.wordpress.org/trunk@34030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 23:05:24 +00:00
Andrew Ozz
0406f50cfb
Settings: reassign the label when switching password fields so it always highlights the visible field.
...
Props umesh.nevase.
Fixes #33778 for trunk.
Built from https://develop.svn.wordpress.org/trunk@34061
git-svn-id: http://core.svn.wordpress.org/trunk@34029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 22:52:26 +00:00
Dominik Schilling
efcdeea2f1
Passwords: Refresh password fields when content is pasted into fields.
...
Use feature detection to determine whether password inputs should use the `keyup` or `input` event.
Props peterwilsoncc, adamsilverstein.
Fixes #33398 .
Built from https://develop.svn.wordpress.org/trunk@34060
git-svn-id: http://core.svn.wordpress.org/trunk@34028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 21:52:27 +00:00