From: Jim W. <spi...@us...> - 2007-01-09 15:02:44
|
Update of /cvsroot/moregroupware/mgw/modules/webmail2/templates/default/html In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv19466/templates/default/html Modified Files: tree.tpl Log Message: Fix a problem where either the wrong email would get moved, copied, or deleted or an error message would pop up if the move, copy, or delete was done immediately following a folder operation, such as creating, renaming, or deleting a folder. This is a serious bug that could result in the loss of email messages for imap users. The root of the issue has how we are identifying folders. ID Numbers are assigned folders based on the sorted sequence of folder names. In other words they are numbered on the fly. For now what the program will do is number prior to sorting. This makes it so that adding new folders won't cause other folders to be renumbered because they'll be at the end of the list. Further testing is being done with other imap servers. Rename folder and Delete folder operations will now cause a refresh of the right side mail view window, so that if the folder ID's have been renumbered, the interface will display the mail in the folder that is now the "current" folder. Both of these fixes are weak and in the end the program will either have to cache folder id's or somehow have the "tree" module keep track of the "current" folder by name, not number. Index: tree.tpl =================================================================== RCS file: /cvsroot/moregroupware/mgw/modules/webmail2/templates/default/html/tree.tpl,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** tree.tpl 24 Apr 2005 21:16:53 -0000 1.21 --- tree.tpl 9 Jan 2007 15:02:37 -0000 1.22 *************** *** 38,43 **** {if $reload_sidebar eq "yes"} parent.mailfolders.location="folders.php?"+session; - // if (parent.frames["rightframe"].frames["mailview"]) parent.rightframe.maillist.location.reload(); {/if} --- 38,46 ---- {if $reload_sidebar eq "yes"} + {if $reload_maillist eq "yes"} + if (parent.frames["rightframe"].frames["mailview"]) + parent.rightframe.maillist.location.reload(); + {/if} parent.mailfolders.location="folders.php?"+session; {/if} |