Derk-Jan Hartman
e9a56a3b85
Some small cleanup
...
Bunch attr actions, add to DOM as the last action, rm superfluous lines
and use strict.
Change-Id: I3e0870b108e978d7fd4093a6e7201fb6260f2e88
2014-07-09 12:03:10 +00:00
Derk-Jan Hartman
5025f2beee
Handle links with empty or no title attributes
...
The script depends on a title being present in title attribute. So
skip links without title attributes (which were getting empty
attributes due to the implementation of removeTooltips) and bail on
trying to open a preview for links without a title.
Bug: 67728
Change-Id: I4cc744bea10af34741681f11e03d77b3d53e3a3b
2014-07-09 11:51:15 +00:00
Prtksxna
e6adbef707
Merge "rename variable, and parentheses not brackets"
2014-06-25 00:50:51 +00:00
Prtksxna
8a680a2433
Merge "Raise popup show/hide delay to 500ms/300ms, respectively"
2014-06-25 00:46:15 +00:00
S Page
4c86e94e49
rename variable, and parentheses not brackets
...
removeBracketsFromText doesn't count it tracks nesting level, and
brackets are [] not (). Minor detail.
Change-Id: I8f42b1ccae5233d7b6062bb311eced6ef3085d4a
2014-06-24 01:23:05 -07:00
jenkins-bot
49c0c2f669
Merge "render.article: Remove brackets using code instead of RegExp"
2014-06-24 08:12:55 +00:00
Prtksxna
b65954645f
Merge "Check for empty response"
2014-06-23 01:51:15 +00:00
Derk-Jan Hartman
e3de26ebfe
Re-use result instead of querying the DOM for selector multiple times
...
It's a complicated query, we should not repeat it when not necessary.
Change-Id: I71d47de088afa7dab0a6eaed214c61db699fcd0c
2014-06-23 06:47:38 +05:30
Bartosz Dziewoński
3041d358ed
Raise popup show/hide delay to 500ms/300ms, respectively
...
Per discussion on the bug, the current values of 150ms/100ms cause a
lot of unintended actions.
Bug: 64234
Change-Id: I6fe2d89ad97630ec5c7f47d3e3b9b71d7cfc5d3f
2014-06-20 16:48:00 +02:00
Fomafix
58be4ea1de
Check for empty response
...
In combination with other gadgets the error
TypeError: re.query is undefined
can occur because the request contains titles:'' and the response is [].
Change-Id: I46d02e7c48a55cd9af20fd7ef729b4d26f69a8c0
2014-06-18 20:57:19 +00:00
Prateek Saxena
f44b1701a2
render.article: Remove brackets using code instead of RegExp
...
Casees:
1) Hello (and welcome)
2) Hello )and welcome(
3) (Hello (and) welcome)
The current RegExp only takes care of (1). The new code should
take care of all the cases.
Bug: 65138
Change-Id: I39f38beed0cf612067d6fc61b18295d1d38fcc22
2014-06-11 12:51:31 +05:30
Prateek Saxena
0192822522
disablenavpop: Correct type check for disablePopups
global
...
Change-Id: I33f62c74fe231c74cf54937aa43ac35ae15a0b37
2014-06-10 16:50:24 +05:30
jenkins-bot
8682faa2f6
Merge "renderer.article: Escape RegExp syntax from the article's title"
2014-06-08 12:46:16 +00:00
jenkins-bot
f0d58e0f7d
Merge "animation: Use the animation mixin in core and pass fill-mode as an argument"
2014-06-06 11:10:24 +00:00
Prateek Saxena
a6ad92e9fd
Disable NavigationPopups (Gadget) if Popups (Extension) is enabled
...
Bug: 62952
Change-Id: If3757199c280bb0ad54878111dcf926b88778b64
2014-06-06 13:04:34 +05:30
Prateek Saxena
2b59d8530d
renderer.article: Escape RegExp syntax from the article's title
...
Bug: 66203
Change-Id: Id9b523643e8540a717919fa5bb65a6d980722c0f
2014-06-06 09:56:13 +05:30
Prateek Saxena
4a15462ea0
animation: Use the animation mixin in core and pass fill-mode as an argument
...
Bug: 65923
Change-Id: I4222d811d56a84fe046dfe4a96eda636e76967a5
2014-06-03 11:56:00 +05:30
Prateek Saxena
d1ddb95067
Flip the animation direction if the Hovercard is flipped
...
Change-Id: I890d49c517a52e57e0b22bcf1949b347d531d6b7
2014-05-30 16:25:14 +05:30
Prateek Saxena
a52242087f
animation: Add fade animations from other directions
...
1. fade-in-down
2. fade-out-up
Change-Id: I108b6bb6bbb8ac49401e9dc0d6599e57c42abf62
2014-05-30 05:18:05 +05:30
jenkins-bot
08c7bbf11b
Merge "animation: Correctly name the animation classes"
2014-05-29 19:04:54 +00:00
jenkins-bot
1877fda630
Merge "Use only px in the stylesheet"
2014-05-29 18:46:27 +00:00
Prateek Saxena
dd309071d2
animation: Correctly name the animation classes
...
fade-in to fade-in-up
fade-out to fade-out-down
Change-Id: I6e8877a509fdb3e3f570e16d59438bff61e2615a
2014-05-29 00:35:25 +00:00
Prateek Saxena
9cc318c3eb
renderer: Ignore #
links
...
Bug: 65425
Change-Id: Ic610ee485da668b9a141234f56477faf7bcaa447
2014-05-27 19:24:28 +05:30
jenkins-bot
5e11a35d95
Merge "Popups: The promise of the popups was not forwarding failures"
2014-05-22 13:47:14 +00:00
Derk-Jan Hartman
fab07e5c6f
Popups: The promise of the popups was not forwarding failures
...
Change-Id: Icc1d5a175ccf9ef000dd198f999994917912de3f
2014-05-22 19:14:38 +05:30
Derk-Jan Hartman
cc4d67c67c
Popups: Fix popups for extiw links
...
These links were not ignored due to a typo. This also threw an error,
because these links produced query.interwiki and not in query.pages.
Change-Id: I3b5c5b900209323e3e72b41e3b02e90f1f53b4eb
2014-05-20 00:30:29 +02:00
Prateek Saxena
7cfca498fc
Reduce space between extract and timestamp
...
Bug: 65154
Change-Id: I9e114c820944aa54bfa3fd4afe9ba93c1024d28d
2014-05-19 21:48:37 +05:30
Prateek Saxena
418394bc8e
Use only px in the stylesheet
...
Instead of the current incomprehensible mixture of em's and px's.
This will help resolve other positioning bugs with relative ease.
Change-Id: I9d7659736489c461ab8c0f4aa660a3ce2846bd5d
2014-05-19 15:46:58 +05:30
Thiemo Mättig
b656841f8f
Don't underline hovercard text when user preference is 'Always'
...
The setting is called 'underline' and defaults to 'Skin or
browser default' (= 2). If set to 'Always' (= 1), which is what
I personally like and do, ;-) all text in hovercards is
underlined (and the underlines disappear if you hover the
hovercard, which is a bit tricky but possible).
This simple fix removes the dependency from the default style
(which only shows underlines on hover). I think this is the most
straightforward solution.
Change-Id: Ide54ffd1949a50184d8d2a680bf1a0d35e24d563
2014-05-12 16:18:20 +02:00
Prateek Saxena
046a34b9a0
render.article: Make the title of the text bold in the extract
...
Bug: 65098
Change-Id: Ibd7c821d538acd2045e0ffb9a8b2274d61d99484
2014-05-11 00:00:26 +05:30
Prateek Saxena
e4d18a1c0e
render.article: Fix regexp for removing brackets
...
Change-Id: I4fbff8a5d34cf48a44aae4a12e6d2a23c362b4cf
2014-05-10 19:35:31 +05:30
jenkins-bot
770d29949c
Merge "render.article: Remove text inside brackets along with the brackets"
2014-05-10 13:50:17 +00:00
Prateek Saxena
b587fcda20
render.article: Remove text inside brackets along with the brackets
...
Change-Id: I544bf0daf935b9ddb5bb64c4eae1fd96baef2c44
2014-05-10 17:46:04 +05:30
Prateek Saxena
c4f46dd7d4
Increase font size
...
Increase the extract font-size. Also increase
the max-height of .mwe-popups-extract so that
the text does not get cut.
Bug: 63508
Change-Id: Icde0ca8af44e68cab71816f4c89fe9a68f66b472
2014-05-10 11:42:48 +05:30
Prateek Saxena
5a7393407c
render.article: Fix image placement on non-SVG browsers
...
Bug: 64598
Change-Id: I9e3434330a0c51e625921f6255119ff96deccbc6
2014-05-09 13:53:19 +00:00
Prateek Saxena
e7376cd517
render.article: Flip popups on X and Y axis so that they don't render outside the viewport
...
Bug: 62971
Change-Id: I893e239889874be83cfbf202095f617ee6091d6f
2014-05-09 13:52:16 +00:00
Prateek Saxena
1045bda2b5
render.article: Break down the createThumbnail method
...
Bug: 61267
Change-Id: Id17bc6d19f044d6a4837eebb6b1a264ee104ea84
2014-05-09 13:51:32 +00:00
Prateek Saxena
e6f8834841
Restructuring code
...
Bug: 61267
Change-Id: Ie4252c691abb7e6b2637d88b1adea5ce8871497c
2014-04-30 16:48:05 +05:30
Prateek Saxena
0c607321f8
Stop Popups from being generated if extract is empty
...
Bug: 62994
Change-Id: I9c43c572d0290020c7d73fdc061de077bb025299
2014-04-28 13:49:28 +05:30
Prateek Saxena
cb41c8e6ff
Replace animationend with setTimeout
...
Bug: 63253
Change-Id: Id4b998ad88bf27da8114f8194464bea8a11a0504
2014-04-28 13:27:39 +05:30
Bartosz Dziewoński
783ae1ead7
Use mw.hook to rebind events after page content is reloaded
...
Also moved things that don't need to be in document-ready handler
outside of it.
Bug: 63169
Change-Id: Ie681ff6722b9909d38fc06359da7614e0fc1798e
2014-04-22 18:53:15 +02:00
Bartosz Dziewoński
49a253cfd7
Extract some magic timeout values
...
Change-Id: Ic4c5a677ca05c4669aa44f0ce03356c19b63f3e7
2014-04-22 16:43:06 +00:00
Bartosz Dziewoński
7dd62d1581
Do not call decodeURI() on non-URIs
...
The title here is not percent-encoded or anything, it's just text.
Calling decodeURI() can cause errors to be thrown if it doesn't happen
to be a valid URI.
Bug: 64236
Change-Id: Iee7c1db0c01cba405f0a2a03b0de58e9edb9a171
2014-04-22 16:42:58 +00:00
Bartosz Dziewoński
26328b3fa0
Always wait at least 150ms before displaying the popup
...
Previously we would wait 150ms if the data was cached,
or 50ms + [API request time] if it was not.
Using some promise magic to achieve this without decreasing
performance. The behavior of sendRequest() was changed a bit.
Bug: 64235
Change-Id: Ibe6e1a5f4ac02f538dac686476ac95ba506a1a86
2014-04-22 16:26:10 +00:00
Bartosz Dziewoński
c3e3df7905
Use :not() CSS pseudo-class instead of jQuery .not() filter in selector
...
The old version would iterate over all links on the page (try that on
[[Barack Obama]]), the new one should be optimized by the browser and
poly-filled by jQuery if unavailable.
We can't do `:not(.extiw, .image, .new, .internal, [title=""])` –
while some browsers support it, CSS specification doesn't allow
compount selectors inside :not().
Change-Id: I0e4b18752905604ebf1b7f41a9b7ac2edd8b42e0
2014-04-22 16:24:58 +00:00
Bartosz Dziewoński
31e42fd85a
Prettify the embedded SVG code
...
* Do not escape double-quotes in single-quotes string
* Remove repeated <defs/> tags, one is enough
* Reindent
Change-Id: I6a5b53384b8d5604bee11cb993d040282accf999
2014-04-22 14:10:08 +00:00
Bartosz Dziewoński
9943ebd844
ext.popups.core.js: Whitespace cleanup
...
Change-Id: I861ba996cce9e9baf65e0630b1c2187d15df22b6
2014-04-22 14:09:42 +00:00
Bartosz Dziewoński
84be066a29
Apply whitespace code conventions in LESS files
...
https://www.mediawiki.org/wiki/CC/LESS
Change-Id: Ic8df9629b76499c57114a5e399b4266dd0523002
2014-04-22 13:38:53 +02:00
Prateek Saxena
64fdebe496
Remove viewBox from SVG, not needed.
...
Bug: 63590
Change-Id: Ia1e85441389377cab2720b5410cbf602a42fafe0
2014-04-22 11:16:35 +00:00
Prateek Saxena
030c2512b1
Position hovercard according to mouse position
...
Bug: 63159
Change-Id: I3d038af8915ff586c76f24bd5c2d623de20b09ab
2014-04-22 11:04:05 +00:00
jenkins-bot
6909350524
Merge "Fix border issue with non-flipped landscape hovercards"
2014-04-22 10:57:40 +00:00
Prateek Saxena
d5dbeff0f2
Ignore internal
class for links
...
This is being used in the rectangle icons to enlarge the image.
Bug: 64116
Change-Id: I52b93e7063fbb8e39fbc6993566210a180d1decc
2014-04-21 16:43:50 +05:30
Prateek Saxena
a2242e6886
Update documentation for the createThumbnail method
...
Bug: 61267
Change-Id: If73e89059f5f8528a6e0aab0ec04a89a69c5d114
2014-04-21 04:26:39 +05:30
Prateek Saxena
9bd3d6551e
Remove confusing variable name
...
Bug: 61267
Change-Id: I7bcf85c9fcdf2905f7f0e11646eb007a7d8a64ea
2014-04-21 04:26:39 +05:30
Prateek Saxena
5940db0cdc
Break ternary operations into multiple lines
...
Bug: 61267
Change-Id: I777c658de502c934abd72eea9e4bd72ceb956560
2014-04-21 04:21:47 +05:30
Prateek Saxena
fbf9bda766
Stop checking for SVG support on every hover
...
https://gerrit.wikimedia.org/r/#/c/121607/3/resources/ext.popups.core.js
Bug: 61267
Change-Id: Ibdd5a42c72c43cd797eeb0b3d4c7ba0166e0643d
2014-04-21 04:21:47 +05:30
jenkins-bot
5617b0f1a0
Merge "Added documentation for text extract length"
2014-04-20 21:26:40 +00:00
Prtksxna
96a44c8b22
Merge "Prevent popups after scrolling"
2014-04-16 13:36:49 +00:00
Prateek Saxena
75afbf26ff
Fix border issue with non-flipped landscape hovercards
...
Bug: 63215
Change-Id: Id998e9c33bab551643e5e18303cbd773dc824a39
2014-04-14 11:30:27 +05:30
Prateek Saxena
d40c4c1e8a
Use document.createElementNS for svg:image
...
Browsers like Safari and IE9 alias <image> tags to <img>
tags and thus don't display hovercards correctly. By creating
the `image` in the svg namespace we solve this problem.
Bug: 62985
Change-Id: Iff92d59ea231d1208eea149cc8c182a5fe87701a
2014-04-14 09:09:35 +05:30
Prateek Saxena
e67ae7d43a
Added documentation for text extract length
...
Bug: 63871
Change-Id: I61c2f19b8263982550dd9b1e9badbd6ddaf288db
2014-04-13 10:28:57 +05:30
Santhosh Thottingal
ad7db9cc36
Misc code formatting cleanup
...
* Consistant whitespace after keywords
* Misc whitespace cleanup as per JS coding guidelines
https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript
* pass mw to IIFE and use the function arguments close to function body
( function ( $, mw ) {
...
}( jQuery, mediaWiki ) )
* Moved prefined moment to .jshintrc. Move browser:true too
Change-Id: If488974e8e5987916bc4043e4e70bb6c60472b30
2014-04-07 15:09:59 +05:30
Spage
4ef29afb88
Merge "Fix placement issue for smaller images"
2014-04-06 09:30:17 +00:00
Prateek Saxena
43df8474cd
Use escape key to hide popup
...
Bug: 62948
Change-Id: I9623cd95b5e2832d68d9409d8056ad6d50da0398
2014-04-05 18:39:48 +05:30
Juliusz Gonera
0719a75d08
Prevent popups after scrolling
...
Prevent popups from showing up when the mouse cursor accidentally
ends up hovering a link after scrolling.
Change-Id: I07a95d9eabdc22a045a97b07f98fb0d632a276c1
2014-04-03 14:56:06 -07:00
Prateek Saxena
27650cae19
Use aria-hidden for popups
...
Bug: 62948
Change-Id: I0d5428be2e5299e57232335c00b45649ba23ce9f
2014-04-03 19:14:26 +00:00
Prateek Saxena
dd639d4020
Use tooltip role for Popups
...
Bug: 62948
Change-Id: I10f42bbd01e2a5925ee5323eb1c6968e0b1787a4
2014-04-03 19:14:06 +00:00
Prateek Saxena
511b6f251f
Add white fill in triangle for hovercards with images
...
Bug: 62945
Change-Id: I1b3ec90a8cd482c100ee8b2abd5ee69f3890a576
2014-04-02 06:54:38 +00:00
Prateek Saxena
a5b57a40e4
Remove redirects to
text and heading
...
Bug: 63155
Change-Id: I42fb9cc1a8b26eaf6807243e4e7bdbf0b56dc35c
2014-04-02 06:54:13 +00:00
Prateek Saxena
b2c5424272
Show and hide Popups on focus and blur (along with mouseenter/leave)
...
Bug: 62948
Change-Id: Ica9ba7099cb0430983a07251baf62861d7901b9a
2014-04-02 12:16:00 +05:30
Prateek Saxena
1b4a7a1f26
Fix for RTL languages
...
Bug: 62970
Change-Id: I7c2a2afa8fc2b52727fd7e86a7774b9d8196917c
2014-04-01 11:48:40 +05:30
Prateek Saxena
abc06cb0ef
Use correct spacing conventions for jshint comment
...
https://gerrit.wikimedia.org/r/#/c/120752/3/resources/ext.popups.core.js
Change-Id: I66d715528997c5ec1476b61a130934bc3b642dce
2014-03-31 12:03:54 +05:30
Prateek Saxena
58438de5b1
Fix placement issue for smaller images
...
Bug: 63207
Change-Id: I378bda652579a2f42469676f110452cbc4941ab0
2014-03-28 23:58:27 +05:30
Prateek Saxena
eb625b222d
Add .jshintrc file and update core.js to remove errors
...
Bug: 62997
Change-Id: I89d46c913994bd620ae904fbd626621be4aca170
2014-03-25 14:58:53 +05:30
Prateek Saxena
7386f10df3
Make EventLogging a soft dependency
...
Based on https://gist.github.com/atdt/4652474
Bug: 61880
Change-Id: Ief5ce7eef43ffe4612541627dff2b0fc75b696ab
2014-03-20 16:47:52 +05:30
Prateek Saxena
dc75194d9b
Stop overflowing text from hitting the border
...
Bug: 62194
Change-Id: Id055274b6f1cd2ecdc826b2bb4f3b3fb8f89dc65
2014-03-17 08:29:25 +00:00
Prateek Saxena
710b845da1
Add border around pokey of the popup
...
Change-Id: Idead01aea93a685f9d061361cfd5978ad3dfda17
2014-03-17 08:28:50 +00:00
Prateek Saxena
091c2e40d8
Use mixin for creating pokeys with the border method
...
Change-Id: I16f79dd0fc89d986d17c61ecfcd1dca0de8243c4
2014-03-17 08:27:00 +00:00
Prateek Saxena
541f2ca470
Flip the arrow position if the popup is flipped
...
- Only text popups
- Portrait popups
- Landscape popups
Had to convert the landscape popup's img into an svg:image
too. 2 new SVG masks were made to take care of the flipped
states.
Change-Id: Ib30bb7f5ff9857f6a470b07db05ab50fb0ca8a5d
2014-03-17 08:25:58 +00:00
Prateek Saxena
a12adc7f6b
Flip the starting point of the popup if its on the right side of the screen
...
Change-Id: I7a3fea220d051e0d70fcbf0be3d0557ee24c5da2
2014-03-17 08:25:09 +00:00
Prateek Saxena
44028f722b
Limit image size for portrait popups
...
Also position the image in the center (along the y axis)
Change-Id: I4980e6d6e024515710abc1912ffcf99b71297e9e
2014-03-17 08:24:41 +00:00
Prateek Saxena
1818c0d2e6
Use moment.js instead of timeAgo method
...
Bug: 61481
Change-Id: I8e08335aa091c098a9efd1eb148627b134e42940
2014-03-12 11:21:27 +05:30
Prateek Saxena
1b82d9b969
Make animation mixin cleaner
...
Change-Id: I5103daf43112d5a412c030dd90fda67a08469885
2014-02-27 15:19:41 +05:30
Prateek Saxena
b6f57aebcc
Minor type changes/Fix contrast
...
Bug: 61411
Change-Id: Ia33b94f69c3cf655a278311801f64d32841af2e7
2014-02-25 06:32:38 +05:30
Prateek Saxena
240e469d9c
Add Triangle/Pokey to the NavigationPopups
...
* Triangles using the border hack for the white part of the popups
* SVG clipPath on FF and Chrome, using SVG <image>
* Fallback to <img> on browsers with not SVG support
Change-Id: I3b1226051436652edbffe4642176c9a0e405243c
2014-02-24 21:55:09 +05:30
Yuvipanda
e1d6fccc90
Merge "Make padding consistent for extract and timestamp"
2014-02-24 04:06:01 +00:00
Prateek Saxena
3744726eab
Truncate text for portrait popups
...
Change-Id: I8b1177a538f5e2b0e79f68fe2c125189363c0545
2014-02-24 09:24:25 +05:30
Prateek Saxena
180a493cdc
Make padding consistent for extract and timestamp
...
Change-Id: I3dc9fa9631a9ab17953195cd51eb192b0b009dca
2014-02-24 09:19:16 +05:30
Prateek Saxena
ecc6f4a00a
Increase the space between the link and the popup
...
Change-Id: Ic3832bb61ac2d209fbc3d4d4204ec9d2d6106ac3
2014-02-21 15:43:15 +05:30
Prateek Saxena
55fbaad4bd
Improve color contrast further
...
Bug: 61411
Change-Id: I91916ce44d6ef6f823432b089e0aef4e513292ad
2014-02-21 13:17:16 +05:30
Prateek Saxena
3ce19d484b
Improve contrast of old timestamps
...
Bug: 61411
Change-Id: If9c3517e49ed81f7d758dfa08967a3af9125956e
2014-02-21 12:56:19 +05:30
Prateek Saxena
efc3c498fe
Add EventLogging
...
Schema: https://meta.wikimedia.org/wiki/Schema:Popups
Change-Id: Id17e81794561f022e004e18cf3595c3ffd6f3fd0
2014-02-19 11:51:11 +05:30
Prateek Saxena
00bde78b00
Add redirects to
message at the top of the popup
...
Change-Id: I051e4ed84f216e9c8682138927f6dcb6a407ee57
2014-02-18 16:46:12 +05:30
Prateek Saxena
37ddb1997f
Use .text instead of .html for the extract
...
This is alright because we are setting `explaintext` to
`true` in the API call.
Change-Id: I04df151a31ca60f058ea226efe17841b0eb663c4
2014-02-18 16:02:15 +05:30
Prateek Saxena
54b409cee2
Limit container height for landscape popup's extract
...
This is the only way we can properly truncate text.
We can't do it on the basis of characters as it'll
take up different amount of space based on the script.
Change-Id: I77f8304315beb42eb2120c633d3befb5f83432f9
2014-02-18 14:10:43 +05:30
Prateek Saxena
2899d34a70
Use div with background-image for landscape
...
This is to prevent the layout from breaking on landspace popups
Change-Id: Ia9d051b4f060d549a4a188ca42fb70a97eed23ab
2014-02-18 13:49:42 +05:30
Prateek Saxena
21b41f78eb
Move thumbnail creation to its own method
...
Change-Id: I1d1b2aff4d8b919bd65e0da8ff07b594f061ccd7
2014-02-18 12:31:17 +05:30
Prateek Saxena
a54a0a4195
Position timestamp div from the bottom
...
Also, removes the the "+" CSS selector
Bug: 61138
Change-Id: Idc88363add5e4f82d3d44b204f7bf3c96fa27839
2014-02-17 15:09:32 +05:30
Prateek Saxena
ce59f92489
Add time ago in words at the bottom of the popup
...
Change-Id: I53f77a0c802ae3b9582c51a07fc56ad56e3fd53b
2014-02-13 18:45:02 +05:30
Prateek Saxena
e9ad2ef798
Change size of thumbnails in popup
...
Change-Id: I98ecea9d240a4400cf2277b3b393c4b024fe907f
2014-02-13 11:15:54 +05:30