initial commit of file from CVS for smeserver-horde on Sat Mar 23 16:05:15 AEDT 2024
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
{
|
||||
use esmith::util;
|
||||
$basedn = esmith::util::ldapBase ($DomainName);
|
||||
$ldapPW = esmith::util::LdapPassword ();
|
||||
$OUT = '';
|
||||
}
|
@@ -0,0 +1,250 @@
|
||||
//100ConfHordePHP
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Hash: dd22d3283033d73071e7f49fd9e570144d651fcd
|
||||
// $Id: 5841de7a8bd742b764f603953bef5d16a75a0da4 $
|
||||
$conf['vhosts'] = false;
|
||||
$conf['debug_level'] = E_ALL & ~E_NOTICE & ~E_DEPRECATED;
|
||||
$conf['max_exec_time'] = 0;
|
||||
$conf['compress_pages'] = true;
|
||||
$conf['secret_key'] = '{$horde{SecretKey}}';
|
||||
$conf['umask'] = 077;
|
||||
$conf['testdisable'] = true;
|
||||
$conf['use_ssl'] = 2;
|
||||
$conf['server']['name'] = $_SERVER['SERVER_NAME'];
|
||||
$conf['urls']['token_lifetime'] = 30;
|
||||
$conf['urls']['hmac_lifetime'] = 30;
|
||||
$conf['urls']['pretty'] = false;
|
||||
$conf['safe_ips'] = array();
|
||||
$conf['session']['name'] = 'Horde';
|
||||
{
|
||||
if (($horde{'Cookies'} || 'enabled') eq 'disabled')
|
||||
{
|
||||
$OUT .="\$conf['session']['use_only_cookies'] = false;";
|
||||
} else {
|
||||
$OUT .="\$conf['session']['use_only_cookies'] = true;"; }
|
||||
}
|
||||
$conf['session']['timeout'] = 0;
|
||||
$conf['session']['cache_limiter'] = 'nocache';
|
||||
$conf['session']['max_time'] = 0;
|
||||
$conf['cookie']['domain'] = $_SERVER['SERVER_NAME'];
|
||||
$conf['cookie']['path'] = '/horde';
|
||||
$conf['sql']['username'] = 'horde';
|
||||
$conf['sql']['password'] = '{$horde{DbPassword}}';
|
||||
$conf['sql']['socket'] = '/var/lib/mysql/mysql.sock';
|
||||
$conf['sql']['protocol'] = 'unix';
|
||||
$conf['sql']['database'] = 'horde';
|
||||
$conf['sql']['charset'] = 'latin1';
|
||||
$conf['sql']['ssl'] = false;
|
||||
$conf['sql']['splitread'] = false;
|
||||
$conf['sql']['logqueries'] = false;
|
||||
$conf['sql']['phptype'] = 'mysqli';
|
||||
$conf['nosql']['phptype'] = false;
|
||||
{
|
||||
if (($ldap{'Authentication'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .= qq(\$conf['ldap']['hostspec'] = 'localhost';) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['port'] = 389;) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['tls'] = false;) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['version'] = 3;) . "\n";
|
||||
$OUT .= qq(// #May not need next two lines) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['binddn'] = 'cn=root,$basedn';) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['bindpw'] = '$ldapPW';) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['bindas'] = 'anon';) . "\n";
|
||||
$OUT .= qq(\$conf['ldap']['useldap'] = true;) . "\n";
|
||||
} else {
|
||||
$OUT .= qq(\$conf['ldap']['useldap'] = false;) . "\n";
|
||||
}
|
||||
}
|
||||
{
|
||||
my @HordeAdmins = split /[,:]/, $horde{Admins} || '';
|
||||
$OUT .= "\$conf['auth']['admins'] = array(";
|
||||
if (($horde{RemoveUsers} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .= "'adminremoveuser'" . ", " ;
|
||||
}
|
||||
$OUT .= "'admin', ";
|
||||
foreach my $HordeAdmins (sort @HordeAdmins)
|
||||
{
|
||||
$OUT .= "'$HordeAdmins'" . ", " ;
|
||||
}
|
||||
$OUT .= ");";
|
||||
}
|
||||
$conf['auth']['checkip'] = true;
|
||||
$conf['auth']['checkbrowser'] = true;
|
||||
$conf['auth']['resetpassword'] = false;
|
||||
$conf['auth']['alternate_login'] = false;
|
||||
$conf['auth']['redirect_on_logout'] = false;
|
||||
$conf['auth']['list_users'] = 'list';
|
||||
{
|
||||
if (($ldap{'Authentication'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .= qq(\$conf['auth']['params']['basedn'] = 'ou=Users,$basedn';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['scope'] = 'sub';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['ad'] = false;) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['uid'] = 'uid';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['encryption'] = 'ssha';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['newuser_objectclass'] = array('shadowAccount', 'inetOrgPerson');) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['filter'] = '(objectclass=inetOrgPerson)';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['password_expiration'] = 'no';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['params']['driverconfig'] = 'horde';) . "\n";
|
||||
$OUT .= qq(\$conf['auth']['driver'] = 'ldap';) . "\n";
|
||||
} else {
|
||||
$OUT =<<'HERE';
|
||||
$conf['auth']['params']['app'] = 'imp';
|
||||
$conf['auth']['driver'] = 'application';
|
||||
HERE
|
||||
}
|
||||
}
|
||||
$conf['auth']['params']['count_bad_logins'] = true;
|
||||
$conf['auth']['params']['login_block'] = true;
|
||||
$conf['auth']['params']['login_block_count'] = 5;
|
||||
$conf['auth']['params']['login_block_time'] = 5;
|
||||
$conf['signup']['allow'] = false;
|
||||
$conf['log']['priority'] = 'NOTICE';
|
||||
$conf['log']['ident'] = 'HORDE';
|
||||
$conf['log']['name'] = LOG_USER;
|
||||
$conf['log']['type'] = 'syslog';
|
||||
$conf['log']['enabled'] = true;
|
||||
$conf['log_accesskeys'] = false;
|
||||
$conf['prefs']['maxsize'] = 65535;
|
||||
$conf['prefs']['params']['table'] = 'horde_prefs';
|
||||
$conf['prefs']['params']['driverconfig'] = 'horde';
|
||||
$conf['prefs']['driver'] = 'Sql';
|
||||
$conf['alarms']['params']['table'] = 'horde_alarms';
|
||||
$conf['alarms']['params']['driverconfig'] = 'horde';
|
||||
$conf['alarms']['params']['ttl'] = 300;
|
||||
$conf['alarms']['driver'] = 'Sql';
|
||||
$conf['group']['params']['driverconfig'] = 'horde';
|
||||
$conf['group']['driver'] = 'Sql';
|
||||
$conf['perms']['driverconfig'] = 'horde';
|
||||
$conf['perms']['driver'] = 'Sql';
|
||||
$conf['share']['no_sharing'] = false;
|
||||
$conf['share']['auto_create'] = true;
|
||||
$conf['share']['world'] = true;
|
||||
$conf['share']['any_group'] = true;
|
||||
$conf['share']['hidden'] = false;
|
||||
$conf['share']['cache'] = false;
|
||||
$conf['share']['driver'] = 'Sql';
|
||||
$conf['cache']['default_lifetime'] = 1800;
|
||||
$conf['cache']['params']['dir'] = '/var/lib/php/horde/tmp/';
|
||||
$conf['cache']['params']['sub'] = 0;
|
||||
$conf['cache']['driver'] = 'File';
|
||||
$conf['cache']['use_memorycache'] = '';
|
||||
{
|
||||
if (($horde{'cache'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT =<<'HERE';
|
||||
$conf['cachecssparams']['driver'] = 'filesystem';
|
||||
$conf['cachecssparams']['filemtime'] = false;
|
||||
$conf['cachecssparams']['lifetime'] = 86400;
|
||||
$conf['cachecss'] = true;
|
||||
$conf['cachejsparams']['driver'] = 'filesystem';
|
||||
$conf['cachejsparams']['compress'] = 'php';
|
||||
$conf['cachejsparams']['lifetime'] = 604800;
|
||||
$conf['cachejs'] = true;
|
||||
$conf['cachethemesparams']['check'] = 'appversion';
|
||||
$conf['cachethemesparams']['lifetime'] = 604800;
|
||||
$conf['cachethemes'] = true;
|
||||
HERE
|
||||
} else {
|
||||
$OUT =<<'HERE';
|
||||
$conf['cachecssparams']['url_version_param'] = true;
|
||||
$conf['cachecss'] = false;
|
||||
$conf['cachejsparams']['url_version_param'] = true;
|
||||
$conf['cachejs'] = false;
|
||||
$conf['cachethemes'] = false;
|
||||
HERE
|
||||
}
|
||||
}
|
||||
$conf['lock']['driver'] = 'Null';
|
||||
$conf['token']['driver'] = 'Null';
|
||||
$conf['history']['params']['driverconfig'] = 'horde';
|
||||
$conf['history']['driver'] = 'Sql';
|
||||
$conf['davstorage']['params']['driverconfig'] = 'horde';
|
||||
$conf['davstorage']['driver'] = 'Sql';
|
||||
$conf['mailer']['params']['secure'] = 'tls';
|
||||
$conf['mailer']['params']['auth'] = false;
|
||||
$conf['mailer']['params']['lmtp'] = false;
|
||||
$conf['mailer']['type'] = 'smtp';
|
||||
$conf['vfs']['params']['vfsroot'] = '/var/lib/php/horde/tmp';
|
||||
$conf['vfs']['type'] = 'File';
|
||||
$conf['sessionhandler']['type'] = 'Builtin';
|
||||
$conf['sessionhandler']['hashtable'] = false;
|
||||
$conf['spell']['params']['path'] = '/usr/bin/hunspell';
|
||||
$conf['spell']['driver'] = 'aspell';
|
||||
$conf['gnupg']['path'] = '/usr/bin/gpg';
|
||||
$conf['gnupg']['keyserver'] = array('pool.sks-keyservers.net', 'subkeys.pgp.net', 'pgp.mit.edu');
|
||||
$conf['gnupg']['timeout'] = 10;
|
||||
$conf['openssl']['cafile'] = '/home/e-smith/ssl.crt/{ $SystemName }.{ $DomainName }.crt';
|
||||
$conf['openssl']['path'] = '/usr/bin/openssl';
|
||||
$conf['nobase64_img'] = false;
|
||||
$conf['image']['convert'] = '/usr/bin/convert';
|
||||
$conf['image']['identify'] = '/usr/bin/identify';
|
||||
$conf['image']['driver'] = 'Im';
|
||||
$conf['exif']['driver'] = 'Bundled';
|
||||
$conf['mime']['magic_db'] = '/usr/share/magic';
|
||||
$conf['timezone']['location'] = 'ftp://ftp.iana.org/tz/tzdata-latest.tar.gz';
|
||||
$conf['problems']['email'] = 'admin@{ $DomainName }';
|
||||
$conf['problems']['maildomain'] = '{ $DomainName }';
|
||||
$conf['problems']['tickets'] = false;
|
||||
$conf['problems']['attachments'] = false;
|
||||
$conf['menu']['links']['help'] = 'authenticated';
|
||||
$conf['menu']['links']['prefs'] = 'authenticated';
|
||||
$conf['menu']['links']['problem'] = 'never';
|
||||
$conf['menu']['links']['login'] = 'all';
|
||||
$conf['menu']['links']['logout'] = 'authenticated';
|
||||
$conf['portal']['fixed_blocks'] = array();
|
||||
$conf['accounts']['params']['quota_path'] = '/usr/bin/quota';
|
||||
$conf['accounts']['params']['grep_path'] = '/bin/grep';
|
||||
$conf['accounts']['params']['translateMountPoint'] = false;
|
||||
$conf['accounts']['params']['translationTable'] = '/etc/mtab';
|
||||
$conf['accounts']['driver'] = 'localhost';
|
||||
$conf['user']['verify_from_addr'] = true;
|
||||
$conf['user']['select_view'] = true;
|
||||
$conf['facebook']['enabled'] = false;
|
||||
$conf['twitter']['enabled'] = false;
|
||||
$conf['urlshortener'] = false;
|
||||
$conf['weather']['provider'] = false;
|
||||
$conf['imap']['enabled'] = false;
|
||||
$conf['imsp']['enabled'] = false;
|
||||
$conf['kolab']['enabled'] = false;
|
||||
$conf['hashtable']['driver'] = 'none';
|
||||
{
|
||||
if (($horde{'ActiveSync'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT =<<'HERE';
|
||||
$conf['activesync']['params']['driverconfig'] = 'horde';
|
||||
$conf['activesync']['storage'] = 'Sql';
|
||||
$conf['activesync']['emailsync'] = true;
|
||||
$conf['activesync']['version'] = '14.1';
|
||||
$conf['activesync']['auth']['type'] = 'basic';
|
||||
$conf['activesync']['autodiscovery'] = 'user';
|
||||
$conf['activesync']['outlookdiscovery'] = false;
|
||||
$conf['activesync']['ping']['heartbeatmin'] = 60;
|
||||
$conf['activesync']['ping']['heartbeatmax'] = 2700;
|
||||
$conf['activesync']['ping']['heartbeatdefault'] = 480;
|
||||
$conf['activesync']['ping']['deviceping'] = true;
|
||||
$conf['activesync']['ping']['waitinterval'] = 5;
|
||||
$conf['activesync']['enabled'] = true;
|
||||
HERE
|
||||
} else {
|
||||
$OUT =<<'HERE';
|
||||
$conf['activesync']['enabled'] = false;
|
||||
HERE
|
||||
}
|
||||
}
|
||||
{
|
||||
if (($horde{'DeviceLog'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT =<<'HERE';
|
||||
$conf['activesync']['logging']['path'] = '/var/lib/php/horde/tmp';
|
||||
$conf['activesync']['logging']['level'] = '1';
|
||||
$conf['activesync']['logging']['type'] = 'perdevice';
|
||||
HERE
|
||||
} else {
|
||||
$OUT =<<'HERE';
|
||||
$conf['activesync']['logging']['type'] = false;
|
||||
HERE
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,2 @@
|
||||
//999Footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
@@ -0,0 +1,3 @@
|
||||
class Horde_Hooks
|
||||
\{
|
||||
|
@@ -0,0 +1,12 @@
|
||||
public function preauthenticate($userId, $credentials)
|
||||
\{
|
||||
# here we filter out @domain.com from login, this will allow someone to still login if they use their full email
|
||||
# this would be a good place to add an array pseudonyms => user to convert the userID from a list of pseudo:
|
||||
# $translate = array("jenifer@domain1.net" => "jenny" , "jd"=> "johndavros")
|
||||
# $userId = ( $translate[$userId] ? translate[$userId] : $userId);
|
||||
$userId = (strpos($userId, '@')? substr($userId, 0, strpos($userId, '@')) : $userId );
|
||||
return array(
|
||||
'userId' => Horde_String::lower($userId),
|
||||
'credentials' => $credentials);
|
||||
\}
|
||||
|
@@ -0,0 +1,7 @@
|
||||
public function authusername($userId, $toHorde)
|
||||
\{
|
||||
# we only want a userid as login for horde and smeserver imap
|
||||
$userId = (strpos($userId, '@')? substr($userId, 0, strpos($userId, '@')) : $userId );
|
||||
return ltrim(rtrim(Horde_String::lower($userId))) ;
|
||||
\}
|
||||
|
@@ -0,0 +1,65 @@
|
||||
public function prefs_init($pref, $value, $username, $scope_ob)
|
||||
\{
|
||||
if (is_null($username)) \{ // not logged in
|
||||
return $value;
|
||||
\}
|
||||
# get the virtualhost
|
||||
$vdomain = getenv('HTTP_HOST');
|
||||
# if it is an ip, let's use the Primary domain
|
||||
if (filter_var($vdomain, FILTER_VALIDATE_IP)) \{
|
||||
$vdomain = "{$DomainName}";
|
||||
\} else\{ # else filter the virtual domain to remove unwanted parts
|
||||
{
|
||||
my @filtered = split /[;,: ]/, $horde{SubdomainFilter} || "www,mail,webmail";
|
||||
$OUT .= " \$patterns = array();\n";
|
||||
foreach my $filter (sort @filtered)
|
||||
{
|
||||
$OUT .= " array_push(\$patterns,'|^$filter\\.|i');\n";
|
||||
}
|
||||
}
|
||||
$vdomain = preg_replace($patterns, '', $vdomain);
|
||||
\}
|
||||
$vdomain = Horde_String::lower($vdomain);
|
||||
{ # override to Primary Domain
|
||||
my $UsePrimary = $horde{ForcePrimaryDomain} || "disabled";
|
||||
$OUT .= ($UsePrimary eq "enabled") ? " \$vdomain = '$DomainName';\n" : " # ForcePrimaryDomain disabled\n # \$vdomain = '$DomainName';\n" ;
|
||||
|
||||
my $basedn = esmith::util::ldapBase ($DomainName);
|
||||
$OUT .= " \$ldapServer = 'localhost';
|
||||
\$ldapPort = '389';
|
||||
\$searchBase = 'ou=Users,$basedn';
|
||||
\$ds = \@ldap_connect(\$ldapServer, \$ldapPort);
|
||||
if (\@ldap_bind(\$ds )) {
|
||||
\$searchResult = \@ldap_search(\$ds, \$searchBase, 'uid=' . \$username);
|
||||
}
|
||||
\$information = \@ldap_get_entries(\$ds, \$searchResult);";
|
||||
|
||||
}
|
||||
|
||||
switch ($pref) \{
|
||||
|
||||
case 'default_share' :
|
||||
if (is_null($username)) \{
|
||||
return $value;
|
||||
\}
|
||||
return $username;
|
||||
|
||||
case 'from_addr':
|
||||
if($value == '') \{
|
||||
$value = "$username@$vdomain";
|
||||
\}
|
||||
return $value;
|
||||
case 'fullname':
|
||||
if($value == '') \{
|
||||
$value = "$username";
|
||||
\}
|
||||
if (($information['count'] > 0) && ($information[0]['displayname'][0] != '') ) \{
|
||||
$value = $information[0]['displayname'][0];
|
||||
\} else \{
|
||||
$value = "$username";
|
||||
\}
|
||||
return $value;
|
||||
\}
|
||||
|
||||
\}
|
||||
|
@@ -0,0 +1 @@
|
||||
\}
|
@@ -0,0 +1,102 @@
|
||||
$mime_drivers = array(
|
||||
/* MS Word display.
|
||||
* This driver requires AbiWord to be installed.
|
||||
* AbiWord homepage: http://www.abisource.com/ */
|
||||
'msword' => array(
|
||||
// Disabled by default
|
||||
{
|
||||
if (($horde{inlineMSWord} || "false") eq "true") {
|
||||
$OUT .=" 'disable' => false,";
|
||||
} else {
|
||||
$OUT .=" 'disable' => true,";
|
||||
}
|
||||
}
|
||||
'handles' => array(
|
||||
'application/msword',
|
||||
'application/vnd.ms-word'
|
||||
),
|
||||
'icons' => array(
|
||||
'default' => 'msword.png'
|
||||
),
|
||||
|
||||
// REQUIRED: Location of the AbiWord binary
|
||||
'location' => '/usr/bin/abiword'
|
||||
),
|
||||
|
||||
/* MS Excel display.
|
||||
* This driver requires Gnumeric to be installed.
|
||||
* Gnumeric homepage: http://projects.gnome.org/gnumeric/ */
|
||||
'msexcel' => array(
|
||||
// Disabled by default
|
||||
{
|
||||
if (($horde{inlineMSExcel} || "false") eq "true") {
|
||||
$OUT .=" 'disable' => false,";
|
||||
} else {
|
||||
$OUT .=" 'disable' => true,";
|
||||
}
|
||||
}
|
||||
'handles' => array(
|
||||
'application/msexcel',
|
||||
'application/x-msexcel',
|
||||
'application/vnd.ms-excel'
|
||||
),
|
||||
'icons' => array(
|
||||
'default' => 'msexcel.png'
|
||||
),
|
||||
|
||||
// REQUIRED: Location of the ssconvert binary
|
||||
'location' => '/usr/bin/ssconvert'
|
||||
),
|
||||
|
||||
/* MS Powerpoint display.
|
||||
* This driver requires ppthtml, included with xlhtml, to be installed.
|
||||
* xlhtml homepage: http://chicago.sourceforge.net/xlhtml/ */
|
||||
'mspowerpoint' => array(
|
||||
// Disabled by default
|
||||
{
|
||||
if (($horde{inlineMSPowerpoint} || "false") eq "true") {
|
||||
$OUT .=" 'disable' => false,";
|
||||
} else {
|
||||
$OUT .=" 'disable' => true,";
|
||||
}
|
||||
}
|
||||
'handles' => array(
|
||||
'application/mspowerpoint',
|
||||
'application/vnd.ms-powerpoint'
|
||||
),
|
||||
'icons' => array(
|
||||
'default' => 'mspowerpoint.png'
|
||||
),
|
||||
|
||||
// REQUIRED: Location of the ppthtml binary
|
||||
'location' => '/usr/bin/ppthtml'
|
||||
),
|
||||
|
||||
/* WordPerfect document display.
|
||||
* This driver requires wpd2html to be installed.
|
||||
* libwpd homepage: http://libwpd.sourceforge.net/ */
|
||||
'wordperfect' => array(
|
||||
// Disabled by default
|
||||
{
|
||||
if (($horde{inlineWordperfect} || "false") eq "true") {
|
||||
$OUT .=" 'disable' => false,";
|
||||
} else {
|
||||
$OUT .=" 'disable' => true,";
|
||||
}
|
||||
}
|
||||
'handles' => array(
|
||||
'application/vnd.wordperfect',
|
||||
'application/wordperf',
|
||||
'application/wordperfect',
|
||||
'application/wpd',
|
||||
'application/x-wpwin'
|
||||
),
|
||||
'icons' => array(
|
||||
'default' => 'wordperfect.png'
|
||||
),
|
||||
|
||||
// REQUIRED: location of the wpd2html binary
|
||||
'location' => '/usr/bin/wpd2html'
|
||||
),
|
||||
);
|
||||
|
@@ -0,0 +1,4 @@
|
||||
$_prefs['initial_application']['value'] = 'imp';
|
||||
|
||||
$_prefs['sidebar_width']['value'] = 225;
|
||||
|
@@ -0,0 +1,4 @@
|
||||
$_prefs['id']['value'] = 'Default Identity';
|
||||
$_prefs['fullname']['hook'] = true;
|
||||
$_prefs['from_addr']['hook'] = true;
|
||||
|
@@ -0,0 +1,3 @@
|
||||
// 100webRoot
|
||||
$app_webroot = '/horde';
|
||||
|
@@ -0,0 +1,3 @@
|
||||
|
||||
$this->applications['ingo']['menu_parent'] = '';
|
||||
|
@@ -0,0 +1,3 @@
|
||||
//100Overrides
|
||||
$servers['imap']['disabled'] = true;
|
||||
|
@@ -0,0 +1,59 @@
|
||||
//120IMAPServers
|
||||
{
|
||||
use esmith::DomainsDB;
|
||||
my $db = esmith::DomainsDB->open_ro;
|
||||
my @domains = ($DomainName,
|
||||
map { $_->key }
|
||||
grep { my $p = $_->prop('SystemPrimaryDomain') || ''; $p ne 'yes' }
|
||||
$db->get_all());
|
||||
foreach my $domain (@domains)
|
||||
{
|
||||
$OUT .= "\$servers['$domain'] = array(\n";
|
||||
$OUT .= " 'disabled' => false,\n";
|
||||
$OUT .= " 'name' => 'IMAP Server',\n";
|
||||
$OUT .= " 'hostspec' => 'localhost',\n";
|
||||
$OUT .= " 'hordeauth' => true,\n";
|
||||
$OUT .= " 'protocol' => 'imap',\n";
|
||||
$OUT .= " 'port' => '143',\n";
|
||||
$OUT .= " 'secure' => 'notls',\n";
|
||||
$OUT .= " 'maildomain' => '$domain',\n";
|
||||
$OUT .= " 'smtphost' => 'localhost',\n";
|
||||
if (defined($smtpd))
|
||||
{
|
||||
|
||||
$OUT .= " 'smtpport' => '$smtpd{TCPPort}',\n";
|
||||
} else {
|
||||
$OUT .= " 'smtpport' => '$qpsmtpd{TCPPort}',\n";
|
||||
}
|
||||
$OUT .= " 'cache' => false,\n";
|
||||
if (($dovecot{'SharedMailbox'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .= " 'acl' => true, \n";
|
||||
}
|
||||
if (($horde{'quota'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .= " 'quota' => array(\n";
|
||||
$OUT .= " 'driver' => 'imap',\n";
|
||||
$OUT .= " 'params' => array(\n";
|
||||
$OUT .= " 'hide_when_unlimited' => true,\n";
|
||||
$OUT .= " 'unit' => 'GB',\n";
|
||||
$OUT .= " 'interval' => 0,\n";
|
||||
$OUT .= " )\n";
|
||||
$OUT .= " ),\n";
|
||||
}
|
||||
if (($spamassassin{'UseBayes'} || '0') eq '1' and (($spamassassin{'SpamLearning'} || 'disabled') eq 'enabled'))
|
||||
{
|
||||
$OUT .= " 'spam' => array(\n";
|
||||
$OUT .= " 'innocent' => array(\n";
|
||||
$OUT .= " 'display' => true,\n";
|
||||
$OUT .= " 'program' => '/usr/bin/spamc -C revoke -u %l',\n";
|
||||
$OUT .= " ),\n";
|
||||
$OUT .= " 'spam' => array(\n";
|
||||
$OUT .= " 'display' => false,\n";
|
||||
$OUT .= " 'program' => '/usr/bin/spamc -C report -u %l',\n";
|
||||
$OUT .= " )\n";
|
||||
$OUT .= " ),\n";
|
||||
}
|
||||
$OUT .= ");\n";
|
||||
}
|
||||
}
|
@@ -0,0 +1,30 @@
|
||||
// 100ConfImpPHP
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Id: 48bf0b4cc99e7941b4432a29e70e145b8d654cc7 $
|
||||
$conf['user']['allow_view_source'] = true;
|
||||
$conf['server']['server_list'] = 'none';
|
||||
$conf['compose']['use_vfs'] = false;
|
||||
$conf['compose']['link_attachments'] = false;
|
||||
$conf['compose']['attach_size_limit'] = 0;
|
||||
$conf['compose']['attach_count_limit'] = 0;
|
||||
$conf['compose']['reply_limit'] = 0;
|
||||
$conf['compose']['ac_threshold'] = 3;
|
||||
$conf['compose']['htmlsig_img_size'] = 30000;
|
||||
$conf['pgp']['keylength'] = 2048;
|
||||
$conf['maillog']['driver'] = 'history';
|
||||
{
|
||||
if (($horde{'LogMessages'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .="\$conf['sentmail']['params']['threshold'] = 60;" . "\n";
|
||||
$OUT .="\$conf['sentmail']['params']['limit_period'] = 24;" . "\n";
|
||||
$OUT .="\$conf['sentmail']['params']['table'] = 'imp_sentmail';" . "\n";
|
||||
$OUT .="\$conf['sentmail']['params']['driverconfig'] = 'horde';" . "\n";
|
||||
$OUT .="\$conf['sentmail']['driver'] = 'Sql';"
|
||||
} else {
|
||||
$OUT .="\$conf['sentmail']['driver'] = 'Null';";
|
||||
}
|
||||
}
|
||||
$conf['contactsimage']['backends'] = array('IMP_Contacts_Avatar_Addressbook');
|
||||
$conf['tasklist']['use_tasklist'] = true;
|
||||
$conf['notepad']['use_notepad'] = true;
|
||||
|
@@ -0,0 +1,2 @@
|
||||
// 999footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
@@ -0,0 +1,14 @@
|
||||
//10mime_drivers.local.php
|
||||
{
|
||||
$Inline = (defined $horde{Limitinlinesize})
|
||||
? $horde{Limitinlinesize}
|
||||
: 1048576;
|
||||
$OUT = qq(\$mime_drivers['plain']['limit_inline_size'] = $Inline;);
|
||||
}
|
||||
|
||||
$mime_drivers['plain']['pgp_inline'] = true;
|
||||
|
||||
$mime_drivers['html']['inline'] = { $horde{inlineHTML} || 'true' };
|
||||
|
||||
$mime_drivers['images']['inline'] = { $horde{inlineImages} || 'true' };
|
||||
|
@@ -0,0 +1,6 @@
|
||||
$_prefs['atc_flag']['value'] = 1;
|
||||
|
||||
$_prefs['ckeditor_buttons'] = array(
|
||||
'value' => "[['Source','Maximize','-','Templates'],['Cut','Copy','Paste'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],'/',['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['Link','Unlink'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar'],'/',['Styles','Format','Font','FontSize'],['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['TextColor','BGColor']]",);
|
||||
|
||||
$_prefs['subscribe']['value'] = 0;
|
@@ -0,0 +1,22 @@
|
||||
{
|
||||
my $SievePort = $sieve{TCPPort} || '4190';
|
||||
my @SieveHosts = split /[,: ]/, $sieve{Listen} || 'localhost';
|
||||
if (($sieve{'status'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .= "\$backends['imap']['disabled'] = true;\n";
|
||||
$OUT .= "\$backends['sieve']['disabled'] = false;\n";
|
||||
$OUT .= "\$backends['sieve']['transport'][Ingo::RULE_ALL]['params']['hostspec'] = ";
|
||||
foreach my $SieveHosts (sort @SieveHosts)
|
||||
{
|
||||
$OUT .= "'$SieveHosts' ";
|
||||
}
|
||||
$OUT .= ";\n";
|
||||
$OUT .= "\$backends['sieve']['transport'][Ingo::RULE_ALL]['params']['logintype'] = 'PLAIN';\n";
|
||||
$OUT .= "\$backends['sieve']['transport'][Ingo::RULE_ALL]['params']['port'] = '$SievePort';\n";
|
||||
$OUT .= "\$backends['sieve']['transport'][Ingo::RULE_ALL]['params']['usetls'] = false;\n";
|
||||
$OUT .= "\$backends['sieve']['script'][Ingo::RULE_ALL]['params']['utf8'] = true;\n";
|
||||
} else {
|
||||
$OUT = "\$backends['imap']['preferred'] = '$DomainName';";
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,15 @@
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Id: 48142d13ef06c07f56427fe5b43981631bdbfdb0 $
|
||||
$conf['storage']['params']['driverconfig'] = 'horde';
|
||||
{
|
||||
if (($horde{'IngoSqlPrefs'} || 'disabled') eq 'enabled')
|
||||
{
|
||||
$OUT .="\$conf['storage']['driver'] = 'sql';";
|
||||
} else {
|
||||
$OUT .="\$conf['storage']['driver'] = 'prefs';"; }
|
||||
}
|
||||
$conf['rules']['userheader'] = true;
|
||||
$conf['spam']['header'] = 'X-Spam-Level';
|
||||
$conf['spam']['char'] = '*';
|
||||
$conf['spam']['compare'] = 'string';
|
||||
|
@@ -0,0 +1,3 @@
|
||||
//999footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
||||
|
@@ -0,0 +1,26 @@
|
||||
//100KronolithConfPHP
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Id: 380230c774efc2661b03a58bd71824d28cdc6040 $
|
||||
$conf['calendar']['params']['table'] = 'kronolith_events';
|
||||
$conf['calendar']['params']['driverconfig'] = 'horde';
|
||||
$conf['calendar']['params']['utc'] = true;
|
||||
$conf['calendar']['driver'] = 'sql';
|
||||
$conf['storage']['default_domain'] = '{$DomainName}';
|
||||
$conf['storage']['params']['table'] = 'kronolith_storage';
|
||||
$conf['storage']['params']['driverconfig'] = 'horde';
|
||||
$conf['storage']['driver'] = 'sql';
|
||||
$conf['calendars']['driver'] = 'default';
|
||||
$conf['resource']['params']['table'] = 'kronolith_resources';
|
||||
$conf['resource']['params']['driverconfig'] = 'horde';
|
||||
$conf['resource']['params']['utc'] = true;
|
||||
$conf['resource']['driver'] = 'sql';
|
||||
$conf['reminder']['server_name'] = 'www.{$DomainName}';
|
||||
$conf['reminder']['from_addr'] = 'reminders@{$DomainName}';
|
||||
$conf['autoshare']['shareperms'] = 'read';
|
||||
$conf['share']['notify'] = true;
|
||||
$conf['holidays']['enable'] = true;
|
||||
$conf['menu']['import_export'] = true;
|
||||
$conf['maps']['providers'] = array('Google');
|
||||
$conf['maps']['geocoder'] = 'Google';
|
||||
$conf['maps']['geodriver'] = false;
|
||||
$conf['maps']['driver'] = 'Horde';
|
@@ -0,0 +1,3 @@
|
||||
// 999footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
||||
|
@@ -0,0 +1,8 @@
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Id: d97e56b407852ff0a86c7d88c9a57c8f3089e82f $
|
||||
$conf['storage']['params']['table'] = 'mnemo_memos';
|
||||
$conf['storage']['params']['driverconfig'] = 'horde';
|
||||
$conf['storage']['driver'] = 'sql';
|
||||
$conf['notepads']['driver'] = 'default';
|
||||
$conf['menu']['import_export'] = true;
|
||||
|
@@ -0,0 +1,3 @@
|
||||
// 999footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
||||
|
@@ -0,0 +1,8 @@
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Id: 7a2eb8e9002cee73d99d618dfb6509a56ab639ec $
|
||||
$conf['storage']['params']['table'] = 'nag_tasks';
|
||||
$conf['storage']['params']['driverconfig'] = 'horde';
|
||||
$conf['storage']['driver'] = 'sql';
|
||||
$conf['tasklists']['driver'] = 'default';
|
||||
$conf['menu']['import_export'] = true;
|
||||
|
@@ -0,0 +1,3 @@
|
||||
// 999footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
||||
|
@@ -0,0 +1,11 @@
|
||||
CONNECT mysql;
|
||||
|
||||
REPLACE INTO user (host, user, password)
|
||||
VALUES (
|
||||
'localhost',
|
||||
'horde',
|
||||
password('{$horde{DbPassword}}')
|
||||
);
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
|
@@ -0,0 +1,19 @@
|
||||
$attributes['fax'] = array(
|
||||
'label' => _("Work Fax"),
|
||||
'type' => 'phone',
|
||||
'required' => false,
|
||||
'params' => array('size' => 15)
|
||||
);
|
||||
$attributes['homePhone2'] = array(
|
||||
'label' => _("Alt Home Phone"),
|
||||
'type' => 'phone',
|
||||
'required' => false,
|
||||
'params' => array('size' => 15)
|
||||
);
|
||||
$attributes['workPhone2'] = array(
|
||||
'label' => _("Alt Work Phone"),
|
||||
'type' => 'phone',
|
||||
'required' => false,
|
||||
'params' => array('size' => 15)
|
||||
);
|
||||
|
@@ -0,0 +1,27 @@
|
||||
//100SMEAttributes
|
||||
/* SME Server attributes */
|
||||
$attributes['displayName'] = array(
|
||||
'label' => _("Display Name"),
|
||||
'type' => 'text',
|
||||
'required' => false
|
||||
);
|
||||
$attributes['groupdescription'] = array(
|
||||
'label' => _("Group Description"),
|
||||
'type' => 'text',
|
||||
'required' => false
|
||||
);
|
||||
$attributes['groupmembers'] = array(
|
||||
'label' => _("Group Members"),
|
||||
'type' => 'text',
|
||||
'required' => false
|
||||
);
|
||||
|
||||
//Turba override allow multiple email addresses per contact
|
||||
/* Communication. */
|
||||
$attributes['emails'] = array(
|
||||
'label' => _("Email Address"),
|
||||
'type' => 'email',
|
||||
'required' => false,
|
||||
'params' => array('allow_multi' => true, 'strip_domain' => false, 'link_compose' => true, 'link_name' => null, 'delimiters' => ',', 'size' => null)
|
||||
);
|
||||
|
@@ -0,0 +1,6 @@
|
||||
{
|
||||
|
||||
use esmith::util;
|
||||
$basedn = esmith::util::ldapBase ($DomainName);
|
||||
$OUT = '';
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
//40LocalSQL
|
||||
{
|
||||
my $sab = ($horde{SharedAddressBooks} || 'enabled') eq 'disabled' ? 'false' : 'true';
|
||||
$OUT = "\$cfgSources['localsql']['use_shares'] = $sab;"
|
||||
}
|
||||
|
||||
$cfgSources['localsql']['map']['children'] = 'object_children';
|
||||
$cfgSources['localsql']['map']['emails'] = 'object_email';
|
||||
$cfgSources['localsql']['map']['homeEmail'] = 'object_homeemail';
|
||||
$cfgSources['localsql']['map']['workEmail'] = 'object_workemail';
|
||||
|
||||
$cfgSources['localsql']['tabs'] = array(
|
||||
_("Personal") => array('firstname', 'lastname', 'middlenames',
|
||||
'namePrefix', 'nameSuffix', 'name', 'alias',
|
||||
'birthday', 'spouse', 'anniversary', 'children',
|
||||
'yomifirstname', 'yomilastname', 'photo'),
|
||||
_("Location") => array('homeStreet', 'homePOBox', 'homeCity',
|
||||
'homeProvince', 'homePostalCode', 'homeCountry',
|
||||
'homeAddress', 'workStreet', 'workPOBox',
|
||||
'workCity', 'workProvince', 'workPostalCode',
|
||||
'workCountry', 'workAddress', 'otherStreet',
|
||||
'otherPOBox', 'otherCity', 'otherProvince',
|
||||
'otherPostalCode', 'otherCountry',
|
||||
'otherAddress','timezone'),
|
||||
_("Communications") => array('emails', 'homeEmail', 'workEmail',
|
||||
'homePhone', 'homePhone2',
|
||||
'workPhone', 'workPhone2', 'carPhone',
|
||||
'radioPhone', 'companyPhone',
|
||||
'assistPhone', 'homeFax',
|
||||
'cellPhone', 'fax', 'pager', 'imaddress',
|
||||
'imaddress2', 'imaddress3'),
|
||||
_("Organization") => array('title', 'role', 'company', 'department', 'logo', 'assistant', 'manager'),
|
||||
_("Other") => array('notes', 'website', 'freebusyUrl',
|
||||
'pgpPublicKey', 'smimePublicKey'),
|
||||
);
|
||||
|
@@ -0,0 +1,137 @@
|
||||
//50LocalLDAP
|
||||
/**
|
||||
* A local address book in an LDAP directory. This implements a public
|
||||
* (shared) address book.
|
||||
*
|
||||
* To store distribution lists in the LDAP directory, you'll need to include
|
||||
* horde.schema from Horde in your LDAP configuration.
|
||||
*
|
||||
* To store freebusy information in the LDAP directory, you'll need to include
|
||||
* rfc2739.schema from Horde in your LDAP configuration.
|
||||
*/
|
||||
$cfgSources['localldap'] = array(
|
||||
// Disabled by default
|
||||
'disabled' => false,
|
||||
'title' => _("Local LDAP Users Address Book"),
|
||||
'type' => 'ldap',
|
||||
'params' => array(
|
||||
'server' => 'localhost',
|
||||
'port' => 389,
|
||||
'tls' => false,
|
||||
{
|
||||
$OUT .= qq( 'root' => '$basedn',);
|
||||
}
|
||||
// 'bind_dn' => 'cn=admin,ou=users,dc=example,dc=com',
|
||||
// // For Active Directory:
|
||||
// // 'bind_dn' => 'username@example.com',
|
||||
// 'bind_password' => '********',
|
||||
'sizelimit' => 200,
|
||||
// // For Active Directory:
|
||||
// // 'sizelimit' => 0,
|
||||
'dn' => array('cn'),
|
||||
'objectclass' => array('top',
|
||||
'person',
|
||||
'organizationalPerson',
|
||||
{
|
||||
if (($horde{freebusy} || "disabled") eq "enabled") {
|
||||
$OUT =<<HERE;
|
||||
'inetOrgPerson',
|
||||
'calEntry'),
|
||||
HERE
|
||||
} else {
|
||||
$OUT =<<HERE;
|
||||
'inetOrgPerson'),
|
||||
HERE
|
||||
}
|
||||
}
|
||||
// Add 'turbaContact' to this array if using
|
||||
// 'turbaType' attribute below, and 'calEntry'
|
||||
// if using 'freebusyUrl'.
|
||||
// For Active Directory:
|
||||
// 'objectclass' => array('organizationalPerson',
|
||||
// 'user',
|
||||
// 'group',
|
||||
// 'contact'),
|
||||
'scope' => 'sub',
|
||||
// For Active Directory:
|
||||
// 'scope' => 'sub',
|
||||
'charset' => 'UTF-8',
|
||||
// Consult the LDAP schema to verify that all required attributes for
|
||||
// an entry are set and add them if needed.
|
||||
'checkrequired' => false,
|
||||
// Value used to fill in missing required attributes.
|
||||
'checkrequired_string' => ' ',
|
||||
// Check LDAP schema for valid syntax. If this is false an address
|
||||
// field is assumed to have postalAddress syntax; otherwise the schema
|
||||
// is consulted for the syntax to use.
|
||||
'checksyntax' => false,
|
||||
'version' => 3,
|
||||
'filter' => '&(objectClass=inetOrgPerson)(!(mail=admin@{$DomainName}))',
|
||||
|
||||
// For Active Directory you probably want to also set the following
|
||||
// parameters:
|
||||
// 'deref' => LDAP_DEREF_ALWAYS,
|
||||
// 'filter' => '&(SAMAccountName=*)(mail=*)',
|
||||
// 'referrals' => 0,
|
||||
),
|
||||
'map' => array(
|
||||
'__key' => 'dn',
|
||||
|
||||
// Remove this mapping if using Active Directory server:
|
||||
'__uid' => 'uid',
|
||||
|
||||
// From horde.schema. Make sure you have 'turbaContact' objectClass
|
||||
// included above:
|
||||
'__type' => 'turbaType',
|
||||
'__members' => 'turbaMembers',
|
||||
|
||||
'name' => 'cn',
|
||||
'email' => 'mail',
|
||||
'homePhone' => 'homephone',
|
||||
'workPhone' => 'telephonenumber',
|
||||
'cellPhone' => 'mobiletelephonenumber',
|
||||
// 'homeAddress' => 'street', <-- this is what was used for sme7 before horde 4
|
||||
'homeAddress' => 'homepostaladdress',
|
||||
|
||||
// From rfc2739.schema:
|
||||
{
|
||||
if (($horde{freebusy} || "disabled") eq "enabled") {
|
||||
$OUT =<<HERE;
|
||||
'freebusyUrl\' => 'calFBURL',
|
||||
HERE
|
||||
} else {
|
||||
$OUT =<<HERE;
|
||||
#freebusy is currently not enabled. To enable - config setprop horde freebusy enabled
|
||||
HERE
|
||||
}
|
||||
}
|
||||
// For Active Directory servers:
|
||||
// 'name' => 'displayname',
|
||||
// 'title' => 'title',
|
||||
// 'cellPhone' => 'mobile',
|
||||
// 'department' => 'department',
|
||||
// 'company' => 'company',
|
||||
),
|
||||
'search' => array(
|
||||
'name',
|
||||
'email',
|
||||
'homePhone',
|
||||
'workPhone',
|
||||
'cellPhone',
|
||||
'homeAddress'
|
||||
),
|
||||
'strict' => array(
|
||||
'dn',
|
||||
),
|
||||
'approximate' => array(
|
||||
'cn',
|
||||
),
|
||||
// // For Active Directory servers:
|
||||
// // 'approximate' => array(
|
||||
// // 'displayname',
|
||||
// // 'samaccountname',
|
||||
// // ),
|
||||
'export' => true,
|
||||
'browse' => true,
|
||||
);
|
||||
|
@@ -0,0 +1,55 @@
|
||||
//60LocalLDAPGroups
|
||||
/**
|
||||
* A local address book in an LDAP directory. This implements a public
|
||||
* (shared) address book.
|
||||
*
|
||||
* To store distribution lists in the LDAP directory, you'll need to include
|
||||
* horde/scripts/ldap/horde.schema in your LDAP configuration.
|
||||
*
|
||||
* To store freebusy information in the LDAP directory, you'll need to include
|
||||
* turba/scripts/ldap/rfc2739.schema in your LDAP configuration.
|
||||
*/
|
||||
$cfgSources['localldapgroups'] = array(
|
||||
'disabled' => false,
|
||||
'title' => _("Local LDAP Groups Address Book"),
|
||||
'type' => 'ldap',
|
||||
'params' => array(
|
||||
'server' => 'localhost',
|
||||
'port' => 389,
|
||||
'tls' => false,
|
||||
{
|
||||
$OUT .= qq( 'root' => '$basedn',);
|
||||
}
|
||||
'sizelimit' => 200,
|
||||
'dn' => array('cn'),
|
||||
'objectclass' => array('posixGroup'),
|
||||
'scope' => 'sub',
|
||||
'charset' => 'UTF-8',
|
||||
'checkrequired' => false,
|
||||
'checkrequired_string' => ' ',
|
||||
'version' => 3,
|
||||
),
|
||||
'map' => array(
|
||||
'__key' => 'dn',
|
||||
'__uid' => 'uid',
|
||||
'name' => 'cn',
|
||||
'email' => 'mail',
|
||||
'groupdescription' => 'description',
|
||||
'groupmembers' => 'memberUid',
|
||||
),
|
||||
'search' => array(
|
||||
'name',
|
||||
'email',
|
||||
'groupdescription',
|
||||
'groupmembers',
|
||||
),
|
||||
'strict' => array(
|
||||
'dn',
|
||||
),
|
||||
'approximate' => array(
|
||||
'cn',
|
||||
),
|
||||
'export' => true,
|
||||
'browse' => true,
|
||||
);
|
||||
|
@@ -0,0 +1,3 @@
|
||||
//90 Favourites
|
||||
$cfgSources['favourites']['disabled'] = true;
|
||||
|
@@ -0,0 +1,10 @@
|
||||
// 100TurbaConfPHP
|
||||
/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
|
||||
// $Id: 4cd616848fb2e5c81200bf7c65930e9086ec2dcd $
|
||||
$conf['menu']['import_export'] = true;
|
||||
$conf['gal']['addressbook'] = 'localldap';
|
||||
$conf['shares']['source'] = 'localsql';
|
||||
$conf['comments']['allow'] = true;
|
||||
$conf['documents']['type'] = 'horde';
|
||||
$conf['tags']['enabled'] = true;
|
||||
|
@@ -0,0 +1,2 @@
|
||||
// 999Footer
|
||||
/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
|
Reference in New Issue
Block a user