Author |
|
bobr-kun Newbie
Joined: 09 March 2017 Location: Ukraine
Online Status: Offline Posts: 4
|
Posted: 09 March 2017 at 3:40am | IP Logged
|
|
|
Hi everybody!
I need help with enabling contacts e-mail addresses autosuggestion and autocompletion (like, for exapmle, gmail does) when composing a new letter.
I've tried to enable the webmail.allow-first-character-search in the /data/settings/config.php - that won't work. Then I've tried to use the add-suggest-contacts-example: I've installed it thoroughly following the instruction, with enabling it in /data/settings/config.php as well. But I was confused somehow with this lines of the instruction:
Quote:
n the plugin code, you'll need to supply the actual code for fetching contacts from your application or contacts storage. The actual code must overwrite pseudo-code supplied there:
$oRemoteDb = CRemoteApi::GetDB();
$aResultContacts = $oRemoteDb->GetContacts($oAccount->Email, $sSearch);
$oAccount->Email is email address of current user, $sSearch is a search pattern entered in address line, your code should probably consider both the parameters when fetching matching addresses.
Plugin merges autocompletion suggestions generated by WebMail with those fetched from external system. However, it doesn't cover removing duplicates and trimming list if it gets too long, you'll need to do that in your custom code supplied within the plugin.
|
|
|
I've checked out the code of the CAPi and I couldn't quite understand: why I need to change something in this part of code
Code:
$oRemoteDb = CRemoteApi::GetDB();
$aResultContacts = $oRemoteDb->GetContacts($oAccount->Email, $sSearch);
|
|
|
? It seems to use the default e-mail address of the current WebMail account to filter the Contacts, doesn't it? Shortly speaking - that won't work too.
Can someone help me to enable such a feature?
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 09 March 2017 at 3:54am | IP Logged
|
|
|
Hello,
Actually, address autocompletion and suggestion works out-of-box in WebMail Lite. Once you send email out to some new recipient, next time that address will become available in address autocompletion dropdown list. Doesn't it work for you that way?
As for the plugin code you were referring to:
Code:
$oRemoteDb = CRemoteApi::GetDB();
$aResultContacts = $oRemoteDb->GetContacts($oAccount->Email, $sSearch); |
|
|
it's not an actual code, just a demonstration of retrieving data from some arbitrary backend. You will need to replace that with "real" code working with your external address book.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|
bobr-kun Newbie
Joined: 09 March 2017 Location: Ukraine
Online Status: Offline Posts: 4
|
Posted: 09 March 2017 at 4:17am | IP Logged
|
|
|
Quote:
Actually, address autocompletion and suggestion works out-of-box in WebMail Lite. Once you send email out to some new recipient, next time that address will become available in address autocompletion dropdown list. Doesn't it work for you that way?
|
|
|
Emmm - nope. No at all.
Quote:
code working with your external address book
|
|
|
I've missed up the EXTERNAL word, I think...
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 09 March 2017 at 4:29am | IP Logged
|
|
|
That's strange, I've just checked it on my local install, everything works like a charm.
Can you please setup a blank install of the product and confirm whether the issue is reproduced there?
If it may be possible to provide us with a test account the issue is reproduced with, please send access details via HelpDesk.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|
bobr-kun Newbie
Joined: 09 March 2017 Location: Ukraine
Online Status: Offline Posts: 4
|
Posted: 09 March 2017 at 5:03am | IP Logged
|
|
|
I've made up a testing acc for you...but I'm using a Lite version of WebMail and it's not an option in porducts list on the helpdesk tickets form for new users. Should I choose WebMail Pro instead?
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 09 March 2017 at 5:05am | IP Logged
|
|
|
Yes sure, you can select the Pro there. There's no guaranteed support for Lite but we'll do what we can to assist you.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|
bobr-kun Newbie
Joined: 09 March 2017 Location: Ukraine
Online Status: Offline Posts: 4
|
Posted: 09 March 2017 at 5:15am | IP Logged
|
|
|
Thanks in advance!
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 10 March 2017 at 2:55am | IP Logged
|
|
|
Turns out the particular installation was configured to use PostgreSQL, and its implementation is currently limited and experimental. Still, it's possible to make autocompletion functional.
In libraries/afterlogic/common/managers/contactsmain/storages/db/command_creator.php file, locate the following lines in GetSuggestContactItems:
Code:
$sSql = 'SELECT id_addr, str_id, id_user, auto_create, view_email, primary_email, h_email, b_email, other_email,
use_frequency, fullname, firstname, use_friendly_nm, type, type_id, b_phone, h_phone, h_mobile, shared_to_all,
(use_frequency/CEIL(DATEDIFF(CURDATE() + INTERVAL 1 DAY, date_modified)/30)) as age_score
FROM %sawm_addr_book
WHERE %s AND deleted = 0 AND hide_in_gab = 0%s AND use_frequency >= 0
ORDER BY age_score DESC, type ASC, shared_to_all ASC
LIMIT %d OFFSET %d'; |
|
|
Replace those with:
Code:
$sSql = 'SELECT id_addr, str_id, id_user, auto_create, view_email, primary_email, h_email, b_email, other_email,
use_frequency, fullname, firstname, use_friendly_nm, type, type_id, b_phone, h_phone, h_mobile, shared_to_all
FROM %sawm_addr_book
WHERE %s AND deleted = 0 AND hide_in_gab = 0%s AND use_frequency >= 0
ORDER BY use_frequency DESC, type ASC, shared_to_all ASC
LIMIT %d OFFSET %d'; |
|
|
Hope this helps.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|