Sergey Biryukov
42d52ce080
Bundled Themes: Declare HTML5 support for scripts and styles.
...
Fixes #42804 .
Built from https://develop.svn.wordpress.org/trunk@46165
git-svn-id: http://core.svn.wordpress.org/trunk@45977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-18 14:51:56 +00:00
Sergey Biryukov
252628652e
Script Loader: Introduce HTML5 support for scripts and styles.
...
When a theme declares HTML5 support for script and styles via `add_theme_support( 'html5', array( 'script', 'style' ) )`, the `type="text/javascript"` and `type="text/css"` attributes are omitted.
These attributes are unnecessary in HTML5 and cause warnings in the W3C Markup Validation Service.
Props sasiddiqui, swissspidy, knutsp, SergeyBiryukov.
See #42804 .
Built from https://develop.svn.wordpress.org/trunk@46164
git-svn-id: http://core.svn.wordpress.org/trunk@45976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-18 14:50:56 +00:00
Andrea Fercia
095805b5e6
Accessibility: Add `aria-current` to the Archives, Categories, and Recent Posts widgets output.
...
The `aria-current` attribute is a simple, effective, way to help assistive technology users orientate themselves within a list of items.
Continues the introduction in core of the `aria-current` attribute after [41359] and following changes.
Props audrasjb, melchoyce.
Fixes #47094 .
Built from https://develop.svn.wordpress.org/trunk@46163
git-svn-id: http://core.svn.wordpress.org/trunk@45975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-18 12:25:56 +00:00
John Blackbourn
b4ac30c19c
Docs: Improve docs for upload and `wp_die()` related functions.
...
See #47110
Built from https://develop.svn.wordpress.org/trunk@46162
git-svn-id: http://core.svn.wordpress.org/trunk@45974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 21:03:54 +00:00
desrosj
5a477b5715
Docs: Add missing descriptions for functions in `wp-admin/update-core.php`.
...
Also, fix the `@since` annotation added in [45480] to include the correct version.
Props SergeyBiryukov, ajayghaghretiya1.
Fixes #47424 .
Built from https://develop.svn.wordpress.org/trunk@46161
git-svn-id: http://core.svn.wordpress.org/trunk@45973 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 20:43:56 +00:00
desrosj
a969ce8edf
Posts, Post Types: Allow support arguments to be specified when registering post types.
...
The `add_post_type_support()` function accepts an optional third parameter that allows extra arguments to be supplied to configure post type support for a given feature. However, because of how `register_post_type()` and `WP_Post_Type->add_supports()` work, it is currently impossible to pass these additional arguments when initially registering a post type with `register_post_type()`.
This change makes it possible to supply additional arguments for a feature using the `supports` argument of `register_post_type()`.
Props MaximeCulea, seuser, desrosj, johnbillion.
Fixes #40413 .
Built from https://develop.svn.wordpress.org/trunk@46160
git-svn-id: http://core.svn.wordpress.org/trunk@45972 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 19:58:56 +00:00
desrosj
d4928fb9cd
Build/Test Tools: Improve test coverage for `wp_validate_boolean()`.
...
This change also reworks the test class to use a data provider.
Props pbearne, desrosj
Fixes #39868
Built from https://develop.svn.wordpress.org/trunk@46159
git-svn-id: http://core.svn.wordpress.org/trunk@45971 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 18:49:55 +00:00
Adam Silverstein
3b1f90886c
Build/Test Tools: fix source map loading in Firefox.
...
Fix an issue that prevented source maps from loading correctly in Firefox developer tools. Matches a fix introduced in Gutenberg build in PR:17024.
Props pierlo, andraganescu.
Fixes #47870 .
Built from https://develop.svn.wordpress.org/trunk@46158
git-svn-id: http://core.svn.wordpress.org/trunk@45970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 17:27:55 +00:00
Adam Silverstein
0cb3860138
External Libraries: Update Backbone.js to 1.4.0.
...
Upgrade Backbone to the latest stable version. Fix some issues in Media with `listenTo` which changed in this version, see https://backbonejs.org/#changelog .
Props desrosj, priyankkpatel, pierlo.
Fixes #47478 .
Built from https://develop.svn.wordpress.org/trunk@46157
git-svn-id: http://core.svn.wordpress.org/trunk@45969 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 17:19:54 +00:00
Sergey Biryukov
222b400a7d
Docs: Correct accepted values for `search_columns` parameter in `WP_User_Query`.
...
Props meloniq.
Fixes #48057 .
Built from https://develop.svn.wordpress.org/trunk@46156
git-svn-id: http://core.svn.wordpress.org/trunk@45968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 15:43:56 +00:00
desrosj
5329411f6d
General: Ensure the arguments passed to `implode()` are in the correct order.
...
The `implode()` function accepts two. parameters, `$glue` and `$pieces`. For historical reasons, these parameters have been accepted in any order, though it was recommended that the documented order of `$glue, $pieces` be used.
Starting in PHP 7.4, specifying the parameters in the reverse order will trigger a deprecation notice with the plan to remove this tolerance in PHP 8.0.
This change fixes the occurrences of reversed arguments in Core with the exception of those contained in included external libraries. These will be handled separately.
Props jrf, jorbin.
See #47746 .
Built from https://develop.svn.wordpress.org/trunk@46155
git-svn-id: http://core.svn.wordpress.org/trunk@45967 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 13:40:57 +00:00
Sergey Biryukov
b2a384461e
Date/Time: Introduce `get_post_datetime()` to retrieve post published or modified time as a `DateTimeImmutable` object instance.
...
Introduce `get_post_timestamp()` to retrieve post published or modified time as a Unix timestamp.
Use `get_post_datetime()` in `get_post_time()` and `get_post_modified_time()` to return correct GMT time if default timezone is changed from UTC.
Props Rarst, johnregan3.
Fixes #25002 .
Built from https://develop.svn.wordpress.org/trunk@46154
git-svn-id: http://core.svn.wordpress.org/trunk@45966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-17 11:14:54 +00:00
johnjamesjacoby
757d077669
Network Admin: Allow Sites to have filterable States in List Table rows.
...
This change introduces a new `site_states()` method to the Sites List Table class (with a new `display_site_states` filter inside of it) following the pattern popularized in other List Table classes before it (Posts, Media, etc...)
Fixes #37684 . Props mnelson4, pbiron, jeremyfelt, johnjamesjacoby.
Built from https://develop.svn.wordpress.org/trunk@46153
git-svn-id: http://core.svn.wordpress.org/trunk@45965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 23:34:55 +00:00
Sergey Biryukov
a1a5df805c
Docs: Improve documentation for `get_bookmarks()`.
...
Props pbiron.
Fixes #48053 .
Built from https://develop.svn.wordpress.org/trunk@46152
git-svn-id: http://core.svn.wordpress.org/trunk@45964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 19:55:56 +00:00
Sergey Biryukov
a3e747990c
Site Health: Add a link to "Debugging in WordPress" support article to fatal PHP error handler's default message.
...
Props garrett-eclipse, tobifjellner, dkarfa, hareesh-pillai.
Fixes #47681 .
Built from https://develop.svn.wordpress.org/trunk@46151
git-svn-id: http://core.svn.wordpress.org/trunk@45963 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 17:23:55 +00:00
Sergey Biryukov
a86fde414b
Docs: Improve `@return` value description for `wp_xmlrpc_server::minimum_args()`.
...
See #47110 .
Built from https://develop.svn.wordpress.org/trunk@46150
git-svn-id: http://core.svn.wordpress.org/trunk@45962 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 16:32:55 +00:00
Sergey Biryukov
a86711e28e
Code Modernisation: Remove redundant PHP 4 code from `do_action()`.
...
As of PHP 5, objects are always passed by reference, so this has not been needed for quite some time.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46149
git-svn-id: http://core.svn.wordpress.org/trunk@45961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 14:48:54 +00:00
Sergey Biryukov
dc305e9e0a
XML-RPC: Avoid a PHP warning in `wp_xmlrpc_server::minimum_args()` if `$args` is not an array.
...
Correct the documentation to clarify that array is the only acceptable type for `$args`.
Props bitcomplex, dkarfa.
Fixes #48046 .
Built from https://develop.svn.wordpress.org/trunk@46148
git-svn-id: http://core.svn.wordpress.org/trunk@45960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 09:58:56 +00:00
Sergey Biryukov
1060f7e167
Widgets: Introduce `register_sidebar_defaults` filter for default arguments in `register_sidebar()`.
...
Props patilvikasj, powerbuoy.
Fixes #48033 .
Built from https://develop.svn.wordpress.org/trunk@46147
git-svn-id: http://core.svn.wordpress.org/trunk@45959 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-16 09:13:54 +00:00
Sergey Biryukov
f3f1d530f4
Code Modernisation: Simplify some logic in `apply_filters()`.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46146
git-svn-id: http://core.svn.wordpress.org/trunk@45958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 12:04:55 +00:00
Sergey Biryukov
3b43f6dfbf
Code Modernisation: Replace `call_user_func_array()` in `tests/phpunit/tests/db.php` with dynamic function calls.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46145
git-svn-id: http://core.svn.wordpress.org/trunk@45957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:56:54 +00:00
Sergey Biryukov
e6bbff13c5
Code Modernisation: Replace `call_user_func_array()` in various `__call()` methods with dynamic function calls.
...
The callback in these functions is always checked against a limited list of valid callbacks that can be safely changed to dynamic function calls.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46144
git-svn-id: http://core.svn.wordpress.org/trunk@45956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:53:56 +00:00
Sergey Biryukov
2a35b3e7df
Code Modernisation: Replace `call_user_func_array()` in `wp-includes/class-wp-walker.php` with dynamic function calls.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46143
git-svn-id: http://core.svn.wordpress.org/trunk@45955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:50:55 +00:00
Sergey Biryukov
3daef6260b
Code Modernisation: Replace `call_user_func_array()` in `wp-cron.php` with a direct function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46142
git-svn-id: http://core.svn.wordpress.org/trunk@45954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:48:54 +00:00
Sergey Biryukov
c32fb1dbee
Code Modernisation: Remove redundant call to `func_get_arg()` in `wp-includes/class-wp-rewrite.php`.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46141
git-svn-id: http://core.svn.wordpress.org/trunk@45953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:47:54 +00:00
Sergey Biryukov
92ba2cc95d
Code Modernisation: Remove redundant calls to `func_get_arg()` in `wp-includes/class-wp-admin-bar.php`.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46140
git-svn-id: http://core.svn.wordpress.org/trunk@45952 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:46:54 +00:00
Sergey Biryukov
60f027a378
Code Modernisation: Replace `call_user_func_array()` in combination with an empty array in `wp-includes/class-wp-hook.php` with `call_user_func()`.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46139
git-svn-id: http://core.svn.wordpress.org/trunk@45951 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:45:56 +00:00
Sergey Biryukov
8ee3790851
Code Modernisation: Replace `call_user_func_array()` in `wp-admin/includes/widgets.php` and associated unit tests with a direct function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46138
git-svn-id: http://core.svn.wordpress.org/trunk@45950 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:41:55 +00:00
Sergey Biryukov
f166554882
Code Modernisation: Replace `call_user_func_array()` in `wp-admin/includes/template.php` with a dynamic function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46137
git-svn-id: http://core.svn.wordpress.org/trunk@45949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:35:56 +00:00
Sergey Biryukov
7c370fa9d0
Code Modernisation: Replace `call_user_func_array()` in `wp-admin/includes/ajax-actions.php` with a dynamic function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46136
git-svn-id: http://core.svn.wordpress.org/trunk@45948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:34:57 +00:00
Sergey Biryukov
4bcec84309
Code Modernisation: Replace `call_user_func_array()` in `wp-includes/post-template.php` with a dynamic function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46135
git-svn-id: http://core.svn.wordpress.org/trunk@45947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:32:54 +00:00
Sergey Biryukov
4b3df8e846
Code Modernisation: Replace `call_user_func_array()` in `wp-includes/nav-menu-template.php` with a dynamic function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46134
git-svn-id: http://core.svn.wordpress.org/trunk@45946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:31:57 +00:00
Sergey Biryukov
6e39938fb5
Code Modernisation: Replace `call_user_func_array()` in `wp-includes/class-wp-customize-*.php` with direct function calls in combination with the spread operator.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46133
git-svn-id: http://core.svn.wordpress.org/trunk@45945 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:27:55 +00:00
Sergey Biryukov
d55f1f81c7
Code Modernisation: Replace `call_user_func_array()` in `wp-includes/capabilities.php` with a direct function call.
...
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46132
git-svn-id: http://core.svn.wordpress.org/trunk@45944 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:23:56 +00:00
Sergey Biryukov
30fe3f5d4f
Code Modernisation: Introduce the spread operator in `wp-admin/includes/media.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46131
git-svn-id: http://core.svn.wordpress.org/trunk@45943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:12:55 +00:00
Sergey Biryukov
7093392099
Code Modernisation: Introduce the spread operator in `wp-admin/includes/dashboard.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46130
git-svn-id: http://core.svn.wordpress.org/trunk@45942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:11:56 +00:00
Sergey Biryukov
efe18c3604
Code Modernisation: Introduce the spread operator in `wp-includes/deprecated.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
While these functions are deprecated, they can still get a minor performance boost in case they are being called.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46129
git-svn-id: http://core.svn.wordpress.org/trunk@45941 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:09:54 +00:00
Sergey Biryukov
6a039a5731
Code Modernisation: Introduce the spread operator in `wp-includes/formatting.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46128
git-svn-id: http://core.svn.wordpress.org/trunk@45940 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:06:55 +00:00
Sergey Biryukov
9e2c6eb624
Code Modernisation: Introduce the spread operator in `tests/phpunit/*`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46127
git-svn-id: http://core.svn.wordpress.org/trunk@45939 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 11:04:55 +00:00
Sergey Biryukov
7a6d74e28a
Code Modernisation: Introduce the spread operator in `wp-includes/functions.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46126
git-svn-id: http://core.svn.wordpress.org/trunk@45938 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 10:45:56 +00:00
Sergey Biryukov
340b7b53c8
Code Modernisation: Introduce the spread operator in `wp-admin/includes/class-*-upgrader-skin.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46125
git-svn-id: http://core.svn.wordpress.org/trunk@45937 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 10:42:54 +00:00
Sergey Biryukov
300b14e1ca
Code Modernisation: Introduce the spread operator in `wp-includes/class-wp-dependency.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46124
git-svn-id: http://core.svn.wordpress.org/trunk@45936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 10:36:56 +00:00
Sergey Biryukov
654f8a8677
Code Modernisation: Introduce the spread operator in `wp-includes/category-template.php`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46123
git-svn-id: http://core.svn.wordpress.org/trunk@45935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 10:33:55 +00:00
Sergey Biryukov
7322d3f35e
Code Modernisation: Use the spread operator in `wp_register_sidebar_widget()`.
...
Rather than relying `func_get_args()` to retrieve arbitrary function arguments, we can now use the spread operator to assign them directly to a variable.
Missed in [45629].
Props jrf.
See #47678 .
Built from https://develop.svn.wordpress.org/trunk@46122
git-svn-id: http://core.svn.wordpress.org/trunk@45934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 10:31:54 +00:00
Sergey Biryukov
d46f9b4fb8
Coding Standards: Fix WPCS issue in [46120].
...
See #47820 .
Built from https://develop.svn.wordpress.org/trunk@46121
git-svn-id: http://core.svn.wordpress.org/trunk@45933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 02:07:55 +00:00
Sergey Biryukov
7a3e224e8d
Docs: Clarify in `update_option()` description that it's plugin author's responsibility to check the current user's capabilities before saving any option changes.
...
Props dinhtungdu, lllor.
Fixes #47820 .
Built from https://develop.svn.wordpress.org/trunk@46120
git-svn-id: http://core.svn.wordpress.org/trunk@45932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 01:29:54 +00:00
Sergey Biryukov
142efedee0
Site Health: Show a more specific fatal error message when in Recovery Mode with headers already sent.
...
Props garrett-eclipse, TimothyBlynJacobs, mukesh27, marybaum, afragen, Clorith, mdwolinski, SergeyBiryukov.
Fixes #47321 .
Built from https://develop.svn.wordpress.org/trunk@46119
git-svn-id: http://core.svn.wordpress.org/trunk@45931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-15 01:18:55 +00:00
Sergey Biryukov
8988c1ce38
Mail: Add a unit test to make sure `wp_mail()` does not duplicate the `MIME-Version` header added automatically by PHPMailer.
...
See #43542 .
Built from https://develop.svn.wordpress.org/trunk@46118
git-svn-id: http://core.svn.wordpress.org/trunk@45930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-14 21:35:57 +00:00
Sergey Biryukov
8e29221da4
Bundled Themes: Update the message shown when a comment is awaiting moderation.
...
If the commenter doesn't have cookies set, they won't see the comment preview again. Showing an expanded message will help offset any confusion if they revisit the site later, and their comment is still in moderation, but they can't see it anymore.
Props birgire, superpoincare.
Fixes #47461 . See #43857 .
Built from https://develop.svn.wordpress.org/trunk@46117
git-svn-id: http://core.svn.wordpress.org/trunk@45929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-14 21:00:56 +00:00
Sergey Biryukov
c5fe7878ec
Coding Standards: Fix WPCS issue in [46115].
...
See #43542 .
Built from https://develop.svn.wordpress.org/trunk@46116
git-svn-id: http://core.svn.wordpress.org/trunk@45928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-14 20:42:56 +00:00