1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-26 10:00:34 +00:00
Commit Graph

292 Commits

Author SHA1 Message Date
Jermolene
6dbd178378 Merge branch 'issue_270' of https://github.com/Skeeve/TiddlyWiki5 into Skeeve-issue_270 2013-12-11 22:19:19 +00:00
Stephan Hradek
853cca906c allowing variable number of arguments for non-argument macros 2013-12-11 22:59:52 +01:00
Jermolene
b8897f86fb Ensure that tiddler manipulations affect the history
Previously edit tiddler etc wouldn’t actually navigate to the new
tiddler
2013-12-11 16:30:25 +00:00
Jermolene
48f8046cf5 Fixed problem with cancelling editing the tiddler $:/StoryList 2013-12-06 08:45:24 +00:00
Jermolene
b37a139aa7 Typo that prevented edit widget tiddler attribute from working 2013-12-05 10:37:40 +00:00
Stephan Hradek
d739b6939a added core/modules/widgets/fieldradio.js 2013-12-05 00:15:06 +01:00
Jermolene
49ade66540 Extend navigator widget to allow target tiddler to be specified for certain events
Now the edit tiddler, delete tiddler, save tiddler and cancel tiddler
events can all be passed the tiddler title as the message param.
2013-12-04 13:09:26 +00:00
Jermolene
4cffa58df3 Fix viewing of date fields 2013-12-03 10:09:58 +00:00
Jermolene
b149ab47f4 Refactor importing to to use new wiki.importTiddler method 2013-12-02 09:59:38 +00:00
Jermolene
c0a6e94b21 Hash the state qualifier to make it shorter
We were having problems with TW5 generating filepaths that were longer
than Windows likes.

Fixes #240
2013-11-28 10:53:37 +00:00
Jermolene
b8f15feca4 Force newly created field names to be lowercase
Fixes #239
2013-11-28 10:35:16 +00:00
Jermolene
f380d4b27d Change macro attributes to not wikify their content
One consequence of wikifying macro attributes before use was that we
couldn’t have tiddler titles with wikitext syntax in, which was
definitely a problem.
2013-11-22 20:02:44 +00:00
Jermolene
c4e6c91986 Fix problem with dragging images within TW5
Dragging an image within the same TW5 window was causing a crash
2013-11-20 22:52:48 +00:00
Jermolene
cc9c6e4f42 Ensure that we don't overwrite the modified/modifier fields of imported tiddlers
Fixes #225
2013-11-20 20:49:32 +00:00
Jermolene
29c0f7156b Fix overlooked typo
Ouch.
2013-11-16 22:50:10 +00:00
Jermolene
939ad11eae Rename the 'setvariable' widget to 'set'
Sleeker.
2013-11-15 18:31:39 +00:00
Jermolene
fc6dd83f2f Use prototypal inheritance to speed up the inheritance of widget variables
Now we reuse the prototype mechanism to let javascript do the work of
searching up the parent chain.
2013-11-13 21:25:45 +00:00
Jermolene
c7d5905242 Fix view format=date so that it doesn't crash on empty fields 2013-11-13 19:41:54 +00:00
Jermolene
b304e3fe40 Update the reveal widget to set the tw-popup class 2013-11-12 22:02:43 +00:00
Jermolene
b885743efe Fix typo 2013-11-12 20:29:22 +00:00
Jermolene
8ec92405fd Add urlencoded and doubleurlencoded formats to the view widget 2013-11-12 20:29:14 +00:00
Jermolene
4a5a8dd773 Fix the execution context for widget attributes specified as macros
We need to ensure that variables in the tree up to this point are
accessible when we render the macro text.
2013-11-12 19:52:17 +00:00
Grayeul
3d0c6cf41e Fixed missing reference to old CloseAllOthers 2013-11-11 07:48:54 -06:00
Grayeul
da54236f5a Change names to tw=close-other-tiddlers and handleCloseOtherTiddlersEvent 2013-11-11 07:34:19 -06:00
Grayeul
c930d84d01 Add support for close-all-others 2013-11-11 07:28:29 -06:00
Jermolene
8357d90e59 Fix bug caused when creating a tiddler title starting or ending with a space 2013-11-11 08:48:06 +00:00
Jermolene
b1667259f0 Fix default password
The password widget was defaulting to the password "null".
2013-11-10 19:22:10 +00:00
Jermolene
c77b451863 Fixed bug when using checkbox widget to apply a tag to a tiddler that is untagged 2013-11-10 19:21:37 +00:00
Jermolene
a7bb331412 Extend view widget so that it falls back to its content if the field/property is empty or missing 2013-11-09 17:30:06 +00:00
Jermolene
6f1c9d88cc Improve the Widget.prototype.removeChildDomNodes() method so that most subclasses won't need to override it 2013-11-09 16:55:14 +00:00
Jermolene
ccb7fac25e Fix further typo in edit-text widget 2013-11-09 14:17:08 +00:00
Jermolene
bbe9a9c191 Fixed typos in edit-text widget
Thanks @grayeul
2013-11-09 13:15:54 +00:00
Jermolene
b745e304a2 Fix problem with edit-text widget and indexed properties
Thanks to @grayeul for the pointer:

