Commit Graph

48 Commits

Author SHA1 Message Date
Dominik Schilling
4a21cda313 I18N: Use wp.i18n for translatable strings in wp-admin/js/widgets.js.
This removes the usage of `$scripts->add_inline_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.

Fixes #50600.
Built from https://develop.svn.wordpress.org/trunk@48387


git-svn-id: http://core.svn.wordpress.org/trunk@48156 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-07 17:01:06 +00:00
Sergey Biryukov
76718fbea3 Widgets: Prevent currently active wide widget controls from being partially covered by another widget's controls.
The currently active widget controls should always be displayed on top.

Props audrasjb, fervillz, rinkuyadav999, jaydeep23290, ashokrd2013, melchoyce, pento, westonruter, SergeyBiryukov.
Fixes #42001.
Built from https://develop.svn.wordpress.org/trunk@47263


git-svn-id: http://core.svn.wordpress.org/trunk@47063 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-11 15:26:09 +00:00
Sergey Biryukov
49007e52bc Build/Test Tools: Add banner to RTL CSS and minified JS files.
Patches occasionally come in on generated files. We should be kind to new contributors and give them a hint that these files are auto-generated.

This is a follow-up to [41271], which added the banner to minified CSS files.

Fixes #48424. See #30666.
Built from https://develop.svn.wordpress.org/trunk@46589


git-svn-id: http://core.svn.wordpress.org/trunk@46386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-26 00:17:07 +00:00
Aaron Jorbin
0e21d32900 Build/Test: Bump devDependencies for WordPress 5.3
This upgrades a number of devDependencies.  Some of these include changes to how the tasks are configured.

Uglify: There are deprecated options from 2.x to 4.x, see: https://github.com/gruntjs/grunt-contrib-uglify#options

Autoprefixer: Browserslist now warns when passing in the browser list, so that is put into package.json

As with most changes to uglify, this changes every minified JS file.

Fixes #48203.



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


git-svn-id: http://core.svn.wordpress.org/trunk@46206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-05 19:49:10 +00:00
omarreiss
bdbaccce37 General: Explicitly assigns all JS globals to the window.
Many variables in the JavaScript were defined in the global scope without being explicitly assigned to the window. When built with Webpack, the code gets encapsulated in anonymous functions and those implicit globals get assigned to the wrong scope. This patch prevents that from happening.

Fixes #44371. See #43731.

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


git-svn-id: http://core.svn.wordpress.org/trunk@43406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-19 13:33:24 +00:00
Andrea Fercia
ffedf3d752 Accessibility: Widgets: Make the "Available Widgets" section operable with a keyboard.
For a number of years, the "Available Widgets" section has been off-limits for
keyboard users. Now it can be used also with the keyboard. This change introduces
also some improvements for assistive technologies.

- makes the widget toggles focusable and adds an `aria-expanded` attribute to indicate their state
- improves the toggles labelling to clarify context (add/edit)
- changes the controls to choose a sidebar from list items to buttons
- adds an `aria-label` attribute to the buttons to clarify their purpose
- adds an `aria-pressed` attribute to the buttons to indicate which one is selected
- improves color contrast of the selected button
- uses a `wp.a11y.speak()` message to announce to screen reader users when a widget has been added to a sidebar
- moves focus back to the toggle button when closing a widget

See #40677.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-07 22:27:31 +00:00
Weston Ruter
443594dd00 Widgets: Prevent checkValidity from running on a form when widget is first adding to sidebar.
Amends [41352].
See #23120.
Fixes #43003 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-01-17 01:24:30 +00:00
Weston Ruter
6c05b7bef2 Widgets: Clear dirty flag on widgets admin screen when widget is deleted to prevent irrelevant confirmation prompt when leaving.
Props hazimayesh, felipeelia.
Amends [41352], [41813].
See #23120, #42127.
Fixes #41894.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-10 20:39:47 +00:00
Weston Ruter
7cb66a5353 Widgets: Allow deletion even when widget form fails validity checks.
Props felipeelia.
Amends [41352].
See #23120.
Fixes #42127.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41647 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-10 18:07:51 +00:00
Andrea Fercia
8c7a2b1d54 Accessibility: Improve the sidebar toggles in the Widgets screen.
- uses button elements for the toggles
- uses `aria-expanded` on the toggles to communicate to assistive technologies the panels expanded/collapsed state
- adds the "circular focus" style to the toggles to give users a clear indication of the currently focused element
- standardizes CSS class names to `.toggle-indicator` and `.handlediv` as these names are already used across the admin for similar controls

Props monikarao, xavortm, mihai2u, Kopepasah.
Fixes #37013.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-27 16:29:44 +00:00
Weston Ruter
9b5d71bad0 Widgets: Add dirty state tracking for widgets on admin screen.
* Mark a widget as dirty when a field input triggers a `change` or `input` event; clear dirty state when widget is successfully saved.
* Disable Save button and re-label "Saved" when widget not dirty.
* Show AYS dialog when leaving widgets admin screen with unsaved changes.
* When widgets are dirty, expand all unsaved widgets at AYS check and focus on first one.
* Change "Close" link to "Done"; hide link when widget is dirty and reveal when saved.
* The "Done" link persistently appears in the Customizer even after making a change (when the widget is dirty) because changes are autosaved into the changeset.
* Prevent saving widget when form fails `checkValidity`.
* Fix frequency of triggering of `change` event on the rich Text widget's `textarea` limited now to when there are actual changes.
* Add a class of `widget-dirty` to widget containers when the widget has unsaved changes.

Props westonruter, timmydcrawford, melchoyce.
Fixes #41610, #23120.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41185 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-08 19:11:43 +00:00
Andrea Fercia
1d739a0925 Accessibility: Make some Widgets buttons real buttons.
Links used as UI controls that behave like buttons, should be buttons.
- changes the widgets "toggle", "Delete", and "Close" links to buttons
- uses `aria-expanded` to announce the state of the toggle buttons
- increases a bit the clickable area of the toggle
- ensures the "circular focus" doesn't get cut-off in some browsers by centering the toggle arrows
- uses a `<span>` element with an `aria-hidden` attribute to hide CSS generated font icons from assistive technologies
- standardizes on `.toggle-indicator:before` rather than `:after`
- changes two `#f00` reds in `#dc3232`, see #35622

