Commit Graph

6250 Commits (1791c3e3d7265a5a706e010974ebbf4bc97a1339)

Author SHA1 Message Date
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).
10 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.
10 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.
10 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.
10 years ago
Bostjan Skufca 865230e420 Autocomplete: fix undefined variable notice if no addressbook is configured for autocomplete 10 years ago
Aleksander Machniak e2e56261b9 Fix handling of long script/style tags when converting to text 10 years ago
Aleksander Machniak a0f38f5fd8 Small code style improvements 10 years ago
Aleksander Machniak e8ab3d96bd Fix converting mail addresses with @www. into mailto links (#5197) 10 years ago
Aleksander Machniak d01c06eded CS fixes 10 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.
10 years ago
Aleksander Machniak 4fdcd8c9d1 Remove redundant code 10 years ago
Bernardo Silva c72446a8fc Allow pattern attribute in input
"pattern" included in the list of allowed attributes in the input tag
10 years ago
Aleksander Machniak 6f2c007d1b CS fixes: Replace use of "bool ? true : false" with just "bool" 10 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.
10 years ago
Aleksander Machniak aba88576ef Update localizations 10 years ago
Aleksander Machniak 7462095f60 Small code improvements 10 years ago
Aleksander Machniak 4e6f3019f5 Enigma: Handle encrypted/signed content inside message/rfc822 attachments 10 years ago
Aleksander Machniak 05972d7b33 Refer to Github issues instead of Trac 10 years ago
Aleksander Machniak 791ee65d2e Fix so contactlist_fields option can be set via config file 10 years ago
Aleksander Machniak 348ec70f12 Export vCard PHOTO with "ENCODING=b" (instead of "ENCODING=B") as specified in RFC2426 10 years ago
Aleksander Machniak 3a13b5dab8 CS fixes 10 years ago
Aleksander Machniak 0c9e55b0c9 Fix PHP warning when defaults.inc.php is not readable 10 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.
10 years ago
Thomas Bruederli 4a408843b0 Protect download urls against CSRF using unique request tokens (#1490642)
Send X-Frame-Options headers with every HTTP response
10 years ago
Aleksander Machniak d4df3748cf Require Net_Socket >= 1.0.12 (because of timeout=0 bugfix) 10 years ago
Aleksander Machniak ca34ba139e CS fixes 10 years ago
Aleksander Machniak 940b966fac Update to jQuery 2.2.1 10 years ago
Aleksander Machniak b0a8e36930 Fix handling of body parameter in mail compose request 10 years ago
Aleksander Machniak faeeebdc55 Hide DSN option in Preferences when smtp_server is not used (#1490666) 10 years ago
Aleksander Machniak 9ae41d906e Fix unicode-awareness of Base64 encoding implementation in javascript 10 years ago
Aleksander Machniak 8bbb454524 Fix list row selection when provided uid is number not a string 10 years ago
Aleksander Machniak a62ff159f0 Performance: Make sure that after contact update we call get_record() only once 10 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)
10 years ago
Aleksander Machniak 4c0cb96a48 Enigma: Fix missing html/plain switch on multipart/signed messages (#1490649) 10 years ago
Aleksander Machniak e91c35c534 Fix background color on selected and focused addressbook 10 years ago
Aleksander Machniak 332ffef199 Plugin API: Added addressbook_export hook 10 years ago
Aleksander Machniak 8dc756f319 Fix bug in long recipients list parsing for cases where recipient name contained @-char (#1490653) 10 years ago
Aleksander Machniak c10eae0884 Fix bug where Archive/Junk buttons were not active after page jump with select=all mode (#1490647) 10 years ago
Aleksander Machniak 53fa08d8ae Enigma: Code refactoring with better handling of encrypted-inside-encrypted (e.g. forwarded) and signed+ncrypted messages 10 years ago
Aleksander Machniak c9e2ab488e Enigma: Fix handling of encrypted + signed messages (#1490632) 10 years ago
Aleksander Machniak 0e77b6f1b3 Fix regression where xml mode could be used to parse xhtml messages causing empty result 10 years ago
Aleksander Machniak bffca14d96 Exit when imagecreatetruecolor() fails 10 years ago
Aleksander Machniak 22a018d082 Merge branch 'dev-svg' 10 years ago
Aleksander Machniak ed1d212ae2 Improved SVG cleanup code 10 years ago
Aleksander Machniak 023d3eb031 Refactor wash_attribs() - fix regressions 10 years ago
Aleksander Machniak 558a6db27e Fix headers encoding when using 'valueof' mode 10 years ago
Aleksander Machniak d5f7490b08 Fix PHP Fatal error: Can't use function return value in write context 10 years ago
Thomas B 66d4ef6e31 Merge pull request #316 from namesco/prevent-blank-contactnames
Ensure roundcube doesn't render contact names as blank
10 years ago
Aleksander Machniak 72c250ca67 Merge pull request #317 from FrancisRussell/imap-tls
Enable use of TLSv1.1 and TLSv1.2 for IMAP.
10 years ago
Aleksander Machniak 9aaeb23d9d Fix HTML entities encoding in message headers output 10 years ago