feature to allow copying mails to other folders, (configure via prefs -> ask for cofirmation before moving selected messages), using DIALOG BOXES by Michael Leigeber;
@ -665,6 +665,42 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* copy messages to another folder
|
||||
*
|
||||
* @param string _folder name of the target folder
|
||||
* @param array _selectedMessages UID's of the messages to copy
|
||||
*
|
||||
* @return xajax response
|
||||
*/
|
||||
function copyMessages($_folderName, $_selectedMessages)
|
||||
{
|
||||
if($this->_debug) error_log(__METHOD__." called with Messages ".print_r($_selectedMessages,true));
|
||||
$messageCount = 0;
|
||||
if(is_array($_selectedMessages) && count($_selectedMessages['msg']) > 0) $messageCount = count($_selectedMessages['msg']);
|
||||
$folderName = $this->_decodeEntityFolderName($_folderName);
|
||||
if ($_selectedMessages == 'all' || !empty( $_selectedMessages['msg']) && !empty($folderName)) {
|
||||
if ($this->sessionData['mailbox'] != $folderName)
|
||||
{
|
||||
$deleteAfterMove = false;
|
||||
$this->bofelamimail->moveMessages($folderName, ($_selectedMessages == 'all'? null:$_selectedMessages['msg']),$deleteAfterMove);
|
||||
}
|
||||
else
|
||||
{
|
||||
if($this->_debug) error_log("ajaxfelamimail::copyMessages-> same folder than current selected");
|
||||
}
|
||||
|
||||
return $this->generateMessageList($this->sessionData['mailbox'],($_selectedMessages == 'all'?0:(-1*$messageCount)));
|
||||
} else {
|
||||
$response = new xajaxResponse();
|
||||
$response->addScript('resetMessageSelect();');
|
||||
$response->addScript('tellUser("'.lang('No messages selected, or lost selection. Changing to folder ').'","'.$_folderName.'");');
|
||||
$response->addScript('onNodeSelect("'.$_folderName.'");');
|
||||
return $response->getXML();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function quickSearch($_searchType, $_searchString, $_status)
|
||||
{
|
||||
// save the filter
|
||||
|
@ -2501,7 +2501,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
function moveMessages($_foldername, $_messageUID)
|
||||
function moveMessages($_foldername, $_messageUID, $deleteAfterMove=true)
|
||||
{
|
||||
$msglist = '';
|
||||
|
||||
@ -2511,15 +2511,19 @@
|
||||
return false;
|
||||
}
|
||||
// mark messages as deleted
|
||||
if ( PEAR::isError($this->icServer->deleteMessages($_messageUID, true))) {
|
||||
if ($deleteAfterMove === true)
|
||||
{
|
||||
if ( PEAR::isError($this->icServer->deleteMessages($_messageUID, true)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if($deleteOptions != "mark_as_deleted") {
|
||||
if($deleteOptions != "mark_as_deleted")
|
||||
{
|
||||
// delete the messages finaly
|
||||
$this->icServer->expunge();
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -83,6 +83,7 @@ class felamimail_hooks
|
||||
'0' => lang('no'),
|
||||
'1' => lang('yes')
|
||||
);
|
||||
$no_yes_copy = array_merge($no_yes,array('2'=>lang('yes, offer copy option')));
|
||||
|
||||
$prefAllowManageFolders = $no_yes;
|
||||
|
||||
@ -102,10 +103,9 @@ class felamimail_hooks
|
||||
'6' => lang('size(...->0)')
|
||||
);
|
||||
|
||||
$selectOptions = array(
|
||||
'0' => lang('no'),
|
||||
'1' => lang('yes'),
|
||||
'2' => lang('yes') . ' - ' . lang('small view')
|
||||
$selectOptions = array_merge(
|
||||
$no_yes,
|
||||
array('2' => lang('yes') . ' - ' . lang('small view'))
|
||||
);
|
||||
|
||||
$newWindowOptions = array(
|
||||
@ -184,7 +184,7 @@ class felamimail_hooks
|
||||
'type' => 'select',
|
||||
'label' => 'Do you want to be asked for confirmation before moving selected messages to another folder?',
|
||||
'name' => 'prefaskformove',
|
||||
'values' => $no_yes,
|
||||
'values' => $no_yes_copy,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'forced' => '1',
|
||||
|
@ -620,6 +620,7 @@
|
||||
$this->t->set_var('refreshTime',$refreshTime*60*1000);
|
||||
// other settings
|
||||
$prefaskformove = intval($userPreferences['prefaskformove']) ? intval($userPreferences['prefaskformove']) : 0;
|
||||
|
||||
$this->t->set_var('prefaskformove',$prefaskformove);
|
||||
#// set the url to open when refreshing
|
||||
#$linkData = array
|
||||
@ -974,7 +975,12 @@
|
||||
$this->t->set_var('lang_open_all',lang("open all"));
|
||||
$this->t->set_var('lang_close_all',lang("close all"));
|
||||
$this->t->set_var('lang_moving_messages_to',lang('moving messages to'));
|
||||
$this->t->set_var('lang_askformove',lang('Do you really want to move the selected messages to folder:'));
|
||||
$this->t->set_var('lang_copying_messages_to',lang('copying messages to'));
|
||||
$this->t->set_var('lang_MoveCopyTitle',($GLOBALS['egw_info']['user']['preferences']['felamimail']['prefaskformove']==2?lang('Copy or Move Messages?'):lang('Move Messages?')));
|
||||
$this->t->set_var('lang_askformove',($GLOBALS['egw_info']['user']['preferences']['felamimail']['prefaskformove']==2?lang('Do you really want to move or copy the selected messages to folder:'):lang('Do you really want to move the selected messages to folder:')));
|
||||
$this->t->set_var('lang_move',lang("Move"));
|
||||
$this->t->set_var('lang_copy',lang("Copy"));
|
||||
$this->t->set_var('lang_cancel',lang("Cancel"));
|
||||
$this->t->set_var('lang_mark_all_messages',lang('all messages in folder'));
|
||||
$this->t->set_var('lang_confirm_all_messages',lang('The action will be applied to all messages of the current folder.\nDo you want to proceed?'));
|
||||
$this->t->set_var('lang_empty_trash',lang('empty trash'));
|
||||
|
@ -121,12 +121,53 @@ function OnLoadingStart(_nodeID) {
|
||||
// alert(_nodeID);
|
||||
//}
|
||||
|
||||
function callNodeSelect(_nodeIDfc, mode) {
|
||||
//alert("callNodeSelect:"+_nodeIDfc);
|
||||
var buff = prefAskForMove;
|
||||
if (mode == 0) // cancel
|
||||
{
|
||||
prefAskForMove = 0;
|
||||
CopyOrMove = false;
|
||||
onNodeSelect(_nodeIDfc);
|
||||
}
|
||||
if (mode == 1) // move
|
||||
{
|
||||
prefAskForMove = 0;
|
||||
CopyOrMove = true;
|
||||
onNodeSelect(_nodeIDfc);
|
||||
}
|
||||
if (mode == 2) // copy
|
||||
{
|
||||
prefAskForMove = 99;
|
||||
CopyOrMove = true;
|
||||
onNodeSelect(_nodeIDfc);
|
||||
}
|
||||
prefAskForMove = buff;
|
||||
CopyOrMove = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
function onNodeSelect(_nodeID) {
|
||||
//alert(_nodeID)
|
||||
var Check = true;
|
||||
//alert("onNodeSelect:"+_nodeID);
|
||||
var Check = CopyOrMove;
|
||||
var actionPending = false;
|
||||
if(tree.getUserData(_nodeID, 'folderName')) {
|
||||
if(document.getElementsByName("folderAction")[0].value == "moveMessage") {
|
||||
if (prefAskForMove == 1) Check = confirm(lang_askformove + tree.getUserData(_nodeID, 'folderName'));
|
||||
if (prefAskForMove == 1 || prefAskForMove == 2)
|
||||
{
|
||||
//Check = confirm(lang_askformove + tree.getUserData(_nodeID, 'folderName'));
|
||||
title = lang_MoveCopyTitle;
|
||||
message = lang_askformove + tree.getUserData(_nodeID, 'folderName');
|
||||
message = message + "<p><button onclick=\"callNodeSelect('"+_nodeID+"', 1);hideDialog();\">"+lang_move+"</button>";
|
||||
if (prefAskForMove == 2) message = message + " <button onclick=\"callNodeSelect('"+_nodeID+"', 2);hideDialog();\">"+lang_copy+"</button>";
|
||||
message = message + " <button onclick=\"callNodeSelect('"+_nodeID+"', 0);hideDialog();\">"+lang_cancel+"</button>";
|
||||
type = 'prompt';
|
||||
autohide = 0;
|
||||
showDialog(title,message,type,autohide);
|
||||
Check = false;
|
||||
actionPending = true;
|
||||
}
|
||||
if (prefAskForMove==99) actionPending = 'copy';
|
||||
if (Check == true && document.getElementById('selectAllMessagesCheckBox').checked == true) Check = confirm(lang_confirm_all_messages);
|
||||
if (Check == true)
|
||||
{
|
||||
@ -138,10 +179,22 @@ function onNodeSelect(_nodeID) {
|
||||
resetMessageSelect();
|
||||
formData = xajax.getFormValues('formMessageList');
|
||||
}
|
||||
if (actionPending == 'copy')
|
||||
{
|
||||
setStatusMessage(copyingMessages +' <span style="font-weight: bold;">'+ tree.getUserData(_nodeID, 'folderName') +'</span>');
|
||||
document.getElementById('divMessageList').innerHTML = '';
|
||||
xajax_doXMLHTTP("felamimail.ajaxfelamimail.copyMessages", _nodeID, formData);
|
||||
}
|
||||
else
|
||||
{
|
||||
// default: move messages
|
||||
setStatusMessage(movingMessages +' <span style="font-weight: bold;">'+ tree.getUserData(_nodeID, 'folderName') +'</span>');
|
||||
document.getElementById('divMessageList').innerHTML = '';
|
||||
xajax_doXMLHTTP("felamimail.ajaxfelamimail.moveMessages", _nodeID, formData);
|
||||
}
|
||||
} else {
|
||||
if (actionPending == false)
|
||||
{
|
||||
resetMessageSelect();
|
||||
for(i=0; i< document.forms.formMessageList.elements.length; i++) {
|
||||
if(document.forms.formMessageList.elements[i].checked) {
|
||||
@ -149,6 +202,7 @@ function onNodeSelect(_nodeID) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
resetMessageSelect();
|
||||
setStatusMessage('<span style="font-weight: bold;">' + lang_loading + ' ' + tree.getUserData(_nodeID, 'folderName') + '</span>');
|
||||
@ -157,6 +211,7 @@ function onNodeSelect(_nodeID) {
|
||||
refreshFolderStatus(_nodeID);
|
||||
}
|
||||
}
|
||||
CopyOrMove = true;
|
||||
}
|
||||
|
||||
function quickSearch() {
|
||||
@ -479,3 +534,131 @@ function changeActiveAccount(_accountSelection)
|
||||
xajax_doXMLHTTP('felamimail.ajaxfelamimail.changeActiveAccount',_accountSelection.value);
|
||||
}
|
||||
|
||||
// DIALOG BOXES by Michael Leigeber
|
||||
// global variables //
|
||||
var TIMER = 5;
|
||||
var SPEED = 10;
|
||||
var WRAPPER = 'divPoweredBy';
|
||||
|
||||
// calculate the current window width //
|
||||
function pageWidth() {
|
||||
return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
|
||||
}
|
||||
|
||||
// calculate the current window height //
|
||||
function pageHeight() {
|
||||
return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
|
||||
}
|
||||
|
||||
// calculate the current window vertical offset //
|
||||
function topPosition() {
|
||||
return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
|
||||
}
|
||||
|
||||
// calculate the position starting at the left of the window //
|
||||
function leftPosition() {
|
||||
return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
|
||||
}
|
||||
|
||||
// build/show the dialog box, populate the data and call the fadeDialog function //
|
||||
function showDialog(title,message,type,autohide) {
|
||||
if(!type) {
|
||||
type = 'error';
|
||||
}
|
||||
var dialog;
|
||||
var dialogheader;
|
||||
var dialogclose;
|
||||
var dialogtitle;
|
||||
var dialogcontent;
|
||||
var dialogmask;
|
||||
if(!document.getElementById('dialog')) {
|
||||
dialog = document.createElement('div');
|
||||
dialog.id = 'dialog';
|
||||
dialogheader = document.createElement('div');
|
||||
dialogheader.id = 'dialog-header';
|
||||
dialogtitle = document.createElement('div');
|
||||
dialogtitle.id = 'dialog-title';
|
||||
dialogclose = document.createElement('div');
|
||||
dialogclose.id = 'dialog-close'
|
||||
dialogcontent = document.createElement('div');
|
||||
dialogcontent.id = 'dialog-content';
|
||||
dialogmask = document.createElement('div');
|
||||
dialogmask.id = 'dialog-mask';
|
||||
document.body.appendChild(dialogmask);
|
||||
document.body.appendChild(dialog);
|
||||
dialog.appendChild(dialogheader);
|
||||
dialogheader.appendChild(dialogtitle);
|
||||
dialogheader.appendChild(dialogclose);
|
||||
dialog.appendChild(dialogcontent);;
|
||||
dialogclose.setAttribute('onclick','hideDialog()');
|
||||
dialogclose.onclick = hideDialog;
|
||||
} else {
|
||||
dialog = document.getElementById('dialog');
|
||||
dialogheader = document.getElementById('dialog-header');
|
||||
dialogtitle = document.getElementById('dialog-title');
|
||||
dialogclose = document.getElementById('dialog-close');
|
||||
dialogcontent = document.getElementById('dialog-content');
|
||||
dialogmask = document.getElementById('dialog-mask');
|
||||
dialogmask.style.visibility = "visible";
|
||||
dialog.style.visibility = "visible";
|
||||
}
|
||||
dialog.style.opacity = .00;
|
||||
dialog.style.filter = 'alpha(opacity=0)';
|
||||
dialog.alpha = 0;
|
||||
var width = pageWidth();
|
||||
var height = pageHeight();
|
||||
var left = leftPosition();
|
||||
var top = topPosition();
|
||||
var dialogwidth = dialog.offsetWidth;
|
||||
var dialogheight = dialog.offsetHeight;
|
||||
var topposition = top + (height / 3) - (dialogheight / 2);
|
||||
var leftposition = left + (width / 2) - (dialogwidth / 2);
|
||||
dialog.style.top = topposition + "px";
|
||||
dialog.style.left = leftposition + "px";
|
||||
dialogheader.className = type + "header";
|
||||
dialogtitle.innerHTML = title;
|
||||
dialogcontent.className = type;
|
||||
dialogcontent.innerHTML = message;
|
||||
var content = document.getElementById(WRAPPER);
|
||||
dialogmask.style.height = content.offsetHeight + 'px';
|
||||
dialog.timer = setInterval("fadeDialog(1)", TIMER);
|
||||
if(autohide) {
|
||||
dialogclose.style.visibility = "hidden";
|
||||
window.setTimeout("hideDialog()", (autohide * 1000));
|
||||
} else {
|
||||
dialogclose.style.visibility = "visible";
|
||||
}
|
||||
}
|
||||
|
||||
// hide the dialog box //
|
||||
function hideDialog() {
|
||||
var dialog = document.getElementById('dialog');
|
||||
clearInterval(dialog.timer);
|
||||
dialog.timer = setInterval("fadeDialog(0)", TIMER);
|
||||
}
|
||||
|
||||
// fade-in the dialog box //
|
||||
function fadeDialog(flag) {
|
||||
if(flag == null) {
|
||||
flag = 1;
|
||||
}
|
||||
var dialog = document.getElementById('dialog');
|
||||
var value;
|
||||
if(flag == 1) {
|
||||
value = dialog.alpha + SPEED;
|
||||
} else {
|
||||
value = dialog.alpha - SPEED;
|
||||
}
|
||||
dialog.alpha = value;
|
||||
dialog.style.opacity = (value / 100);
|
||||
dialog.style.filter = 'alpha(opacity=' + value + ')';
|
||||
if(value >= 99) {
|
||||
clearInterval(dialog.timer);
|
||||
dialog.timer = null;
|
||||
} else if(value <= 1) {
|
||||
dialog.style.visibility = "hidden";
|
||||
document.getElementById('dialog-mask').style.visibility = "hidden";
|
||||
clearInterval(dialog.timer);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -486,4 +486,21 @@ DIV.divButton {
|
||||
border-top: 1px solid silver;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
/*
|
||||
* new dialog style definitions
|
||||
*/
|
||||
#contentdialog {padding:20px}
|
||||
#dialog {position:absolute; width:425px; padding:10px; z-index:200; background:#fff}
|
||||
#dialog-header {display:block; position:relative; width:411px; padding:3px 6px 7px; height:14px; font-size:14px; font-weight:bold}
|
||||
#dialog-title {float:left}
|
||||
#dialog-close {float:right; cursor:pointer; margin:3px 3px 0 0; height:11px; width:11px; background:url(images/dialog_close.gif) no-repeat}
|
||||
#dialog-content {display:block; height:160px; padding:6px; color:#666666; font-size:13px}
|
||||
#dialog-mask {position:absolute; top:0; left:0; min-height:100%; width:100%; background:#FFF; opacity:.75; filter:alpha(opacity=75); z-index:100}
|
||||
.error {background:#fff url(images/error_bg.jpg) bottom right no-repeat; border:1px solid #924949; border-top:none}
|
||||
.errorheader {background:url(images/error_header.gif) repeat-x; color:#6f2c2c; border:1px solid #924949; border-bottom:none}
|
||||
.warning {background:#fff url(images/warning_bg.jpg) bottom right no-repeat; border:1px solid #c5a524; border-top:none}
|
||||
.warningheader {background:url(images/warning_header.gif) repeat-x; color:#957c17; border:1px solid #c5a524; border-bottom:none}
|
||||
.success {background:#fff url(images/success_bg.jpg) bottom right no-repeat; border:1px solid #60a174; border-top:none}
|
||||
.successheader {background:url(images/success_header.gif) repeat-x; color:#3c7f51; border:1px solid #60a174; border-bottom:none}
|
||||
.prompt {background:#fff url(images/prompt_bg.jpg) bottom right no-repeat; border:1px solid #4f6d81; border-top:none}
|
||||
.promptheader {background:url(images/prompt_header.gif) repeat-x; color:#355468; border:1px solid #4f6d81; border-bottom:none}
|
||||
|
BIN
felamimail/templates/default/images/dialog_close.gif
Normal file
After Width: | Height: | Size: 64 B |
BIN
felamimail/templates/default/images/error_bg.jpg
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
felamimail/templates/default/images/error_header.gif
Normal file
After Width: | Height: | Size: 151 B |
BIN
felamimail/templates/default/images/overlay.png
Normal file
After Width: | Height: | Size: 137 B |
BIN
felamimail/templates/default/images/prompt_bg.jpg
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
felamimail/templates/default/images/prompt_header.gif
Normal file
After Width: | Height: | Size: 150 B |
BIN
felamimail/templates/default/images/success_bg.jpg
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
felamimail/templates/default/images/success_header.gif
Normal file
After Width: | Height: | Size: 150 B |
BIN
felamimail/templates/default/images/warning_bg.jpg
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
felamimail/templates/default/images/warning_header.gif
Normal file
After Width: | Height: | Size: 151 B |
@ -5,8 +5,14 @@ var sURL = unescape(window.location.pathname);
|
||||
// some translations needed for javascript functions
|
||||
|
||||
var movingMessages = '{lang_moving_messages_to}';
|
||||
var copyingMessages = '{lang_copying_messages_to}';
|
||||
var lang_askformove = '{lang_askformove}';
|
||||
var prefAskForMove = '{prefaskformove}';
|
||||
var CopyOrMove = true;
|
||||
var lang_MoveCopyTitle = '{lang_MoveCopyTitle}';
|
||||
var lang_copy = '{lang_copy}';
|
||||
var lang_move = '{lang_move}';
|
||||
var lang_cancel = '{lang_cancel}';
|
||||
|
||||
var lang_emptyTrashFolder = '{lang_empty_trash}';
|
||||
var lang_compressingFolder = '{lang_compress_folder}';
|
||||
@ -47,7 +53,6 @@ fm_startTimerFolderStatusUpdate(refreshTimeOut);
|
||||
fm_startTimerMessageListUpdate(refreshTimeOut);
|
||||
|
||||
</script>
|
||||
|
||||
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" style="border: solid #aaaaaa 1px; border-right: solid black 1px; ">
|
||||
<tr class="navbarBackground">
|
||||
<td align="left" width="180px">
|
||||
@ -127,7 +132,6 @@ fm_startTimerMessageListUpdate(refreshTimeOut);
|
||||
</TD>
|
||||
</TR>
|
||||
</table>
|
||||
|
||||
<!-- END main -->
|
||||
|
||||
<!-- BEGIN message_table -->
|
||||
@ -139,6 +143,7 @@ fm_startTimerMessageListUpdate(refreshTimeOut);
|
||||
<span id="spanMessagePreview">
|
||||
{IFrameForPreview}
|
||||
</span>
|
||||
|
||||
<!-- END message_table -->
|
||||
|
||||
<!-- BEGIN status_row_tpl -->
|
||||
|
@ -529,4 +529,21 @@ DIV.divButton {
|
||||
border-top: 1px solid silver;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
/*
|
||||
* new dialog style definitions
|
||||
*/
|
||||
#contentdialog {padding:20px}
|
||||
#dialog {position:absolute; width:425px; padding:10px; z-index:200; background:#fff}
|
||||
#dialog-header {display:block; position:relative; width:411px; padding:3px 6px 7px; height:14px; font-size:14px; font-weight:bold}
|
||||
#dialog-title {float:left}
|
||||
#dialog-close {float:right; cursor:pointer; margin:3px 3px 0 0; height:11px; width:11px; background:url(images/dialog_close.gif) no-repeat}
|
||||
#dialog-content {display:block; height:160px; padding:6px; color:#666666; font-size:13px}
|
||||
#dialog-mask {position:absolute; top:0; left:0; min-height:100%; width:100%; background:#FFF; opacity:.75; filter:alpha(opacity=75); z-index:100}
|
||||
.error {background:#fff url(../default/images/error_bg.jpg) bottom right no-repeat; border:1px solid #924949; border-top:none}
|
||||
.errorheader {background:url(../default/images/error_header.gif) repeat-x; color:#6f2c2c; border:1px solid #924949; border-bottom:none}
|
||||
.warning {background:#fff url(../default/images/warning_bg.jpg) bottom right no-repeat; border:1px solid #c5a524; border-top:none}
|
||||
.warningheader {background:url(../default/images/warning_header.gif) repeat-x; color:#957c17; border:1px solid #c5a524; border-bottom:none}
|
||||
.success {background:#fff url(../default/images/success_bg.jpg) bottom right no-repeat; border:1px solid #60a174; border-top:none}
|
||||
.successheader {background:url(../default/images/success_header.gif) repeat-x; color:#3c7f51; border:1px solid #60a174; border-bottom:none}
|
||||
.prompt {background:#fff url(../default/images/prompt_bg.jpg) bottom right no-repeat; border:1px solid #4f6d81; border-top:none}
|
||||
.promptheader {background:url(../default/images/prompt_header.gif) repeat-x; color:#355468; border:1px solid #4f6d81; border-bottom:none}
|
||||
|
@ -5,8 +5,14 @@ var sURL = unescape(window.location.pathname);
|
||||
// some translations needed for javascript functions
|
||||
|
||||
var movingMessages = '{lang_moving_messages_to}';
|
||||
var copyingMessages = '{lang_copying_messages_to}';
|
||||
var lang_askformove = '{lang_askformove}';
|
||||
var prefAskForMove = '{prefaskformove}';
|
||||
var CopyOrMove = true;
|
||||
var lang_MoveCopyTitle = '{lang_MoveCopyTitle}';
|
||||
var lang_copy = '{lang_copy}';
|
||||
var lang_move = '{lang_move}';
|
||||
var lang_cancel = '{lang_cancel}';
|
||||
|
||||
var lang_emptyTrashFolder = '{lang_empty_trash}';
|
||||
var lang_compressingFolder = '{lang_compress_folder}';
|
||||
@ -131,7 +137,6 @@ fm_startTimerMessageListUpdate(refreshTimeOut);
|
||||
</TR>
|
||||
</table>
|
||||
|
||||
|
||||
<!-- END main -->
|
||||
|
||||
<!-- BEGIN message_table -->
|
||||
|