https://github.com/Jermolene/TiddlyWiki5/commit/78bc89cbdbcc26e373001f2d
473436489d8d4365#commitcomment-4554613
2013-11-09 10:55:18 +00:00
Jeremy Ruston
5a8ef2681b Update tw-new-tiddler message to take a template tiddler
The template tiddler title is used as the basis of the new title, which
is probably not very convenient. We'd like to be able to use system
tiddlers as templates, without defaulting the new instance to a system
tiddler title.
2013-11-08 16:57:52 +00:00
Jeremy Ruston
cc0011abd3 Get rid of the "new_" prefix we had on some methods
There's still the "old_" prefix to get rid of too.
2013-11-08 08:51:14 +00:00
Jeremy Ruston
b7cb1d3391 Change new_widget to widget
I was avoiding doing this until after the merge.
2013-11-08 08:47:00 +00:00
Jeremy Ruston
3e3a5917b7 Move the widgets back to the right folder 2013-11-08 08:38:44 +00:00
Jeremy Ruston
20f03de712 The big purge of the old widget mechanism
Getting rid of the old widget mechanism files finally gives us a payoff
for all the refactoring. Still a bit of tidying up to do, and we need
to re-introduce the animation mechanisms.
2013-10-27 22:55:36 +00:00
Jeremy Ruston
56b2c25588 Whoops file in the wrong place 2013-10-24 12:00:32 +01:00
Jeremy Ruston
3350510516 Add new modules and moduletypes filter operators 2013-10-23 23:11:41 +01:00
Jeremy Ruston
f2b598ef13 Correct example 2013-10-05 16:01:07 +01:00
Jeremy Ruston
10a635927d Add confirmation when overwriting an existing tiddler
Now there's a JavaScript confirm when attempting to save a tiddler that
has been renamed to the name of an existing tiddler
2013-09-14 21:57:23 +01:00
Jeremy Ruston
1b094b1d5c Avoid attempts to save a tiddler with an empty title
Clicking "save" with a blank title will now be ignored
2013-08-28 19:46:21 +01:00
Jeremy Ruston
fbfe5a26c5 Move the animation duration into a tiddler so that we can easily let it be adjusted in the control panel 2013-08-28 15:15:56 +01:00
Jeremy Ruston
e8425131f4 Correct typo in 954a987d31 2013-08-28 14:44:59 +01:00
Jeremy Ruston
954a987d31 Extend the edit widget to be able to edit properties of data tiddlers 2013-08-28 11:23:14 +01:00
Jeremy Ruston
06599bcfc6 Fix up closing tiddlers in the zoomin listview
One for @giffmex
2013-08-26 14:48:05 +01:00
Jeremy Ruston
d0dff80d6d Fix problem with insertBefore() on Win7/IE10
The problem is that insertBefore() on Win7/IE10 crashes if the second
parameter is undefined, rather than behaving as if the parameter is
missing, as all other browsers do. Aaargh.
2013-08-24 23:28:17 +01:00
Jeremy Ruston
be06257430 Split "transclude" widget into a separate "tiddler" and "transclude" widget
Belatedly realised that the design would be clearer without these two
separate concepts being conflated into a single widget.

