True,
'saveUserData' => True
);
function uiuserdata()
{
$this->t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
$this->boemailadmin = CreateObject('emailadmin.bo');
}
function display_app_header()
{
$GLOBALS['phpgw']->common->phpgw_header();
echo parse_navbar();
}
function editUserData($_useCache='0')
{
global $phpgw, $phpgw_info, $HTTP_GET_VARS;
$accountID = $HTTP_GET_VARS['account_id'];
$GLOBALS['account_id'] = $accountID;
$this->display_app_header();
$this->translate();
$this->t->set_file(array("editUserData" => "edituserdata.tpl"));
$this->t->set_block('editUserData','form','form');
$this->t->set_block('editUserData','link_row','link_row');
$this->t->set_var("th_bg",$phpgw_info["theme"]["th_bg"]);
$this->t->set_var("tr_color1",$phpgw_info["theme"]["row_on"]);
$this->t->set_var("tr_color2",$phpgw_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_mailRoutingAddress",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_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",$phpgw->link('/admin/accounts.php'));
$linkData = array
(
'menuaction' => 'emailadmin.uiuserdata.saveUserData',
'account_id' => $accountID
);
$this->t->set_var("form_action", $phpgw->link('/index.php',$linkData));
// only when we show a existing user
if($userData = $this->boemailadmin->getUserData($accountID, $_useCache))
{
if ($userData['mailAlternateAddress'] != '')
{
$options_mailAlternateAddress = "\n";
}
else
{
$options_mailAlternateAddress = lang('no alternate email address');
}
if ($userData['mailRoutingAddress'] != '')
{
$options_mailRoutingAddress = "\n";
}
else
{
$options_mailRoutingAddress = lang('no forwarding email address');
}
$this->t->set_var("quotaLimit",$userData["quotaLimit"]);
$this->t->set_var("mailLocalAddress",$userData["mailLocalAddress"]);
$this->t->set_var("mailAlternateAddress",'');
$this->t->set_var("mailRoutingAddress",'');
$this->t->set_var("options_mailAlternateAddress",$options_mailAlternateAddress);
$this->t->set_var("options_mailRoutingAddress",$options_mailRoutingAddress);
$this->t->set_var("selected_".$userData["qmailDotMode"],'selected');
$this->t->set_var("deliveryProgramPath",$userData["deliveryProgramPath"]);
$this->t->set_var("uid",rawurlencode($_accountData["dn"]));
if ($userData["accountStatus"] == "active")
$this->t->set_var("account_checked","checked");
if ($userData["deliveryMode"] == "forwardOnly")
$this->t->set_var("forwardOnly_checked","checked");
if ($_accountData["deliverExtern"] == "active")
$this->t->set_var("deliver_checked","checked");
}
else
{
$this->t->set_var("mailLocalAddress",'');
$this->t->set_var("mailAlternateAddress",'');
$this->t->set_var("mailRoutingAddress",'');
$this->t->set_var("options_mailAlternateAddress",lang('no alternate email address'));
$this->t->set_var("options_mailRoutingAddress",lang('no forwarding email address'));
$this->t->set_var("account_checked",'');
$this->t->set_var("forwardOnly_checked",'');
}
// create the menu on the left, if needed
$menuClass = CreateObject('admin.uimenuclass');
$this->t->set_var('rows',$menuClass->createHTMLCode('edit_user'));
$this->t->pparse("out","form");
}
function saveUserData()
{
global $HTTP_POST_VARS, $HTTP_GET_VARS;
if($HTTP_POST_VARS["accountStatus"] == "on")
{
$accountStatus = "active";
}
if($HTTP_POST_VARS["forwardOnly"] == "on")
{
$deliveryMode = "forwardOnly";
}
$formData = array
(
'mailLocalAddress' => $HTTP_POST_VARS["mailLocalAddress"],
'mailRoutingAddress' => $HTTP_POST_VARS["mailRoutingAddress"],
'add_mailAlternateAddress' => $HTTP_POST_VARS["mailAlternateAddressInput"],
'remove_mailAlternateAddress' => $HTTP_POST_VARS["mailAlternateAddress"],
'quotaLimit' => $HTTP_POST_VARS["quotaLimit"],
'add_mailRoutingAddress' => $HTTP_POST_VARS["mailRoutingAddressInput"],
'remove_mailRoutingAddress' => $HTTP_POST_VARS["mailRoutingAddress"],
'qmailDotMode' => $HTTP_POST_VARS["qmailDotMode"],
'deliveryProgramPath' => $HTTP_POST_VARS["deliveryProgramPath"],
'accountStatus' => $accountStatus,
'deliveryMode' => $deliveryMode
);
if($HTTP_POST_VARS["add_mailAlternateAddress"]) $bo_action='add_mailAlternateAddress';
if($HTTP_POST_VARS["remove_mailAlternateAddress"]) $bo_action='remove_mailAlternateAddress';
if($HTTP_POST_VARS["add_mailRoutingAddress"]) $bo_action='add_mailRoutingAddress';
if($HTTP_POST_VARS["remove_mailRoutingAddress"]) $bo_action='remove_mailRoutingAddress';
if($HTTP_POST_VARS["save"]) $bo_action='save';
$this->boemailadmin->saveUserData($_GET['account_id'], $formData, $bo_action);
if ($bo_action == 'save')
{
// read date fresh from ldap storage
$this->editUserData();
}
else
{
// use cached data
$this->editUserData('1');
}
}
function translate()
{
global $phpgw_info;
$this->t->set_var('th_bg',$phpgw_info['theme']['th_bg']);
$this->t->set_var('lang_add',lang('add'));
$this->t->set_var('lang_done',lang('Done'));
$this->t->set_var('lang_remove',lang('remove'));
$this->t->set_var('lang_remove',lang('remove'));
$this->t->set_var('lang_advanced_options',lang('advanced options'));
$this->t->set_var('lang_qmaildotmode',lang('qmaildotmode'));
$this->t->set_var('lang_default',lang('default'));
$this->t->set_var('lang_quota_settings',lang('quota settings'));
$this->t->set_var('lang_qoutainmbyte',lang('qouta size in MByte'));
$this->t->set_var('lang_inmbyte',lang('in MByte'));
$this->t->set_var('lang_0forunlimited',lang('leave empty for no quota'));
$this->t->set_var('lang_forward_only',lang('forward only'));
}
}
?>