Fixes #31476.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40356 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-04-19 21:14:44 +00:00
Andrea Fercia
eeefec932f Administration: Improve the usage of the button CSS classes.
Introduces some consistency in the usage of the button CSS classes, fixes the
focus style for accessibility and responsiveness of the buttons.

- Adds the `button` class to all primary buttons make them responsive
- Removes all `secondary-button` classes and replaces it with button when needed. `button-secondary` shouldn't be used and exists just for backward compatibility reasons
- Replaces classes inside `submit_button()` with a shorthand for some buttons, and use an empty string for the default `button` class. Passing `button` is unnecessary
- Adjusts `get_submit_button()` to remove empty items

Props iseulde, dimchik, chris_d2d, mhowell, afercia.
Fixes #27314, #37138, #37448.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-28 19:54:28 +00:00
Andrew Ozz
71ac079074 Widgets: add a button to delete all inactive widgets simultaneously for better UX.
Props cdog.
Fixes #19159.
Built from https://develop.svn.wordpress.org/trunk@35317


git-svn-id: http://core.svn.wordpress.org/trunk@35283 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-21 05:23:26 +00:00
Andrea Fercia
6b449abadc Accessibility: bump headings one level up on the Appearance > Widgets screen for a better headings hierarchy.
Props mrahmadawais, afercia.
Fixes #33659.
Built from https://develop.svn.wordpress.org/trunk@35015


git-svn-id: http://core.svn.wordpress.org/trunk@34980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 16:34:25 +00:00
Scott Taylor
ab777c54cc Ensure that widget carets close when dragging an expanded widget.
Props sdavis2702, mindctrl.
Fixes #33578.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34133 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-15 03:10:24 +00:00
Andrew Ozz
e5340ea63f Widgets screen: while dragging a widget over a closed sidebar refresh only the widgets in the current sidebar instead of all widgets in all sidebars.
Props chriscct7. Fixes #33015.
Built from https://develop.svn.wordpress.org/trunk@33354


git-svn-id: http://core.svn.wordpress.org/trunk@33326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-22 01:25:26 +00:00
Andrew Ozz
b2e725eb27 Fix opening closed widget areas when dragging a widget over them.
Props polevaultweb. Fixes #13524.
Built from https://develop.svn.wordpress.org/trunk@33088


git-svn-id: http://core.svn.wordpress.org/trunk@33059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-05 18:20:24 +00:00
Konstantin Obenland
e460d37da0 Open closed widget areas when dragging onto them.
Allows dropping Widgets into the correct spot of a given sidebar, no matter
whether that sidebar is open or closed. Removes a step from the setup process
for closed sidebars.

Props polevaultweb.
Fixes #13524.


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


git-svn-id: http://core.svn.wordpress.org/trunk@32985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 00:58:24 +00:00
John Blackbourn
acec5066f6 Switch to pointer tolerance for improved drag and drop behaviour when reordering widgets.
Props jkudish, MikeHansenMe.
Fixes #20791

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


