Commit Graph

6496 Commits (3294a41b3b8c72bf26a419b2d6a6b4c868dc05ca)

Author SHA1 Message Date
Aleksander Machniak e22824a316 Use mb_strtoupper() instead of strtoupper() for localized texts 8 years ago
Aleksander Machniak 650ac8befb Fix displaying size of attachments with zero size 8 years ago
Aleksander Machniak a8d41ac7f4 Fix some undefined variables 8 years ago
Aleksander Machniak bfbab5bcde Fix keyboard event detection with jQuery 3.x and remove hacks for old browsers
This fixes e.g. unwanted focus on a toolbar button after closing popup
menu with mouse click on the document.
8 years ago
Aleksander Machniak f92052fd73 Fix so when moving to Trash we make sure the folder exists (#5192) 8 years ago
Aleksander Machniak 2e1675bc4a Center and scale images in attachment preview frame (#5421) 8 years ago
Aleksander Machniak 4bf4afec68 Fix so folders list is scrolled to the selected folder on page load (#5424) 8 years ago
Aleksander Machniak 2999cc38a5 Generate more compact HTML5 code, e.g. use short form of boolean attributes 8 years ago
Aleksander Machniak 95df255af4 Added max_message_size option enforced when attaching files to a composed message (#4993) 8 years ago
Aleksander Machniak aad269c2f8 Fix PHP warning when handling shared namespace with empty prefix (#5420) 8 years ago
Aleksander Machniak d7089c81d6 Fix so messages list does not lose focus when releasing drag-n-drop outside of the list 8 years ago
Aleksander Machniak ce0c42ed8a Fix error causing empty INBOX listing in Firefox when using an URL with user:password specified (#5400) 8 years ago
Aleksander Machniak defdf84bb7 Really fix login form regression
Remove 'form' from allowed attributes list of input field. We needed
it only for a moment, now we don't. It's also not supported by IE/Edge
which means there's no way we would need it. Maybe some day...
8 years ago
Victor Benincasa daeb66ee99 Fix login form
Fix a small bug introduced on commit 43f3c5f that breaks the login form ($attrib['form'] is checked at line 1899, so it cannot be unset).
8 years ago
Aleksander Machniak 32e5a6bbcf Fix bug where folder creation could fail if personal namespace contained more than one entry (#5403)
+ small code improvements
8 years ago
Aleksander Machniak 99cb08c41c Fix so "All" messages selection is resetted on search reset (#5413) 8 years ago
Aleksander Machniak 80919e1cf5 Added Search button in quick search menus (#5312) 8 years ago
Aleksander Machniak 873e0353cf Use smart-upload-button for messages and contact photos upload
Unified interface with rcmail::upload_form().
8 years ago
Aleksander Machniak de5da687e4 Remove code for "placeholder" attribute support in old browsers 8 years ago
Aleksander Machniak c88a88fb0b Rewrite smart upload button to work in IE (#5410) 8 years ago
Aleksander Machniak 820d614c79 Fix missing </form> tag 8 years ago
Aleksander Machniak 43f3c5fb2a Implement "one click" attachment upload (#5024) 8 years ago
Aleksander Machniak c65bb121eb Describe Framework requirements, drop some redundant code (since we require mbstring) 8 years ago
Aleksander Machniak 0485275a75 Merge branch 'dev/drop-legacy-browsers' 8 years ago
Aleksander Machniak 689996896a Fix bug where names of downloaded files could be mailformed when derived from the message subject (#5404) 8 years ago
Aleksander Machniak 9debc38724 Drop mail_header_delimiter option, since we don't use mail() we don't need it 8 years ago
Aleksander Machniak 184de7735c CS fixes (mostly phpdoc) 8 years ago
Aleksander Machniak 2298ecf7f6 Fix E_DEPRECATED warning when using Auth_SASL::factory() (#5401) 8 years ago
Aleksander Machniak d7c4c3fb62 Drop IE9 support 8 years ago
Aleksander Machniak eecc601601 Fix compatibility with jQuery 3.x 8 years ago
Aleksander Machniak 0836b213db Removed useless 'created' column from 'session' table (#5389) 8 years ago
Aleksander Machniak 505efff5c4 Fix bug where blocked.gif couldn't be attached to reply/forward with insecure content 8 years ago
Aleksander Machniak 94f8ce3334 Make html::parse_attrib_string() more robust
Fixes PHP Error: Expression parse error on: ($app->config->get('preview_pane',rcube_utils::get_boolean('')) == true ? ' checked=checked' : ')
8 years ago
Aleksander Machniak 062d95503e Fix bug where Message-ID domain part was tied to username instead of current identity (#5385) 8 years ago
Aleksander Machniak 55cdf1569e Support contact+group searches in all relevant places (T1360)
Before the search worked only in Addressbook, not also in Compose.
The point of the change is also to align group searches with contact searches
in that it now uses the same set of attributes. Previously groups
in Compose were searched by name only.
8 years ago
DanCld ee00d949c4 Properly set the memcache debug log file name
Properly set the debug log file name ('memcache') as $this->type is undefined
8 years ago
Aleksander Machniak 53b5ccfb0c Fix regression where LDAP results could be counted incorrectly when using VLV
... broken by d08bd0a51f where we added searching in users+groups in one request
8 years ago
Aleksander Machniak 71340a1bea Update to jQuery-3.1.0 8 years ago
Aleksander Machniak eda23fe6c8 Remove hacks for old Internet Explorer versions 8 years ago
Aleksander Machniak 9e3263acbe Simplify popup dialogs creation 8 years ago
Aleksander Machniak dcabc1d814 Merge remote-tracking branch 'upstream/master'
Conflicts:
	tests/Framework/Washtml.php
8 years ago
Aleksander Machniak 94eb2e5a40 Make the attachment rename input bigger (size: 50) 8 years ago
Aleksander Machniak ebc2f5dc7d Add possibility to rename attachments in mail compose (#4996)
... and fix some small issues related to the new compose attachment menu feature
8 years ago
Aleksander Machniak c3fc072d97 Remove code related to magic_quotes_* and register_globals
...they do not exist in PHP 5.4 which we now require.
8 years ago
Aleksander Machniak 906cf101c3 Better time handling in rcube_utils::clean_datestr() 8 years ago
Aleksander Machniak ec1525a1e6 Remove debug code 8 years ago
Aleksander Machniak ed35267b9b Managesieve: Fix parsing of vacation date-time with non-default date_format (#5372)
Added new method rcube_utils::format_datestr() to convert date_format date
into ISO date format.
8 years ago
Aleksander Machniak 2f2765ab43 Fix regression in resizing JPEG images with Imagick (#5376) 8 years ago
Aleksander Machniak 672ca96b24 Merge pull request #5375 from filhocf/master
Correct file csv2vcard.inc
8 years ago
Claudio Ferreira Filho 40a493b0e1 Adjusting csv2vcard.inc file 8 years ago
Aleksander Machniak 8a13615e9e Add possibility to preview and download attachments in mail compose (#5053) 8 years ago
Claudio Ferreira Filho 51979cb554 Adding localized in pt_BR csv2vcard.inc file 8 years ago
Thomas Bruederli 354042c4f4 Fix German tranlsation for 'open' (#5360) 8 years ago
Thomas Bruederli 4e3442877d Updated localizations from Transifex 8 years ago
Aleksander Machniak e1165fed89 Remove backward compatibility "layer" of bc.php (#4902) - now for real 8 years ago
Aleksander Machniak 64763853c9 Fix javascript errors in IE on page with iframe that points to another domain 8 years ago
Aleksander Machniak e6553ce60d Fix German localization label 8 years ago
Aleksander Machniak d91bad5975 Fix handling of blockquote tags with mixed case on html2text conversion (#5363) 8 years ago
Aleksander Machniak 7a7a6795f0 Support WEBP images in mail messages (#5362) 8 years ago
Aleksander Machniak 1988f68660 Merge pull request #5203 from bostjan/foundation-for-customizable-contacts-autocomplete
Foundation for customizable contacts autocomplete
8 years ago
Aleksander Machniak 6626328e7c We already require PEAR, so it's not needed to check if PEAR class exists.
Sooner or later it will fail if PEAR does not exist, so better to do this sooner.
8 years ago
Aleksander Machniak fdf9ff5a17 Merge pull request #5361 from PeterDaveHelloKitchen/image-optimize
optimize png images using zopflipng
8 years ago
Aleksander Machniak 437aca39e0 Enigma: Import keys from key-server(s) (#5286) 8 years ago
Aleksander Machniak 4361a95820 Fix missing localization of HTML editor when assets_dir != INSTALL_PATH 8 years ago
Aleksander Machniak edfd9da42a Support MathML in HTML message preview (#5182) 8 years ago
Aleksander Machniak 158b34ed42 Rename Addressbook to Contacts (#5233) 8 years ago
Peter Dave Hello 6ee0cec8e9
optimize png images using zopflipng 8 years ago
Aleksander Machniak ee895a2c96 Remove PHP mail() support, smtp_server is required now (#5340) 8 years ago
Aleksander Machniak 8e65f618c5 Display full message subject in onmouseover on truncated subject in mail view (#5346) 8 years ago
Aleksander Machniak e13deb2e47 Merge branch 'master' of github.com:roundcube/roundcubemail 8 years ago
Aleksander Machniak 930e363e55 Fix handling of 'mailto' and 'error' arguments in message_before_send hook (#5347) 8 years ago
Aleksander Machniak d2d4f867e5 Merge pull request #5350 from demis-palma/fix-encoding
Fixed wrong encoding in currency symbols
8 years ago
Aleksander Machniak dc6cfe1eec Merge pull request #5351 from fliespl/patch-1
Remove use of deprecated method Imagick::flattenImages
8 years ago
Aleksander Machniak 9a2264ba0e Fix regression where messages with no text part (but e.g. application/zip) were not displayed as an attachment (#5357) 8 years ago
fliespl 10c032165b Remove deprecated function flattenImages
flattenImages in imagick is deprecated since php 5.6. 
`PHP Deprecated:  Imagick::flattenImages method is deprecated and it's use should be avoided `


Proposed solution works with imagick 3.1.0+.
11 is used as an alternative to `Imagick::ALPHACHANNEL_REMOVE` which was added in imagick 3.2.0.
8 years ago
Demis Palma 411bd3fe82 Fixed wrong encoding in currency symbols 8 years ago
Aleksander Machniak 3d9e170d8b Use contact_search_name format in popup on results in compose contacts search 8 years ago
Aleksander Machniak 352c6329cc Enigma: Search missing public keys on a key-server in mail compose (#5286) 8 years ago
Aleksander Machniak 997e82d2b2 Merge pull request #5326 from raoulbhatia/autoload
Translate PHP namespaces into directories
8 years ago
Aleksander Machniak 0ae4001121 Don't create multipart/alternative messages with empty text/plain part (#5283) 8 years ago
dsoares 8e7e22c656 Avoid PHP fatal error
After last change to file `rcube_ldap.php`, my roundcube instance was getting this error:
```
PHP Fatal error:  Cannot use object of type Net_LDAP3_Result as array in ...
```
In
```php
protected function extended_search($count = false)
```
`$result = $this->ldap->search()` returns a LDAP object (whatever package we use).
If the search returns no results (and if `$is_extended_search` is false), then it gets to line 971 trying to do a `usort()` and then a `count()` on an object, instead of an array.
8 years ago
Aleksander Machniak c08ca018d8 Get rid of rcube_imap_generic::strToTime() in favor of rcube_utils::strtotime() 8 years ago
Raoul Bhatia 7122df719d Translate PHP namespaces into directories 8 years ago
Aleksander Machniak d08bd0a51f Searching in both contacts and groups when LDAP addressbook with group_filters option is used 8 years ago
Aleksander Machniak de53074734 Fix syntax error 8 years ago
Sandor Takacs 6d1a68bd44 Rename field_blocks to head_fields 8 years ago
Sandor Takacs e108902eff Add $field_blocks to contact_form hook
Add $field_blocks to contact_form hook, so plugins can change the order of the fields: https://github.com/roundcube/roundcubemail/pull/5281
8 years ago
Aleksander Machniak 22241a5d82 CS fixes 8 years ago
Aleksander Machniak 58c036116b Support type=password in rcube_output::get_edit_field() 8 years ago
Aleksander Machniak f2eafda539 Fix bug where microsecond format in logged date didn't work in some cases 8 years ago
Aleksander Machniak 5e1277e971 Trim error message 8 years ago
Aleksander Machniak f840abe6e0 Don't add HTTP response body/headers to the spellchecker error message (it is displayed to the user) 8 years ago
Aleksander Machniak c478536741 Make SQL selects less expensive in memory for some cases where we fetch big data chunks 8 years ago
Aleksander Machniak 5e5eab3e53 Update TinyMCE to version 4.3.13 (#5309) 8 years ago
Aleksander Machniak d0bb0a9c9d Fix subscription checkbox state on error in folder subscribe/unsubscribe action (#5243) 8 years ago
Aleksander Machniak b9d3fb0221 Display different attachment icon on encrypted messages 8 years ago
Aleksander Machniak c76c4ed08b Workaround PHP issue by calling closelog() on script shutdown when using log_driver=syslog (#5289) 8 years ago
Aleksander Machniak d61d33a12a Fix handling of --delete argument in moduserprefs.sh script (#5296) 8 years ago
Aleksander Machniak f466899d8d Simplified code 8 years ago
Aleksander Machniak 7864a98f08 Fix searching by email address in contacts with multiple addresses (#5291) 8 years ago
Aleksander Machniak 6737e293bb Wash position:fixed style in HTML mail for better security (#5264) 8 years ago
Thomas Bruederli 44894414cd Avoid sending completely empty text parts for multipart/alternative messages (#5283) 8 years ago
Thomas Bruederli f82e336ada Add licence header to cloned PublicKey.js 8 years ago
Aleksander Machniak bf049c80e7 Remove debug code 8 years ago
Aleksander Machniak 1a8593a315 Update changelog 8 years ago
Aleksander Machniak db70d3e491 Merge pull request #5277 from hemio-ev/mailvelope-fixes
Fixes 'nobodywarning' on sending mailvelope mails
8 years ago
Aleksander Machniak 796bb4ccbb Update localization, add Enigma plugin localizations 8 years ago
Aleksander Machniak ff735fb3a5 Protect INBOX folder even if protected_default_folders=false 8 years ago
Aleksander Machniak 0ce7c493a8 Fix multi-folder search issues in "this and subfolders" scope (#5282, #5259)
- Fix bug where multi-folder search could choose a wrong folder
- Fix bug where multi-folder search didn't work for unsubscribed INBOX
8 years ago
Aleksander Machniak 2b88e6cf95 Use $OUTPUT->set_env(...) instead of $OUTPUT->command('set_env', ...) 8 years ago
Aleksander Machniak 98c1712e29 Fix redundant keep-alive requests when session_lifetime is greater than ~20000 (#5273) 8 years ago
Michael Herold d3c6d6570b Fixes 'nobodywarning' on sending mailvelope mails 8 years ago
Aleksander Machniak 87cf0a3fb1 Use minified publickey.js (with cache-buster) when available (#5254) 8 years ago
Aleksander Machniak 9e64dc2deb Remove application/x-tar file extension test as it might not exist in nginx config (#5253)
Use text/css instead
8 years ago
Aleksander Machniak 378d10b748 Fix bug where message list columns could be in wrong order after column drag-n-drop and list sorting 8 years ago
Aleksander Machniak 930a3ceac0 Fix bug where errors could have been not logged when per_user_logging=true 8 years ago
Aleksander Machniak f7fdf1a4de Merge pull request #5168 from piuma/patch-1
Set maxlength for email address input
8 years ago
Aleksander Machniak 3d0d5dbd0f Performance improvements in format_flowed() and unfold_flowed() 8 years ago
Aleksander Machniak afd090672c Small performance optimization 8 years ago
Aleksander Machniak 9cd4b1bc58 Display different confirmation text when moving messages to Trash (#5220) 8 years ago
Aleksander Machniak 6d1337e1df Fix regression where setting Answered/Forwarded flag didn't work when sending an email 9 years ago
Aleksander Machniak 6652367d65 Fix XSS issue in href attribute on area tag (#5240, #5241) 9 years ago
Aleksander Machniak 4921c21cff Optimize SELECT response handling 9 years ago
Aleksander Machniak 344b0af9c6 Indicate that a collapsed thread has flagged children (#5013) 9 years ago
Aleksander Machniak 9796cd2063 Merge branch 'dev-rfc822-preview'
Conflicts:
	CHANGELOG
	program/steps/mail/show.inc
9 years ago
Aleksander Machniak 56f9883d84 Update to jsTimezoneDetect 1.0.6 9 years ago
Aleksander Machniak 9634169647 Bump version number to 1.3-beta 9 years ago
Aleksander Machniak bd6d7645d7 Update localization 9 years ago
Aleksander Machniak 667ed37f77 Fix bug where Encrypt button appears when switching editor to HTML (#5235) 9 years ago
Aleksander Machniak 013aaeb895 CS improvements/fixes 9 years ago
Aleksander Machniak 0eece8222b Fix autoloading of 'html' class and improve autoloader performance 9 years ago
Aleksander Machniak 5d08d57005 Don't log ajax requests/responses, browser development tools already can show this information 9 years ago
Aleksander Machniak 5e406f7b7e Disable links list when converting html2text for spellchecking 9 years ago
Aleksander Machniak 1da8ffd52b Use "email" over "e-mail" consistently (#5212) 9 years ago
Aleksander Machniak 7abfe41ab7 Fix bug where getting HTML editor content could steal focus from other form controls (#5223) 9 years ago
Aleksander Machniak 7dad859ffa Fix message list multi-select/deselect issue (#5219) 9 years ago
Aleksander Machniak 52106ffd39 Fix bug where rcube_contacts::get_record() could return cached result when requested record wasn't found (#5218) 9 years ago
Bostjan Skufca 12756e2297 Autocomplete: store last searched-for string into separate variable for later consumption
Reason:
Autocompleting person contacts works as expected - ksearch_value is available and passed to triggerEvent.
But with group autocomplete, ksearch_value is reset (to null) and triggerEvent call lacks necessary data.
9 years ago
Bostjan Skufca f919e8ffa6 Autocomplete: change type from 'contact' to 'person' to sync with what is expected from LDAP.
Explanation:
Alternative would be to leave type empty, as it is when contact comes form SQL source.
But this feels overly ambiguous and may cause problems in the future.
9 years ago
Bostjan Skufca 1791c3e3d7 Autocomplete/frontend: provide functions that hook into 'autocomplete_insert' actual search and result data
Reason:
In order to enable development of sophisticated autocomplete algorithms, they will need
to process all the data relevant to autocomplete - what was the search string and which
result was the correct one.

Example to illustrate the need:
Say we are talking about these two people of interest, who are in the address book, among others:
- person 1: Bostjan Skufca <bostjan@a2o.si>
- person 2: Bostjan SkuBIC <bostjan@otherdomain.com>

Our user is used to think about the first person by the first name, "Bostjan", as he is an old friend.
The second one is a colleague at work where people call themselves mostly by surnames, "Skubic" in this case.

Without this data provided to 'autocomplete_insert', there is no way for RC to learn that when our user
enters "bos" in the To: field he thinks about person #1 (Bostjan SkuFCA), and when he starts typing "sku"
he means person #2 (Bostjan SkuBIC).
9 years ago
Bostjan Skufca 05c7d49a37 Autocomplete search: add id and source (addressbook) into resulting contact data array
Two reasons:
- provide it to plugin backend functions that use 'contacts_autocomplete_after' hook
- provide it to frontend

Why to frontend?
If plugin JS adds an 'autocomplete_insert' hook we need to provide it with exact
autocomplete data. Providing it with name and email address only, without pinpointing
exact origin of this autocomplete result, will severely limit learning capabilities of
potential future autocomplete implementations.
9 years ago
Bostjan Skufca a15b2d5998 Autocomplete refactoring: replace variable name '$id' with '$abook_id'
Reason:
Having genericly named variable $id in nested loops makes code unreadable.
Replacing generic name '$id' with '$ENTITIY_id' format removes all ambiguity.
9 years ago
Bostjan Skufca ed55af4aa9 Autocomplete: trigger "contacts_autocomplete_after" hook processing
Provide existing list of contact suggestions as an argument - it might be unclear
now what logic plugin developers decide to implement, but data for that logic
should be provided upfront, and that includes list of suggestions that RC
itself comes up with.

Plugin logic might then replace the list entirely, or just rearrange its entries, or use
part of the list when it runs out of own ideas, or do something entirely different.
9 years ago
Bostjan Skufca 865230e420 Autocomplete: fix undefined variable notice if no addressbook is configured for autocomplete 9 years ago
Aleksander Machniak e2e56261b9 Fix handling of long script/style tags when converting to text 9 years ago
Aleksander Machniak a0f38f5fd8 Small code style improvements 9 years ago
Aleksander Machniak e8ab3d96bd Fix converting mail addresses with @www. into mailto links (#5197) 9 years ago
Aleksander Machniak d01c06eded CS fixes 9 years ago
Bostjan Skufca 70a8236cd5 mailbox/listing: Make server response for large mailbox listing faster when using threaded view
Symptom
=======
When using roundcube with mailboxes with over 60k messages, list
view was way faster than viewing in threaded view.

Mailbox index view timing:    ~360 ms
Mailbox threaded view timing: ~800 ms

Resolution
==========
Use native PHP array manipulation functions instead of rolling custom
string data reversal implementation using strpos() and substr() in a
'while' loop.

This optimization is already present in index view handler, but was missing
from threaded view.

Results after optimization
==========================
Both average out around ~360 ms response time.
9 years ago
Aleksander Machniak 4fdcd8c9d1 Remove redundant code 9 years ago