Commit Graph

6418 Commits (571a10751f500553d4b65fda1b8e8fd9bd32283f)

Author SHA1 Message Date
Aleksander Machniak 997e82d2b2 Merge pull request #5326 from raoulbhatia/autoload
Translate PHP namespaces into directories
9 years ago
Aleksander Machniak 0ae4001121 Don't create multipart/alternative messages with empty text/plain part (#5283) 9 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.
9 years ago
Aleksander Machniak c08ca018d8 Get rid of rcube_imap_generic::strToTime() in favor of rcube_utils::strtotime() 9 years ago
Raoul Bhatia 7122df719d Translate PHP namespaces into directories 9 years ago
Aleksander Machniak d08bd0a51f Searching in both contacts and groups when LDAP addressbook with group_filters option is used 9 years ago
Aleksander Machniak de53074734 Fix syntax error 9 years ago
Sandor Takacs 6d1a68bd44 Rename field_blocks to head_fields 9 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
9 years ago
Aleksander Machniak 22241a5d82 CS fixes 9 years ago
Aleksander Machniak 58c036116b Support type=password in rcube_output::get_edit_field() 9 years ago
Aleksander Machniak f2eafda539 Fix bug where microsecond format in logged date didn't work in some cases 9 years ago
Aleksander Machniak 5e1277e971 Trim error message 9 years ago
Aleksander Machniak f840abe6e0 Don't add HTTP response body/headers to the spellchecker error message (it is displayed to the user) 9 years ago
Aleksander Machniak c478536741 Make SQL selects less expensive in memory for some cases where we fetch big data chunks 9 years ago
Aleksander Machniak 5e5eab3e53 Update TinyMCE to version 4.3.13 (#5309) 9 years ago
Aleksander Machniak d0bb0a9c9d Fix subscription checkbox state on error in folder subscribe/unsubscribe action (#5243) 9 years ago
Aleksander Machniak b9d3fb0221 Display different attachment icon on encrypted messages 9 years ago
Aleksander Machniak c76c4ed08b Workaround PHP issue by calling closelog() on script shutdown when using log_driver=syslog (#5289) 9 years ago
Aleksander Machniak d61d33a12a Fix handling of --delete argument in moduserprefs.sh script (#5296) 9 years ago
Aleksander Machniak f466899d8d Simplified code 9 years ago
Aleksander Machniak 7864a98f08 Fix searching by email address in contacts with multiple addresses (#5291) 9 years ago
Aleksander Machniak 6737e293bb Wash position:fixed style in HTML mail for better security (#5264) 9 years ago
Thomas Bruederli 44894414cd Avoid sending completely empty text parts for multipart/alternative messages (#5283) 9 years ago
Thomas Bruederli f82e336ada Add licence header to cloned PublicKey.js 9 years ago
Aleksander Machniak bf049c80e7 Remove debug code 9 years ago
Aleksander Machniak 1a8593a315 Update changelog 9 years ago
Aleksander Machniak db70d3e491 Merge pull request #5277 from hemio-ev/mailvelope-fixes
Fixes 'nobodywarning' on sending mailvelope mails
9 years ago
Aleksander Machniak 796bb4ccbb Update localization, add Enigma plugin localizations 9 years ago
Aleksander Machniak ff735fb3a5 Protect INBOX folder even if protected_default_folders=false 9 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
9 years ago
Aleksander Machniak 2b88e6cf95 Use $OUTPUT->set_env(...) instead of $OUTPUT->command('set_env', ...) 9 years ago
Aleksander Machniak 98c1712e29 Fix redundant keep-alive requests when session_lifetime is greater than ~20000 (#5273) 9 years ago
Michael Herold d3c6d6570b Fixes 'nobodywarning' on sending mailvelope mails 9 years ago
Aleksander Machniak 87cf0a3fb1 Use minified publickey.js (with cache-buster) when available (#5254) 9 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
9 years ago
Aleksander Machniak 378d10b748 Fix bug where message list columns could be in wrong order after column drag-n-drop and list sorting 9 years ago
Aleksander Machniak 930a3ceac0 Fix bug where errors could have been not logged when per_user_logging=true 9 years ago
Aleksander Machniak f7fdf1a4de Merge pull request #5168 from piuma/patch-1
Set maxlength for email address input
9 years ago
Aleksander Machniak 3d0d5dbd0f Performance improvements in format_flowed() and unfold_flowed() 9 years ago
Aleksander Machniak afd090672c Small performance optimization 9 years ago
Aleksander Machniak 9cd4b1bc58 Display different confirmation text when moving messages to Trash (#5220) 9 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
Bernardo Silva c72446a8fc Allow pattern attribute in input
"pattern" included in the list of allowed attributes in the input tag
9 years ago
Aleksander Machniak 6f2c007d1b CS fixes: Replace use of "bool ? true : false" with just "bool" 9 years ago
Aleksander Machniak 5c253dd59e Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782)
The old behaviour where SPECIAL-USE has always a prio can be bringed back
by setting lock_special_folders=false and adding it to dont_override.
9 years ago
Aleksander Machniak aba88576ef Update localizations 9 years ago
Aleksander Machniak 7462095f60 Small code improvements 9 years ago
Aleksander Machniak 46f7b70964 Enable reply/reply-all/forward buttons also in preview frame of message/rfc822 9 years ago
Aleksander Machniak e8b6e726f6 Add message menu with viewsource and edit actions in message/rfc822 preview 9 years ago
Aleksander Machniak d125f864ea Message/rfc822 previewer compatibility with Enigma 9 years ago
Aleksander Machniak 640e5e265d Enigma: Handle encrypted/signed content inside message/rfc822 attachments 9 years ago
Aleksander Machniak 4e6f3019f5 Enigma: Handle encrypted/signed content inside message/rfc822 attachments 9 years ago
Aleksander Machniak ce3105c58f Reply/Reply-All/Forward/Change-format buttons for message/rfc822 preview 9 years ago
Aleksander Machniak 323fa20bc8 Message/rfc822 attachment preview (#5054) 9 years ago
Danilo 1db4c05078 Fix: Set long email addresses
The changes permit to set long email address up to the maximum permissible length.
9 years ago
Aleksander Machniak 05972d7b33 Refer to Github issues instead of Trac 9 years ago
Aleksander Machniak 791ee65d2e Fix so contactlist_fields option can be set via config file 9 years ago
Aleksander Machniak 348ec70f12 Export vCard PHOTO with "ENCODING=b" (instead of "ENCODING=B") as specified in RFC2426 9 years ago
Aleksander Machniak 3a13b5dab8 CS fixes 9 years ago
Aleksander Machniak 0c9e55b0c9 Fix PHP warning when defaults.inc.php is not readable 9 years ago
Aleksander Machniak bf91666621 Revert "Update to jQuery 2.2.1"
This reverts commit 940b966fac.

There are issues with jQuery-UI 1.10 we use and it's actually
too late for such a change now when we want 1.2 release soon.
9 years ago
Thomas Bruederli 4a408843b0 Protect download urls against CSRF using unique request tokens (#1490642)
Send X-Frame-Options headers with every HTTP response
9 years ago
Aleksander Machniak d4df3748cf Require Net_Socket >= 1.0.12 (because of timeout=0 bugfix) 9 years ago
Aleksander Machniak ca34ba139e CS fixes 9 years ago
Aleksander Machniak 940b966fac Update to jQuery 2.2.1 9 years ago
Aleksander Machniak b0a8e36930 Fix handling of body parameter in mail compose request 9 years ago
Aleksander Machniak faeeebdc55 Hide DSN option in Preferences when smtp_server is not used (#1490666) 9 years ago
Aleksander Machniak 9ae41d906e Fix unicode-awareness of Base64 encoding implementation in javascript 9 years ago
Aleksander Machniak 8bbb454524 Fix list row selection when provided uid is number not a string 9 years ago
Aleksander Machniak a62ff159f0 Performance: Make sure that after contact update we call get_record() only once 9 years ago
Aleksander Machniak d686b57c72 Fix bug where contacts widget in compose could be incorrectly initialized with treelist widget (T998)
Fix typo in command name (list-adresses -> list-addresses)
9 years ago
Aleksander Machniak 4c0cb96a48 Enigma: Fix missing html/plain switch on multipart/signed messages (#1490649) 9 years ago
Aleksander Machniak e91c35c534 Fix background color on selected and focused addressbook 9 years ago
Aleksander Machniak 332ffef199 Plugin API: Added addressbook_export hook 9 years ago
Aleksander Machniak 8dc756f319 Fix bug in long recipients list parsing for cases where recipient name contained @-char (#1490653) 9 years ago
Aleksander Machniak c10eae0884 Fix bug where Archive/Junk buttons were not active after page jump with select=all mode (#1490647) 9 years ago
Aleksander Machniak 53fa08d8ae Enigma: Code refactoring with better handling of encrypted-inside-encrypted (e.g. forwarded) and signed+ncrypted messages 9 years ago
Aleksander Machniak c9e2ab488e Enigma: Fix handling of encrypted + signed messages (#1490632) 9 years ago
Aleksander Machniak 0e77b6f1b3 Fix regression where xml mode could be used to parse xhtml messages causing empty result 9 years ago
Aleksander Machniak bffca14d96 Exit when imagecreatetruecolor() fails 9 years ago
Aleksander Machniak 22a018d082 Merge branch 'dev-svg' 9 years ago
Aleksander Machniak ed1d212ae2 Improved SVG cleanup code 9 years ago
Aleksander Machniak 023d3eb031 Refactor wash_attribs() - fix regressions 9 years ago
Aleksander Machniak 558a6db27e Fix headers encoding when using 'valueof' mode 9 years ago
Aleksander Machniak d5f7490b08 Fix PHP Fatal error: Can't use function return value in write context 9 years ago
Thomas B 66d4ef6e31 Merge pull request #316 from namesco/prevent-blank-contactnames
Ensure roundcube doesn't render contact names as blank
9 years ago
Aleksander Machniak 72c250ca67 Merge pull request #317 from FrancisRussell/imap-tls
Enable use of TLSv1.1 and TLSv1.2 for IMAP.
9 years ago
Aleksander Machniak 9aaeb23d9d Fix HTML entities encoding in message headers output 9 years ago
Aleksander Machniak a1fdb205f8 Extend rcube_washtml with SVG support 9 years ago
Francis Russell 8f71b164fd Make TLS method for IMAP parameterisable. 9 years ago
Francis Russell 191a6a6805 Enable use of TLSv1.1 and TLSv1.2 for IMAP. 9 years ago
Aleksander Machniak 0bde1c2e4d Fix missing language name in "Add to Dictionary" request in HTML mode (#1490634) 9 years ago
James Buncle fd0244dabf Ensure roundcube doesn't render contact names as blank (when the name is whitespace) 9 years ago
Aleksander Machniak 4e1aa60c16 Make possible to disable authentication via rcube_smtp::connect() arguments (#1490621) 9 years ago
Aleksander Machniak 40d7342dd9 Fix XSS issue in SVG images handling (#1490625) 9 years ago
Aleksander Machniak 39137fe292 CS fixes 9 years ago
Aleksander Machniak d72e5afb47 Fix PHP7 warning "session_start(): Session callback expects true/false return value" (#1490624) 9 years ago
Aleksander Machniak d08dc5bfc5 Fix so drag-n-drop of text (e.g. recipient addresses) on compose page actually works (#1490619) 9 years ago
Aleksander Machniak 10e5192a2b Fix path traversal vulnerability in setting a skin (#1490620) 9 years ago
Aleksander Machniak 6521c20768 Add INBOX to the list of folders only if no filter and no prefix was specified 9 years ago
Aleksander Machniak 3b36bcfb68 Cleanup 9 years ago
Aleksander Machniak 0d9fa7f3dc Remove redundant code 9 years ago
Aleksander Machniak cd219a45dd Fix regression where some message attachments could be missing on edit/forward (#1490608) 9 years ago
Aleksander Machniak c3be175ce7 Fix PDF support detection in Firefox > 19 (#1490610) 9 years ago
Aleksander Machniak be346095a0 Fix handling of message/rfc822 attachments on replies and forwards (#1490607) 9 years ago
Aleksander Machniak bb6002f1a8 Fix also charset encoding of message/rfc822 part bodies (#1490606) 9 years ago
Aleksander Machniak 3296965f41 Force arg_separator in http_build_query() 9 years ago
Aleksander Machniak 87cb24d873 Don't add redundant URL arguments to logged error messages 9 years ago
Aleksander Machniak f51145572a Merge branch 'master' of github.com:roundcube/roundcubemail 9 years ago
Aleksander Machniak 6463b662ca Fix regression in displaying contents of message/rfc822 parts (#1490606) 9 years ago
Aleksander Machniak 97aa984b29 Optionally throw 404 error when contact photo wasn't found 9 years ago
Aleksander Machniak 69a1e4f7b1 rcube_parse_host() -> rcube_utils::parse_host() 9 years ago
Aleksander Machniak cbe701ac4a Fix rcube_utils::words_match() to work with mixed/invalid/binary content (T844) 9 years ago
Aleksander Machniak 7476410a04 Add missing deprecation warning 9 years ago
Thomas Bruederli 458a6b26e8 Load bc.inc in script startup 9 years ago
Thomas Bruederli 32695c333c Restore bc.inc which now logs a warning when calling deprecated functions 9 years ago
Thomas Bruederli 310d4939ba Tweak recently added encryption functions to not violate ECMASCRIPT3 syntax 9 years ago
Aleksander Machniak 8271597836 Use ternary operator where applicable 9 years ago
Thomas Bruederli 648963afda Added Talossan language to index 9 years ago
Thomas Bruederli e257b830a1 Synchronize localizations from Transifex 9 years ago