/*
* -----
* Screenshot Sender - ftp.js
* -----
* Ftp upload functionality for Screenshot Sender
* -----
*/
var bIsFtpTesting = false;
var bFtpSuccess = false;
var oFilesToFtp = [];
var tWndFtp;
var oFtpChatWnd = {};
function Ftp_Test(tFtpServer, tFtpLogin, tFtpPassword, tFtpPort, pPlusWndFtp) {
_debug.getfuncname(arguments);
bIsFtpTesting = true, tWndFtp = pPlusWndFtp;
MsgPlus.UploadFileFTP('', tFtpServer, tFtpLogin, tFtpPassword, '', true, parseInt(tFtpPort));
}
function Ftp_UploadFile(sFile, bForce, pChatWnd, bUseCurrentFilename) {
_debug.getfuncname(arguments);
if (typeof bForce === TYPE_UNDEFINED) bForce = false;
if (typeof bSendUrl === TYPE_UNDEFINED) bSendUrl = false;
if (typeof bUseCurrentFilename === TYPE_UNDEFINED) bUseCurrentFilename = false;
if (bForce === true || objPreferences['cUploadFilesWhenIdle'] === 0) {
bIsFtpTesting = false;
var sFilename = (bUseCurrentFilename?
SessionImages.GetFilename(sFile) :
SessionImages.FilenameQuickTexts(objPreferences['tFilename'])+SessionImages.AppendExt()
);
oFtpChatWnd[SessionImages.GetFilename(sFile)] = {
'pChatWnd' : pChatWnd,
'sFilename' : sFilename
};
MsgPlus.UploadFileFTP(sFile,
objPreferences['tFtpServer'],
objPreferences['tFtpLogin'],
objPreferences['tFtpPassword'],
objPreferences['tFtpDirectory']+ '/' + sFilename,
true,
parseInt(objPreferences['tFtpPort']));
} else if (objPreferences['cUploadFilesWhenIdle'] === 1){
oFilesToFtp.push(sFile);
}
}
function OnEvent_UploadFileComplete(Server, Destination, Source, Success) {
_debug.getfuncname(arguments);
Source ?
Ftp_UploadFileComplete(Success, SessionImages.GetFilename(Source)) :
Ftp_TestComplete(Success, Server);
}
function Ftp_TestComplete(bSuccess, sServer) {
_debug.getfuncname(arguments);
bIsFtpTesting = false;
Preferences_ShowChild('PrefFtp');
/* Start : Enabling Close menu */
var hSysMenu = _win32.GetSystemMenu(objWindows['Preferences'].Handle, false);
_win32.EnableMenuItem(hSysMenu, _win32._const._SC_CLOSE, _win32._const._MF_BYCOMMAND | _win32._const._MF_ENABLED);
_win32.ShowWindow(objWindows['Preferences'].GetControlHandle('BaseBtnCancel'), _win32._const._SW_SHOW);
/* End : Enabling Close menu */
if (bSuccess == true) {
_win32.MessageBoxW(tWndFtp.Handle, sReplace(
_lang.text['MsgBoxFtpSuccess'],
[sServer, tWndFtp.GetControlText('tFtpPort'), tWndFtp.GetControlText('tFtpLogin')]
), _lang.text['MsgBoxFtpSuccess_Title'], 32);
} else {
_win32.MessageBoxW(tWndFtp.Handle, sReplace(
_lang.text['MsgBoxFtpFailed'],
[sServer, tWndFtp.GetControlText('tFtpPort'), tWndFtp.GetControlText('tFtpLogin')]
), _lang.text['MsgBoxFtpFailed_Title'], 32);
}
}
function Ftp_UploadFileComplete(bSuccess, sSource) {
_debug.getfuncname(arguments);
sSource = SessionImages.GetFilename(sSource);
Ftp_SendLink(oFtpChatWnd[sSource].pChatWnd, oFtpChatWnd[sSource].sFilename);
}
function Ftp_InitiateFileTransferOnIdle() {
_debug.getfuncname(arguments);
if (objPreferences['cUploadFilesWhenIdle']) {
for (var i in oFilesToFtp) {
Ftp_UploadFile(oFilesToFtp[0]);
oFilesToFtp.shift();
}
}
}
function Ftp_SendLink(pChatWnd, sFile) {
_debug.getfuncname(arguments);
if (objPreferences['cSendUploadLink'] == false || !pChatWnd.EditChangeAllowed) return;
pChatWnd.SendMessage(objPreferences['tSendLink']+sFile);
}