Roundcube Community Forum

 

google_contacts installation

Started by rugged, December 16, 2010, 03:59:02 AM

Previous topic - Next topic

rugged

Hi,

I'm trying to install the google_contacts plugin on roundcube 0.4. I've followed all the steps in the instructions here, 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.

rosali

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?
Regards,
Rosali

rugged

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?

rosali

Put some debug code into google_contacts.php.

F.e.:

write_log('google_contacts', 'I was here');
Regards,
Rosali

rugged

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...

rosali

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
Regards,
Rosali

rugged

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?

rugged

Sorry, ignore that last message - I forgot to move Zend over into the new installation - everything works fine now! Thanks for a great plugin :)