git-svn-id: http://core.svn.wordpress.org/trunk@32659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-03 22:59:25 +00:00
Andrew Ozz
999ae33a2e Widgets:
- Fix dragging to the bottom of the screen.
- Fix hiding of the dragged widget when dragging over a closed sidebar.
- Fix the admin menu position and scrolling when all widget containers are folded.
Fixes #32094 for trunk.
Built from https://develop.svn.wordpress.org/trunk@32480


git-svn-id: http://core.svn.wordpress.org/trunk@32450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-10 00:32:31 +00:00
Helen Hou-Sandí
3ac1a19529 Spinners: Toggle a class instead of show/hide.
Toggling spinners also now uses visibility instead of display, so that the space is always reserved and nothing moves around unexpectedly.

props cdog, MikeHansenMe, valendesigns.
fixes #22839. see #31875, #30725.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-03 04:52:27 +00:00
Scott Taylor
6ffa051689 Replace flagrant instances of .html('') with .empty().
Props OriginalEXE, SergeyBiryukov.
Fixes #27034.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-09 19:44:26 +00:00
Sergey Biryukov
ee6af4f40c Widgets: Toggle widget arrow when the widget is closed using Close link.
props senff.
fixes #29617.
Built from https://develop.svn.wordpress.org/trunk@29726


git-svn-id: http://core.svn.wordpress.org/trunk@29500 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-10 17:36:15 +00:00
Dominik Schilling
8e7e53b22e Widgets: Toggle widget arrow when widget is open/closed.
props MikeHansenMe.
fixes #26748.
Built from https://develop.svn.wordpress.org/trunk@28235


git-svn-id: http://core.svn.wordpress.org/trunk@28063 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-01 14:09:16 +00:00
Dominik Schilling
0c5d4db466 Widgets: Trigger jQuery events for widget updates.
* `widget-added` when a widget is added to a sidebar
* `widget-updated` when a widget is updated
A jQuery object of the widget is passed along to the event handler. Same events are used in the Widget Customizer, see [27909].

fixes #19675.
Built from https://develop.svn.wordpress.org/trunk@27969


git-svn-id: http://core.svn.wordpress.org/trunk@27799 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-06 19:06:14 +00:00
Scott Taylor
0347a8944e Update the versions of several devDependencies in package.json. grunt-cssjanus has been updated to 0.2.2, we no longer need the fork. Run npm install to receive updates for node_modules in the project root.
Props yoavf, TobiasBg.
Fixes #26073.


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


git-svn-id: http://core.svn.wordpress.org/trunk@26927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-29 04:43:30 +00:00
Andrew Ozz
765b617a8c Widgets: jshint cleanup of widgets.js, see #25821.
Built from https://develop.svn.wordpress.org/trunk@26703


git-svn-id: http://core.svn.wordpress.org/trunk@26593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 23:14:09 +00:00
Andrew Nacin
d0e4753aef Widgets: Add click-to-add widgets to the bottom (not top) of the target sidebar.
fixes #25821.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26586 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 22:27:11 +00:00
Andrew Nacin
b8882b3511 Widgets: Only scroll to the newly clicked-and-added widget if it is out of the viewport.
props shaunandrews.
see #25821.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 22:22:11 +00:00
Andrew Ozz
b0a9fb217a Widgets: on clicking Add, don't move the chooser out of the widget early as that makes is visible at the bottom of the screen. Remove the cloned copy of it instead. Part-props jeremyfelt, fixes #26417.
Built from https://develop.svn.wordpress.org/trunk@26651


git-svn-id: http://core.svn.wordpress.org/trunk@26541 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 00:02:11 +00:00
Andrew Ozz
04d8ac5830 Widgets: highlight all drop zones (open and closed sidebars) on starting to drag a widget to indicate "droppability", fixes #26168.
Built from https://develop.svn.wordpress.org/trunk@26474


git-svn-id: http://core.svn.wordpress.org/trunk@26372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-29 17:58:10 +00:00
Andrew Ozz
f46e743343 Widgets: drop onto closed sidebars.
- Make dropping a widget easier by preventing the source sidebar from resizing while the widget is being dragged.
- Move widgets dropped on closed sidebars to the top. UI Sortable places them randomly near the bottom.
- Fix possible regression in wp_list_widget_controls(), add an optional argument to output the sidebar name inside the sortable container.
- Updated styles for sidebar description and widget-hover class.
Part props shaunandrews, fixes #25952.
Built from https://develop.svn.wordpress.org/trunk@26426


git-svn-id: http://core.svn.wordpress.org/trunk@26326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-27 01:30:10 +00:00
Andrew Ozz
c944323a4f Widgets:
- Don't deactivate "draggable" on the widget when the chooser is open. Makes it possible to still drag the "widget-in-question".
- Change the chooser's HTML id to a class to avoid collisions when cloning.
- Refresh the "sortable" positions when an open widget is dragged. Fixes problems moving the widget up or down in the same sidebar.
See #25821
Built from https://develop.svn.wordpress.org/trunk@26366


