aboutsummaryrefslogtreecommitdiff
path: root/mail/turba/files/patch-config::sources.php.dist
diff options
context:
space:
mode:
Diffstat (limited to 'mail/turba/files/patch-config::sources.php.dist')
-rw-r--r--mail/turba/files/patch-config::sources.php.dist134
1 files changed, 89 insertions, 45 deletions
diff --git a/mail/turba/files/patch-config::sources.php.dist b/mail/turba/files/patch-config::sources.php.dist
index 46b4a1ba4f5c..52bf06d5d79c 100644
--- a/mail/turba/files/patch-config::sources.php.dist
+++ b/mail/turba/files/patch-config::sources.php.dist
@@ -1,36 +1,48 @@
---- config/sources.php.dist.orig Mon Oct 17 22:51:49 2005
-+++ config/sources.php.dist Tue Oct 18 22:24:34 2005
-@@ -469,87 +469,87 @@
- // Check that IMSP is configured in Horde but fall through if there is no
- // configuration at all - in case we aren't using up to date Horde install.
- // (In that case, be sure to change the params array below to suit your needs.
+--- config/sources.php.dist.orig Mon Nov 7 11:03:26 2005
++++ config/sources.php.dist Wed Mar 8 23:18:05 2006
+@@ -490,109 +490,109 @@
+ // configuration at all - in case we don't have at least a 3.0.6 Horde
+ // install. (In that case, be sure to change the params array below to suit
+ // your needs).
-if (!empty($GLOBALS['conf']['imsp']['enabled']) ||
- !isset($GLOBALS['conf']['imsp']['enabled'])) {
--
-- // First, get the user name
+- // First, get the user name to login to IMSP server with.
- $uid = $GLOBALS['prefs']->getValue('imsp_auth_user');
- $pass = $GLOBALS['prefs']->getValue('imsp_auth_pass');
- if (!strlen($uid)) {
-- $uid = Auth::getAuth();
-- if (preg_match('/(^.*)@/', $uid, $matches)) {
-- $uid = $matches[1];
-- }
+- $uid = Auth::getBareAuth();
- $pass = Auth::getCredential('password');
- }
--
-- $cfgSources['imsp'] = array(
+- // Note we always use the horde username to append to the key even if we
+- // have an alternate username set in prefs. This is to prevent the
+- // (fringe) case where an IMSP username for one user might be a valid
+- // horde username for another user.
+- $cfgKey = 'IMSP_' . Auth::getAuth();
+- $cfgSources[$cfgKey] = array(
- 'title' => _("IMSP"),
- 'type' => 'imsp',
- 'params' => array(
-- 'server' => $GLOBALS['conf']['imsp']['server'],
-- 'port' => $GLOBASL['conf']['imsp']['port'],
+- 'server' => $GLOBALS['conf']['imsp']['server'],
+- 'port' => $GLOBALS['conf']['imsp']['port'],
- 'auth_method' => $GLOBALS['conf']['imsp']['auth_method'],
+- // socket, command, and auth_mechanism are for imtest driver.
+- 'socket' => isset($GLOBALS['conf']['imsp']['socket']) ?
+- $GLOBALS['conf']['imsp']['socket'] . $uid . '.sck' :
+- '',
+- 'command' => isset($GLOBALS['conf']['imsp']['command']) ?
+- $GLOBALS['conf']['imsp']['command'] : '' ,
+- 'auth_mechanism' => isset($GLOBALS['conf']['imsp']['auth_mechanism']) ?
+- $GLOBALS['conf']['imsp']['auth_mechanism'] : '',
- 'username' => $uid,
- 'password' => $pass,
- 'name' => $uid,
- 'group_id_field' => 'group',
- 'group_id_value' => 'group',
-- 'contact_ownership' => false
+- 'contact_ownership' => false,
+- // Dynamically generated acl rights for current user.
+- 'my_rights' => '',
+- // Flags this as the user's 'root' IMSP address book.
+- 'is_root' => true
- ),
- 'map' => array(
- '__key' => 'name',
@@ -57,28 +69,38 @@
- 'homePhone'
- ),
- 'strict' => array(),
-- 'public' => false,
-- 'readonly' => false,
-- 'export' => true
+- 'export' => true,
+- 'browse' => true,
- );
-
- /**
- * Get any other address books this user might be privy to.
+- * The values for attributes such as 'export' and 'browse' for books
+- * that are added below will be the same as the values set in the default
+- * book above. Any entries defined explicitly in cfgSources[]
+- * will override any entries gathered dynamically below.
- */
- require_once 'Net/IMSP/Utils.php';
-- $result = Net_IMSP_Utils::getAllBooks($cfgSources['imsp']);
+- $result = Net_IMSP_Utils::getAllBooks($cfgSources[$cfgKey]);
+- $count = 2;
- if (!is_a($result, 'PEAR_Error')) {
-- for ($i = 0; $i < count($result); $i++) {
-- // Make sure we didn't define this source explicitly.
+- $resultCount = count($result);
+- for ($i = 0; $i < $resultCount; $i++) {
+- // Make sure we didn't define this source explicitly,
+- // but set the acls from the server regardless.
- $dup = false;
-- foreach ($cfgSources as $thisSource) {
+- foreach ($cfgSources as $key => $thisSource) {
- if (($thisSource['type'] == 'imsp') &&
- ($thisSource['params']['name'] == $result[$i]['params']['name'])) {
+-
- $dup = true;
+- $acl = $result[$i]['params']['my_rights'];
+- $cfgSources[$key]['params']['my_rights'] = $acl;
+- break;
- }
- }
- if (!$dup) {
-- $cfgSources[sprintf('imsp%d', $i + 1)] = $result[$i];
+- $cfgSources[sprintf('IMSP_%d', $count++)] = $result[$i];
- }
- }
- } else {
@@ -87,31 +109,43 @@
-}
+//UNCOMMENTIFIMSPif (!empty($GLOBALS['conf']['imsp']['enabled']) ||
+//UNCOMMENTIFIMSP !isset($GLOBALS['conf']['imsp']['enabled'])) {
-+//UNCOMMENTIFIMSP
-+//UNCOMMENTIFIMSP // First, get the user name
++//UNCOMMENTIFIMSP // First, get the user name to login to IMSP server with.
+//UNCOMMENTIFIMSP $uid = $GLOBALS['prefs']->getValue('imsp_auth_user');
+//UNCOMMENTIFIMSP $pass = $GLOBALS['prefs']->getValue('imsp_auth_pass');
+//UNCOMMENTIFIMSP if (!strlen($uid)) {
-+//UNCOMMENTIFIMSP $uid = Auth::getAuth();
-+//UNCOMMENTIFIMSP if (preg_match('/(^.*)@/', $uid, $matches)) {
-+//UNCOMMENTIFIMSP $uid = $matches[1];
-+//UNCOMMENTIFIMSP }
++//UNCOMMENTIFIMSP $uid = Auth::getBareAuth();
+//UNCOMMENTIFIMSP $pass = Auth::getCredential('password');
+//UNCOMMENTIFIMSP }
-+//UNCOMMENTIFIMSP
-+//UNCOMMENTIFIMSP $cfgSources['imsp'] = array(
++//UNCOMMENTIFIMSP // Note we always use the horde username to append to the key even if we
++//UNCOMMENTIFIMSP // have an alternate username set in prefs. This is to prevent the
++//UNCOMMENTIFIMSP // (fringe) case where an IMSP username for one user might be a valid
++//UNCOMMENTIFIMSP // horde username for another user.
++//UNCOMMENTIFIMSP $cfgKey = 'IMSP_' . Auth::getAuth();
++//UNCOMMENTIFIMSP $cfgSources[$cfgKey] = array(
+//UNCOMMENTIFIMSP 'title' => _("IMSP"),
+//UNCOMMENTIFIMSP 'type' => 'imsp',
+//UNCOMMENTIFIMSP 'params' => array(
-+//UNCOMMENTIFIMSP 'server' => $GLOBALS['conf']['imsp']['server'],
-+//UNCOMMENTIFIMSP 'port' => $GLOBASL['conf']['imsp']['port'],
++//UNCOMMENTIFIMSP 'server' => $GLOBALS['conf']['imsp']['server'],
++//UNCOMMENTIFIMSP 'port' => $GLOBALS['conf']['imsp']['port'],
+//UNCOMMENTIFIMSP 'auth_method' => $GLOBALS['conf']['imsp']['auth_method'],
++//UNCOMMENTIFIMSP // socket, command, and auth_mechanism are for imtest driver.
++//UNCOMMENTIFIMSP 'socket' => isset($GLOBALS['conf']['imsp']['socket']) ?
++//UNCOMMENTIFIMSP $GLOBALS['conf']['imsp']['socket'] . $uid . '.sck' :
++//UNCOMMENTIFIMSP '',
++//UNCOMMENTIFIMSP 'command' => isset($GLOBALS['conf']['imsp']['command']) ?
++//UNCOMMENTIFIMSP $GLOBALS['conf']['imsp']['command'] : '' ,
++//UNCOMMENTIFIMSP 'auth_mechanism' => isset($GLOBALS['conf']['imsp']['auth_mechanism']) ?
++//UNCOMMENTIFIMSP $GLOBALS['conf']['imsp']['auth_mechanism'] : '',
+//UNCOMMENTIFIMSP 'username' => $uid,
+//UNCOMMENTIFIMSP 'password' => $pass,
+//UNCOMMENTIFIMSP 'name' => $uid,
+//UNCOMMENTIFIMSP 'group_id_field' => 'group',
+//UNCOMMENTIFIMSP 'group_id_value' => 'group',
-+//UNCOMMENTIFIMSP 'contact_ownership' => false
++//UNCOMMENTIFIMSP 'contact_ownership' => false,
++//UNCOMMENTIFIMSP // Dynamically generated acl rights for current user.
++//UNCOMMENTIFIMSP 'my_rights' => '',
++//UNCOMMENTIFIMSP // Flags this as the user's 'root' IMSP address book.
++//UNCOMMENTIFIMSP 'is_root' => true
+//UNCOMMENTIFIMSP ),
+//UNCOMMENTIFIMSP 'map' => array(
+//UNCOMMENTIFIMSP '__key' => 'name',
@@ -138,34 +172,44 @@
+//UNCOMMENTIFIMSP 'homePhone'
+//UNCOMMENTIFIMSP ),
+//UNCOMMENTIFIMSP 'strict' => array(),
-+//UNCOMMENTIFIMSP 'public' => false,
-+//UNCOMMENTIFIMSP 'readonly' => false,
-+//UNCOMMENTIFIMSP 'export' => true
++//UNCOMMENTIFIMSP 'export' => true,
++//UNCOMMENTIFIMSP 'browse' => true,
+//UNCOMMENTIFIMSP );
+//UNCOMMENTIFIMSP
+//UNCOMMENTIFIMSP /**
+//UNCOMMENTIFIMSP * Get any other address books this user might be privy to.
++//UNCOMMENTIFIMSP * The values for attributes such as 'export' and 'browse' for books
++//UNCOMMENTIFIMSP * that are added below will be the same as the values set in the default
++//UNCOMMENTIFIMSP * book above. Any entries defined explicitly in cfgSources[]
++//UNCOMMENTIFIMSP * will override any entries gathered dynamically below.
+//UNCOMMENTIFIMSP */
+//UNCOMMENTIFIMSP require_once 'Net/IMSP/Utils.php';
-+//UNCOMMENTIFIMSP $result = Net_IMSP_Utils::getAllBooks($cfgSources['imsp']);
++//UNCOMMENTIFIMSP $result = Net_IMSP_Utils::getAllBooks($cfgSources[$cfgKey]);
++//UNCOMMENTIFIMSP $count = 2;
+//UNCOMMENTIFIMSP if (!is_a($result, 'PEAR_Error')) {
-+//UNCOMMENTIFIMSP for ($i = 0; $i < count($result); $i++) {
-+//UNCOMMENTIFIMSP // Make sure we didn't define this source explicitly.
++//UNCOMMENTIFIMSP $resultCount = count($result);
++//UNCOMMENTIFIMSP for ($i = 0; $i < $resultCount; $i++) {
++//UNCOMMENTIFIMSP // Make sure we didn't define this source explicitly,
++//UNCOMMENTIFIMSP // but set the acls from the server regardless.
+//UNCOMMENTIFIMSP $dup = false;
-+//UNCOMMENTIFIMSP foreach ($cfgSources as $thisSource) {
++//UNCOMMENTIFIMSP foreach ($cfgSources as $key => $thisSource) {
+//UNCOMMENTIFIMSP if (($thisSource['type'] == 'imsp') &&
+//UNCOMMENTIFIMSP ($thisSource['params']['name'] == $result[$i]['params']['name'])) {
++//UNCOMMENTIFIMSP
+//UNCOMMENTIFIMSP $dup = true;
++//UNCOMMENTIFIMSP $acl = $result[$i]['params']['my_rights'];
++//UNCOMMENTIFIMSP $cfgSources[$key]['params']['my_rights'] = $acl;
++//UNCOMMENTIFIMSP break;
+//UNCOMMENTIFIMSP }
+//UNCOMMENTIFIMSP }
+//UNCOMMENTIFIMSP if (!$dup) {
-+//UNCOMMENTIFIMSP $cfgSources[sprintf('imsp%d', $i + 1)] = $result[$i];
++//UNCOMMENTIFIMSP $cfgSources[sprintf('IMSP_%d', $count++)] = $result[$i];
+//UNCOMMENTIFIMSP }
+//UNCOMMENTIFIMSP }
+//UNCOMMENTIFIMSP } else {
+//UNCOMMENTIFIMSP $notification->push($result);
+//UNCOMMENTIFIMSP }
+//UNCOMMENTIFIMSP}
+ /* End IMSP sources. */
/* Begin Kolab sources. */
- if (!empty($GLOBALS['conf']['kolab']['enabled'])) {