Hi,
I'm trying to install the google_contacts plugin on roundcube 0.4. I've followed all the steps in the instructions here (http://mail4us.net/myroundcube/), but don't see any google contacts section in the settings. The only confusion I had in installation was that the instructions say:
Goto [roundcube_folder]/plugins and open main.inc.php
But my main.inc.php was in [roundcue_folder]/config - does this matter? I added a copy of main.inc.php to the plugins folder, but it made no difference.
There's nothing in the logs about google_contacts at all, so I'm not even sure if it's recognising that I want to load it.
Did you read the requirements in main script?
/**
* Usage: http://mail4us.net/myroundcube/
*
* Requirements:
* Get Zend GData APIs http://framework.zend.com/download/webservices
* Copy and paste "Zend" folder into ./program/lib
* -> File structure must be: lib
* - Zend
* - Loader.php
* - ...
*
* NOTICE: Patch ./program/lib/MDB2.php
* http://pear.php.net/bugs/bug.php?id=17039&edit=12&patch=skip_delimited_strings_fix_quoting_array&revision=1264618739
* Fixed since Roundcube SVN Trunk 3354 (http://trac.roundcube.net/ticket/1486547)
*
**/
Question: Do you have installed Zend?
Yes Zend is installed. Correctly as far as I can see.
I assume I would see an error in the logs if the plugin was loading but not finding Zend. Is there a debug mode in roundcube where I can see if it is at least trying to load the plugin?
Put some debug code into google_contacts.php.
F.e.:
write_log('google_contacts', 'I was here');
OK, making some progress. I added some logging statements to google_contacts/google_contacts.php:
function init()
{
write_log('google_contacts', 'I was here');
$this->add_texts('localization/', false);
if(file_exists("./plugins/google_contacts/config/config.inc.php"))
$this->load_config('config/config.inc.php');
else
$this->load_config('config/config.inc.php.dist');
$rcmail = rcmail::get_instance();
$this->user = $rcmail->config->get('googleuser');
$this->pass = $rcmail->config->get('googlepass');
write_log('google_contacts',$this->user);
[...]
This outputs:
[18-Dec-2010 22:42:04 +0000]: I was here
[18-Dec-2010 22:42:04 +0000]: NULL
To the google_contacts log, so the plugin is recognised, but the Google user/password is never set as I never see a google_contacts section in the preferences.
I know nothing about roundcube's API, but it looked like this function was supposed to be generating the settings table, so I added another log statement here:
function settings_table($args)
{
write_log('google_contacts','settings_table');
[...]
but this never appears in the logs...
Which Roundcube version do you use?
It looks like settings hooks are not called. Hook names were changed somewhere during Roundcube 0.4.x development. I suggest to update to Roundcube v0.5-RC.
Downloading Roundcube webmail (http://roundcube.net/download)
Thank you so much for your help - I installed 0.5-rc and that has indeed fixed the problem of the settings not appearing, but...
I'm getting another error now. After I put in my Google credentials in the settings I go to the address book and get a PHP error (from the logs):
[19-Dec-2010 12:10:28] PHP Fatal error: Class 'rcube_result_set' not found in /
var/www/roundcubemail-0.5-rc/program/include/rcube_contacts.php on line 164
If I reload the address book page at that point it loads and I see a Google Contacts group, but it's empty. Renewing the session (logging out and then back in) obviously refreshes something because if I return to the address book again I get the PHP error again.
Any ideas?
Sorry, ignore that last message - I forgot to move Zend over into the new installation - everything works fine now! Thanks for a great plugin :)