diff --git a/admin/inc/class.boldap_mgr.inc.php b/admin/inc/class.boldap_mgr.inc.php
index c1f604208d..3633e68491 100644
--- a/admin/inc/class.boldap_mgr.inc.php
+++ b/admin/inc/class.boldap_mgr.inc.php
@@ -17,9 +17,9 @@
{
var $sessionData;
var $LDAPData;
-
+
var $SMTPServerType = array(); // holds a list of config options
-
+
var $imapClass; // holds the imap/pop3 class
var $smtpClass; // holds the smtp class
@@ -37,7 +37,7 @@
function boldap_mgr($_profileID=-1)
{
$this->soldapmgr =& CreateObject('admin.soldap_mgr');
-
+
$this->SMTPServerType = array(
'1' => array(
'fieldNames' => array(
@@ -115,16 +115,16 @@
'protocol' => 'imap',
'classname' => 'cyrusimap'
)
- );
-
+ );
+
$this->restoreSessionData();
-
+
if($_profileID >= 0)
{
$this->profileID = $_profileID;
-
+
$this->profileData = $this->getProfile($_profileID);
-
+
$this->imapClass = $this->IMAPServerType[$this->profileData['imapType']]['classname'];
$this->smtpClass = $this->SMTPServerType[$this->profileData['smtpType']]['classname'];
}
@@ -134,20 +134,20 @@
{
switch($_encoding)
{
- case "q":
+ case 'q':
if(!preg_match("/[\x80-\xFF]/",$_string))
{
// nothing to quote, only 7 bit ascii
return $_string;
}
-
+
$string = imap_8bit($_string);
$stringParts = explode("=\r\n",$string);
while(list($key,$value) = each($stringParts))
{
- if(!empty($retString)) $retString .= " ";
- $value = str_replace(" ","_",$value);
- // imap_8bit does not convert "?"
+ if(!empty($retString)) $retString .= ' ';
+ $value = str_replace(' ','_',$value);
+ // imap_8bit does not convert '?'
// it does not need, but it should
$value = str_replace("?","=3F",$value);
$retString .= "=?".strtoupper($this->displayCharset)."?Q?".$value."?=";
@@ -163,12 +163,12 @@
function getAccountEmailAddress($_accountName, $_profileID)
{
$profileData = $this->getProfile($_profileID);
-
+
$smtpClass = $this->SMTPServerType[$profileData['smtpType']]['classname'];
return empty($smtpClass) ? False : ExecMethod("emailadmin.$smtpClass.getAccountEmailAddress",$_accountName,3,$profileData);
}
-
+
function getFieldNames($_serverTypeID, $_class)
{
switch($_class)
@@ -181,7 +181,7 @@
break;
}
}
-
+
# function getIMAPClass($_profileID)
# {
# if(!is_object($this->imapClass))
@@ -189,10 +189,10 @@
# $profileData = $this->getProfile($_profileID);
# $this->imapClass =& CreateObject('emailadmin.cyrusimap',$profileData);
# }
-#
+#
# return $this->imapClass;
# }
-
+
function getIMAPServerTypes()
{
foreach($this->IMAPServerType as $key => $value)
@@ -200,21 +200,21 @@
$retData[$key]['description'] = $value['description'];
$retData[$key]['protocol'] = $value['protocol'];
}
-
+
return $retData;
}
-
+
function getLDAPStorageData($_serverid)
{
$storageData = $this->soldapmgr->getLDAPStorageData($_serverid);
return $storageData;
}
-
+
function getMailboxString($_folderName)
{
if (!empty($this->imapClass))
{
- return ExecMethod("emailadmin.".$this->imapClass.".getMailboxString",$_folderName,3,$this->profileData);
+ return ExecMethod('emailadmin.'.$this->imapClass.'.getMailboxString',$_folderName,3,$this->profileData);
}
else
{
@@ -232,16 +232,16 @@
$fieldNames[] = 'profileID';
$fieldNames[] = 'organisationName';
$fieldNames[] = 'userDefinedAccounts';
-
+
return $this->soldapmgr->getProfile($_profileID, $fieldNames);
}
-
+
function getProfileList($_profileID='')
{
$profileList = $this->soldapmgr->getProfileList($_profileID);
return $profileList;
}
-
+
# function getSMTPClass($_profileID)
# {
# if(!is_object($this->smtpClass))
@@ -249,20 +249,20 @@
# $profileData = $this->getProfile($_profileID);
# $this->smtpClass =& CreateObject('emailadmin.postfixldap',$profileData);
# }
-#
+#
# return $this->smtpClass;
# }
-
+
function getSMTPServerTypes()
{
foreach($this->SMTPServerType as $key => $value)
{
$retData[$key] = $value['description'];
}
-
+
return $retData;
}
-
+
function getUserData($_accountID, $_usecache)
{
if ($_usecache)
@@ -280,18 +280,16 @@
function restoreSessionData()
{
-
-
$this->sessionData = $GLOBALS['egw']->session->appsession('session_data');
$this->userSessionData = $GLOBALS['egw']->session->appsession('user_session_data');
-
+
#while(list($key, $value) = each($this->userSessionData))
#{
# print "++ $key: $value
";
#}
#print "restored Session
";
}
-
+
function saveProfile($_globalSettings, $_smtpSettings, $_imapSettings)
{
if(!isset($_globalSettings['profileID']))
@@ -304,29 +302,17 @@
}
}
-
-
-
-
function saveSessionData()
{
-
-
$GLOBALS['egw']->session->appsession('session_data','',$this->sessionData);
$GLOBALS['egw']->session->appsession('user_session_data','',$this->userSessionData);
}
-
-
-
-
-
-
function saveUserData($_accountID, $_formData, $_boAction)
{
- $this->userSessionData[$_accountID]['mail'] = $_formData["mail"];
- $this->userSessionData[$_accountID]['mailForwardingAddress'] = $_formData["mailForwardingAddress"];
- $this->userSessionData[$_accountID]['accountStatus'] = $_formData["accountStatus"];
+ $this->userSessionData[$_accountID]['mail'] = $_formData['mail'];
+ $this->userSessionData[$_accountID]['mailForwardingAddress'] = $_formData['mailForwardingAddress'];
+ $this->userSessionData[$_accountID]['accountStatus'] = $_formData['accountStatus'];
switch ($_boAction)
{
@@ -341,17 +327,17 @@
//ACHTUNG!!
$count = 0;
}
-
- $this->userSessionData[$_accountID]['mailAlternateAddress'][$count] =
+
+ $this->userSessionData[$_accountID]['mailAlternateAddress'][$count] =
$_formData['add_mailAlternateAddress'];
-
+
$this->saveSessionData();
-
+
break;
-
+
case 'remove_mailAlternateAddress':
$i=0;
-
+
while(list($key, $value) = @each($this->userSessionData[$_accountID]['mailAlternateAddress']))
{
#print ".. $key: $value
";
@@ -363,23 +349,25 @@
}
}
$this->userSessionData[$_accountID]['mailAlternateAddress'] = $newMailAlternateAddress;
-
+
$this->saveSessionData();
break;
case 'save':
$this->soldapmgr->saveUserData(
- $_accountID,
- $this->userSessionData[$_accountID]);
+ $_accountID,
+ $this->userSessionData[$_accountID]
+ );
$bofelamimail =& CreateObject('felamimail.bofelamimail');
$bofelamimail->openConnection('','',true);
- $bofelamimail->imapSetQuota($GLOBALS['egw']->accounts->id2name($_accountID),
- $this->userSessionData[$_accountID]['quotaLimit']);
+ $bofelamimail->imapSetQuota(
+ $GLOBALS['egw']->accounts->id2name($_accountID),
+ $this->userSessionData[$_accountID]['quotaLimit']
+ );
$bofelamimail->closeConnection();
$GLOBALS['egw']->accounts->cache_invalidate($_accountID);
-
-
+
break;
}
}
@@ -388,14 +376,13 @@
{
if (!empty($this->imapClass))
{
- ExecMethod("emailadmin.".$this->imapClass.".updateAccount",$_hookValues,3,$this->profileData);
+ ExecMethod('emailadmin.'.$this->imapClass.'.updateAccount',$_hookValues,3,$this->profileData);
}
if (!empty($this->smtpClass))
{
- ExecMethod("emailadmin.".$this->smtpClass.".updateAccount",$_hookValues,3,$this->profileData);
+ ExecMethod('emailadmin.'.$this->smtpClass.'.updateAccount',$_hookValues,3,$this->profileData);
}
}
-
}
?>
diff --git a/admin/inc/class.soldap_mgr.inc.php b/admin/inc/class.soldap_mgr.inc.php
index bdb1bf0cb8..d87189af06 100644
--- a/admin/inc/class.soldap_mgr.inc.php
+++ b/admin/inc/class.soldap_mgr.inc.php
@@ -1,62 +1,58 @@
db = clone($GLOBALS['egw']->db);
+ $this->db = clone($GLOBALS['egw']->db);
include(EGW_INCLUDE_ROOT.'/emailadmin/setup/tables_current.inc.php');
$this->tables = &$phpgw_baseline;
unset($phpgw_baseline);
$this->table = &$this->tables['phpgw_emailadmin'];
}
-
function getUserData($_accountID)
{
- global $phpgw, $phpgw_info;
-
$ldap = $GLOBALS['egw']->common->ldapConnect();
$filter = "(&(uidnumber=$_accountID))";
-
+
$sri = @ldap_search($ldap,$GLOBALS['egw_info']['server']['ldap_context'],$filter);
if ($sri)
{
$allValues = ldap_get_entries($ldap, $sri);
if ($allValues['count'] > 0)
{
- #print "found something
";
- $userData["mail"] = $allValues[0]["mail"][0];
- $userData["mailAlternateAddress"] = $allValues[0]["mailalternateaddress"];
- $userData["accountStatus"] = $allValues[0]["accountstatus"][0];
- $userData["mailForwardingAddress"] = $allValues[0]["mailforwardingaddress"][0];
- $userData["deliveryMode"] = $allValues[0]["deliverymode"][0];
+ #print 'found something
';
+ $userData['mail'] = $allValues[0]['mail'][0];
+ $userData['mailAlternateAddress'] = $allValues[0]['mailalternateaddress'];
+ $userData['accountStatus'] = $allValues[0]['accountstatus'][0];
+ $userData['mailForwardingAddress'] = $allValues[0]['mailforwardingaddress'][0];
+ $userData['deliveryMode'] = $allValues[0]['deliverymode'][0];
- unset($userData["mailAlternateAddress"]["count"]);
- unset($userData["mailForwardingAddress"]["count"]);
+ unset($userData['mailAlternateAddress']['count']);
+ unset($userData['mailForwardingAddress']['count']);
return $userData;
}
}
-
+
// if we did not return before, return false
return false;
}
-
+
function saveUserData($_accountID, $_accountData)
{
-
$ldap = $GLOBALS['egw']->common->ldapConnect();
// need to be fixed
if(is_numeric($_accountID))
@@ -76,57 +72,57 @@
$uid = $allValues[0]['uid'][0];
$homedirectory = $allValues[0]['homedirectory'][0];
$objectClasses = $allValues[0]['objectclass'];
-
+
unset($objectClasses['count']);
}
else
{
return false;
}
-
+
if(empty($homedirectory))
{
$homedirectory = "/home/".$uid;
}
-
+
// the old code for qmail ldap
- $newData = array
+ $newData = array
(
- 'mail' => $_accountData["mail"],
- 'mailAlternateAddress' => $_accountData["mailAlternateAddress"],
- 'mailForwardingAddress' => $_accountData["mailForwardingAddress"],
+ 'mail' => $_accountData['mail'],
+ 'mailAlternateAddress' => $_accountData['mailAlternateAddress'],
+ 'mailForwardingAddress' => $_accountData['mailForwardingAddress'],
// 'homedirectory' => $homedirectory,
-// 'mailMessageStore' => $homedirectory."/Maildir/",
+// 'mailMessageStore' => $homedirectory.'/Maildir/',
// 'gidnumber' => '1000',
-// 'qmailDotMode' => $_accountData["qmailDotMode"],
-// 'deliveryProgramPath' => $_accountData["deliveryProgramPath"]
+// 'qmailDotMode' => $_accountData['qmailDotMode'],
+// 'deliveryProgramPath' => $_accountData['deliveryProgramPath']
);
-
+
if(!in_array('qmailUser',$objectClasses) &&
!in_array('qmailuser',$objectClasses))
{
- $objectClasses[] = 'qmailuser';
+ $objectClasses[] = 'qmailuser';
}
-
+
// the new code for postfix+cyrus+ldap
- $newData = array
+ $newData = array
(
- 'mail' => $_accountData["mail"],
- 'accountStatus' => $_accountData["accountStatus"],
+ 'mail' => $_accountData['mail'],
+ 'accountStatus' => $_accountData['accountStatus'],
'objectclass' => $objectClasses
);
- if(is_array($_accountData["mailAlternateAddress"]))
- {
- $newData['mailAlternateAddress'] = $_accountData["mailAlternateAddress"];
+ if(is_array($_accountData['mailAlternateAddress']))
+ {
+ $newData['mailAlternateAddress'] = $_accountData['mailAlternateAddress'];
}
else
{
$newData['mailAlternateAddress'] = array();
}
- if($_accountData["accountStatus"] == 'active')
- {
+ if($_accountData['accountStatus'] == 'active')
+ {
$newData['accountStatus'] = 'active';
}
else
@@ -134,9 +130,9 @@
$newData['accountStatus'] = 'disabled';
}
/*
- if(!empty($_accountData["deliveryMode"]))
- {
- $newData['deliveryMode'] = $_accountData["deliveryMode"];
+ if(!empty($_accountData['deliveryMode']))
+ {
+ $newData['deliveryMode'] = $_accountData['deliveryMode'];
}
else
{
@@ -144,24 +140,24 @@
}
*/
-// if(is_array($_accountData["mailForwardingAddress"]))
-// {
- $newData['mailForwardingAddress'] = $_accountData["mailForwardingAddress"];
+// if(is_array($_accountData['mailForwardingAddress']))
+// {
+ $newData['mailForwardingAddress'] = $_accountData['mailForwardingAddress'];
// }
// else
// {
// $newData['mailForwardingAddress'] = array();
// }
-
+
#print "
DN: $accountDN
";
ldap_mod_replace ($ldap, $accountDN, $newData);
-
+
// also update the account_email field in egw_accounts
// when using sql account storage
if($GLOBALS['egw_info']['server']['account_repository'] == 'sql')
{
$this->db->update('egw_accounts',array(
- 'account_email' => $_accountData["mail"]
+ 'account_email' => $_accountData['mail']
),
array(
'account_id' => $_accountID
diff --git a/admin/inc/class.uildap_mgr.inc.php b/admin/inc/class.uildap_mgr.inc.php
index 376e241b45..fc16e22ef6 100644
--- a/admin/inc/class.uildap_mgr.inc.php
+++ b/admin/inc/class.uildap_mgr.inc.php
@@ -1,9 +1,9 @@
True,
- 'saveUserData' => True
+ 'editUserData' => True,
+ 'saveUserData' => True
);
function uildap_mgr()
{
- $this->t =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
- $this->boldapmgr =& CreateObject('admin.boldap_mgr');
+ $this->t =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
+ $this->boldapmgr =& CreateObject('admin.boldap_mgr');
}
-
+
function display_app_header()
{
$GLOBALS['egw']->common->egw_header();
echo parse_navbar();
-
}
function editUserData($_useCache='0')
{
- global $phpgw, $phpgw_info, $_GET;
-
- $accountID = $_GET['account_id'];
+ $accountID = $_GET['account_id'];
$GLOBALS['account_id'] = $accountID;
$this->display_app_header();
$this->translate();
- $this->t->set_file(array("editUserData" => "account_form_ldapdata.tpl"));
+ $this->t->set_file(array('editUserData' => 'account_form_ldapdata.tpl'));
$this->t->set_block('editUserData','form','form');
$this->t->set_block('editUserData','link_row','link_row');
- $this->t->set_var("th_bg",$GLOBALS['egw_info']["theme"]["th_bg"]);
- $this->t->set_var("tr_color1",$GLOBALS['egw_info']["theme"]["row_on"]);
- $this->t->set_var("tr_color2",$GLOBALS['egw_info']["theme"]["row_off"]);
-
- $this->t->set_var("lang_email_config",lang("edit email settings"));
- $this->t->set_var("lang_emailAddress",lang("email address"));
- $this->t->set_var("lang_emailaccount_active",lang("email account active"));
- $this->t->set_var("lang_mailAlternateAddress",lang("alternate email address"));
- $this->t->set_var("lang_mailForwardingAddress",lang("forward email's to"));
- $this->t->set_var("lang_forward_also_to",lang("forward also to"));
- $this->t->set_var("lang_button",lang("save"));
- $this->t->set_var("lang_deliver_extern",lang("deliver extern"));
- $this->t->set_var("lang_edit_email_settings",lang("edit email settings"));
- $this->t->set_var("lang_ready",lang("Done"));
- $this->t->set_var("link_back",$GLOBALS['egw']->link('/admin/accounts.php'));
- $this->t->set_var("info_icon",EGW_IMAGES_DIR.'/info.gif');
-
-
+ $this->t->set_var('th_bg',$GLOBALS['egw_info']['theme']['th_bg']);
+ $this->t->set_var('tr_color1',$GLOBALS['egw_info']['theme']['row_on']);
+ $this->t->set_var('tr_color2',$GLOBALS['egw_info']['theme']['row_off']);
+
+ $this->t->set_var('lang_email_config',lang('edit email settings'));
+ $this->t->set_var('lang_emailAddress',lang('email address'));
+ $this->t->set_var('lang_emailaccount_active',lang('email account active'));
+ $this->t->set_var('lang_mailAlternateAddress',lang('alternate email address'));
+ $this->t->set_var('lang_mailForwardingAddress',lang('forward emails to'));
+ $this->t->set_var('lang_forward_also_to',lang('forward also to'));
+ $this->t->set_var('lang_button',lang('save'));
+ $this->t->set_var('lang_deliver_extern',lang('deliver extern'));
+ $this->t->set_var('lang_edit_email_settings',lang('edit email settings'));
+ $this->t->set_var('lang_ready',lang('Done'));
+ $this->t->set_var('link_back',$GLOBALS['egw']->link('/admin/accounts.php'));
+ $this->t->set_var('info_icon',EGW_IMAGES_DIR.'/info.gif');
+
$linkData = array
(
- 'menuaction' => 'admin.uildap_mgr.saveUserData',
- 'account_id' => $accountID
+ 'menuaction' => 'admin.uildap_mgr.saveUserData',
+ 'account_id' => $accountID
);
- $this->t->set_var("form_action", $GLOBALS['egw']->link('/index.php',$linkData));
-
+ $this->t->set_var('form_action', $GLOBALS['egw']->link('/index.php',$linkData));
+
// only when we show a existing user
if($userData = $this->boldapmgr->getUserData($accountID, $_useCache))
{
- echo "
";
+ echo '
';
if ($userData['mailAlternateAddress'] != '')
{
- $options_mailAlternateAddress = "