As a result of this change, any other widget or template that generates
transclude widgets has needed adjustment.
2013-08-24 16:45:45 +01:00
Jeremy Ruston
e1a38d88a7 Add a count widget 2013-08-21 23:09:54 +01:00
Jeremy Ruston
44f172c5ec Correct harmless but confusing typo 2013-08-21 23:09:40 +01:00
Jeremy Ruston
ca142dbdb5 Remove extraneous references to current field context variable
This should have been done as part of
6fc4e5db7c
2013-08-21 22:42:05 +01:00
Jeremy Ruston
8cbb98d44d Hack the list widget
Usually the list transcludes each tiddler through the sample template.
This hack makes it work differently, where each tiddler is used as a
template to render the same current tiddler. The attribute that
switches modes is called "hackTemplate" because this is a temporary
implementation of this capability for experimental purposes
2013-08-21 20:50:08 +01:00
Jeremy Ruston
bc56253479 Extend the list widget to allow the generated HTML elements to be controlled
This makes it possible to generate UL or OL lists as well as the
current divs and spans.

This feature is clearly necessary but I'm not very happy with it. It
feels as though the syntax should be modifying a UL tag to specify the
extra information required to generate the list, rather than turning
the list widget to indirectly specify it's elements.
2013-08-19 11:08:00 +01:00
Jeremy Ruston
a36d3895ff Remove type attribute from the list widget
It's just a shortcut that clutters things up; easier to do the same
thing with a macro
2013-08-18 20:41:46 +01:00
Jeremy Ruston
f4b4415676 Fix problem which was preventing transcluded indexed properties from being parsed inline 2013-08-16 13:11:44 +01:00
Jeremy Ruston
6fc4e5db7c Get rid of the old "fieldgrid" and "fieldlist" widgets
Instead, we'll use the "list" widget with the new support for macros.
2013-08-15 18:17:11 +01:00
Jeremy Ruston
6be8afe49f Extend the list widget to allow it to render each element as a macro
This will enable us to drop several existing widgets: fields,
fieldlist, fieldgrid
2013-08-13 19:33:45 +01:00
Jeremy Ruston
0cf4c578d4 First take of the ConfigInfo panel
It displays internal configuration information for debugging and
learning about TiddlyWiki. Also introduces a way of interleaving
documentation tiddlers (complete for tiddler fields, more module type
docs to come)
2013-08-09 21:57:05 +01:00
Jeremy Ruston
0bda00ae71 Extend the fieldlist widget to retrieve all fields used across all tiddlers 2013-08-09 16:46:17 +01:00
Jeremy Ruston
9b7cee81f2 Add type="modules" support to the info widget
With type="modules", the info widget outputs a list of the currently
loaded modules, grouped by module type.
2013-08-09 16:45:40 +01:00
Jeremy Ruston
7e82eb13eb Fix problem with stray drag image showing
Changes to the main layout CSS a few weeks ago meant that the drag
image element was visible at the top left corner of the window.
Astoundingly, the fix is to cover it with another div with the same
background colour as the page….
2013-08-08 21:46:38 +01:00
Jeremy Ruston
83ea953a1d Switch the story list over to using the new list field 2013-08-07 17:54:27 +01:00
Jeremy Ruston
86e73ee323 Set modified field and other metadata for newly created and modified tiddlers
Right now we're setting the created/modified time, and only setting the
creator/modifier if the tiddler `$:/status/UserName` is defined.
2013-08-04 14:02:07 +01:00
Jeremy Ruston
5994a84644 Extend ginsu.sh to generate a split.recipe file 2013-08-03 15:03:07 +01:00
Jeremy Ruston
602b9d34e4 Unpack the object returned by getBoundingClientRect()
Embedding the return object directly doesn't survive the object being
passed as an event parameter.

Fixes #114
2013-07-25 16:58:42 +01:00
Jeremy Ruston
a79e876806 First pass at a grid widget
Need to add support for cell templates and in place editing.
2013-07-22 13:03:46 +01:00
Jeremy Ruston
6e98af3bbd Experimenting with different easing functions for the zoomin animation 2013-07-08 17:20:06 +01:00
Jeremy Ruston
24ad677d75 Add back the zoomin view
An alternative visualisation for the story list. It just shows the
currently selected tiddler, with smooth animations between tiddlers.

