[Vtigercrm-developers] Webmail in 5.0.4

clement chazarra chazarra.clement at gmail.com
Thu May 29 06:03:39 PDT 2008


Sorry for the last incomplete email, I slip on the send button ;)

I have been searching and working on the webmail matter for some days and
found a couple of quick tricks:

In Webmails, modify Listview.php line 317 and ListViewAjax.php line 121:

$info = imap_mailboxmsginfo($MailBox->mbox);
$unread_msgs = $info->Unread;

*Must be replaced by*

$info = imap_status($MailBox->mbox,
"{".$MailBox->imapServerAddress."}".$key, SA_ALL);
$unread_msgs = $info->unseen;

It should increase the performances significantly on large inbox.

I am also on the way to modify how email list is retrieved, so far so good,
I have achieve to get the same delay (about 8 sec) to retrieve emails from
inbox of 400 and inbox of 4000. To do so I only retrieve the mails from the
page to be seen and not the whole list. For exemple if I have set my emails
per page to 5, the webmail query will only retrieve 5 emails and not all of
them.
I could release those modifications but I am still missing a big bit
concerning the search functionality:

The problem about search is that it will retrieve the whole search list
without multiple pages, and if your search get more than 500 results for
exemple, you will have to wait quite long. My idea was to do the search, as
doing the normal list, with paging functionalitie.
It may sounds simple but search is handled differently and enabling the
multi page search is much bigger task than I expected..

I believe that I am not far from getting the search working but I need a
little help guys,
When I input a keyword and press find, I can display my list of results and
create the multi page buttons, but once I click on the next page button, the
ajax list doesn't take in account that the search field is set.

More specificaly in listviewajax.php line 128:
if(isset($_REQUEST["search"]) && trim($_REQUEST["search_input"]) != '') {
whatever }
The above condition doesn't see that a string is in the search field..

I have a couple of questions:

Why the same condition works from the listview and not in listviewajax?
I believe that the $_REQUEST["search"] and $_REQUEST["search_input"] are not
set through the ajax.

How could I set and get thoses values when I am in the ajax form? Where to
declare them?

I am not an ajax specialist, and I need a hint on how vtiger deal with
passing variables between forms, ajax forms as _REQUEST.

If I can figure out the way to make my ajax form to retrieve the value of
the search field when set, I may be able to release a nice patch quite soon
;) The hardest bit has been done, and what took me more than 60 sec to
retrieve, now comes in 8 sec, depending of the number of mails per page.

I hope to get some reply guys, so I can release an alpha of the patch on
monday.

Thanks for your concerns,
Clem
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20080529/f76db266/attachment-0003.html 


More information about the vtigercrm-developers mailing list