|
@@ -3271,6 +3271,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|
$pdo->beginTransaction();
|
|
$pdo->beginTransaction();
|
|
$pdo->exec('SET FOREIGN_KEY_CHECKS = 0');
|
|
$pdo->exec('SET FOREIGN_KEY_CHECKS = 0');
|
|
|
|
|
|
|
|
+ // Update username in mailbox table
|
|
$pdo->prepare('UPDATE mailbox SET username = :new_username, local_part = :new_local_part WHERE username = :old_username')
|
|
$pdo->prepare('UPDATE mailbox SET username = :new_username, local_part = :new_local_part WHERE username = :old_username')
|
|
->execute([
|
|
->execute([
|
|
':new_username' => $new_username,
|
|
':new_username' => $new_username,
|
|
@@ -3278,6 +3279,13 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|
':old_username' => $old_username
|
|
':old_username' => $old_username
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
+ $pdo->prepare("UPDATE alias SET address = :new_username, goto = :new_username2 WHERE address = :old_username")
|
|
|
|
+ ->execute([
|
|
|
|
+ ':new_username' => $new_username,
|
|
|
|
+ ':new_username2' => $new_username,
|
|
|
|
+ ':old_username' => $old_username
|
|
|
|
+ ]);
|
|
|
|
+
|
|
// Update the username in all related tables
|
|
// Update the username in all related tables
|
|
$tables = [
|
|
$tables = [
|
|
'tags_mailbox' => 'username',
|
|
'tags_mailbox' => 'username',
|
|
@@ -3287,9 +3295,9 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|
'da_acl' => 'username',
|
|
'da_acl' => 'username',
|
|
'quota2' => 'username',
|
|
'quota2' => 'username',
|
|
'quota2replica' => 'username',
|
|
'quota2replica' => 'username',
|
|
- 'pushover' => 'username'
|
|
|
|
|
|
+ 'pushover' => 'username',
|
|
|
|
+ 'alias' => 'goto'
|
|
];
|
|
];
|
|
-
|
|
|
|
foreach ($tables as $table => $column) {
|
|
foreach ($tables as $table => $column) {
|
|
$pdo->prepare("UPDATE $table SET $column = :new_username WHERE $column = :old_username")
|
|
$pdo->prepare("UPDATE $table SET $column = :new_username WHERE $column = :old_username")
|
|
->execute([
|
|
->execute([
|
|
@@ -3298,6 +3306,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|
]);
|
|
]);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Update c_uid, c_name and mail in _sogo_static_view table
|
|
$pdo->prepare("UPDATE _sogo_static_view SET c_uid = :new_username, c_name = :new_username2, mail = :new_username3 WHERE c_uid = :old_username")
|
|
$pdo->prepare("UPDATE _sogo_static_view SET c_uid = :new_username, c_name = :new_username2, mail = :new_username3 WHERE c_uid = :old_username")
|
|
->execute([
|
|
->execute([
|
|
':new_username' => $new_username,
|
|
':new_username' => $new_username,
|
|
@@ -3306,14 +3315,6 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|
':old_username' => $old_username
|
|
':old_username' => $old_username
|
|
]);
|
|
]);
|
|
|
|
|
|
- $pdo->prepare("UPDATE alias SET address = :new_username, goto = :new_username2 WHERE address = :old_username")
|
|
|
|
- ->execute([
|
|
|
|
- ':new_username' => $new_username,
|
|
|
|
- ':new_username2' => $new_username,
|
|
|
|
- ':old_username' => $old_username
|
|
|
|
- ]);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
// Re-enable foreign key checks
|
|
// Re-enable foreign key checks
|
|
$pdo->exec('SET FOREIGN_KEY_CHECKS = 1');
|
|
$pdo->exec('SET FOREIGN_KEY_CHECKS = 1');
|
|
$pdo->commit();
|
|
$pdo->commit();
|
|
@@ -3325,6 +3326,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
|
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
|
|
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
|
|
'msg' => $e->getMessage()
|
|
'msg' => $e->getMessage()
|
|
);
|
|
);
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
|
|
|
|
// move maildir
|
|
// move maildir
|