Commit Graph

79 Commits

Author SHA1 Message Date
Sergey Biryukov
87db5b833d External Libraries: Further fix jQuery deprecations in WordPress core.
Follow-up to [50001], [50270], [50367], [50383], [50410], [50420], [50429].

Props Clorith.
See #51812.
Built from https://develop.svn.wordpress.org/trunk@50547


git-svn-id: http://core.svn.wordpress.org/trunk@50160 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-03-18 19:01:03 +00:00
Sergey Biryukov
b65d83b872 External Libraries: Further fix jQuery deprecations in WordPress core.
This includes many minor adjustments to a wide array of core files to replace shorthands with full declarations.

Follow-up to [50001], [50270], [50367].

Props Clorith, hellofromTonya, peterwilsoncc, adamsilverstein, aristath.
See #51812.
Built from https://develop.svn.wordpress.org/trunk@50420


git-svn-id: http://core.svn.wordpress.org/trunk@50031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-23 19:45:04 +00:00
Sergey Biryukov
87f1e31871 Login and Registration: Improve the UX of the Reset Password screen.
Previously, it was unclear that the displayed password is only being suggested and should be saved by clicking the Reset Password button.

This adds separate Generate Password and Save Password buttons, for clarity.

Props xkon, estelaris, jaymanpandya, hedgefield, audrasjb, erichmond, magicroundabout, lukecavanagh, knutsp, tinodidriksen, nico_martin, markhowellsmead, kara.mcnair, e_baker, pixelverbieger, souri_wpaustria, megabyterose, poena, whyisjake.
Fixes #39638.
Built from https://develop.svn.wordpress.org/trunk@50153


git-svn-id: http://core.svn.wordpress.org/trunk@49832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-02 18:13:04 +00:00
Adam Silverstein
315b1c185d Users: enable admins to send users a reset password link.
Add a feature so Admins can send users a 'password reset' email. This doesn't change the password or force a password change. It only emails the user the password reset link.

The feature appears in several places:
* A "Send Reset Link" button on user profile screen.
* A "Send password reset" option in the user list bulk action dropdown.
* A "Send password reset" quick action when hovering over a username in the user list.

Props Ipstenu, DrewAPicture, eventualo, wonderboymusic, knutsp, ericlewis, afercia, JoshuaWold, johnbillion, paaljoachim, hedgefield.
Fixes #34281.


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


git-svn-id: http://core.svn.wordpress.org/trunk@49808 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-01 22:13:03 +00:00
Sergey Biryukov
9f12d7f575 External Libraries: First pass at fixing jQuery deprecations in WordPress core and bundled themes.
To be able to disable jQuery Migrate as step 3 of updating the jQuery version shipped with WordPress, all `JQMIGRATE` warnings in the browser console will have to be addressed.

This includes many minor adjustments to a wide array of core files.

Follow-up to:
* Step 1: Disabling jQuery Migrate 1.4.1 in WordPress 5.5: [48323], [48324]
* Step 2: Updating jQuery to 3.5.1 and adding jQuery Migrate 3.3.x in WordPress 5.6: [49101], [49338], [49615], [49649]

Props Clorith, azaozz.
See #51812.
Built from https://develop.svn.wordpress.org/trunk@50001


git-svn-id: http://core.svn.wordpress.org/trunk@49702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-01-22 12:32:03 +00:00
Helen Hou-Sandí
85e954aa37 Login: Avoid AJAX error on login screen.
This has to do with the password generator, which does not need to generate and cache passwords in JS as that's already done in PHP.

Props adamsilverstein, sarahricker.
Fixes #51613.

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


git-svn-id: http://core.svn.wordpress.org/trunk@49098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-27 18:43:07 +00:00
Adam Silverstein
daa977c495 Users: improve password generation feature.
On the user edit screen improve handling and clarify language: rename the "Generate Password" and "Show password" buttons to "Set New Password". Clicking it always generates a password. Also: improve inline code comments and descriptions.

Props afercia, bookdude13, michaelarestad, pento.
Fixes #42852.


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


git-svn-id: http://core.svn.wordpress.org/trunk@49010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-20 18:27:13 +00:00
Adam Silverstein
e3d280ffd8 Users: prevent saving empty passwords, trim space from password ends on save.
Fix an issue where users could save a password with only spaces, or spaces at the beginning or end of their password, preventing them from logging in.

Props ronakganatra, 1naveengiri, ajensen, oolleegg55, bookdude13, nrqsnchz, aristath.
Fixes #42766.


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


git-svn-id: http://core.svn.wordpress.org/trunk@48880 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-10 16:51:07 +00:00
Dominik Schilling
2fab13ae3e I18N: Use wp.i18n for translatable strings in wp-admin/js/user-profile.js.
This removes the usage of `wp_localize_script()` for passing translations to the script and instead adds the translatable strings in the script directly through the use of `wp.i18n` and its utilities.

