steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr resmgr.php, 1.15, 1.16
cvs at intevation.de
cvs at intevation.de
Thu Sep 9 03:09:41 CEST 2004
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv7776/kolab-resource-handlers/resmgr
Modified Files:
resmgr.php
Log Message:
"kolab group/resource action"
Index: resmgr.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- resmgr.php 1 Sep 2004 23:41:53 -0000 1.15
+++ resmgr.php 9 Sep 2004 01:09:39 -0000 1.16
@@ -214,7 +214,7 @@
/**
* Look up encrypted password from LDAP and decrypt it
*/
-function getImapPassword()
+function getLDAPData()
{
global $resource, $params;
@@ -225,7 +225,9 @@
return false;
}
- $result = ldap_search($ldap, $params['base_dn'], "(&(objectClass=kolabInetOrgPerson)(mail=$resource))", array("kolabEncryptedPassword"));
+ $result = ldap_search($ldap, $params['base_dn'],
+ "(&(objectClass=kolabInetOrgPerson)(mail=$resource))",
+ array("kolabEncryptedPassword", "kolabResourceAction" ));
if (!$result) {
myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
return false;
@@ -237,6 +239,7 @@
return false;
}
+ $action = $entries[0]['kolabresourceaction'][0];
$encpw = base64_decode($entries[0]['kolabencryptedpassword'][0]);
ldap_close($ldap);
@@ -256,7 +259,32 @@
openssl_free_key($pkey);
- return $cleartext;
+ switch ($action) {
+ case 'ACT_ALWAYS_ACCEPT':
+ $action = RM_ACT_ALWAYS_ACCEPT;
+ break;
+
+ case 'ACT_ALWAYS_REJECT':
+ $action = RM_ACT_ALWAYS_REJECT;
+ break;
+
+ case 'ACT_REJECT_IF_CONFLICTS':
+ $action = RM_ACT_REJECT_IF_CONFLICTS;
+ break;
+
+ case 'ACT_MANUAL_IF_CONFLICTS':
+ $action = RM_ACT_MANUAL_IF_CONFLICTS;
+ break;
+
+ case 'ACT_MANUAL':
+ $action = RM_ACT_MANUAL;
+ break;
+
+ default:
+ $action = false;
+ }
+
+ return array( 'password' => $cleartext, 'action' => $action );
}
function getResourceUid()
@@ -711,43 +739,22 @@
$resource = $options['r'];
$sender = $options['s'];
-if (array_key_exists('m', $options)) {
- if (is_array($options['m'])) {
- $options['m'] = array_pop($options['m']);
- }
-
- switch ($options['m']) {
- case 'RM_ACT_ALWAYS_ACCEPT':
- $params['action'] = RM_ACT_ALWAYS_ACCEPT;
- break;
-
- case 'RM_ACT_ALWAYS_REJECT':
- $params['action'] = RM_ACT_ALWAYS_REJECT;
- break;
-
- case 'RM_ACT_REJECT_IF_CONFLICTS':
- $params['action'] = RM_ACT_REJECT_IF_CONFLICTS;
- break;
-
- case 'RM_ACT_MANUAL_IF_CONFLICTS':
- $params['action'] = RM_ACT_MANUAL_IF_CONFLICTS;
- break;
-
- case 'RM_ACT_MANUAL':
- $params['action'] = RM_ACT_MANUAL;
- break;
-
- default:
- print("Invalid mode specified");
- shutdown(1);
- }
-}
-
init();
+// Set some parameters
$params['calendar_user'] = $resource;
$params['calendar_uid'] = getResourceUid();
-$params['calendar_pass'] = getImapPassword();
+$ldapdata = getLDAPData();
+$params['calendar_pass'] = $ldapdata['password'];
+$params['action'] = $ldapdata['action'];
+if( !$params['action'] ) {
+ // Use defaults
+ if( $params['group'] ) {
+ $params['action'] = RM_ACT_MANUAL_IF_CONFLICTS;
+ } else {
+ $params['action'] = RM_ACT_REJECT_IF_CONFLICTS;
+ }
+}
require_once HORDE_BASE . '/lib/core.php';
require_once 'Horde/iCalendar.php';
More information about the commits
mailing list