Thomas Bruederli
f189d72943
Merged branch 'dev-mailvelope'
9 years ago
Aleksander Machniak
91ef2c812a
Small code improvement
9 years ago
Aleksander Machniak
e85bbc9e9c
random_bytes() can throw an exception in some cases, since PHP 7.0.0rc3
9 years ago
Aleksander Machniak
77be69fa25
Fix issue where Content-Length of some attachments could be set to wrong value causing browser errors ( #1490482 )
9 years ago
Aleksander Machniak
63e7937d02
Change so rcube_message class does not depend on $_GET parameters
9 years ago
Aleksander Machniak
c49234bd78
Fix bug where clicking date column with 'arrival' sorting would switch to sorting by 'date' ( #1490126 )
9 years ago
Aleksander Machniak
dd7db21797
Fix XSS issue in drag-n-drop file uploads ( #1490530 )
9 years ago
Aleksander Machniak
26086981a2
Improve randomness of security tokens ( #1490529 )
9 years ago
Aleksander Machniak
f75bc5c24b
Use random security tokens instead of hashes based on encryption key ( #1490404 )
9 years ago
Aleksander Machniak
e4c66080a8
Improved encrypt/decrypt methods with option to choose the cipher_method ( #1489719 )
9 years ago
Aleksander Machniak
fdbb1c95ea
Fix missing HTTP_X_FORWARDED_FOR address in generated Received header
9 years ago
Aleksander Machniak
91018f38d4
Fix so In-Reply-To header is set also for MDN receipts ( #1490523 )
9 years ago
Aleksander Machniak
4c53e78915
Fix printing required ini options values in error message
9 years ago
Aleksander Machniak
e2f605d44d
Fallback to C locale
9 years ago
Aleksander Machniak
3c29c7e858
Fix various issues with Turkish (and similar) locales ( #1490519 )
9 years ago
Aleksander Machniak
399a2d68b6
Make optional adding of standard signature separator - sig_separator ( #1487768 )
9 years ago
Aleksander Machniak
427ab2f393
Optimize folder_size() on Cyrus IMAP by using special folder annotation ( #1490514 )
9 years ago
Aleksander Machniak
5eb9c70b60
Added method to determine IMAP server vendor, for future use
9 years ago
Aleksander Machniak
4d36da83b2
Fix support for Mozilla-based browsers, e.g. Pale Moon ( #1490517 )
9 years ago
Aleksander Machniak
c4daf3f14f
Fix regression in converting signatures to text, fixed PHP warning in html2text() call
9 years ago
Aleksander Machniak
86b241df63
CS fixes
9 years ago
Aleksander Machniak
4ceff8f353
Make optional hidding of folders with name starting with a dot - imap_skip_hidden_folders ( #1490468 )
9 years ago
Aleksander Machniak
6ca1e6add1
Add option to enable HTML editor always, except when replying to plain text messages ( #1489365 )
9 years ago
Aleksander Machniak
87d6d214f9
Fix disabled_buttons option
9 years ago
Aleksander Machniak
a63f14ec40
Emoticons-related code refactoring
...
- Emoticons: All emoticons-related functionality is handled by the plugin now
- Emoticons: Added option to switch on/off emoticons in compose editor (#1485732 )
- Emoticons: Added option to switch on/off emoticons in plain text messages
- Plugin API: Added disabled_plugins an disabled_buttons options in html_editor hook
- Plugin API: Added html2text hook
9 years ago
Aleksander Machniak
3516b02344
Fix so adding CC/BCC recipients from the sidebar unhides compose form fields in Classic skin ( #1490472 )
9 years ago
Aleksander Machniak
8297ea1dcf
Fix handling of plus character in mailto: links ( #1490510 )
9 years ago
Aleksander Machniak
f00e1f5333
CS fixes
9 years ago
Aleksander Machniak
bd82e9551f
Fix so css of one html part does not apply to other text parts on message display ( #1490505 )
9 years ago
Thomas Bruederli
7417893c22
Fix closing of nested menus ( #1490443 )
9 years ago
Aleksander Machniak
60ab554003
Remove common subject prefixes Re:, Re[x]:, Re-x: on reply ( #1490497 )
9 years ago
Aleksander Machniak
6f249b0e38
Change code so versions of Mail_mime before and after 1.9.0 are supported
9 years ago
Aleksander Machniak
3fa3f156ca
Don't display not-sent-warning in compose page on save-pref action
9 years ago
Aleksander Machniak
c4383b5f3d
Fix selecting a folder on collapse when any subfolder is selected
9 years ago
Aleksander Machniak
284aac2883
Really make base64 encoding unicode-aware
9 years ago
Aleksander Machniak
c16ac71416
Fix base64.encode/decode for unicode characters - use fallback if btoa/atob functions fail
9 years ago
Aleksander Machniak
7a42173a16
Simplify rcube_utils::check_ip()
9 years ago
Aleksander Machniak
6b31846c43
Fix IPv6 address validation on PHP with disabled IPv6 support
9 years ago
Aleksander Machniak
c360e178c4
Fix so input field (e.g. search box) does not loose focus on list load ( #1490455 )
9 years ago
Aleksander Machniak
f4c512336d
Fix "washing" of style elements wrapped into many lines
9 years ago
Thomas B.
cf69daf896
Merge pull request #288 from ThijsFeryn/fnnonempty
...
Emptying the display name when the display name is the main e-mail ad…
9 years ago
Thomas Bruederli
6c69e3d3ed
Add localization alias for tr => tr_TR
9 years ago
Aleksander Machniak
559e5d7bd4
Fix unintentional error_reporting change
9 years ago
Aleksander Machniak
36bd93f138
PHP7: Fixed some E_WARNING errors that previously were E_STRICT
9 years ago
Aleksander Machniak
a7efdd7c5d
Make Mail_mime>=1.9.0 a requirement, fix compat. errors
9 years ago
Aleksander Machniak
1b8ca08e5b
Added GSSAPI/Kerberos authentication plugin - krb_authentication
9 years ago
Aleksander Machniak
92649075ec
CS fixes
9 years ago
Aleksander Machniak
0868c2e841
Make sure list page is never set to 0 ( #1490458 )
...
This should fix the issue where after message move wrong message was
added to the list and the list counter was invalid.
9 years ago
Aleksander Machniak
5ed8ade763
Fix bug where some plugins could be initialized more than one time
9 years ago
Aleksander Machniak
93e64008a6
Small code improvements
9 years ago
Pekka Nurmi
4f6b660433
Thunderbird (fi_FI) support for csv2vcard
9 years ago
Aleksander Machniak
08bb20f261
Don't use deprecated functions/constants (from bc.inc)
9 years ago
Aleksander Machniak
9fc6918420
Disable links list generation on html-to-text conversion of identities or composed message ( #1490437 )
9 years ago
Aleksander Machniak
8449e936f3
Fix removing signature when switching to identity with an empty sig in HTML mode ( #1490470 )
9 years ago
Aleksander Machniak
d5f6d655da
Workaround TinyMCE issue with <p> </p> sequence ( #1490463 )
9 years ago
Thomas Bruederli
2965a981b7
Allow to search and import missing PGP pubkeys from keyservers using Publickey.js
9 years ago
Thomas Bruederli
bcbc459d2c
Fix regex quoting
9 years ago
Aleksander Machniak
4b72a1f498
Fix error when using back button after sending an email ( #1490009 )
9 years ago
Aleksander Machniak
3d0747957e
Fix some javascript errors in rare situations ( #1490441 )
9 years ago
Aleksander Machniak
8b40575b5c
Fix wrong positioning of message list header on page scroll in Webkit browsers ( #1490035 )
9 years ago
Aleksander Machniak
c21f95f626
Fix bug where new messages weren't added to the list in search mode
9 years ago
Aleksander Machniak
6c7be218f7
Revert create_folder() behaviour change where the method didn't fail if folder already existed.
...
This should not be the default behaviour. It could likely
become an optional functionality, however we should keep the method simple.
9 years ago
Aleksander Machniak
0c8794c94f
Use in_array_nocase() also for \\Noselect flag check ( #1490466 )
9 years ago
Aleksander Machniak
9d78c68cbf
Fix so imap folder attribute comparisons are case-insensitive ( #1490466 )
...
+ make in_array_nocase() much faster for ASCII strings
9 years ago
Aleksander Machniak
8b0d817919
Fix draft removal after a message is sent and storing sent message is disabled ( #1490467 )
9 years ago
ThijsFeryn
58f6f19505
Emptying the display name when the display name is the main e-mail address contradicts lines 731 till 734
9 years ago
Aleksander Machniak
252cc4c4ac
Password: Allow temporarily disabling the plugin functionality with a notice
9 years ago
Aleksander Machniak
b71eef6d7d
Don't use private properties of Net_SMTP object
9 years ago
Aleksander Machniak
9335f9cede
Reset internal cache index in close()
9 years ago
Aleksander Machniak
602d7422df
Fix bug where some messages in multi-folder search couldn't be printed/downloaded ( #1490426 )
9 years ago
Aleksander Machniak
8bed5e0151
Fix regression where compose editor mode was set incorrectly
9 years ago
Aleksander Machniak
3db9db1058
Update to TinyMCE 4.1.10 ( #1490405 )
9 years ago
Aleksander Machniak
19246792c6
Fix so *-request@ addresses in Sender: header are also ignored on reply-all ( #1490452 )
9 years ago
Aleksander Machniak
e2bceaefe6
Support more secure hashing algorithms for auth cookie - configurable by PHP's session.hash_function ( #1490403 )
9 years ago
Aleksander Machniak
7185736f39
Use jQuery's .on() instead of a deprecated .load()/.unload()
9 years ago
Aleksander Machniak
843643b1bd
Fix multi-folder search result sorting by arrival date ( #1490450 )
9 years ago
Aleksander Machniak
212e332cef
Get rid of array_walk() when simple foreach() can be used
9 years ago
Aleksander Machniak
d2890372c1
Fix Fatal error after last commit
9 years ago
Aleksander Machniak
6a8c4fc73b
Fix issue when first search() argument is not an array
9 years ago
Aleksander Machniak
8447bae77c
Require Mbstring and OpenSSL extensions ( #1490415 ) - remove redundant code
9 years ago
Aleksander Machniak
f7427f151e
Get rid of Mail_mimeDecode package dependency ( #1490416 )
10 years ago
Aleksander Machniak
9aae1b7fc3
Fix so microseconds macro (u) in log_date_format works ( #1490446 )
10 years ago
Aleksander Machniak
56a4e1512c
Fix a mistake in last small refactoring which broke identity selection
10 years ago
Aleksander Machniak
1414e3b6f8
Small refactoring to make some code testable
10 years ago
Aleksander Machniak
a567d85bf9
Fix self-reply detection issues ( #1490439 )
10 years ago
Aleksander Machniak
25c8fe4eeb
Fix handling of non-break spaces in html to text conversion ( #1490436 )
10 years ago
Aleksander Machniak
b92a66b3ee
Make has_(html|text)_part and first_(html|text)_part methods consistent in arguments and functionality
10 years ago
Aleksander Machniak
36a7f57345
Modify rcube_smtp::send_mail() so it is possible to send message by
...
specifying only the message stream no headers, it's for cases when
the stream already contains a complete message.
10 years ago
Aleksander Machniak
ff40683404
Fix so links with href == content aren't added to links list on html to text conversion ( #1490434 )
10 years ago
Aleksander Machniak
26a00e76be
Fix race-condition in saving user preferences and loading plugin config ( #1490431 )
10 years ago
Aleksander Machniak
8e4dc03867
Fix unintentional messages list page change on page switch in compose addressbook ( #1490427 )
10 years ago
Aleksander Machniak
a79e43a483
Remove redundant folder name from mail preview url
10 years ago
Aleksander Machniak
04a6889246
Fix bug where some messages in multi-folder search couldn't be opened ( #1490426 )
10 years ago
Aleksander Machniak
a958748947
CS fixes
10 years ago
Aleksander Machniak
10044b9033
Fix Compose action in addressbook for results from multiple addressbooks ( #1490413 )
10 years ago
Aleksander Machniak
e2002741c5
Update to jQuery 2.1.4 ( #1490406 )
10 years ago
Aleksander Machniak
42f8abac46
Fix "Importing..." message does not hide on error ( #1490422 )
10 years ago
Daniel Hoffend
53ccaa1a0f
remove debug test code
10 years ago
Thomas Bruederli
babc30c4f2
Add 'compose-encrypted' command later if Mailvelope API is detected
10 years ago
Thomas Bruederli
3167e58ff9
Pass encrypted draft and reply messages to Mailvelope editor; add toolbar icon for encryption mode toggeling
10 years ago
Thomas Bruederli
40d152cfdc
Make encrypted pgp/mime message composition work
10 years ago
Aleksander Machniak
b782815dac
Fix XSS vulnerability in _mbox argument handling ( #1490417 )
10 years ago
Aleksander Machniak
c044d301ea
Fix blank image in html_signature when saving identity changes ( #1490412 )
10 years ago
Thomas Bruederli
d375b20225
Suppress E_DEPRECATED errors after change in [ 4ab77dd1
]
10 years ago
Thomas Bruederli
4ab77dd13e
Check for PEAR class before accessing it. With new composer modules this isn't necessary in the include path anymore
10 years ago
Thomas Bruederli
7b8a0af1c8
Add toolbar button to switch to Mailvelope encryption editor
10 years ago
Thomas Bruederli
1cd3762b0d
Start integrating the Mailvelope browser extension via its API.
...
- Embed Mailvelope message container for encrypted message text and full pgp-mime messages
- Prepare to embed the Mailvelope editor for composing encrypted messages (with attachments)
10 years ago
Aleksander Machniak
8042e13af6
Add --config and --type options to moduserprefs.sh script ( #1490051 )
10 years ago
Aleksander Machniak
a84f0b65dc
Fix undefined variable use after recent changes ( #1490401 )
10 years ago
Aleksander Machniak
3994b3a26c
Installer: Use openssl_random_pseudo_bytes() (if available) to generate des_key ( #1490402 )
10 years ago
Thomas Bruederli
5e97294372
Add new plugin hook 'identity_create_after' ( #1490358 )
10 years ago
Aleksander Machniak
0c08b04778
Fix issues when using moduserprefs.sh without --user argument ( #1490399 )
10 years ago
Aleksander Machniak
59d11dce33
Small code improvement
10 years ago
Aleksander Machniak
c4ad7edd53
Fix font artifacts in text2html conversion ( #1490353 )
...
Use white-space:nowrap elements instead of unicode word-joiner character
10 years ago
Aleksander Machniak
03aa84f784
Fix bug where some files could have "executable" extension when stored in temp folder ( #1490377 )
10 years ago
Aleksander Machniak
b120d42f5b
Improved cache index changes detection (again)
10 years ago
Aleksander Machniak
044c1a0523
Simplified code + some CS fixes
10 years ago
Aleksander Machniak
652e11f82e
Fix missing index update after write() call
10 years ago
Aleksander Machniak
b1e35a685c
Performance: Improve changes detection, so we update index only if needed
10 years ago
Aleksander Machniak
11d5e7c100
Implemented memcache_debug also for session operations
10 years ago
Aleksander Machniak
9ed8584c3e
Count memcache/apc debug lines
10 years ago
Aleksander Machniak
fff8e0f2ae
Fix possible memcache/apc cache data consistency issues ( #1490390 )
...
And removed unused code
10 years ago
Aleksander Machniak
247b845a8e
Workaround possible issue where some keys were ignored when deleting cached entries
...
by key name prefix and keys index is in inconsistent state (does not contain all keys)
10 years ago
Aleksander Machniak
44708ec647
Implemented memcache_debug and apc_debug options for cache operations tracking
10 years ago
Aleksander Machniak
e84fafcec2
Fix security issue in contact photo handling ( #1490379 )
10 years ago
Aleksander Machniak
bb21913387
Fix mb_substitute_character() use
10 years ago
Aleksander Machniak
966a9086a5
Fix rcube_charset::clean() for case when mbstring and iconv are not installed
10 years ago
Aleksander Machniak
1422b0823e
Fix bug where messages count was not updated after message move/delete with skip_deleted=false ( #1490372 )
10 years ago
Thomas B.
de40ef6cdb
Merge pull request #274 from fmbiete/es_ES-csv2vcard
...
csv2vcard: Add mappings for spanish versions of programs
10 years ago
Thomas Bruederli
0f63418b7e
Use Net_LDAP3::domain_root_dn() to resolve the domain DN for the %dc variable; replaces PR #268
10 years ago
Aleksander Machniak
9d49c820bd
Fix so pagejump selection list can be displayed again with click after it has been closed by Esc key
10 years ago
Aleksander Machniak
820be47e30
Reset pagejumper input to current page on ESC/TAB press
10 years ago
Aleksander Machniak
9a5d9a83ab
Implemented UI element to jump to specified page of the messages list ( #1485235 )
10 years ago
Francisco Miguel Biete
77bb126b00
fix(csv2vcard): Add mappings for spanish versions of Thunderbird
...
and Outlook.
The titles in the CSV generated by the localized versions of those
programs are also localized. Not every field, but some of them.
Signed-off-by: Francisco Miguel Biete <fbiete@gmail.com>
10 years ago
Aleksander Machniak
1aa0c8ad66
Fix bug where preview_pane setting wasn't always saved into user preferences ( #1490362 )
10 years ago
Aleksander Machniak
1d0ffdc2ac
Fix decoding array headers
10 years ago
Aleksander Machniak
c095e6329c
Fix message highligh regression from last commit ( #1490363 )
10 years ago
Aleksander Machniak
28331d5ed2
Trigger 'listupdate' event also on response to check-recent request
10 years ago
Aleksander Machniak
1af5595b90
Fix mouseup event handling when dragging a list record ( #1490359 )
...
This fixes drag-n-drop on managesieve filters list.
10 years ago
Aleksander Machniak
5b737d9f8d
Fix bug where some unrelated attachments in multipart/related message were not listed ( #1490355 )
10 years ago
Aleksander Machniak
09225a41ec
Add option to place signature at bottom of the quoted text even in top-posting mode [sig_below]
10 years ago
Aleksander Machniak
e7620812b0
Installer: Remove system() function use ( #1490139 )
...
Move some functionality of scripts from bin/ into rcmail_utils class
10 years ago
Aleksander Machniak
e8e88d347d
Fix bug where forced extwin page reload could exit from the extwin mode ( #1490350 )
...
With small improvements in rcube_webmail.url() method.
10 years ago
Aleksander Machniak
d86ff98339
Fix font artifact in Google Chrome on Windows ( #1490353 )
10 years ago
Aleksander Machniak
53cbebf8ad
Fix handling spaces after <br> on html2text conversion
10 years ago
Aleksander Machniak
aa38c512fb
Fix lack of signature separator for plain text signatures in html mode ( #1490352 )
10 years ago
Aleksander Machniak
d61d668b64
Remove useless code
10 years ago
Aleksander Machniak
292292df32
Fix so unrecognized TNEF attachments are displayed on the list of attachments ( #1490351 )
10 years ago
Aleksander Machniak
98e4614b0d
Fix so text/calendar parts are listed as attachments even if not marked as such ( #1490325 )
10 years ago
Aleksander Machniak
48d01837a0
Fix tables listing routine on mysql and postgres so it skips system or other database tables and views ( #1490337 )
10 years ago
Aleksander Machniak
5a4f3f8266
Remove Kolab's hack for Cyrus Murder bug in SETANNOTATION - it's not needed anymore
10 years ago
corbosman
d9c22ab66d
move header block inside loop
10 years ago
Aleksander Machniak
3d6ce95009
Fix PHP warning: Non-static method PEAR::setErrorHandling() should not be called statically ( #1490343 )
10 years ago
Aleksander Machniak
0a4e0921d3
Plugin API: Added message_ready hook - the last chance to modify Mail_Mime object before saving or sending the message
10 years ago
Aleksander Machniak
1a7e668977
Fix handling of %-encoded entities in mailto: URLs ( #1490346 )
10 years ago
Thomas Bruederli
4d9627c36a
Wording
10 years ago
Thomas Bruederli
0bd99db08d
Localize common error messages; improve explanation for CSRF check failures
10 years ago
Thomas Bruederli
465ba8d11b
Avoid errors when message list doesn't have a header
10 years ago
Aleksander Machniak
8eeb721bd6
Fix unintended DB session expiration - lost variable in refactoring ( #1490316 )
10 years ago
Aleksander Machniak
65e735dec5
Fix javascripts errors in IE8 - lack of Event.which, focusing a hidden element ( #1490318 )
10 years ago
Thomas Bruederli
d17975c776
Do not re-append an existing node when re-rendering with childs
10 years ago
Thomas Bruederli
b1d13e8bd5
Fix redirct URL for attachments loaded in an iframe ( #1490191 )
10 years ago
Thomas Bruederli
e2fb340289
Remove obsolete mt_srand() calls
10 years ago
Thomas Bruederli
a74d023903
Generate random hash for the per-user local storage prefix ( #1490279 ); only unserialize user prefs once
10 years ago
Aleksander Machniak
496972bf95
Fix backtick character handling in sql queries ( #1490312 )
10 years ago
Aleksander Machniak
a172f39ff7
Fix bug where TinyMCE area height was too small on slow network connection ( #1490310 )
10 years ago
Thomas Bruederli
3c4d3dcc42
Fix submission of _reload parameter when switching address books
10 years ago
Aleksander Machniak
27da86be48
Merge branch 'master' of github.com:roundcube/roundcubemail
10 years ago
Aleksander Machniak
b0bb38703e
Fix bug where spellchecking in HTML editor do not work after switching editor type more than once ( #1490311 )
10 years ago
Thomas Bruederli
5def0d8e9e
Ignore plugin loading filter if force parameter is set
10 years ago
Aleksander Machniak
db71156ab2
Update TinyMCE cache_suffix (forgot to do this after last update)
10 years ago
Aleksander Machniak
2c857fcba2
Upgrade TinymCE to version 4.1.9
10 years ago
Aleksander Machniak
10934dcd2a
Fix rows count when messages search fails ( #1490266 )
10 years ago
Aleksander Machniak
d12b999403
(Properly) reset search filter on reset-search action
10 years ago
Aleksander Machniak
da1816edd8
Reset search filter on folder selection and search reset
10 years ago
Thomas Bruederli
87ff88d550
Fix session garbage collector handler registration after refactoring
10 years ago
Thomas Bruederli
aafc050f55
Fix rcube_contacts::search() calls with empty search string but $required argument
10 years ago
Aleksander Machniak
c2df5d4e13
Unified request* event arguments handling, added support for _unlock and _action parameters
10 years ago
Aleksander Machniak
1ec105c685
Fix so search filter, scope and fields are reset on folder change
10 years ago
Aleksander Machniak
06d4243d2e
Fix Opera browser detection in javascript ( #1490307 )
10 years ago
Aleksander Machniak
9af8e22b8e
Plugin API: added message_part_body hook, fixes around message structure handling by plugins
10 years ago
Aleksander Machniak
7ff227eb3e
get_part_content() -> get_part_body()
10 years ago
Thomas B.
2755471f33
Merge pull request #257 from corbosman/session_refactor
...
Merging session refactor into master
10 years ago
Aleksander Machniak
3779c91043
Update to TinyMCE 4.1.8
10 years ago
Aleksander Machniak
f02fe3c344
Remove redundant encoding of message subject with mb_encode_mimeheader() ( #1490295 )
10 years ago
Aleksander Machniak
6cdffbf1b6
Fix "PHP Fatal error: Using $this when not in object context"
10 years ago
corbosman
82058d7af2
minor fixes
10 years ago
Thomas Bruederli
8e333bcb66
Only normalize search term when searching in 'words' column
10 years ago
Thomas Bruederli
3bd0277261
Fix full-text searching in a given list of fields
10 years ago
Thomas Bruederli
fd259bed69
Adapt fulltext search in local address book to ignore words order
10 years ago
Thomas Bruederli
c32998084d
Add untility function to match strings ignoring word order
10 years ago
Thomas Bruederli
36ee2c8427
Improve LDAP search by ignoring words order in fuzzy substring matching mode
10 years ago
Thomas Bruederli
83eeec6c06
Add utility function to compose a full-text-like LDAP search filter
10 years ago
Aleksander Machniak
9ad0fc489f
Fix javascript error after creating a folder which is a subfolder of another one ( #1490297 )
10 years ago
Aleksander Machniak
7981575a61
Fix so localized folder name is displayed in multi-folder search result ( #1490243 )
10 years ago
corbosman
6e3d249655
remove commented out code
10 years ago
corbosman
b4be89bdac
use factory
10 years ago
Aleksander Machniak
a4ef49d6cf
Fix duplicate entry on timezones list in rcube_config::timezone_name_from_abbr() ( #1490293 )
10 years ago
Aleksander Machniak
5aa1d2005b
Fix parsing ldap URI for cases where hostname is non-empty
10 years ago
Aleksander Machniak
759566fe99
Fix parsing invalid HTML messages with BOM after <!DOCTYPE> ( #1490291 )
10 years ago