Props swissspidy, ocean90.
See #20491.
Fixes #50527.
Built from https://develop.svn.wordpress.org/trunk@48270


git-svn-id: http://core.svn.wordpress.org/trunk@48039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-01 20:38:01 +00:00
desrosj
4b60af1a6a General: Remove “whitelist” and “blacklist” in favor of more clear and inclusive language.
“The WordPress open source community cares about diversity. We strive to maintain a welcoming environment where everyone can feel included.”

With this commit, all occurrences of “whitelist” and “blacklist” (with the single exception of the `$new_whitelist_options` global variable) are removed. A new ticket has been opened to explore renaming the `$new_whitelist_options` variable (#50434).

Changing to more specific names or rewording sentences containing these terms not only makes the code more inclusive, but also helps provide clarity. These terms are often ambiguous. What is being blocked or allowed is not always immediately clear. This can make it more difficult for non-native English speakers to read through the codebase.

Words matter. If one contributor feels more welcome because these terms are removed, this was worth the effort.

Props strangerstudios, jorbin, desrosj, joemcgill, timothyblynjacobs, ocean90, ayeshrajans, davidbaumwald, earnjam.
See #48900, #50434.
Fixes #50413.
Built from https://develop.svn.wordpress.org/trunk@48121


git-svn-id: http://core.svn.wordpress.org/trunk@47890 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-22 17:26:13 +00:00
Sergey Biryukov
001ffe81fb Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.
Built from https://develop.svn.wordpress.org/trunk@47122


git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
Andrea Fercia
0d75495612 Login and Registration: Add a "Show password" button on the login page.
The ability for users to see the password they're typing improves usability and accessibility of the login users flow.

- brings the login screen in line with the same feature already used in the New User, Edit User, and Reset Password pages
- improves association of labels and input fields by using explicit association with `for` / `id` attributes
- slightly increases the "Remember me" label font size

Props johnbillion, Iceable, audrasjb, joyously, adamsilverstein, boemedia, DrewAPicture, shadyvb, birgire, peterwilsoncc, pento, anevins, davidbaumwald, whyisjake, afercia.
Fixes #42888.

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


git-svn-id: http://core.svn.wordpress.org/trunk@46068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-23 18:06:57 +00:00
Adam Silverstein
a3eba2c201 Login and Registration: reset password - ensure submit button disabled when field empty.
Fix an issue where the submit button was enabled with an empty password when the user previously checked "Confirm use of weak password" for a weak password, then cleared the password field.

Props henry.wright.
Fixes #47924.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45915 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-13 18:30:55 +00:00
Andrea Fercia
ca53eac85e Accessibility: Improve the password form buttons accessibility.
- makes the "Cancel" button always visible: this allows to generate a new password also on small screens
- moves focus back to the Generate Password button when closing the form
- changes the password reset show/hide button from a clickable `<span>` element to a real `<button>` element
- improves the CSS

Props janak007, afercia.
Fixes #42853.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44726 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-13 23:37:57 +00:00
Gary Pendergast
2772e5ec06 Admin: Don't use the keyup event in addition to the input event.
The `keyup` event was used to provide support for IE8, where which doesn't support the `input` event. As we dropped IE8 support some time ago, this was simply adding unnecessary complexity and double-event triggers.

Props dlh, afercia.
Fixes #32882.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-10 02:57:50 +00:00
atimmer
bde558be2f Docs: Add file doc @output annotations.
These annotations make it clear to the reader of a JavaScript source
where the build process outputs to. These annotations can later be
integrated in a webpack configuration. This way there is one source of
truth.

The `build` folder is omitted from the paths, because a single JS file
shouldn't not be responsible of knowing where outputs in general will
end up at. A file only knows its output location relative to the
project.

Props adamsilverstein, herregroen, omarreiss, pento.
Fixes #44361.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-06-28 02:30:15 +00:00
Adam Silverstein
220d5aec74 Login: Password reset - add hide icon & confirm weak password checkbox.
Extends the password features added in 4.3 to the password reset flow.

Props johnbillion, manolis09, umesh.nevase, Nikschavan.


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


git-svn-id: http://core.svn.wordpress.org/trunk@41389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-21 21:29:48 +00:00
Adam Silverstein
cb2eac9e06 Users: Update name in toolbar when changing user display name.
When changing the user name in Users -> Your Profile, update the name displayed in the toolbar dynamically using JavaScript.

Props menakas, lukecavanagh, maguiar.
Fixes #40342.


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


git-svn-id: http://core.svn.wordpress.org/trunk@40520 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-12 20:06:42 +00:00
Sergey Biryukov
2b5d7555b4 Users: After [33766], don't reset the password when clicking "Show Password" and then "Cancel" on Add New User screen.
Props smerriman for reporting.
Fixes #37902. See #33419.
Built from https://develop.svn.wordpress.org/trunk@38494


git-svn-id: http://core.svn.wordpress.org/trunk@38435 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-01 12:24:29 +00:00
Peter Wilson
26c07ed8d9 Users: Check zxcvbn is defined before calling.
Prevents JavaScript errors by checking zxcvbn is defined before calling.

Changes `wp.passwordStrength.meter()` to return `-1` if the strength of the password is unknown.

On the user profile screen, `generatePassword()` checks if the user has entered the password before setting the value of the password input box.

Props peterwilsoncc, adamsilverstein.
Fixes #34905.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-01 12:45:29 +00:00
Pascal Birchler
5fa8ea8c6b Passwords: Hide weak password confirmation checkbox when password strength improves.
Props subharanjan for initial patch.
Fixes #34950.
Built from https://develop.svn.wordpress.org/trunk@35870


git-svn-id: http://core.svn.wordpress.org/trunk@35834 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-11 21:54:27 +00:00
Dominik Schilling
7f3082491d Passwords: Re-enable password fields before submitting the form.
Avoids an PHP undefined notice when creating new users.

Fixes #33699.
Built from https://develop.svn.wordpress.org/trunk@35733


git-svn-id: http://core.svn.wordpress.org/trunk@35697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-24 21:17:27 +00:00
Dominik Schilling
9df7c4edea Passwords: Only disable hidden password fields if they are really hidden.
Makes the password field on install and for password resets editable again. Both fields were accidentally set to disabled in [35603].

Props adamsilverstein, flixos90.
Fixes #33699.
Built from https://develop.svn.wordpress.org/trunk@35649


git-svn-id: http://core.svn.wordpress.org/trunk@35613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-16 20:49:26 +00:00
Dominik Schilling
66dee42444 Passwords: Disable hidden input fields on profile/user edit page.
Prevents an issue where password helpers would autofill the hidden password fields and inadvertently causing password changes when editing other fields on the profile page.

Props adamsilverstein.
Fixes #33699.
Built from https://develop.svn.wordpress.org/trunk@35603


git-svn-id: http://core.svn.wordpress.org/trunk@35567 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-10 20:41:26 +00:00
Scott Taylor
fa58223b49 Profile: when clicking "Generate Password", toggling visibility, then canceling, ensure that the UI resets properly for when the "Generate Password" button is clicked again.
Props umesh.nevase.
Fixes #33897.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34503 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 13:54:24 +00:00
Scott Taylor
39552b63ca Passwords: fix the markup on the Reset Password Form for user-pass1 so the JavaScript operates properly.
Props ldinclaux.
See #33892.
Fixes #33908.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 03:57:24 +00:00
Scott Taylor
c43f72fbfb Profile: when clicking "Cancel" after clicking "Generate Password", request and generate a new password to present to the user.
Props adamsilverstein, wonderboymusic.
Fixes #33450.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34276 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 20:14:24 +00:00
Dominik Schilling
d36ffeb160 Passwords: Trigger a wp-check-valid-field event when the password field is filled with a password by generatePassword().
Updates event handler in `wpAjax.invalidateForm()` to support `wp-check-valid-field`.

See #33406.
Built from https://develop.svn.wordpress.org/trunk@34114


git-svn-id: http://core.svn.wordpress.org/trunk@34082 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 10:39:27 +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
Sergey Biryukov
be59078ef8 Prevent unintended password change after clicking "Generate Password" and then "Cancel" when editing a user profile.
props peterwilsoncc.
fixes #33419 for trunk.
Built from https://develop.svn.wordpress.org/trunk@33766


git-svn-id: http://core.svn.wordpress.org/trunk@33734 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-27 00:11:21 +00:00
Konstantin Obenland
69146f6b10 Passwords: Use keyup event to prevent IE8's misinterpretation of propertychange.
Props adamsilverstein, peterwilsoncc.
Fixes #33385.


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


git-svn-id: http://core.svn.wordpress.org/trunk@33592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-17 18:46:25 +00:00
Mark Jaquith
61dd2bfdde Persist (and mask) the password on the install screen if the install does not proceed due to errors.
If you forget or enter an invalid username/e-mail, the password choosing shouldn't start over.

fixes #33162
Built from https://develop.svn.wordpress.org/trunk@33495


git-svn-id: http://core.svn.wordpress.org/trunk@33462 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 19:22:26 +00:00
Mark Jaquith
bca4465edf Do not re-generate the password after pressing "cancel". Persist the state.
Also removes pass2 code not needed since we're generating from one field.

fixes #33164
Built from https://develop.svn.wordpress.org/trunk@33475


git-svn-id: http://core.svn.wordpress.org/trunk@33442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 04:30:24 +00:00
Mark Jaquith
0217951e44 Re-work user-profile.js so the password meter works in IE8 and password managers can fill multiple times.
props adamsilverstein
fixes #32886
Built from https://develop.svn.wordpress.org/trunk@33473


git-svn-id: http://core.svn.wordpress.org/trunk@33440 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 03:27:25 +00:00
Mark Jaquith
959f36699b Lose the clunky setTimeout() code and just track the password value changes.
see #32886
Built from https://develop.svn.wordpress.org/trunk@33465


git-svn-id: http://core.svn.wordpress.org/trunk@33432 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-28 21:11:26 +00:00
Scott Taylor
d92795db13 Passwords UI: clean up the new JS in wp-admin/js/user-profile.js.
Instead of wrapping `#pass1` in a `<span>` dynamically, add the `<span>` to the HTML in PHP. It currently has no styling.

Fixes #33145.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-27 21:25:25 +00:00
Mark Jaquith
5abcb6938c Toggle between dashicons-hidden and dashicons-visibility in the password hide/show button.
fixes #33135
Built from https://develop.svn.wordpress.org/trunk@33438


git-svn-id: http://core.svn.wordpress.org/trunk@33405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-27 03:13:24 +00:00
Mark Jaquith
9682eb0108 Do not propagate empty passwords from the hidden form field.
fixes #32886
Built from https://develop.svn.wordpress.org/trunk@33384


git-svn-id: http://core.svn.wordpress.org/trunk@33353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-23 05:00:25 +00:00
Mark Jaquith
31ca0cd939 Soothe JSHint's rankled spirits
Built from https://develop.svn.wordpress.org/trunk@33365


git-svn-id: http://core.svn.wordpress.org/trunk@33337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-22 18:56:26 +00:00
Mark Jaquith
1ef40251b9 Introduce a Cancel button and onUnload warning for password changes.
fixes #33079
props johnjamesjacoby
Built from https://develop.svn.wordpress.org/trunk@33364


git-svn-id: http://core.svn.wordpress.org/trunk@33336 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-22 18:36:24 +00:00
Mark Jaquith
ae03a8a0a2 Make password field toggling work in IE8, and clean up a bunch of password CSS issues.
fixes #32886
props peterwilsoncc, adamsilverstein
Built from https://develop.svn.wordpress.org/trunk@33362


git-svn-id: http://core.svn.wordpress.org/trunk@33334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-22 16:56:27 +00:00
Konstantin Obenland
45bfab3aa8 Passwords: Add password strength meter feedback for screen readers.
Also gives context to the show/hide button.

Props rianrietveld, afercia.
Fixes #33032.


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


git-svn-id: http://core.svn.wordpress.org/trunk@33325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-22 00:15:25 +00:00
Konstantin Obenland
e4305c7b28 Passwords: Make show/hide toggle translatable.
See #32589.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 22:35:24 +00:00
Dominik Schilling
153511f78f Password UI: The non-breaking space doesn't need to be translatable. Add some context to password strength strings.
see #32589.
Built from https://develop.svn.wordpress.org/trunk@33166


git-svn-id: http://core.svn.wordpress.org/trunk@33138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-11 20:48:24 +00:00
Mark Jaquith
504101460f Slow down on calling zxcvbn if it isn't loaded.
see #32589
Built from https://develop.svn.wordpress.org/trunk@33033


git-svn-id: http://core.svn.wordpress.org/trunk@33004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 18:13:24 +00:00
Mark Jaquith
cb93e24c62 Add a missing "var". see #32589
Built from https://develop.svn.wordpress.org/trunk@33031


git-svn-id: http://core.svn.wordpress.org/trunk@33002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 17:16:25 +00:00
Mark Jaquith
423a1a7ca4 New password change/set UI.
* Generate the password for the user
* More tightly integrate password strength meter
* Warn on weak passwords

see #32589

props MikeHansenMe, adamsilverstein, binarykitten
Built from https://develop.svn.wordpress.org/trunk@33023


git-svn-id: http://core.svn.wordpress.org/trunk@32994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 14:48:24 +00:00
Sergey Biryukov
109295cdd4 When creating a new user, pasting a password should update the password strength indicator.
props dipesh.kakadiya.
fixes #31226.
Built from https://develop.svn.wordpress.org/trunk@31483


git-svn-id: http://core.svn.wordpress.org/trunk@31464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-20 13:05:27 +00:00