Not entirely finished yet; for instance, if you close the current
tiddler you get a blank screen until you select another tiddler.
2013-07-08 15:19:00 +01:00
Jeremy Ruston
594f4ba204 Update animations to use a timer instead the transitionEnd event
Thr trouble is that the transitionEnd event doesn't fire under some
circumstances (eg if the animated element is hidden). So, it's more
reliable to use a timer instead
2013-07-06 12:57:37 +01:00
Jeremy Ruston
6d3f224817 Fix problem with pop listview animation
It turns out the transitionEnd event fires separately for each animated
property. We'll just remove ourselves on the first one
2013-07-05 11:15:51 +01:00
Jeremy Ruston
e6450e60e2 Add a popping animation to the tags editor 2013-07-04 12:50:31 +01:00
Jeremy Ruston
e583c1d72d Use empty string as default value for reveal widget 2013-07-03 16:00:26 +01:00
Jeremy Ruston
d93e6b1229 Always default to a href='#title' format for tiddler links
The link format will be overridden when we're creating links within
static HTML representations
2013-06-27 09:03:59 +01:00
Jeremy Ruston
cb34ef20ad Add input type handling to the texteditor
This allows us to customise the input element used for each field type.
The only one implemented at the moment is color, which currently only
works on Chrome
2013-06-13 09:17:36 +01:00
Jeremy Ruston
204bd69e83 Fix issue preventing tags being added to a tiddler with no existing tags 2013-06-11 14:52:01 +01:00
Jeremy Ruston
2c20e6579d Update edit widget to trigger a popup when focussed
This will allow us to do autocompletion
2013-06-09 19:27:45 +01:00
Jeremy Ruston
e4aa80b277 Update the transclude widget to update parameters for remove tag message 2013-06-09 19:27:15 +01:00
Jeremy Ruston
d4b6c05bc2 Update linkcatcher to optionally trigger a different event 2013-06-09 19:26:42 +01:00
Jeremy Ruston
0cbb89770f Update fieldmangler widget to be able to add and remove tags 2013-06-09 19:26:05 +01:00
Jeremy Ruston
92fee547a9 Allow class to be specified for list widget frame element 2013-06-09 19:25:11 +01:00
Jeremy Ruston
a20eb4867e Update link widget to use current tiddler as default target 2013-06-09 19:24:45 +01:00
Jeremy Ruston
aeb8d0d1e6 Allow a placeholder attribute to be specified on the edit widget
Also fix some problems with handling of the class and style attributes
2013-06-08 17:30:54 +01:00
Jeremy Ruston
694ca76e7f Improve the bitmap editor to allow the bitmap to be resized
A bit rough and ready, too
2013-06-06 20:55:43 +01:00
Jeremy Ruston
d81f45764a Start refactoring the bitmap editor to permit a more complex UI 2013-06-05 19:04:40 +01:00
Jeremy Ruston
2d5d1d1ce1 Improve editting of corrupt images
We now detect errors loading the image and initialise a blank canvas
instead.

