Author Topic: installing Global address list  (Read 7446 times)

Offline iPenguin02

  • Newbie
  • *
  • Posts: 2
installing Global address list
« on: December 29, 2012, 02:07:49 AM »
I'm trying to install a global address list. when i do everything the read me says it gives me a Server Error! (Internal Server Error)

Heres how i have everything set up tell me if i'm doing something wrong.

In my config/main.inc.php
Code: [Select]
$rcmail_config['plugins'] = array('globaladdressbook');
In plugins/globaladdressbook/config.ini.php
Code: [Select]
<?php

/**
 * GlobalAddressbook configuration file
 */

// the name of the dummy which holds the global address book, if the user does not exist it will be created
// the name can contain the following macros that will be expanded as follows:
//      %d is replaced with the domain part of the username (if the username is an email address or default mail domain if not)
//      %h is replaced with the imap host (from the session info)
// eg. to create one global address book per domain: global_addressbook@%d
$rcmail_config['globaladdressbook_user'] = '[global_addressbook_user]';

// make global address book read only
$rcmail_config['globaladdressbook_readonly'] = true;

// allow groups in global address book
$rcmail_config['globaladdressbook_groups'] = true;

// global address book admin user
// admin user(s) can always add/edit/delete entries, overrides readonly
// either a single username, an array of usernames, or a regular expression, see README for more info
$rcmail_config['globaladdressbook_admin'] = 'me@mydomain.net';

// show addresses from the global address book in the auto complete menu when composing an email
$rcmail_config['globaladdressbook_autocomplete'] = true;

?>

I didn't touch the globaladdressbook.php
I did as told plugged in globaladdressbook into the first config then edited the main.ini.php in the globaladdressbook folder located inside plugins

please help me

Offline SKaero

  • Administrator
  • Hero Member
  • *****
  • Posts: 5,882
    • SKaero - Custom Roundcube development
Re: installing Global address list
« Reply #1 on: December 29, 2012, 03:47:54 AM »
What is in the RoundCube error log?

Offline iPenguin02

  • Newbie
  • *
  • Posts: 2
Re: installing Global address list
« Reply #2 on: December 29, 2012, 07:56:13 PM »
logs/error
Code: [Select]
[29-Dec-2012 19:52:25 America/New_York] PHP Fatal error:  Class 'rcube' not found in /home/ipenguin/The-Exiles.net/Mail/plugins/globaladdressbook/globaladdressbook.php on line 24
[29-Dec-2012 19:52:27 America/New_York] PHP Fatal error:  Class 'rcube' not found in /home/ipenguin/The-Exiles.net/Mail/plugins/globaladdressbook/globaladdressbook.php on line 24
[29-Dec-2012 19:52:27 America/New_York] PHP Fatal error:  Class 'rcube' not found in /home/ipenguin/The-Exiles.net/Mail/plugins/globaladdressbook/globaladdressbook.php on line 24


This is line 24
Code: [Select]
$rcmail = rcube::get_instance();
Heres all of globaladdressbook.php
Code: [Select]
<?php

/**
 * GlobalAddressbook
 *
 * Plugin to add a global address book
 *
 * @version @package_version@
 * @author Philip Weir
 */
class globaladdressbook extends rcube_plugin
{
public $task 'mail|addressbook|settings|dummy';
private $abook_id 'global';
private $readonly;
private $groups;
private $name;
private $user_id;
private $user_name;
private $host 'localhost';

public function init()
{
$rcmail rcube::get_instance();
$this->load_config();
$this->add_texts('localization/');

$this->user_name $rcmail->config->get('globaladdressbook_user');
$this->user_name str_replace('%d'$rcmail->user->get_username('domain'), $this->user_name);
$this->user_name str_replace('%h'$_SESSION['storage_host'], $this->user_name);
$this->readonly $this->_is_readonly();
$this->groups $rcmail->config->get('globaladdressbook_groups'false);
$this->name $this->gettext('globaladdressbook');

// check if the global address book user exists
if (!($user rcube_user::query($this->user_name$this->host))) {
// this action overrides the current user information so make a copy and then restore it
$cur_user $rcmail->user;
$user rcube_user::create($this->user_name$this->host);
$rcmail->user $cur_user;

// prevent new_user_dialog plugin from triggering
$_SESSION['plugin.newuserdialog'] = false;
}

$this->user_id $user->ID;

// use this address book for autocompletion queries
if ($rcmail->config->get('globaladdressbook_autocomplete')) {
$sources $rcmail->config->get('autocomplete_addressbooks', array('sql'));
if (!in_array($this->abook_id$sources)) {
$sources[] = $this->abook_id;
$rcmail->config->set('autocomplete_addressbooks'$sources);
}
}

$this->add_hook('addressbooks_list', array($this'address_sources'));
$this->add_hook('addressbook_get', array($this'get_address_book'));
}

public function address_sources($args)
{
$args['sources'][$this->abook_id] = array('id' => $this->abook_id'name' => $this->name'readonly' => $this->readonly'groups' => $this->groups);
return $args;
}

public function get_address_book($args)
{
if ($args['id'] === $this->abook_id) {
$args['instance'] = new rcube_contacts(rcube::get_instance()->db$this->user_id);
$args['instance']->readonly $this->readonly;
$args['instance']->groups $this->groups;
$args['instance']->name $this->name;
}

return $args;
}

private function _is_readonly()
{
$rcmail rcube::get_instance();

if (!$rcmail->config->get('globaladdressbook_readonly'))
return false;

if ($admin $rcmail->config->get('globaladdressbook_admin')) {
if (!is_array($admin)) $admin = array($admin);

foreach ($admin as $user) {
if (strpos($user'/') == && substr($user, -1) == '/') {
if (preg_match($user$_SESSION['username']))
return false;
}
elseif ($user == $_SESSION['username'])
return false;
}
}

return true;
}
}

?>


Offline ABerglund

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 673
Re: installing Global address list
« Reply #3 on: December 29, 2012, 09:50:54 PM »
Best guess is that the plugin was built for a different version of Roundcube than what you are using.
Arne Berglund
SysAdmin, Internet Services
Lane Education Service District
Eugene, OR, USA

Offline JohnDoh

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2,856
Re: installing Global address list
« Reply #4 on: December 30, 2012, 03:16:49 AM »
ABerglund is right, you need to download the right version. You can find it here https://github.com/JohnDoh/Roundcube-Plugin-Global-Address-Book/tags
Roundcube Plugins: Contextmenu, SpamAssassin Prefs, and moreā€¦