diff --git a/mail/inc/class.mail_ui.inc.php b/mail/inc/class.mail_ui.inc.php index c15cc99e6c..cbc16489b4 100644 --- a/mail/inc/class.mail_ui.inc.php +++ b/mail/inc/class.mail_ui.inc.php @@ -3511,7 +3511,7 @@ $success=true; */ function ajax_MoveFolder($_folderName, $_target) { - error_log(__METHOD__.__LINE__."Move Folder: $_folderName to Target: $_target"); + //error_log(__METHOD__.__LINE__."Move Folder: $_folderName to Target: $_target"); if ($_folderName) { $decodedFolderName = $this->mail_bo->decodeEntityFolderName($_folderName); @@ -3526,6 +3526,7 @@ $success=true; $pA = explode($del,$folderName); $namePart = array_pop($pA); $_newName = $namePart; + $oldParentFolder = implode($del,$pA); $parentFolder = $_newLocation; if (strtoupper($folderName)!= 'INBOX') { @@ -3551,7 +3552,6 @@ $success=true; else { $rv = $this->mail_bo->subscribe($folder, false); - $fragments[$profileID.self::$delimiter.$folder] = substr($folder,strlen($folderName)); } } //error_log(__METHOD__.__LINE__.' Fetched Subfolders->'.array2string($fragments)); @@ -3574,12 +3574,12 @@ $success=true; $newFolderName=$folderName; $msg = $e->getMessage(); } - $this->mail_bo->reopen($newFolderName); - $fS = $this->mail_bo->getFolderStatus($newFolderName,false); + $this->mail_bo->reopen($parentFolder); + $fS = $this->mail_bo->getFolderStatus($parentFolder,false); //error_log(__METHOD__.__LINE__.array2string($fS)); if ($hasChildren) { - $subFolders = $this->mail_bo->getMailBoxesRecursive($newFolderName, $delimiter, $prefix); + $subFolders = $this->mail_bo->getMailBoxesRecursive($parentFolder, $delimiter, $prefix); foreach ($subFolders as $k => $folder) { // we do not monitor failure or success on subfolders @@ -3594,34 +3594,6 @@ $success=true; } //error_log(__METHOD__.__LINE__.' Fetched Subfolders->'.array2string($subFolders)); } - - $oA[$_folderName]['id'] = $profileID.self::$delimiter.$newFolderName; - $oA[$_folderName]['olddesc'] = $oldFolderInfo['shortDisplayName']; - if ($fS['unseen']) - { - $oA[$_folderName]['desc'] = ''.$fS['shortDisplayName'].' ('.$fS['unseen'].')'; - - } - else - { - $oA[$_folderName]['desc'] = $fS['shortDisplayName']; - } - foreach((array)$fragments as $oldFolderName => $fragment) - { - //error_log(__METHOD__.__LINE__.':'.$oldFolderName.'->'.$profileID.self::$delimiter.$newFolderName.$fragment); - $oA[$oldFolderName]['id'] = $profileID.self::$delimiter.$newFolderName.$fragment; - $oA[$oldFolderName]['olddesc'] = '#skip-user-interaction-message#'; - $fS = $this->mail_bo->getFolderStatus($newFolderName.$fragment,false); - if ($fS['unseen']) - { - $oA[$oldFolderName]['desc'] = ''.$fS['shortDisplayName'].' ('.$fS['unseen'].')'; - - } - else - { - $oA[$oldFolderName]['desc'] = $fS['shortDisplayName']; - } - } } } if ($folderName==$this->mail_bo->sessionData['mailbox']) @@ -3633,7 +3605,13 @@ $success=true; $response = egw_json_response::get(); if ($oA && $success) { - $response->call('app.mail.mail_setLeaf',$oA,'mail'); + $oldFolderInfo = $this->mail_bo->getFolderStatus($oldParentFolder,false); + $folderInfo = $this->mail_bo->getFolderStatus($parentFolder,false); +// $response->call('app.mail.mail_setLeaf',$oA,'mail'); + $response->call('app.mail.mail_reloadNode',array( + $profileID.self::$delimiter.$oldParentFolder=>$oldFolderInfo['shortDisplayName'], + $profileID.self::$delimiter.$parentFolder=>$folderInfo['shortDisplayName']),'mail'); + } else {