Hi Jeroen,
Jeroen Koekkoek wrote:
Here's my patch for managesieve support in RoundCube. I rewrote large portions and replaced many $POST requests with JavaScript. Although this is not my final version it works pretty well. In the next version I'll try to fit in the new plugin architecture and update the back-end to use the PEAR sieve class. Furtermore I'll rewrite some of the functionality that I borrowed from Avelsieve to make translating it easier. Compatibility with the patch from Alec will hopefully also be present in the next version.
I'd really like to hear about bugs and/or improvements (feature requests).
Here is my first report:
Downloading the patch and applying it to SVN revision 1661 looks as follows: $ patch -p1 <sieve.patch patching file index.php patching file program/include/rcube_sieve.inc patching file program/include/rcube_sieve_rule.inc patching file program/js/app.js Hunk #1 succeeded at 287 (offset 2 lines). Hunk #3 succeeded at 1036 (offset 4 lines). Hunk #4 succeeded at 2666 (offset 3 lines). patching file program/js/sieve.js patching file program/lib/constants.inc.php patching file program/lib/managesieve.lib.php patching file program/lib/process_user_input.inc.php patching file program/lib/sieve_buildrule.inc.php patching file program/lib/sieve_getrule.inc.php patching file program/localization/en_US/labels.inc patching file program/localization/en_US/messages.inc Hunk #1 succeeded at 81 (offset 1 line). patching file program/steps/settings/manage_filters.inc patching file skins/default/includes/settingscripts.html patching file skins/default/includes/settingstabs.html patching file skins/default/sieve.css patching file skins/default/templates/editrule.html patching file skins/default/templates/managerules.html
I then logged into RC and clicked on the Filters tab under Personal Settings - but I only got an empty page... apache's error log contains the following:
[Thu Aug 21 14:05:41 2008] [error] [client 192.168.0.17] PHP Fatal error: Call to a member function get_number_of_rules() on a non-object in /html/webmail-testing/program/steps/settings/manage_filters.inc on line 437, referer: https://test/webmail-testing/?_task=settings&_action=identities
Line 437 of manage_filters.inc is $num_rules = $sieve->get_number_of_rules();
I then figured that $sieve->login() went wrong... but $OUTPUT->show_message('sievenotconnected', 'error'); in line 25 doesn't seem to do what it should do...
I didn't figure out why the login failed, yet. I'm using pysieved (see http://www.woozle.org/~neale/src/pysieved/) which should work with avelsieve. It works with Thunderbird's Sieve extension. The connection to pysieved is possible, and I see (when I strace pysieved) that a connect comes in when I access the Filters tab. Don't have time to dig deeper right now.
Patrick.