Aleksander Machniak
d66e50d6b5
Remove double-quotation prevention code for form elements
12 years ago
Aleksander Machniak
649cc19cfc
Fix HTML special characters handling in message list/header display ( #1488523 )
12 years ago
Aleksander Machniak
32ba62889c
Don't directly require email address on contact import, allowing import
...
of contacts being validated by addressbook validation code. The same
as for create/edit contact actions.
12 years ago
Aleksander Machniak
fa4bf4388b
Fix PHP warning when rep_specialchars_output() 1st argument is not a string ( #1488643 )
12 years ago
Aleksander Machniak
f7c11e862f
List related text/html part as attachment in plain text mode ( #1488677 )
12 years ago
Aleksander Machniak
fa57c98854
Don't add inline images from HTML part to the attachments list when forwarding in plain text
12 years ago
Aleksander Machniak
d409a545c2
Merge branch 'master' of github.com:roundcube/roundcubemail
...
Conflicts:
CHANGELOG
12 years ago
Aleksander Machniak
bf1d94076d
Use IMAP BINARY (RFC3516) extension to fetch message/part bodies (experimental)
12 years ago
Aleksander Machniak
4697c2cb77
Fix folder creation under public namespace root ( #1488665 )
12 years ago
Aleksander Machniak
41b3fe1782
Fix so "Edit as new" on draft creates a new message ( #1488687 )
12 years ago
Aleksander Machniak
524e48e99a
Fix invalid error message on deleting mail from read only folder ( #1488694 )
12 years ago
Aleksander Machniak
bc1e4faa70
Fix convertion to/from US-ASCII using mbstring
...
Define mbstring substitute_character to work as iconv //IGNORE
12 years ago
Aleksander Machniak
40e1c2d14d
Don't use charset aliases for destination charset - fixes e.g.
...
converting to US-ASCII
12 years ago
Aleksander Machniak
a04a74fec4
Improvements in building criteria string for IMAP SEARCH
12 years ago
Aleksander Machniak
c093dcc391
Fix is_error() returns wrong result for empty result set
12 years ago
Aleksander Machniak
1e9aa25609
Fix error where session wasn't updated after folder rename/delete ( #1488692 )
12 years ago
Aleksander Machniak
9287ed36b3
- Replace data URIs of images (pasted in HTML editor) with inline attachments ( #1488502 )
12 years ago
Thomas Bruederli
99d9f50a00
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
4e383e2ec8
Fix PLAIN authentication for some IMAP servers ( #1488674 )
12 years ago
Aleksander Machniak
8f66aa06f5
Fix encoding vCard file when contains PHOTO;ENCODING=b ( #1488683 )
12 years ago
Thomas Bruederli
ba3cd80c0c
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
e263994adc
Fix focus issue in IE when selecting message row ( #1488620 )
12 years ago
Aleksander Machniak
06073ef216
Merge branch 'message_show_ui'
...
Conflicts:
CHANGELOG
12 years ago
Aleksander Machniak
af276f21e5
Add full headers view in message preview window ( #1488538 )
...
Fix message display page issues - unified with message preview (#1488590 , #1488642 )
12 years ago
Aleksander Machniak
26fc0defe3
Fix bug where parentnotwritable error wasn't displayed in the interface
12 years ago
Aleksander Machniak
10141cd6fd
Fix displaying all headers when they contain malformed characters ( #1488666 )
12 years ago
Aleksander Machniak
b5652641be
Small improvements in APPEND command handling
12 years ago
Aleksander Machniak
24fa5d3154
Fix so contentframe can have name != id
12 years ago
Aleksander Machniak
d317a59d30
Fix frame() so frame ID is set as 'contentframe' env variable (not name)
12 years ago
Aleksander Machniak
10562d8a77
Keep current folder context when fetching message parts,
...
to make sure that proper folder is used in case when
current folder has been changed in meantime.
12 years ago
Aleksander Machniak
764641d4a3
Fix decoding of HTML messages with UTF-16 charset specified ( #1488654 )
12 years ago
Aleksander Machniak
0062becea7
Merge branch 'master' of github.com:roundcube/roundcubemail
...
Conflicts:
CHANGELOG
12 years ago
Aleksander Machniak
46d0012e26
Fix quota capability detection so it can be overwritten by a plugin ( #1488655 )
12 years ago
Aleksander Machniak
c59a822a65
Remove reference to MDB2 from autoloader
12 years ago
Aleksander Machniak
b7d33e3518
Added template object 'frame'
12 years ago
Aleksander Machniak
397cf794b9
Don't terminate script execution when parsed template doesn't exist
...
and parse was called with 3rd argument = false.
12 years ago
Aleksander Machniak
be71abeff9
Fix deprecated function usage
12 years ago
Aleksander Machniak
a65ce5d3b0
Rename ip_check to check_ip, add IP checking tests
12 years ago
Aleksander Machniak
6075f084ec
Fix deprecated functions usage
12 years ago
Aleksander Machniak
4c127375ce
Fix identity selection on reply ( #1488101 )
12 years ago
Aleksander Machniak
8eefbb2158
Add option to enable HTML editor on forwarding ( #1488517 )
12 years ago
Aleksander Machniak
651c7b6e9d
Add option to not include original message on reply, rename option top_posting to reply_mode ( #1485149 )
12 years ago
Aleksander Machniak
4877dbd4d2
Fix Larry's messages list filter in IE ( #1488632 )
12 years ago
Aleksander Machniak
4d1515cb0b
Fix javascript error on Reply-List action
12 years ago
Aleksander Machniak
e8be303af3
Added tests for shared functions, fixed small issues
12 years ago
Aleksander Machniak
553225e1be
Fix setting locales under Solaris - use additional .UTF-8 suffix ( #1488628 )
12 years ago
Aleksander Machniak
da28121dcd
Improved email address validation with IPv6 support
12 years ago
Aleksander Machniak
ff805351ca
Fix email address validation for addresses with IP address in domain part
12 years ago
Aleksander Machniak
d8008fe3a9
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
9823538848
Improved internal cache handling
12 years ago
Aleksander Machniak
74d7841c26
Merge branch 'master' of github.com:roundcube/roundcubemail
...
Conflicts:
CHANGELOG
12 years ago
Aleksander Machniak
9cb76ad3c2
Fix so subscribed non-existing/non-accessible shared folder can be unsubscribed
12 years ago
Aleksander Machniak
fe2f0be435
Fix possible PHP warning, read default_folders using config->get()
...
to support deprecated option name (default_imap_folders)
12 years ago
Aleksander Machniak
ae7027de02
Added session_path config option and unified cookies settings in javascript
12 years ago
Aleksander Machniak
c8f35a17e6
Added "Undeleted" option to messages list filter
12 years ago
Aleksander Machniak
a696e86c80
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
b2631bffd9
More default->larry fixes
12 years ago
Aleksander Machniak
31541824ab
CS fixes, mostly indentation
12 years ago
Aleksander Machniak
c83b83eeae
Fix domain part check in email address validation function. Added test cases.
12 years ago
Aleksander Machniak
c72325faed
Fix bug where domain name was converted to lower-case even with login_lc=false ( #1488593 )
12 years ago
Aleksander Machniak
60082ad665
Fix PHP Warning: strlen() expects parameter 1 to be string, object given
12 years ago
Aleksander Machniak
fb001f851f
Force at least one subtype of address to be specified.
...
Fixes issue where contact address wasn't displayed at all.
12 years ago
Aleksander Machniak
287eff030a
Make $inline_parts property publicly available
12 years ago
Aleksander Machniak
6ab9369eb1
Fix lower-casing email address on replies ( #1488598 )
12 years ago
Thomas Bruederli
957ac142e3
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Thomas Bruederli
13969cf540
Skip ? in quoted values from being replaced with parameters
12 years ago
Aleksander Machniak
38ea9af1e6
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
fb2f825cd9
Fix line separator in exported messages ( #1488603 )
12 years ago
Thomas Bruederli
0db8d00d29
PDO: quote null values as NULL instad of an empty string
12 years ago
Aleksander Machniak
c086978f6a
Fix XSS issue where plain signatures wasn't secured in HTML mode ( #1488613 )
12 years ago
Aleksander Machniak
5ef8e4ad9d
Fix XSS issue with href="javascript:" not being removed ( #1488613 )
12 years ago
Aleksander Machniak
21d463baba
Fix stripped apostrophes when replying in plain text to HTML message ( #1488606 )
12 years ago
Thomas Bruederli
a130351493
Codestyle
12 years ago
Aleksander Machniak
519e380f63
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
56689b31ae
Fix inactive Save search option after advanced search ( #1488607 )
12 years ago
Aleksander Machniak
b28a38c757
- Fix Remove from group option is active for contact search result ( #1488608 )
12 years ago
Aleksander Machniak
c965c8abe1
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
b8dc3e0e61
Disable autocapitalization in login form on iPad/iPhone ( #1488609 )
12 years ago
Aleksander Machniak
e1cfb0bc01
s/rcmail/rcube/
12 years ago
Thomas Bruederli
248d781e5f
Improve text wrapping in replies
12 years ago
Thomas Bruederli
b8b6e5011a
Skip IDN conversion when saving/reading identies. This should provide proper support for multiple recipeint values including name blocks in bcc and reply-to fields
12 years ago
Aleksander Machniak
413df054ad
CS fixes (mostly tab -> spaces)
12 years ago
Aleksander Machniak
3c7346a40b
Fix focus on the list when list row is clicked ( #1488600 )
12 years ago
Aleksander Machniak
2c59937c6a
Fix wrong search result on servers without SORT support
12 years ago
Aleksander Machniak
703be89e20
Fix bug in last commit which broke searching
12 years ago
Aleksander Machniak
e0efd8f5dc
Added separate From and To columns apart from smart From/To column ( #1486891 )
12 years ago
Thomas Bruederli
aff970b5d3
Replace some forgotten references to skins/default ( #1488591 )
12 years ago
Aleksander Machniak
23557f06d1
- Fix (workaround) delete operations with some versions of memcache ( #1488592 )
12 years ago
Aleksander Machniak
30833a2ad5
Fix image cid substitution in compose/sendmail
12 years ago
Aleksander Machniak
cd482ebce6
Fix SQL errors handling
12 years ago
Aleksander Machniak
15442512d2
(Again) return error message from is_error()
12 years ago
Aleksander Machniak
ea08d4c961
Improve is_error() so we can check for state of specified query
12 years ago
Aleksander Machniak
9bfe14f778
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
2b992c5683
Remove unused variable
12 years ago
Sylvestre Ledru
654ac1e090
Fix some typos
12 years ago
Aleksander Machniak
de56ea1909
Merge branch 'pdo'
...
Conflicts:
CHANGELOG
12 years ago
Aleksander Machniak
ee2187e1b1
Fix errors after removing users.alias column ( #1488581 )
12 years ago
Aleksander Machniak
887838da08
Fix double HTML entities escaping in forward message header
12 years ago
Thomas Bruederli
c41a86e5cc
Updated translations from launchpad
12 years ago
Aleksander Machniak
565c472918
Removed users.alias column, added option ('user_aliases')
...
to use email address from identities as username (#1488581 )
12 years ago
Aleksander Machniak
83121ece33
- Removed redundant cache.cache_id column ( #1488528 )
12 years ago
Aleksander Machniak
b169de8fcd
- Fix order of attachments in sent mail ( #1488423 )
12 years ago
Thomas Bruederli
bc7406348b
Fix regex to allow program/resources/foo to be accessible
12 years ago
Aleksander Machniak
e1cf53ef18
Remove debug code
12 years ago
Aleksander Machniak
9763581d81
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
0ed7034d35
Fix duplicated fields when object is converted into array
12 years ago
Aleksander Machniak
1257dd6796
Add generic mobile browser detection, enable touch events for all mobile browsers
12 years ago
Aleksander Machniak
622bce2c09
Convert tabs to spaces
12 years ago
Aleksander Machniak
c2b20fc0b4
Added support for SSL connection parameters in mysql driver ( #1486594 )
12 years ago
Aleksander Machniak
ab8fdaa604
Small code improvement
12 years ago
Aleksander Machniak
56012e56aa
Fix variable scope
12 years ago
Aleksander Machniak
ec86add1ff
Define context (_remote=1) for spellcheck requests to send proper response on error
12 years ago
Aleksander Machniak
8b34075755
Merge branch 'master' of github.com:roundcube/roundcubemail
...
Conflicts:
program/include/rcube_spellchecker.php
12 years ago
Aleksander Machniak
ec78f98c6a
Don't send complete error page to the spellchecker on error (when pspell extension isn't found)
12 years ago
Aleksander Machniak
cb190c0cf3
CS fixes
12 years ago
Thomas Bruederli
a9cbbae0c8
Override default skin value read from user prefs
12 years ago
Thomas Bruederli
6843acc9fc
Merged changes to skin folders
12 years ago
Thomas Bruederli
9f1652e29e
Adapt to new default skin folder namimg
12 years ago
Thomas B.
6d12536815
Merge pull request #14 from bes-internal/master
...
Use HTTP_HOST for %d in parse_host. Add %t for host name from SERVER_NAME
12 years ago
Aleksander Machniak
cfc27c9b76
Keep some resource files (images) in separate directory
12 years ago
Aleksander Machniak
71ee565dfc
Support connections to memcached socket file ( #1488577 )
12 years ago
Aleksander Machniak
5f8d59c054
Enable TinyMCE inlinepopups plugin
12 years ago
Aleksander Machniak
e9c8b9865f
Add lost file from Auth_SASL package
12 years ago
Aleksander Machniak
750fcf8ece
Update to TinyMCE 3.5.6
12 years ago
Thomas Bruederli
baecd8becc
Move the hard-coded list of fields used to list contacts to a central location
12 years ago
bes.internal
d359dcb6b3
use in parse_host HTTP_HOST for %d
...
Use in parse_host function for domain resolve HTTP_HOST not hostname.
add %t for hostname without first part
For example roundcube box backend (rc.somedomain.tld) for reverse proxy on real domain (mail.example.com)
12 years ago
Thomas Bruederli
5bc1233de8
Use the same hard-coded fields for vlv-based autocompletion as in steps/mail/autocomplete.inc
12 years ago
Aleksander Machniak
27bcb0026e
CS fixes
12 years ago
Aleksander Machniak
39797631d4
Support COPYUID responses (store it in $data property)
12 years ago
Aleksander Machniak
0d80fad9e0
CS improvements
12 years ago
Aleksander Machniak
2df262d448
Merge branch 'master' of github.com:roundcube/roundcubemail
12 years ago
Aleksander Machniak
09e5fc99f8
Small performance improvement: use cookie 'secure' parameter if enabled
12 years ago
Aleksander Machniak
0afe279011
Set HttpOnly flag also for session cookie
12 years ago
Thomas Bruederli
fa8f6e610c
Correctly quote localized labels when used in javascript variables ( #1488567 )
12 years ago
Aleksander Machniak
e19fafae04
Prefer default addressbook also when checking for existence of MDN request recipient
12 years ago
Aleksander Machniak
9620540a63
Fix 403 error on file uploads with drag&drop ( #1488539 )
12 years ago
Aleksander Machniak
114cf1281b
Update Net_SMTP/Auth_SASL packages to fix Digest-MD5/Cram-MD5 authentication ( #1488571 )
12 years ago
Thomas Bruederli
384948886c
Prepare to show contact photo of email sender in mail views
13 years ago
Thomas Bruederli
88fb563510
Avoid warnings; silently pipe http: urls through rcmail::url()
13 years ago
Thomas Bruederli
9d72713987
Fix drag&drop feature test on IE7
13 years ago
Aleksander Machniak
840b4dbeb8
Simplified method of getting default addressbook.
...
Make sure to use the same source when adding contact and checking
if message is safe (sender is in addressbook).
Small code improvements.
13 years ago
Aleksander Machniak
2b21b97ef0
Use file_get_contents() to make code simpler and to fix possible infinite loop
13 years ago
Aleksander Machniak
146106a827
Support sqlite file mode setting
13 years ago
Aleksander Machniak
329eae0abd
Fix debugging in sqlite driver
13 years ago
Aleksander Machniak
3efc74654a
- Don't add attachments content into reply/forward/draft message body ( #1488557 )
13 years ago
Aleksander Machniak
8e926e6201
Move sequence_name() method into postgres driver class
13 years ago
Aleksander Machniak
3d231c88fa
CS fixes
13 years ago
Aleksander Machniak
c389a85978
Add get_variable() implementation
13 years ago
Thomas Bruederli
7794ae1387
Fix connection error alerts when page unloads ( #1488547 )
13 years ago
Aleksander Machniak
ef5f7fb13c
There's a case (reason unknown) when destroy() is called with empty session key.
...
Handle this case properly to prevent from PHP error: Memcache::delete(): Key cannot be empty.
13 years ago
Aleksander Machniak
d239ee6df5
Add PDO to requirements, remove MDB2 package
13 years ago
Aleksander Machniak
e6e5cb12f5
Handle properly situation when PDO class doesn't exist
13 years ago
Aleksander Machniak
8c2375a074
More CS fixes and comments
13 years ago
Aleksander Machniak
3e386efeee
CS fixes + more comments
13 years ago
Aleksander Machniak
7c8fd80310
Show explicit error message when provided hostname is invalid ( #1488550 )
13 years ago
Aleksander Machniak
ad9dac529e
Fix wrong compose screen elements focus in IE9 ( #1488541 )
13 years ago
Aleksander Machniak
2698d7ff8c
Fixed Konqueror browser detection
13 years ago
Aleksander Machniak
b97d0e11b5
Fix empty user agent string on error page for "incompatible browser" error
13 years ago
Aleksander Machniak
b866a27364
Fix handling of MYRIGHTS on private namespace roots - fixes issue where
...
in ACL plugin it wasn't possible to share INBOX folder (when it was a namespace prefix).
13 years ago
Aleksander Machniak
5354c5dac7
Implemented LIMIT/OFFSET for SQL Server
13 years ago
Aleksander Machniak
1a2b50f1a0
Support 'mysqli:' prefix in DSN
13 years ago
Aleksander Machniak
a60d139d87
Define array variable in case none of zones is valid (shouldn't happen)
13 years ago
Aleksander Machniak
669747a81c
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Aleksander Machniak
ceaaebbc8c
Fix fatal error when date.timezone isn't set ( #1488546 )
13 years ago
Aleksander Machniak
a1426f8345
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Aleksander Machniak
e742744a53
Fixed index update when there are no cached messages for specified folder
...
Improve performance of VANISHED messages handling - use one SQL query
13 years ago
Thomas Bruederli
0be8bd11e2
Enable drag & drop file upload for contact photos
13 years ago
Aleksander Machniak
7ab9c17752
Improve performance by skipping redundant ENABLE commands
13 years ago
Aleksander Machniak
d86aa138d0
Update to TinyMCE 3.5.4.1
13 years ago
Thomas Bruederli
6bb44a644a
Initialize rcube instance (with options); no caches without a valid user_id
13 years ago
Aleksander Machniak
159691e7b1
Don't use protected property rcube_db::$db_error
13 years ago
Aleksander Machniak
75666d3db2
Remove rcube_mdb2 class file
13 years ago
Aleksander Machniak
398bff5925
Replace rcube_mdb2/PEAR::MDB2 with rcube_db
13 years ago
Aleksander Machniak
8a6fde02de
Removed redundant method
13 years ago
Aleksander Machniak
0d94fd45f4
New database layer based on PHP PDO
13 years ago
Aleksander Machniak
90a713e882
Fix handling of unitless CSS size values in HTML message ( #1488535 )
13 years ago
Aleksander Machniak
afaccf1428
Fix removing contact photo using LDAP addressbook ( #1488420 )
13 years ago
Aleksander Machniak
740875e5cd
Add skin name to the (javascript) environment
13 years ago
Thomas Bruederli
5218701a4a
Improve getopt feature for command line scripts
13 years ago
Thomas Bruederli
2950ce49ef
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Aleksander Machniak
6e1864cb17
Fix storing X-ANNIVERSARY date in vCard format ( #1488527 )
13 years ago
Aleksander Machniak
db8110c70d
Display attachment icon for multipart/signed messages ( #1488525 )
13 years ago
Aleksander Machniak
ba1fb0510f
Update to Mail_Mime-1.8.5 ( #1488521 )
13 years ago
Aleksander Machniak
c281619b96
Fix Shift + delete button does not permanently delete messages ( #1488243 )
13 years ago
Aleksander Machniak
4fd5b62194
Add Content-Length for attachments where possible ( #1485478 )
13 years ago
Aleksander Machniak
8749e94b4b
Fix attachment sizes in message print page and attachment preview page ( #1488515 )
...
- Use size parameter from Content-Disposition header if specified,
- Calculate size of base64 encoded message parts
13 years ago
Aleksander Machniak
54be5ccb50
Fix XSS vulnerability in message subject handling using Larry skin ( #1488519 )
13 years ago
Aleksander Machniak
8c188058cf
Fix handling of links with various URI schemes e.g. "skype:" ( #1488106 )
...
Fix handling of links inside PRE elements on html to text conversion
Fix indexing of links on html to text conversion
13 years ago
Thomas Bruederli
d447a4f229
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Aleksander Machniak
d1d0564a91
Fix js error when dropping attachment file
13 years ago
Thomas Bruederli
9df79d82b3
Better comments
13 years ago
Thomas Bruederli
ae6d2de17f
New feature to add mail attachments using drag & drop on HTML5 enabled browsers
13 years ago
Thomas Bruederli
640cc7280e
Allow access to blank.tif
13 years ago
Aleksander Machniak
bdb40d39bd
Add workaround for invalid BODYSTRUCTURE response - parse message with Mail_mimeDecode package ( #1485585 )
13 years ago
Aleksander Machniak
eede5101cd
Fix default_charset handling
13 years ago
Aleksander Machniak
0f5dee00df
Decode header value in rcube_mime::get() by default ( #1488511 )
13 years ago
Aleksander Machniak
0b6d022e6f
Fix magic_quotes_sybase handling ( #1488506 )
...
Improved handling of critical PHP settings - try to set them to required value before die()
13 years ago
Aleksander Machniak
aede1f9ab4
Fix possible PHP warning: strpos(): Offset not contained in string
13 years ago
Aleksander Machniak
ea3021cee3
Disable TinyMCE status bar which has been enabled by default in TinyMCE 3.5.2
13 years ago
Aleksander Machniak
46b6c5475b
Modify CONCAT() arguments, because + operator requires them to be of type varchar ( #1488505 )
...
With SQL Server 2012 we can use just CONCAT(), but we need to support older versions
13 years ago
Mathias Rhein
062963fe10
Typo fix
...
Fixed typo in rcube_addressbook
13 years ago
Aleksander Machniak
4188c61563
Define and use 'mozilla' class for HTML style
13 years ago
Aleksander Machniak
7c3c82974e
Update to TinyMCE 3.5.2
13 years ago
Aleksander Machniak
a71039df75
Fix regression where redundant autocompletion requests were sent
...
in case when new search value contains old one and previous search
was not finished or its result was empty
13 years ago
Aleksander Machniak
528c78a6da
Code cleanup, more object-like syntax when building URLs
13 years ago
Aleksander Machniak
d487cd5a6c
Merge branch 'dev-browser-capabilities'
...
Conflicts:
CHANGELOG
13 years ago
Thomas Bruederli
ca1c2a8c9c
Don't show errors when moving contacts into groups they're already in ( #1488493 )
13 years ago
Aleksander Machniak
19cc5b91c9
Display Tiff as Jpeg in browsers without Tiff support ( #1488452 )
13 years ago
Aleksander Machniak
b9854b8cbe
Add Flash support detection
13 years ago
Aleksander Machniak
7c1231a94b
Use browser capabilities to decide if PDF/TIFF attachments should be displayed
...
in an overlay page/inline or to provide only direct download for them (#1488452 , #1487929 )
13 years ago
Aleksander Machniak
e349a8c9ae
Added browser capabilities detection, i.e. PDF and TIFF support
13 years ago
Aleksander Machniak
2d7b4ff03f
Fix html2text conversion of strong|b|a|th|h tags when used in upper case
13 years ago
Aleksander Machniak
45dd7c122d
Fix host autoselection when default_host is an array ( #1488495 )
13 years ago
Aleksander Machniak
089e53c617
CS, tabs to spaces
13 years ago
Thomas Bruederli
37202827d3
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Thomas Bruederli
b4b5ba7e9d
Add getter for database runtime/config variables
13 years ago
Aleksander Machniak
6d3e53d2b8
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Aleksander Machniak
476fa983c0
Catch DateTime* exceptions ( #1488497 ) - skipping buggy timezones
13 years ago
Thomas Bruederli
fa5f3f26f9
Fix calls to renamed methods
13 years ago
Aleksander Machniak
c0839699bb
Move messages forwarding mode setting into Preferences
13 years ago
Aleksander Machniak
4d708e6c1d
Remove possible confusion on session reads - PHP expects string result not boolean
13 years ago
Aleksander Machniak
7eb4f2e1be
Small code improvement
13 years ago
Aleksander Machniak
43918dd25c
Move old rcube_mail_header class definition to better place
13 years ago
Thomas Bruederli
b97f21a18f
Add another alias for backwards compatibility
13 years ago
Aleksander Machniak
996d75d5fa
Improved PERMANENTFLAGS checking code, added code for flags caching (currently commented out)
13 years ago
Aleksander Machniak
be98408f40
Fix possible PHP warning in in_array_nocase() when 2nd argument is not an array
13 years ago
Aleksander Machniak
041c93ce0b
Removed $Id$
13 years ago
Aleksander Machniak
0a1dd5b073
Add is_escaped attribute for html_select and html_textarea ( #1488485 )
13 years ago
Aleksander Machniak
5a575b7eb0
Deprecate storage_connect() method
13 years ago
Aleksander Machniak
4bfe4ec22a
Remove last instance of storage_connect() with possible performance
...
improvement when a message part body is in cache
13 years ago
Aleksander Machniak
38a08c08e3
Add imap_connect() method for backward compat.
13 years ago
Aleksander Machniak
5c7e54b175
- Fix HTML entities handling in HTML editor ( #1488483 )
13 years ago
Aleksander Machniak
38184e9113
Fix PHP error where calling get() on a non object
13 years ago
Aleksander Machniak
9a2de8411e
Merge branch 'courier-fix'
...
Conflicts:
CHANGELOG
13 years ago
Aleksander Machniak
3c5489ba75
Add option imap_force_ns to make buggy servers support optional
13 years ago
Thomas Bruederli
1d5b73fd77
Add lost method for backwards compatibility
13 years ago
Thomas Bruederli
9603477e95
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Thomas Bruederli
607e11d551
Added new languages Belarusian, Interlingua and Malayalam from launchpad import
13 years ago
Aleksander Machniak
eebd4476fc
s/rcube_charset_convert/rcube_charset::convert/
13 years ago
Aleksander Machniak
9843dc77fa
Mail_Mime 1.8.4
13 years ago
Thomas Bruederli
76e499e8a1
Also accept PHP exceptions as argument to rcube::raise_error()
13 years ago
Thomas Bruederli
8193151b5a
Always log fatal errors that terminate the PHP script
13 years ago
Thomas Bruederli
705ba185bb
Fix object reference
13 years ago
Thomas Bruederli
67f18e5610
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Thomas Bruederli
ceb5b56c3b
Move rcube_addressbook::normalize_string() to rcube_utils::normalize_string() for general purpose
13 years ago
Aleksander Machniak
938925f320
Fix (again) metadata caching ( #1488475 )
13 years ago
Thomas Bruederli
92b1f65910
Merge branch 'master' of github.com:roundcube/roundcubemail
13 years ago
Thomas Bruederli
4f7ab00dfb
Respect all arguments when caching IMAP metadata ( #1488475 )
13 years ago
Aleksander Machniak
3c67157971
Remove 'focused' class on blur
13 years ago
Aleksander Machniak
0af82c8a59
Fix listing folders on Courier IMAP ( #1488466 )
13 years ago
Aleksander Machniak
435d55ecee
Add public list_folder_direct() and list_folders_subscribed_direct()
13 years ago
Thomas Bruederli
5cea366884
Update localizations from launchpad
13 years ago
Giovanni Bajo
14f22f38da
Fix support for large uuencode attachments.
...
Currently, Roundcube tries to match with a regexp a whole uuencode
attachment. This is not always possible because PHP enforces a limit
on the maximum match size.
13 years ago
Aleksander Machniak
1c9e571602
Fix handling of "usemap" attribute ( #1488472 )
13 years ago
Aleksander Machniak
9082bf1cea
Fix handling of some HTML tags e.g. IMG ( #1488471 ) - reworked fix for #1486812
13 years ago
Aleksander Machniak
b5c4e7d85c
Fix PHP warning on PHP 5.4 ( #1488469 )
13 years ago
Aleksander Machniak
66510e20d3
Merge pull request #1 from Brianetta/de-svn
...
Change version text to reflect new versioning system
13 years ago
Aleksander Machniak
644f00d5a2
Fix add_contact() ( #1488465 )
13 years ago
Aleksander Machniak
59041fdbc9
Use similar language as a fallback for plugin localization ( #1488401 )
...
Don't load en_US localization more than once
13 years ago
Brian Ronald
552cdea1cf
Change version text to reflect new versioning system
13 years ago
Aleksander Machniak
4d7e277b92
Removed debug code
13 years ago
Aleksander Machniak
c1a0578d21
Fix Opera issues with duplicated scrollbar and invisible border
13 years ago
Aleksander Machniak
837de85a15
Fix issue where signature wasn't re-added on draft compose ( #1488322 )
13 years ago
Aleksander Machniak
e6e0d410ac
TinyMCE 3.5
13 years ago
Aleksander Machniak
5b0b034387
Fixed PHP warning
13 years ago
Aleksander Machniak
9db0c895e8
Remove BOM ( #1488458 )
13 years ago
Aleksander Machniak
914c3e0d81
Print last commit date as (git) version
13 years ago
thomascube
5b04ddd6bc
Fix multi-threaded autocompletion when number of threads > number of sources
13 years ago
vbenincasa
c168dd38c6
- pt_BR update to avoid the text-overflow on the compose button of Larry skin
13 years ago
vbenincasa
cb3dbba149
- Some improvements and completion of pt_BR language files.
13 years ago
vbenincasa
59db17b823
- Fix the idn_convert() function call that was preventing the login with the "%s" replacement variable in config.
13 years ago
thomascube
24f1bf0f91
Fix handling of 'serialzied' LDAP address attributes
13 years ago
thomascube
a605b2584d
- Allow to configure the number of values allowed for each LDAP attribute
...
- Support for serialized LDAP address values (usually delimited with a $)
13 years ago
thomascube
ad31a69ad1
Upgraded to PEAR::Mail_Mime 1.8.3
13 years ago
thomascube
1103607721
Better handling of HTTP request errors; re-send keep-alive requests on failure ( #1488449 )
13 years ago
thomascube
58154f59fc
Accept two past time slots for auth cookie validation; don't encode user-agent into session auth hash ( #1488449 )
13 years ago
alecpl
d960a01bb4
- Add IE8 hack for messages list issue ( #1487821 )
13 years ago
alecpl
76248c7b6e
- Improved all headers viewer (mostly in Larry skin)
13 years ago
alecpl
fbe7b71b0f
- Fix importing vCard photo with ENCODING param specified ( #1488432 )
13 years ago
alecpl
db70b3fc82
- Fix handling errors on draft auto-save
13 years ago
thomascube
988a80ad67
Bring back some legacy functions and session vars for better backwards compatibility
13 years ago
alecpl
19d5973247
- Add vCard import from multiple files at once ( #1488015 )
13 years ago
alecpl
91cb9dfe78
- Fix parsing ESEARCH (ALL) result and enabling ESEARCH for ordinary searches
13 years ago
alecpl
e327ca25ef
- Fix listing messages when: skip_deleted=true, ESEARCH supported, threads disabled
13 years ago
alecpl
7c722504c6
- Remove redundant strtoupper() call
13 years ago
alecpl
111f5098d5
- Implement set/get helper methods in rcube_message_header class
13 years ago
alecpl
390959bb32
- Small code improvements
13 years ago
alecpl
da5cadcc12
- Fix issue where draft auto-save wasn't executed after some inactivity time
...
- Code improvement - unified (set|clear)Timeout() usage
13 years ago
thomascube
6707ca47a2
Support mutliple name/email pairs for Bcc and Reply-To identity settings ( #1488445 )
13 years ago
thomascube
862de1bb3e
Revert r6094; Add caching for ACL and Metadata
13 years ago
thomascube
5a79416789
Add (missing) support for textarea cols to be added to the contact form
13 years ago
alecpl
b1b808d2cd
- Fix typo ( #1488325 )
13 years ago
alecpl
a2f896bdeb
- Use user object instead of session, if possible, to get user ID when creating cache object
13 years ago
alecpl
5d66a4bcf3
- Improved ttl values handling
13 years ago
alecpl
6a8b4c2951
- Fix incorrect cache ttl used in get_cache_engine() ( #1488447 ), use time() where mktime() without arguments was used
13 years ago
alecpl
b4f95a9387
- Fix attachment name regression ( #1488446 )
13 years ago
alecpl
5475865485
- Fix creating folders if ACL exists (1488443)
13 years ago
alecpl
e7ca048d05
- Fix render_folder_tree_select() ( #1488441 )
13 years ago
thomascube
6ab9e8a6c8
Respect force flag when counting messages
13 years ago
alecpl
963a10bf81
- Moved session init/config functionality into rcube class
13 years ago
alecpl
be98dfc2c0
- Replace some references to rcmail with rcube
13 years ago
alecpl
1aceb9cec8
- Framework refactoring (I hope it's the last one):
...
rcube,rcmail,rcube_ui -> rcube,rcmail,rcube_utils
renamed main.inc into rcube_bc.inc
13 years ago
alecpl
f5f9b406e0
- Small optimizations
13 years ago
alecpl
831c830124
- More aliases of deprecated functions
13 years ago
alecpl
1495ac7913
- More public methods, code cleanup
13 years ago
alecpl
9870dac30d
- Make some methods public ( #1488428 )
13 years ago
alecpl
651da7934e
- Fix folder collapsing/expanding broken with framework merge ( #1488430 )
13 years ago
thomascube
69baeefab3
allow read-only access to rcube_output::$env
13 years ago
alecpl
c31360dbd7
- Code improvements, handle post/get request arguments as objects
13 years ago
alecpl
b6a1825e69
- Add lost functions from devel-framework merge
13 years ago
alecpl
71950df6df
- Add 3rd argument to rcube_message::get_part_content() to skip charset conversion
13 years ago
alecpl
0c259682f6
- Merge devel-framework branch, resolved conflicts
13 years ago
alecpl
ce64332e7a
- Make buttons self-closing ( #1488424 )
13 years ago
alecpl
373e3df580
- Small fix
13 years ago
alecpl
9336ba21cf
- Fix importing to LDAP addressbook when mail attribute is required by
...
validating input data with autofix
13 years ago
alecpl
28391b4ec3
- Fix "false" placeholder in contact notes textarea
13 years ago
alecpl
c71e95b775
- Fix adding contact form fields in situation when the fieldset is empty.
...
Fixes issue with lost manager/assistant fields in LDAP addressbook
13 years ago
thomascube
194b45c673
Keep improvement from r6060: show 'loading...' message when redirecting
13 years ago
alecpl
3d5240b70d
- Revert r6060, fix #1487822 using css-only
13 years ago
thomascube
c97c575671
Force page reload if list columns changed in IE8 ( #1487822 )
13 years ago
thomascube
1ba07f0709
Allow mass-removal of addresses from a group ( #1487748 )
13 years ago
alecpl
21a0d91938
- Fix contact information update in case when contact photo exists ( #1488420 )
13 years ago
alecpl
097dbc6870
- Improved member attribute detection with fallback in create_group()
13 years ago
alecpl
d6eb7c0fbb
- Fix removing all folders on import to LDAP addressbook (added rcube_ldap::delete_all())
...
- Fix removing sub-entries in delete()
13 years ago
alecpl
a274fb2e20
- Fix so "Back" from compose/show doesn't reset search request ( #1488238 )
13 years ago
alecpl
a945da6171
- Fix identation
13 years ago
alecpl
1b30a710cf
- Add option to delete messages instead of moving to Trash when in Junk folder ( #1486686 )
13 years ago
thomascube
59c404de0b
Corrently focus HTML editor to make cursor visible. Patch by JohnDoh ( #1487073 )
13 years ago
thomascube
c73efcc7bb
Reset IP stored in session when destroying session data ( #1488056 )
13 years ago
alecpl
8e8ae79cd0
- Fix format_date() when $convert=false ( #1488147 )
13 years ago
alecpl
19fccd8b22
- Improved validation and forced RDN in required_fields ( #1488254 )
13 years ago
alecpl
85fd2921f4
- Fix some issues regarding to cancel icon on attachments list, improve delete icon handling
13 years ago
alecpl
ff2d88a7ab
- Fix bug where memory_limit = -1 wasn't handled properly
13 years ago
alecpl
13db9ee199
- Support LDAP RFC2256's country object class read/write ( #1488123 )
13 years ago
alecpl
f5a7e12fdf
- Improve ImageMagick's identify isage, fix possible issue with spaces in path ( #1488325 )
13 years ago
thomascube
b8ea160178
Always return the correct connection state
13 years ago
alecpl
0223094701
- Upgraded to jQuery 1.7.2
13 years ago
alecpl
252d27459c
- Fix E_STRICT warning ( #1488404 )
13 years ago
alecpl
de4de814b9
- Reset variable in loop
13 years ago
thomascube
48ed884a6f
Updated Slovenian translation submitted to the mailing list
13 years ago
thomascube
4cf42fde05
Add support for read-only address book records
13 years ago
alecpl
a71a97fa49
- Image resize with GD extension ( #1488383 )
13 years ago
thomascube
d1e3430bfa
Pass message UID to 'message_part_get' hook
13 years ago
thomascube
f302fb9337
Don't set variable which will be used later on with wrong data
13 years ago
alecpl
04b6d6ff4f
- Fix file headers
13 years ago
alecpl
32afd52db4
- fa -> fa_IR, fixed Persian language native name ( #1488393 )
13 years ago
thomascube
9e2c949d86
Improve input field placeholders: use native attributes if supported, encapsulate in jquery plugin
13 years ago
alecpl
b9ce92d883
- Fix lack of warning when switching task in compose window ( #1488399 )
13 years ago
thomascube
a621a9d7ec
Accept DateTime object as input to format_date()
13 years ago
alecpl
6699a68da1
- Fix bug where it wasn't possible to enter ( or & characters in autocomplete fields
13 years ago
thomascube
168e540923
Request all needed fields from address book backends ( #1488394 )
13 years ago
alecpl
32077b1685
- Fix js errors (spellcheck-related) when switching editor mode in identity screen
13 years ago
alecpl
8d67c7b8bc
- Fix counting messages search results
13 years ago
alecpl
4be86f3a37
- Unified (single) spellchecker button
13 years ago
alecpl
3cbdbd9bb7
- Improve logo handling in default skin ( #1488385 )
13 years ago
alecpl
fe3a1d60a5
- Fix encoding of attachment with comma in name ( #1488389 )
13 years ago
alecpl
54dfd15541
- On login screen show only one message at a time
13 years ago
thomascube
c388257078
Only run value through format_date if no render_func was called before
13 years ago
alecpl
479af90579
- Hook unregister methods ( #1488184 )
13 years ago
alecpl
8b3c68d42d
- Fix handling of % character in IMAP protocol ( #1488382 )
13 years ago
alecpl
4da69b953e
- Have DSN parser pass database name through url decode ( #1488035 )
13 years ago
alecpl
0203f16312
- Fix duplicate names handling in addressbook searches ( #1488375 )
13 years ago
alecpl
8eae72a53c
- Add check_connection() to storage abstract class
13 years ago
alecpl
66d2152ab5
Exclude E_STRICT from error_reporting for PHP 5.4
13 years ago
thomascube
18a28ae3f8
Move address book widget initialization out of the 'compose' action block
13 years ago
thomascube
6357223bd1
Fix spelling
13 years ago
alecpl
1837c33002
- Prevent from folder selection on virtual folder collapsing ( #1488346 )
13 years ago
thomascube
dc365cc929
Imported translations from launchpad
13 years ago
thomascube
b95794d0a8
Upgraded to jQuery 1.7.1 ( #1488337 )
13 years ago
alecpl
c6a9cd6799
- Fix automatic unsubscribe of non-existent folders (with small perf fix)
13 years ago
alecpl
82d69583fd
- Fixed double-quotes handling in recipient names
13 years ago
thomascube
15dfdbe54e
Fix language code maps
13 years ago
alecpl
38dc510b2d
- Fix warning when properties array is empty
13 years ago
alecpl
8f77c03bd8
- Add 'type' and 'attribs' parameters for render_mailboxlist hook
13 years ago
alecpl
2b4855b1aa
- Add Russian to the spellchecker languages list ( #1488135 )
13 years ago
alecpl
e4f822a34a
- Fixed file header
13 years ago
thomascube
20efa59fc9
Fix function call
13 years ago
thomascube
b91f048c3b
Map renamed methods for backwards compatibility
13 years ago
alecpl
2c1937220e
- Move percent_indicator from app.js into the skin
13 years ago
alecpl
223ae9d148
- Fixed identity delete button state, removed delete button in identity-edit form (for consistency)
13 years ago
alecpl
af5995d41b
Fix larry issues: 'Mark' button position, broken folders list footer
13 years ago
thomascube
ef1e877a8d
Connect to IMAP server before reading quota
13 years ago
thomascube
589385f37f
Fix script error in IE ( #1488368 )
13 years ago
thomascube
c0806c6dfb
Renamed error message label
13 years ago
thomascube
71e9efb152
Add titles to error and photo upload popups ( #1488354 )
13 years ago
thomascube
40d246fff2
Remember custom skin selection after logout ( #1488355 )
13 years ago
thomascube
1e09cd0811
Slighlty increase minimum browser requirements
13 years ago
thomascube
fec2d8e130
Refactored IMAP cache expunge: delegate to storage object; don't rely on deprecated 'enable_caching' config option
13 years ago
alecpl
45dc955ad7
- Add lost 'listoptions' label
13 years ago
alecpl
e5306ee5d0
- Fix date_today, broken in r5707
13 years ago
alecpl
43c40f043c
- Don't list mailto: and anchor links
...
- List only unique URLs
13 years ago
thomascube
3ed9e80cd6
Skip empty group members (seen in OpenLDAP backends)
13 years ago
alecpl
18a3dcaf56
- Fix issue with folder creation under INBOX. namespace ( #1488349 )
13 years ago
alecpl
06c990ead2
- Added mailto: protocol handler registration link in User Preferences ( #1486580 )
13 years ago
thomascube
f9a967763e
User configurable setting how to display contact names in list
13 years ago
alecpl
6db9df39c6
- Fix 'settings' label in en_GB
13 years ago
alecpl
33423a5570
- Fix issue where some text from original message was missing on reply ( #1488340 )
13 years ago
alecpl
a7321e7578
- Fix URL building - skip null parameters
13 years ago
alecpl
f3599505f1
- Improved r5861 change: Content converted to upper case can contain HTML tags, handle them properly
13 years ago
alecpl
67e5925897
- Handle HTML entities properly when converting strong/b/th content to upper case
13 years ago
alecpl
f3136149fe
- Workaround IMAP server issue when THREAD command returns less messages than exist in a folder: don't update folder status in second count() call
13 years ago
alecpl
337dc54132
- Support AD's objectClass=group
13 years ago
thomascube
fc7b5b8283
Get rid of global $__skin_path variable ( #1488336 )
13 years ago
thomascube
43875379d5
Allow users to choose cols for contacts list sorting
13 years ago
thomascube
fd6f6e27c4
Allow placeholder attributes for input fields
13 years ago
thomascube
6835114c4d
Allow plugins to overwrite the displayed confirmation message when saving a draft
13 years ago
alecpl
1d7dcc641c
- Fix call to undefined method rcube_result_index::isError() ( #1488328 )
13 years ago
alecpl
3c71c67118
- Revert SORT=DISPLAY support, removed by mistake in r4160 ( #1488327 )
13 years ago
thomascube
f6a7491fa1
Fix special vars replacement in templates
13 years ago
thomascube
77c779a2b8
Update requirements list, remove TODO
13 years ago
alecpl
f62b310e97
- Remove leftover code
13 years ago
thomascube
8b92d2b050
Add lib for server side mime parsing (to be used by non-imap storage backends or as fallback if imap server doesn't provide a proper structure)
13 years ago
thomascube
e472110e2c
Added new plugin hook 'message_draftsaved'
13 years ago
thomascube
48f04d368e
Fix autoselect_host() for login ( #1488297 )
13 years ago
thomascube
567be64c28
Fix if/else structure
13 years ago
thomascube
32afefb851
Fix thread expand/collapse callbacks which set css classes
13 years ago
thomascube
e65c36d172
Fixed typo
13 years ago
alecpl
b3ad480bbc
- Fix hook name mailboxes_list renamed to reserved name, use storage_folders and add an alias to deprecated hooks list
13 years ago
thomascube
43d98b244c
Simplify code
13 years ago
thomascube
071c78c3a4
Fine tuning Larry styles + browser specific css quirks
13 years ago
alecpl
0ac41603d4
- Better handling of legacy config ( #1488312 )
13 years ago
alecpl
63ff2a22ca
- Fix warning when default_folders setting is not an array
13 years ago
alecpl
a19d90043e
- Fix call to undefined method rcube_result_index::getElement()
13 years ago
alecpl
002189e3ab
- Fix drafts update issues when edited from preview pane ( #1488314 )
13 years ago
alecpl
ce4c610311
- Fix warning when default_folders setting is not an array
13 years ago
thomascube
37cec41ba5
rcube_imap::update_cache() is used by some plugins
13 years ago
thomascube
f295d2b5b0
Fix accidental private => protected replacement
13 years ago
thomascube
31579dfdf4
Also support /private/... annotation selectors
13 years ago
alecpl
08b7b66e76
- Handle ldap_public misconfiguration
13 years ago
alecpl
0457c5d101
- Fix call to undefined method rcube_imap::list_unsubscribed()
13 years ago
thomascube
50d6e918e1
Use <uri> value from package.xml to build download links in about screen; show links in default style
13 years ago
thomascube
a49a00fd30
Display priority in message headers block
13 years ago
thomascube
7fe3811c65
Changed license to GNU GPLv3+ with exceptions for skins and plugins
13 years ago
alecpl
64f6e75a3f
- Fix incorrect function call ( #1488310 )
13 years ago
thomascube
a2c495618a
Run imap_init plugin hook as deprecated hook; set $_SESSION['imap_host'] for backwards compat.
13 years ago
thomascube
c321a955a7
Merged devel-framework branch (r5746:5779) back into trunk
13 years ago
alecpl
8764b6ecf0
- Add addressbook name to debug output ( #1488304 )
13 years ago
alecpl
1224463db7
- Remove redundant ldap_count_entries() call
13 years ago
alecpl
4391a7809e
- Make mime type detection based on filename extension to be case-insensitive
13 years ago
alecpl
fd43a92b5d
- Fix possible infinite loop in buildThreadData()
13 years ago
thomascube
b98e71900d
Allow plugins to extend the vcard fieldmap for contact data
13 years ago
thomascube
03fe1c2ad3
Reflect threads expand status in css classes
13 years ago
alecpl
d741a96ecd
- Fix error when calling remove_row() on non-existing row
13 years ago
alecpl
1adc70526c
- Use proper class name
13 years ago
alecpl
2081eed221
- Fix PHP Fatal error: Call to private method rcube_imap::id2uid() ( #1488296 )
13 years ago
thomascube
43ff34758e
Updated translations from launchpad
13 years ago
alecpl
c1d27d8679
- Fix setting pagesizes ( #1488295 )
13 years ago
alecpl
e86a21bd83
- Fix typo in timezone handling, more exception catching
13 years ago
alecpl
529bd3f1c4
- Don't return 'unknown', use empty string, DateTime* handle more exceptions
13 years ago
thomascube
87986cfdb9
Handle DateTime exceptions
13 years ago