git-svn-id: http://core.svn.wordpress.org/trunk@26267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-24 22:07:10 +00:00
Andrew Ozz
1aa122be5e Widgets:
- Prevent dragging of the widget-in-question when the chooser is open.
- Don't show more than one spinner when saving widgets positions.
- Disable selecting of text in the widget title. Prevents selecting/highlighting most of the screen when dragging on slower devices.
See #25821.
Built from https://develop.svn.wordpress.org/trunk@26306


git-svn-id: http://core.svn.wordpress.org/trunk@26210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-21 19:28:10 +00:00
Sergey Biryukov
6927ba52b1 Fix JSHint errors in widgets.js.
props jorbin.
fixes #26127.
Built from https://develop.svn.wordpress.org/trunk@26287


git-svn-id: http://core.svn.wordpress.org/trunk@26192 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 11:12:11 +00:00
Andrew Ozz
30b1c76a01 Widgets: split the sidebars in two containers so there are no empty spaces when they are shown in two columns and some are open, other closed. See #25952.
Built from https://develop.svn.wordpress.org/trunk@26285


git-svn-id: http://core.svn.wordpress.org/trunk@26190 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 04:45:10 +00:00
Andrew Ozz
4070cdcf66 Widgets:
- Fix support for expanding (wide) widgets in the Inactive Widgets area.
- Remove resizing of the sidebars height.
- Stop removing unneeded "for" attributes from labels inside the widgets. Was a fix for IE6 odd behaviour.  

See #26117.
Built from https://develop.svn.wordpress.org/trunk@26277


git-svn-id: http://core.svn.wordpress.org/trunk@26182 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 01:35:10 +00:00
Andrew Ozz
8de3d7d15e Widgets:
- Remove the !important styles that were overriding the widget width when expanded.
- Fix missing border-bottom from widgets when dragged and expanded.
Props shaunandrews, see #26117.
Built from https://develop.svn.wordpress.org/trunk@26275


git-svn-id: http://core.svn.wordpress.org/trunk@26180 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-19 23:47:10 +00:00
Andrew Ozz
c19660468b Widgets: move the chooser inside the selected widget so it inherits the width, add some keyboard shortcuts: tab to select, enter to append and escape to cancel. Props shaunandrews, see #25821
Built from https://develop.svn.wordpress.org/trunk@26271


git-svn-id: http://core.svn.wordpress.org/trunk@26176 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-19 18:03:09 +00:00
Andrew Nacin
d8564963b8 Temporarily remove CSS preprocessing until we can get our Ruby dependency sorted out.
see #25858, #22862.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-13 21:45:11 +00:00
Helen Hou-Sandí
437caa9972 Turns out it helps if you add those pesky Sass files if you're going to use a preprocessor. see #25858.
Built from https://develop.svn.wordpress.org/trunk@26139


git-svn-id: http://core.svn.wordpress.org/trunk@26050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-13 19:54:14 +00:00
Andrew Ozz
753e745796 Merge the Widgets Area Chooser feature plugin. First run, see #25821
Built from https://develop.svn.wordpress.org/trunk@26054


git-svn-id: http://core.svn.wordpress.org/trunk@25979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-08 23:05:10 +00:00
Andrew Nacin
de7977d66c Move upgrader_process_complete for core to its proper place in Core_Upgrader.
This means it will be firing as a JS redirect is taking place if the update is from pre-3.4. Acceptable.

props dd32.
fixes #25659.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:58:23 +00:00
Drew Jaynes
4d1482cd0d Inline documentation for the WP_Date_Query class in wp-includes/date.php.
- Adds a complete hash notation for the `WP_Date_Query` arguments array.
- Adds missing documentation for the `date_query_valid_columns` and `get_date_sql` filter hooks.

Props aeg0125 for the incremental patches.
Fixes #25552.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:58:12 +00:00
Bot (Assets)
6e798324e9 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-07 05:49:02 +00:00
Bot (Assets)
baaf5c4cf8 Compress scripts/styles: 3.5-alpha-22024.
git-svn-id: http://core.svn.wordpress.org/trunk@22024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 22:58:46 +00:00
Andrew Nacin
2710bcade1 Switch to .min for compressed JS and CSS files.
* This moves our "development" versions from .dev.js to .js (same for css).
 * The compressed version then moves from .js to .min.js (same for css).

By switching to the standard .min convention, it sets expectations for developers,
and works nicely with existing tools such as ack.

fixes #21633.



git-svn-id: http://core.svn.wordpress.org/trunk@21592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-23 00:04:18 +00:00