Any advice appreciated of how best to do this.
I'm trying to re-model the current 'modal' behaviour of Roundcube between the 'mail' view and the 'addressbook' view, and have spent maybe a dozen hours working my way through the code trying to get things off the ground. I haven't programmed in PHP for a while but I do have a PhD in Computer Science, and I think I've put in a reasonable amount of groundwork including creating a new set of templates/styles and reading the plugin API documentation.
My intention could be simply put as having a 'Contact List' appear in the left-pane of what is currently the 'mail' view, i.e. where the folder list currently sits. My preference would be NOT to have to write from scratch another addressbook sub-system, but somehow map the existing functionality across into a new layout.
An edit of the 'mail' template should hopefully allow me to include the contacts on the left e.g. as this mockup screenshot: http://carrier.csi.cam.ac.uk/forsterlewis/computer_science/face_mail/webmail...
FYI the real objective is to experiment with a more contact-centric view of emails, e.g. allowing a click on a contact to display the addressbook details plus emails from/to, as in this mockup: http://carrier.csi.cam.ac.uk/forsterlewis/computer_science/face_mail/webmail...
My problem is fundamentally the 'task' aspect of Roundcube assumes all the folder/email stuff has querystring '_task=mail' and addressbook routines have hardcoded things like $RCMAIL->task=='addressbook'. All this breaks when I try and put the contacts list on the 'mail' page. A smaller issue is 'mail' and 'addressbook' functionality (e.g. 'list') seems to prevent that content co-existing on a page also.
E.g. is it very difficult to get <roundcube:object name="addresslist"
id="contacts-table"...> to be expanded correctly in the 'mail' template
using much of the existing program/steps/addressbook/ code ?
I'd rather not have to create a complete new 'addressbook' plugin just to allow "public $task = 'mail'", but maybe that's the only way. Should I effectively clone the program/steps/addressbook code into a plugin and take out the 'task=addressbook' sensitivity? The downside of that is I'm effectively forking the Roundcube base.
Thanks for any help...
Ian