This means that it's possible to open HelloThere for editting, and then
change the "type" field to "image/jpeg", and the textarea automatically
switches to a blank bitmap. Next up is making it possible to change the
size of the bitmap.
2013-06-05 15:47:44 +01:00
Jeremy Ruston
c0a26d2849 Ensure that the edit widget refreshes whenever the editor type changes 2013-06-05 15:38:29 +01:00
Jeremy Ruston
131874e154 Fix typo 2013-06-05 15:38:06 +01:00
Jeremy Ruston
e925f1c3dd Adjust fields widget to sort fields
Making it easier to track .tid files under source code control
2013-06-05 14:12:52 +01:00
Jeremy Ruston
348a6976b7 Add fieldmangler widget that allows fields to be added and removed to tiddlers 2013-06-04 12:02:37 +01:00
Jeremy Ruston
ab75dde048 Update transclude widget to flag events with the current field 2013-06-04 12:02:18 +01:00
Jeremy Ruston
7a080b7aac Update class for fieldlist widget 2013-06-04 12:01:40 +01:00
Jeremy Ruston
fb76ee5606 Fix problem that was stopping buttons being able to set tiddlers to the empty string 2013-06-04 12:01:28 +01:00
Jeremy Ruston
538d12e017 Add the fieldlist widget
Allows us to render a sequence of fields
2013-06-02 23:20:43 +01:00
Jeremy Ruston
938124ca37 Extend the info widget to return the current field 2013-06-02 23:20:24 +01:00
Jeremy Ruston
6f3f4528c9 Make the edit and view widgets default to the current field 2013-06-02 23:20:08 +01:00
Jeremy Ruston
d5b0a0fb68 Extend the transclude widget to allow a currentField to be set
We set the current field as a context variable for the transcluded
content
2013-06-02 23:19:50 +01:00
Jeremy Ruston
456d50b6ef Make the setstyle widget refresh itself properly
This will allow us to dynamically change the colour of tags
2013-06-02 23:18:54 +01:00
Jeremy Ruston
f743e09e7a Corrected typo 2013-06-02 23:17:53 +01:00
Jeremy Ruston
d27cb19e22 Update titles of certain widgets that were misspelled 2013-05-31 13:23:25 +01:00
Jeremy Ruston
a8b1da33de Improvements to slide animation 2013-05-28 16:47:16 +01:00
Jeremy Ruston
5cdcadd8b2 Make the reveal widget use the new animator mechanism 2013-05-28 16:28:38 +01:00
Jeremy Ruston
5394fc4ee1 Fix typo 2013-05-25 16:40:44 +01:00
Jeremy Ruston
4ad6f05010 Fix issue with scrolling while editting long tiddlers in Firefox 2013-05-21 17:54:10 +01:00
Jeremy Ruston
d3fa781287 Switch to using a slider for tiddler info 2013-05-19 12:11:18 +01:00
Jeremy Ruston
96462de2f5 Fix problem with not encoding body of non-base64 data URIs 2013-05-18 16:59:53 +01:00
Jeremy Ruston
f3bcc1c0af Add a datauri widget
Used in stylesheets to get a data URI for a font or bitmap
2013-05-17 17:30:03 +01:00
Jeremy Ruston
551ebdc005 Major refactoring of rendering mechanism
We now use a fake DOM implementation on the server to let us share more
rendering code between the text output vs. DOM output paths.
2013-05-17 10:12:25 +01:00
Jeremy Ruston
07d4c9a639 A slightly better fix for the render context inheritance issue with the htmlwikified viewer for the view widget 2013-05-15 22:15:57 +01:00
Jeremy Ruston
98986ba9cc Fix problem with render context not inherited into htmlwikified view widgets 2013-05-15 21:33:40 +01:00
Jeremy Ruston
8564602256 Refactor rendertree to simplify context handling
Get rid of the separate renderContext stack and instead have a parent
pointer on renderer nodes. This lets us walk back up the render tree to
resolve context references
2013-05-15 17:32:17 +01:00
Jeremy Ruston
15d1abf523 Fix problem with context-menu paste not triggering saving of edits
We'll use the input event to detect changes, which is reliable but
doesn't work on older browsers
2013-05-11 10:03:11 +01:00
Jeremy Ruston
abcf7df875 Adjust bitmap editor to draw with a yellow pen
For highlighting
2013-05-08 15:11:53 +01:00
Jeremy Ruston
ed5f88ab84 Fix problem with importing TW files 2013-05-03 19:19:01 +01:00
Jeremy Ruston
1696daf2bf More explanation of the linkcatcher widget
Prompted by @pmaro
2013-05-01 16:11:52 +01:00
Jeremy Ruston
aa7b9441fd Add a linkcatcher widget
It intercepts navigation events and saves the target tiddler title into
a specified text reference
2013-05-01 12:02:33 +01:00
Jeremy Ruston
594871e2d1 Fix for the link macro to work around iPhone annoyance
This prevents Mobile Safari from sliding the address bar into view
whenever a tiddler link is clicked
2013-04-29 16:03:35 +01:00
Jeremy Ruston
b305debf97 Add a close all tiddlers button
For @pmario
2013-04-27 16:35:59 +01:00
Jeremy Ruston
059a36b23d Animate tiddler closures to the left
As @pmario points out, avoids nasty interactions with the sidebar
2013-04-27 16:24:41 +01:00
Jeremy Ruston
94287c9ac3 Tidying up drag and drop 2013-04-10 16:55:25 +01:00
Jeremy Ruston
e39d246317 Added basic support for drag and drop of tiddlers
Links are now draggable. Dragging outside the browser will drop the
wiki text of the tiddler. Dragging to another TW5 browser window will
drop the entire tiddler, including fields.
2013-04-08 18:47:46 +01:00
Jeremy Ruston
45ee2b3048 Fix bug that was preventing pasting into edit textareas or input boxes 2013-04-05 13:57:55 +01:00
Jeremy Ruston
b69f87484d Remove extraneous debugging code 2013-04-04 14:24:37 +01:00
Jeremy Ruston
dc00e584fb Add support for filtering shadow tiddlers 2013-04-03 14:29:12 +01:00
Jeremy Ruston
6c210df0bd Update HTML deserializer to cope with TiddlyWiki classic and TW5 files 2013-04-03 12:57:17 +01:00
Jeremy Ruston
a17e3588a6 Fix problem triggered by stale history list 2013-04-02 09:28:48 +01:00
Jeremy Ruston
c287d9d6d0 First pass at a widget for importing tiddlers 2013-04-01 19:06:39 +01:00
Jeremy Ruston
d99db91dd5 Fixed attribute assignment 2013-03-28 21:47:51 +00:00
Jeremy Ruston
0f0a96c4da Update list widget to transclude block vs. inline correctly 2013-03-28 21:29:42 +00:00
Jeremy Ruston
abf3673fc9 Update texteditor to respect prevailing classes and styles 2013-03-28 21:29:20 +00:00
Jeremy Ruston
54d858a371 Improved default logic for the reveal widget 2013-03-27 13:48:39 +00:00
Jeremy Ruston
738952029b Icons for editing tiddlers 2013-03-20 17:20:46 +00:00
Jeremy Ruston
0d2ac57ff7 Make static links to tiddlers with spaces work
A bit of a hack - the savetiddlers command should generate filenames
better
2013-03-20 11:02:06 +00:00
Jeremy Ruston
cbf2e9add9 Add fieldgrid in tiddler info dropdown 2013-03-19 22:39:24 +00:00
Jeremy Ruston
d4ada346dd The list widget should parse the empty message as inline text 2013-03-19 22:39:04 +00:00
Jeremy Ruston
2aff4db744 Fix relative date viewer so that it displays absolute dates in static HTML representations 2013-03-19 19:06:23 +00:00
Jeremy Ruston
ec83bc5c64 Bring back the relativedate viewer 2013-03-19 18:59:13 +00:00
Jeremy Ruston
dbfbad3dd3 Let view widget viewers get postRenderInDom() callbacks 2013-03-19 18:59:00 +00:00
Jeremy Ruston
952f1b3900 Add tiddler info dropdown
Including backlinks
2013-03-19 16:45:07 +00:00
Jeremy Ruston
a1260dc57d Basic first implementation of tabs for the sidebar 2013-03-18 22:18:54 +00:00
Jeremy Ruston
5b6376a386 Better titles for drafts of new tiddlers 2013-03-18 10:59:47 +00:00
Jeremy Ruston
623a3ec8f8 Rename "shadow" tiddlers to "system" tiddlers
What we have at the moment isn't really the same as TiddlyWiki
classic's shadow tiddlers, it's a much simpler system for excluding
tiddlers. We'll use the term "shadow" instead to refer to the way that
tiddlers in plugins behave, which is exactly like TiddlyWiki classic's
shadow tiddlers.
2013-03-15 22:00:19 +00:00
Jeremy Ruston
7e57c422dc Re-introduce video widget 2013-03-12 19:17:13 +00:00
Jeremy Ruston
fc33df8829 Add support for deleting tiddlers 2013-03-10 19:24:49 +00:00
Jeremy Ruston
21cb1e233e Add "info" widget for displaying information about tiddlers
Currently only supports displaying the changecount of a tiddler
2013-03-10 19:24:22 +00:00
Jeremy Ruston
f85afdb964 Fixed #70 2013-03-06 22:12:21 +00:00
Jeremy Ruston
8e9b2996eb Restore qualifyHoverTitles attribute to link widget 2013-03-05 11:55:25 +00:00
Jeremy Ruston
c24c00e8d6 Make the htmwikified viewer pass the renderContext through 2013-03-04 18:05:22 +00:00
Jeremy Ruston
fc79db53ab Allow templating with the link widget
And add some documentation
2013-03-04 11:13:10 +00:00
Jeremy Ruston
79bb082b92 Restore password widget
Hence allowing TiddlySpot integration to work again
2013-03-04 11:12:49 +00:00