diff --git a/admin/inc/class.admin_passwordreset.inc.php b/admin/inc/class.admin_passwordreset.inc.php index 5175f6b2f8..b6024011ea 100644 --- a/admin/inc/class.admin_passwordreset.inc.php +++ b/admin/inc/class.admin_passwordreset.inc.php @@ -86,7 +86,8 @@ class admin_passwordreset } elseif (!$content['random_pw'] && !$content['hash'] && !$content['notify'] && (string)$content['changepassword'] === '' && (string)$content['mustchangepassword'] === '' && - (string)$content['mail']['activate'] === '' && (string)$content['mail']['quota'] === '') + (string)$content['mail']['activate'] === '' && (string)$content['mail']['quota'] === '' && + strpos($content['mail']['domain'], '.') === false) { $msg = lang('You need to select as least one action!'); } @@ -149,6 +150,41 @@ class admin_passwordreset } } $account['account_password'] = $password; + + if ((string)$content['mail']['activate'] !== '' || (string)$content['mail']['quota'] !== '') + { + if (!isset($emailadmin)) + { + $emailadmin = new emailadmin_bo(); + $domain = $GLOBALS['egw_info']['server']['mail_suffix']; + } + if (($userData = $emailadmin->getUserData ($account_id))) + { + if ((string)$content['mail']['activate'] !== '') + { + $userData['accountStatus'] = $content['mail']['activate'] ? 'active' : ''; + } + if ((string)$content['mail']['quota'] !== '') + { + $userData['quotaLimit'] = $content['mail']['quota']; + } + if (strpos($content['mail']['domain'], '.') !== false) + { + $userData['mailLocalAddress'] = preg_replace('/@'.preg_quote($domain).'$/', '@'.$content['mail']['domain'], $userData['mailLocalAddress']); + + foreach($userData['mailAlternateAddress'] as &$alias) + { + $alias = preg_replace('/@'.preg_quote($domain).'$/', '@'.$content['mail']['domain'], $alias); + } + } + $emailadmin->saveUserData($account_id, $userData); + } + } + else + { + $msg .= lang('No profile defined for user %1', '#'.$account_id.' '.$account['account_fullname']."\n"); + continue; + } $changed[] = $account; if ($content['notify']) @@ -182,29 +218,6 @@ class admin_passwordreset ': '.strip_tags(str_replace('
',"\n",$send->ErrorInfo))."\n";
}
}
- if ((string)$content['mail']['activate'] !== '' || (string)$content['mail']['quota'] !== '')
- {
- if (!isset($emailadmin))
- {
- $emailadmin = new emailadmin_bo();
- }
- if (($userData = $emailadmin->getUserData ($account_id)))
- {
- if ((string)$content['mail']['activate'] !== '')
- {
- $userData['accountStatus'] = $content['mail']['activate'] ? 'active' : '';
- }
- if ((string)$content['mail']['quota'] !== '')
- {
- $userData['quotaLimit'] = $content['mail']['quota'];
- }
- $emailadmin->saveUserData($account_id, $userData);
- }
- }
- else
- {
- $msg .= lang('No profile defined for user %1', '#'.$account_id.' '.$account['account_fullname']);
- }
}
}
if ($changed)
@@ -219,6 +232,7 @@ class admin_passwordreset
$sel_options['hash'] = $account_repository == 'sql' ?
sql_passwdhashes($GLOBALS['egw_info']['server'],true) :
passwdhashes($GLOBALS['egw_info']['server'],true);
+ $sel_options['activate'] = array('Deactivate','Activate');
$content['replacements'] = array();
foreach($this->replacements as $name => $label)
diff --git a/admin/lang/egw_de.lang b/admin/lang/egw_de.lang
index 7958fdfc7b..73bafef7d7 100644
--- a/admin/lang/egw_de.lang
+++ b/admin/lang/egw_de.lang
@@ -35,6 +35,7 @@ acl manager admin de ACL-Manager
acl rights common de ACL-Rechte
action admin de Befehl
actions admin de Befehle
+activate admin de Aktivieren
activate wysiwyg-editor admin de WYSIWYG Editor (formatierter Text) aktivieren
add a category admin de Eine Kategorie hinzufügen
add a group admin de Eine Gruppe hinzufügen
@@ -122,6 +123,7 @@ category saved. admin de Kategorie gespeichert
change account_id admin de Änderung der account_id
change acl rights admin de ACL-Rechte ändern
change config settings admin de Konfiguration der Anwendung ändern
+change domain of email address and aliases admin de ändert Domain von EMail Adressen oder Aliasen
change main screen message admin de Nachricht der Startseite ändern
change owner admin de Besitzer ändern
change password for %1 admin de Ändern des Passworts für %1
@@ -158,6 +160,7 @@ data admin de Daten
day admin de Tag
day of week
(0-6, 0=sun) admin de Wochentag
(0-6, 0=Sonntag)
db backup and restore admin de DB Datensicherung und Wiederherstellung
+deactivate admin de Deaktivieren
default admin de Vorgabe
default file system space per user admin de Vorgabewert für Dateisystemplatz pro Benutzer
default file system space per user/group ? admin de Vorgabewert für Dateisystemplatz pro Benutzer/Gruppe verwenden?
@@ -235,6 +238,7 @@ egroupware version admin de EGroupware Version
either install id and config password needed or the remote hash! admin de Sie benötigen entweder die Install ID UND das Konfigurationspasswort ODER den Remote Hash!
email account active admin de E-Mail-Konto aktiv
email address admin de E-Mail-Adresse
+empty to not change admin de leer lassen um NICHT zu ändern
enable admin de einschalten
enable debug-messages admin de Debug-Meldungen einschalten
enable the soap service admin de soap Service einschalten
@@ -385,6 +389,7 @@ login-status admin de Angemeldet-Status
loginid admin de Login-ID
logintime admin de Anmeldezeit
logoutime admin de Abmeldezeit
+mail account admin de EMail Konto
mail settings admin de E-Mail-Einstellungen
main email-address admin de Stamm-E-Mail-Adresse
main screen message admin de Nachricht der Startseite
diff --git a/admin/lang/egw_en.lang b/admin/lang/egw_en.lang
index e0559e9b6c..986eadffe5 100644
--- a/admin/lang/egw_en.lang
+++ b/admin/lang/egw_en.lang
@@ -35,6 +35,7 @@ acl manager admin en ACL manager
acl rights common en ACL rights
action admin en Action
actions admin en Actions
+activate admin en Activate
activate wysiwyg-editor admin en Activate WYSIWYG-editor
add a category admin en Add a category
add a group admin en Add a group
@@ -122,6 +123,7 @@ category saved. admin en Category saved.
change account_id admin en Change account ID
change acl rights admin en Change ACL rights
change config settings admin en Change config settings
+change domain of email address and aliases admin en change domain of email address and aliases
change main screen message admin en Change main screen message
change owner admin en Change owner
change password for %1 admin en Change password for %1
@@ -158,6 +160,7 @@ data admin en Data
day admin en Day
day of week
(0-6, 0=sun) admin en Day of week
(0-6, 0=Sun)
db backup and restore admin en DB backup and restore
+deactivate admin en Deactivate
default admin en Default
default file system space per user admin en Default file system space per user
default file system space per user/group ? admin en Default file system space per user/group?
@@ -236,6 +239,7 @@ egroupware version admin en EGroupware version
either install id and config password needed or the remote hash! admin en Either install ID AND config password needed OR the remote hash!
email account active admin en Email account active
email address admin en Email address
+empty to not change admin en empty to NOT change
enable admin en Enable
enable debug-messages admin en Enable debug messages.
enable the soap service admin en Enable the soap service.
@@ -386,6 +390,7 @@ login-status admin en Login status
loginid admin en Login ID
logintime admin en Login time
logoutime admin en Logout time
+mail account admin en Mail account
mail settings admin en Mail settings
main email-address admin en Main email address
main screen message admin en Main screen message
diff --git a/admin/setup/etemplates.inc.php b/admin/setup/etemplates.inc.php
index d74d9f8420..b88cad1ed7 100644
--- a/admin/setup/etemplates.inc.php
+++ b/admin/setup/etemplates.inc.php
@@ -2,7 +2,7 @@
/**
* EGroupware - eTemplates for Application admin
* http://www.egroupware.org
- * generated by soetemplate::dump4setup() 2013-04-05 14:50
+ * generated by soetemplate::dump4setup() 2013-04-05 16:12
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package admin
@@ -93,7 +93,7 @@ $templ_data[] = array('name' => 'admin.customtranslation','template' => '','lang
$templ_data[] = array('name' => 'admin.export_users_csv_selectors','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:14:"select-account";s:4:"size";s:10:"All,groups";s:5:"label";s:5:"Group";s:4:"name";s:8:"group_id";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"name";s:9:"selection";s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1302620448',);
-$templ_data[] = array('name' => 'admin.passwordreset','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:2:{s:2:"h1";s:6:",!@msg";s:2:"c5";s:4:",top";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Select users";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"size";s:2:"15";s:4:"name";s:5:"users";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:9:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"6";s:5:"label";s:7:"Actions";i:1;a:3:{s:4:"type";s:8:"checkbox";s:5:"label";s:21:"Set a random password";s:4:"name";s:9:"random_pw";}i:2;a:5:{s:4:"type";s:11:"select-bool";s:4:"size";s:15:"Leave unchanged";s:5:"label";s:36:"Must change password upon next login";s:4:"name";s:18:"mustchangepassword";s:8:"onchange";s:85:"if (this.value==\'1\') document.getElementById(form::name(\'changepassword\')).value=\'1\';";}i:3;a:5:{s:4:"type";s:11:"select-bool";s:4:"size";s:15:"Leave unchanged";s:5:"label";s:19:"Can change password";s:4:"name";s:14:"changepassword";s:8:"onchange";s:136:"var mustchange=document.getElementById(form::name(\'mustchangepassword\')); if (this.value==\'0\' && mustchange.value) mustchange.value=\'0\';";}i:4;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:6:"select";s:4:"size";s:15:"Leave unchanged";s:4:"name";s:4:"hash";s:5:"label";s:23:"Change password hash to";}i:2;a:5:{s:4:"type";s:4:"text";s:5:"label";s:12:"Current hash";s:4:"name";s:12:"current_hash";s:4:"span";s:14:",leftPad5 gray";s:8:"readonly";s:1:"1";}}i:5;a:3:{s:4:"type";s:8:"checkbox";s:5:"label";s:20:"Notify user by email";s:4:"name";s:6:"notify";}i:6;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:11:"select-bool";s:4:"name";s:14:"mail[activate]";s:4:"size";s:15:"Leave unchanged";s:5:"label";s:21:"Activate mail account";}i:2;a:4:{s:4:"type";s:3:"int";s:4:"name";s:11:"mail[quota]";s:5:"label";s:10:"Quota (MB)";s:4:"help";s:20:"|empty to NOT change";}}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:5:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";s:5:"label";s:17:"Notification mail";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"64";s:4:"name";s:7:"subject";s:4:"blur";s:7:"Subject";}i:2;a:3:{s:4:"type";s:8:"textarea";s:4:"size";s:5:"15,64";s:4:"name";s:4:"body";}}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:5:"label";s:22:"Available placeholders";}i:2;a:6:{s:4:"type";s:4:"grid";s:4:"span";s:5:",gray";s:4:"name";s:12:"replacements";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:12:"${row}[name]";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}}s:4:"rows";i:1;s:4:"cols";i:2;}}}i:6;a:2:{s:1:"A";a:3:{s:4:"type";s:6:"button";s:5:"label";s:5:"Start";s:4:"name";s:5:"start";}s:1:"B";a:3:{s:4:"type";s:6:"button";s:5:"label";s:12:"Download CSV";s:4:"name";s:12:"download_csv";}}}s:4:"rows";i:6;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1301655701',);
+$templ_data[] = array('name' => 'admin.passwordreset','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:2:{s:2:"h1";s:6:",!@msg";s:2:"c5";s:4:",top";}i:1;a:3:{s:1:"A";a:3:{s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:4:"type";s:5:"label";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Select users";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:5:"users";s:4:"size";s:2:"15";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:9:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"6";s:5:"label";s:7:"Actions";i:1;a:3:{s:5:"label";s:21:"Set a random password";s:4:"name";s:9:"random_pw";s:4:"type";s:8:"checkbox";}i:2;a:5:{s:4:"type";s:11:"select-bool";s:5:"label";s:36:"Must change password upon next login";s:8:"onchange";s:85:"if (this.value==\'1\') document.getElementById(form::name(\'changepassword\')).value=\'1\';";s:4:"name";s:18:"mustchangepassword";s:4:"size";s:15:"Leave unchanged";}i:3;a:5:{s:4:"type";s:11:"select-bool";s:5:"label";s:19:"Can change password";s:8:"onchange";s:136:"var mustchange=document.getElementById(form::name(\'mustchangepassword\')); if (this.value==\'0\' && mustchange.value) mustchange.value=\'0\';";s:4:"name";s:14:"changepassword";s:4:"size";s:15:"Leave unchanged";}i:4;a:4:{s:4:"size";s:6:"2,,0,0";s:4:"type";s:4:"hbox";i:1;a:4:{s:5:"label";s:23:"Change password hash to";s:4:"name";s:4:"hash";s:4:"size";s:15:"Leave unchanged";s:4:"type";s:6:"select";}i:2;a:5:{s:5:"label";s:12:"Current hash";s:8:"readonly";s:4:"true";s:4:"name";s:12:"current_hash";s:4:"type";s:4:"text";s:4:"span";s:14:",leftPad5 gray";}}i:5;a:3:{s:5:"label";s:20:"Notify user by email";s:4:"name";s:6:"notify";s:4:"type";s:8:"checkbox";}i:6;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:6:"select";s:5:"label";s:12:"Mail account";s:4:"name";s:14:"mail[activate]";s:4:"size";s:15:"Leave unchanged";}i:2;a:5:{s:4:"type";s:3:"int";s:5:"label";s:10:"Quota (MB)";s:4:"name";s:11:"mail[quota]";s:4:"size";s:1:",";s:4:"help";s:20:"|empty to NOT change";}i:3;a:5:{s:5:"label";s:6:"Domain";s:4:"name";s:12:"mail[domain]";s:4:"type";s:4:"text";s:4:"help";s:43:"|change domain of email address and aliases";s:4:"size";s:36:",,/^[a-z0-9]+([._-]{1}[a-z0-9]+)+$/i";}}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:5:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";s:5:"label";s:17:"Notification mail";i:1;a:4:{s:4:"blur";s:7:"Subject";s:4:"size";s:2:"64";s:4:"name";s:7:"subject";s:4:"type";s:4:"text";}i:2;a:3:{s:4:"name";s:4:"body";s:4:"type";s:8:"textarea";s:4:"size";s:5:"15,64";}}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:22:"Available placeholders";s:4:"span";s:5:",gray";}i:2;a:5:{s:4:"type";s:4:"grid";s:4:"name";s:12:"replacements";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:2:{s:4:"name";s:12:"${row}[name]";s:4:"type";s:5:"label";}s:1:"B";a:2:{s:4:"name";s:13:"${row}[label]";s:4:"type";s:5:"label";}}}s:4:"cols";i:2;s:4:"rows";i:1;}}}i:6;a:2:{s:1:"A";a:3:{s:5:"label";s:5:"Start";s:4:"name";s:5:"start";s:4:"type";s:6:"button";}s:1:"B";a:3:{s:5:"label";s:12:"Download CSV";s:4:"name";s:12:"download_csv";s:4:"type";s:6:"button";}}}s:4:"cols";i:3;s:4:"rows";i:6;}}','size' => '','style' => '','modified' => '1365170063',);
$templ_data[] = array('name' => 'admin.remotes','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:2:"h2";s:9:",!@remote";s:2:"h1";s:6:",!@msg";s:2:"h3";s:2:",1";}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:6:"remote";s:4:"span";s:10:"all,border";s:4:"name";s:18:"admin.remotes.edit";}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:26:"admin.remotes.header_right";}}i:4;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"name";s:2:"nm";s:4:"size";s:18:"admin.remotes.rows";}}}s:4:"rows";i:4;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.border { border: black solid 2px; }','modified' => '1195926693',);
diff --git a/admin/templates/default/passwordreset.xet b/admin/templates/default/passwordreset.xet
index ae91aa054d..d3e76b5e09 100644
--- a/admin/templates/default/passwordreset.xet
+++ b/admin/templates/default/passwordreset.xet
@@ -6,11 +6,13 @@