Files
claudio 368d6fafea Issue
Code backup
2026-05-10 16:59:01 +02:00

6234 lines
292 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* global common */
// settings page
webphone_api._settings = (function ()
{
var isSettLevelBasic = true; // basic / advanced settings display
var startedfrom = '';
var filtervisible = false; // means search filder is hidden
var isAdvancedLoginSett = 0; // show advanced login settings: 0=no, 1=from login page, 2=from advanced SIP settings
var isAfterAdvancedLoginSett = 0;
var restorebasicsettings = 0;
//OPSSTART
var currautoprovsrv = ''; //-- autoprovisioning -> if op code changed, then download autoprovisioning (block at start)
//OPSEND
var chooseenginetouse = '';
function onCreate (event) // called only once - bind events here
{
try{
if(webphone_api.common.CanLog(4)) { webphone_api.common.PutToDebugLog(4, "EVENT, _settings: onCreate"); }
webphone_api.global.sipstackstarted = false;
webphone_api.common.SetLanguage();
//--if (webphone_api.global.isdebugversion === true)
//--{
//-- webphone_api.$('#testrate').show();
//-- webphone_api.$('#testrate').on('click', function(event)
//-- {
//-- webphone_api.common.UriParser(webphone_api.common.GetParameter('ratingrequest'), '', '4072', '', '', 'getrating');
//-- });
//--}
// listen for enter onclick, and click OK button - working only for dialog boxes
//webphone_api.$( "body" ).keypress(function( event )
webphone_api.$( "#page_settings" ).keydown(function(event)
{
if ( event.which === 13) // enter
{
event.preventDefault();
var active_popups = webphone_api.$.mobile.activePage.find(".messagePopup");
if (!webphone_api.common.isNull(active_popups) && active_popups.length > 0)
{
webphone_api.$("#adialog_positive").click();
}
else if (document.getElementById('btn_login') !== null)
{
webphone_api.$("#btn_login").click();
}
else if (document.getElementById('lp_btn_login') !== null)
{
webphone_api.$("#lp_btn_login").click();
}
}
else if ( event.which === 27) // ESC
{
event.preventDefault();
var active_popups = webphone_api.$.mobile.activePage.find(".messagePopup");
if (!webphone_api.common.isNull(active_popups) && active_popups.length > 0)
{
webphone_api.$("#adialog_negative").click();
}
else
{
webphone_api.$("#btn_back_settings").click();
}
}
else
{
return;
}
});
// register global error listener: just for skin, NOT for SDK
try{
window.onerror = function (msg, url, lineNo, columnNo, error)
{
try{
if (console)
{
var emsg = 'GlobalErrorHandler: ERROR, ' + msg + ' (' + error + ') url: ' + url + ' line: ' + lineNo + ' col: ' + columnNo;
if (console.error)
{
console.error(emsg);
}
else if (console.log)
{
console.log(emsg);
}
webphone_api.common.PutToDebugLog(2, 'ERROR, GlobalErrorHandler: ' + emsg);
}
} catch(errin2) { ; }
return false;
};
} catch(errin1) { ; }
webphone_api.$('#settings_list').on('click', 'li', function(event)
{
OnListItemClick(webphone_api.$(this).attr('id'));
});
webphone_api.$( window ).resize(function() // window resize handling
{
if (webphone_api.$.mobile.activePage.attr('id') === 'page_settings')
{
MeasureSettingslist();
}
});
webphone_api.$('#settings_menu_ul').on('click', 'li', function(event)
{
MenuItemSelected(webphone_api.$(this).attr('id'));
});
webphone_api.common.SetLogFormAction();
webphone_api.$("#btn_settings_menu").on("click", function() { CreateOptionsMenu('#settings_menu_ul'); });
webphone_api.$("#btn_settings_menu").attr("title", webphone_api.stringres.get("hint_menu"));
webphone_api.$("#btn_back_settings").attr("title", webphone_api.stringres.get("hint_btnback"));
webphone_api.$("#lp_btn_login").attr("title", webphone_api.stringres.get("hint_settlogin"));
webphone_api.$("#btn_back_settings").on("click", function(event) { BackOnClick(event); });
webphone_api.$("#btn_settings_engine_close").on("click", function(event)
{
webphone_api.common.SaveParameter('ignoreengineselect', 'true');
webphone_api.$('#settings_engine').hide();
webphone_api.$('#dialpad_engine').hide();
MeasureSettingslist();
});
webphone_api.$("#a_newuser").on("click", function(event)
{
OnNewUserClicked();
event.preventDefault();
});
webphone_api.$("#a_forgotpassword").on("click", function(event)
{
if (webphone_api.common.IsWindowsSoftphone())
{
var forgotpasswordurl = webphone_api.common.GetConfig('forgotpasswordurl');
if (!webphone_api.common.isNull(forgotpasswordurl) && forgotpasswordurl.length > 3)
{
webphone_api.common.OpenLinkInExternalBrowser(forgotpasswordurl);
event.preventDefault();
}
}
});
webphone_api.$('#lp_btn_custom').on("click", function(event) { CustomBtn(); });
// not used anymore (footer notification) !!!DEPRECATED
webphone_api.$("#btn_settings_engine").on("click", function(event)
{
webphone_api.common.SaveParameter('ignoreengineselect', 'true');
webphone_api.$('#settings_engine').hide();
webphone_api.$('#dialpad_engine').hide();
if (webphone_api.common.isNull(chooseenginetouse) || chooseenginetouse.length < 1) { return; }
MeasureSettingslist();
// handle click action based on selected engine
if (chooseenginetouse === 'java'){ ; }
else if (chooseenginetouse === 'webrtc') { webphone_api.common.EngineSelect(1,2); }
else if (chooseenginetouse === 'ns')
{
//webphone_api.common.NPDownloadAndInstall(4);
setTimeout(function ()
{
webphone_api.common.NPDownloadAndInstall(5);
}, 400);
var downloadurl = webphone_api.common.GetNPLocation();
if (!webphone_api.common.isNull(downloadurl) && downloadurl.length > 0)
{
window.open(downloadurl);
}
}
else if (chooseenginetouse === 'flash')
{
; // todo: implement for flash
}
else if (chooseenginetouse === 'app')
{
webphone_api.common.ResetEngineClicked();
var engine = webphone_api.common.GetEngine('app');
engine.clicked = 2;
SetEngine('app', engine);
}
var engine = webphone_api.common.GetEngine(chooseenginetouse);
if (!webphone_api.common.isNull(engine))
{
engine.clicked = 2;
webphone_api.common.SetEngine(chooseenginetouse, engine);
webphone_api.common.ShowToast(webphone_api.common.GetEngineDisplayName(chooseenginetouse) + ' ' + webphone_api.stringres.get('ce_use'), function ()
{
webphone_api.common.ChooseEngineLogic2(chooseenginetouse);
chooseenginetouse = '';
});
}
});
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 58) // enikma
{
var logodiv = document.getElementById('logologinpage');
if (!webphone_api.common.isNull(logodiv))
{
logodiv.innerHTML = '<img src="' + webphone_api.common.GetElementSource() + 'images/logo.png" style="border: 0;">&nbsp;&nbsp;<div style="color:#000; font-size: .6em; display: inline-block; position: relative; top: -0.6em;"><b>eNikMa</b> Unified Comm</div>';
}
}
//BRANDEND
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: onCreate", err); }
}
function onStart(event)
{
try{
//--setTimeout(function ()
//--{
//-- var message = 'For best experience: <a href="http://localhost:8383/_Webphone/native/WebPhoneService_Install.exe" target="_blank" id="adialog_nativeplugin">Install service plugin</a><br><br>';
//-- var callback = function (){};
//-- webphone_api.common.UserChooseEnginePopup(message, false, true, callback);
//--}, 500);
webphone_api.global.sipstackstarted = false;
webphone_api.common.SetCurrTheme();
if (webphone_api.global.isdebugengine)
{
setTimeout(function ()
{
webphone_api.common.ChooseEngineLogic(function ()
{
console.log('StartUp');
}, false, 5);
},200);
}
ismodified = false;
webphone_api.global.pagewasrefreshed = false;
webphone_api.global.dploadingdisplayed = false;
webphone_api.global.loglevel = webphone_api.common.GetLogLevel();
if(webphone_api.common.CanLog(4)) { webphone_api.common.PutToDebugLog(4, "EVENT, _settings: onStart"); }
// content was hidden untill jquery mobile loaded. now dislpay content
document.getElementById('phone_app_main_container').style.display = 'block';
webphone_api.common.ShowModalLoader(webphone_api.stringres.get('loading'));
if(webphone_api.common.CanLog(3)) { webphone_api.common.PutToDebugLogSpecial(3, 'EVENT, _settings: onStart display Loading... modal loader_1', false, ''); }
webphone_api.global.apppletloaded = false;
//-- API_GuiStarted() when skin is loaded
//-- if (webphone_api.common.GetParameter('devicetype') === webphone_api.common.DEVICE_WIN_SOFTPHONE())
if (webphone_api.common.IsWindowsSoftphone())
{
webphone_api.common.WinAPI('API_GuiStarted', function (answer)
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings API_GuiStarted response: ' + answer);
});
}
webphone_api.global.isSettingsStarted = true;
webphone_api.$("#settings_list").prev("form.ui-filterable").hide();
//-- if ( !webphone_api.common.isNull(document.getElementById('app_name_settings')) )
//-- {
//-- document.getElementById("app_name_settings").innerHTML = webphone_api.common.GetBrandName();
//-- }
if ( !webphone_api.common.isNull(document.getElementById('settings_page_title')) ) { document.getElementById("settings_page_title").innerHTML = webphone_api.stringres.get("settings_title"); }
webphone_api.$("#settings_page_title").attr("title", webphone_api.stringres.get("hint_page"));
webphone_api.$(".separator_line_thick").css( 'background-color', webphone_api.common.HoverCalc(webphone_api.common.getBgColor('#settings_header'), -30) );
// fix for IE 10
if (webphone_api.common.IsIeVersion(10)) { webphone_api.$("#settings_list").children().css('line-height', 'normal'); }
//-- setting should always show basic settings by default (no remember old advanced)
//-- if (webphone_api.common.GetParameter('settlevelbasic') === 'false')
//-- {
//-- isSettLevelBasic = false;
//-- }else
//-- {
//-- isSettLevelBasic = true;
//-- }
webphone_api.$('#settings_page_title').html(webphone_api.stringres.get('settings_login'));
startedfrom = webphone_api.common.GetIntentParam(webphone_api.global.intentsettings, 'startedfrom');
if (webphone_api.common.isNull(startedfrom)) { startedfrom = ''; }
if (startedfrom === 'app')
{
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("btn_cancel") );
}else
{
webphone_api.$('#btn_back_settings').hide();
webphone_api.$('#app_name_settings').show();
}
// login page with username and password
//-- if (webphone_api.common.GetConfig('customizedversion') === 'true' && startedfrom !== 'app')
if (ShowLoginPage())
{
webphone_api.$('#settings_list').hide();
webphone_api.$('#loginpage_container').show();
if (currfeatureset < 5) // minimal
{
webphone_api.$('#btn_settings_menu').hide();
}
//OPSSTART
if (!webphone_api.common.IsWindowsSoftphone() && webphone_api.global.usestorage === true)
{
//-- var cp = '<a href="https://www.mizu-voip.com/Software/WebPhone.aspx" target="_blank" title="Provider">Powered by Mizutech WebPhone &reg;</a>';
//-- webphone_api.$("#settings_copyright").html(cp);
webphone_api.$("#settings_copyright").show();
}
//OPSEND
var newuseruri = webphone_api.common.GetConfig('newuser');
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 50) // favafone
{
webphone_api.$('#a_newuser').hide();
webphone_api.$('#lp_btn_custom').html(webphone_api.stringres.get('favafone_new'));
webphone_api.$('#lp_btn_custom').show();
}else
//BRANDEND
{
if (!webphone_api.common.isNull(newuseruri) && newuseruri.length > 3)
{
webphone_api.$('#a_newuser').show();
webphone_api.$('#a_newuser').html(webphone_api.stringres.get('newuser_a'));
webphone_api.$('#a_newuser').attr('href', newuseruri);
}else
{
webphone_api.$('#a_newuser').hide();
}
if (webphone_api.common.IsWindowsSoftphone() === true)
{
var qrcode_login = 0;
if(webphone_api.common.GetParameter('qrcode_login').length > 0)
{
qrcode_login = webphone_api.common.GetParameterInt('qrcode_login', 0);
}
else
{
qrcode_login = webphone_api.common.GetConfigInt('qrcode_login', 0)
}
if (qrcode_login == 1)
{
var usrtmp = webphone_api.common.GetSipusername(); if (webphone_api.common.isNull(usrtmp)) { usrtmp = ''; }
var pwdtmp = webphone_api.common.GetParameter('password'); if (webphone_api.common.isNull(pwdtmp)) { pwdtmp = ''; }
if (usrtmp.length < 1 || pwdtmp.length < 1)
{
webphone_api.$('#lp_btn_custom').html(webphone_api.stringres.get('btn_qrcode'));
webphone_api.$('#lp_btn_custom').show();
}
}
else if (qrcode_login == 2)
{
webphone_api.$('#lp_btn_custom').html(webphone_api.stringres.get('btn_qrcode'));
webphone_api.$('#lp_btn_custom').show();
}
}
}
var forgotpasswordurl = webphone_api.common.GetConfig('forgotpasswordurl');
if (!webphone_api.common.isNull(forgotpasswordurl) && forgotpasswordurl.length > 3)
{
webphone_api.$('#a_forgotpassword').show();
webphone_api.$('#a_forgotpassword').html(webphone_api.stringres.get('forgotpassword_a'));
webphone_api.$('#a_forgotpassword').attr('href', forgotpasswordurl);
}else
{
webphone_api.$('#a_forgotpassword').hide();
}
}else
{
webphone_api.$('#loginpage_container').hide();
webphone_api.$('#settings_list').show();
webphone_api.$('#btn_settings_menu').show();
}
MeasureSettingslist();
var trigerred = false; // handle multiple clicks
webphone_api.$("#lp_btn_login").on("click", function()
{
if (trigerred) { return; }
trigerred = true;
setTimeout(function ()
{
trigerred = false;
}, 1000);
var lpsrv = '';
if (!webphone_api.common.isNull(document.getElementById("lp_serveraddress")) && webphone_api.$('#lp_serveraddress').closest( 'div.ui-input-text' ).is(':visible') == true)
{
lpsrv = document.getElementById("lp_serveraddress").value;
if (webphone_api.common.isNull(lpsrv)) { lpsrv = ''; }
lpsrv = webphone_api.common.Trim(lpsrv);
lpsrv = lpsrv.toLowerCase();
lpsrv = webphone_api.common.NormalizeInput(lpsrv, 0);
webphone_api.common.SaveParameter('serveraddress_user', lpsrv);
}
var lpproxy = '';
if (!webphone_api.common.isNull(document.getElementById("lp_proxyaddress")) && webphone_api.$('#lp_serveraddress').closest( 'div.ui-input-text' ).is(':visible') == true)
{
lpproxy = document.getElementById("lp_proxyaddress").value;
if (webphone_api.common.isNull(lpproxy)) { lpproxy = ''; }
lpproxy = webphone_api.common.Trim(lpproxy);
lpproxy = webphone_api.common.NormalizeInput(lpproxy, 0);
webphone_api.common.SaveParameter('proxyaddress', lpproxy);
}
var lpcallerid = '';
if (!webphone_api.common.isNull(document.getElementById("lp_callerid")))
{
lpcallerid = document.getElementById("lp_callerid").value;
if (webphone_api.common.isNull(lpcallerid)) { lpcallerid = ''; }
if(lpcallerid.indexOf("<") >= 0 && lpcallerid.indexOf(">") > 0) lpcallerid = webphone_api.common.StrGetBetween(lpcallerid, "<", ">");
lpcallerid = webphone_api.common.Trim(lpcallerid);
lpcallerid = webphone_api.common.NormalizeInput(lpcallerid, 0);
if(lpcallerid.length > 0) webphone_api.common.SaveParameter('username', lpcallerid);
}
var lpusr = '';
if (!webphone_api.common.isNull(document.getElementById("lp_username")))
{
lpusr = document.getElementById("lp_username").value;
if (webphone_api.common.isNull(lpusr)) { lpusr = ''; }
if(lpusr.indexOf("<") >= 0 && lpusr.indexOf(">") > 0) lpusr = webphone_api.common.StrGetBetween(lpusr, "<", ">");
lpusr = webphone_api.common.Trim(lpusr);
lpusr = webphone_api.common.NormalizeInput(lpusr, 0);
webphone_api.common.SaveParameter('sipusername', lpusr);
}
if (!webphone_api.common.isNull(document.getElementById("lp_password")))
{
var lppwd = document.getElementById("lp_password").value;
if (webphone_api.common.isNull(lppwd)) { lppwd = ''; }
lppwd = webphone_api.common.Trim(lppwd);
webphone_api.common.SaveParameter('password', lppwd);
}
//handle handleusernameuri for useloginpage like at the other section below
var mCurrSettName = '';
var mSettValue = ''
for(var ctrl = 0; ctrl < 2; ctrl++)
{
if(ctrl == 0)
{
mCurrSettName = 'sipusername';
mSettValue = lpusr;
}
else
{
mCurrSettName = 'username';
mSettValue = lpcallerid;
}
if (!webphone_api.common.isNull(mSettValue) && mSettValue.length > 0 && mSettValue.indexOf('@') > 0)
{
try{
var handleusernameuri = webphone_api.common.GetParameterInt('handleusernameuri', 3); //0: ignore, 1: extract username only on the basic settings, 2: config to serveraddress or proxyaddress (which is empty) in basic settings only, 3: also on the advanced page, 4: config as serveraddress, 5: config as proxyaddress
var domainpart = webphone_api.common.Trim(webphone_api.common.StrGetAfter(mSettValue, "@"));
if(domainpart.length > 0 && handleusernameuri > 0 && (handleusernameuri > 1 || mCurrSettName == "username") && (handleusernameuri >= 4 || isSettLevelBasic || mCurrSettName == "username"))
{
if(mCurrSettName == "username" || webphone_api.common.GetParameterInt('handlesipusernameuri', -1) > 0) {
mSettValue = webphone_api.common.Trim(webphone_api.common.StrGetUntill(mSettValue, "@"));
}
//webphone_api.common.SaveParameter('proxyaddress', domainpart);
var oldserveraddress = webphone_api.common.GetParameter('serveraddress');
oldserveraddress = webphone_api.common.GetParameter('serveraddress_orig', oldserveraddress);
oldserveraddress = webphone_api.common.GetParameter('serveraddress_user', oldserveraddress);
var oldproxyaddress = webphone_api.common.GetParameter('proxyaddress');
var serveraddress_mSettValue = lpsrv;
if(serveraddress_mSettValue.length > 0) oldserveraddress = serveraddress_mSettValue;
var proxyaddress_mSettValue = lpproxy;
if(proxyaddress_mSettValue.length > 0) oldproxyaddress = proxyaddress_mSettValue;
if(handleusernameuri == 2 || (handleusernameuri < 5 && (oldserveraddress == domainpart || oldproxyaddress == domainpart)))
{
//ignore
}
else {
if (handleusernameuri != 6 && (handleusernameuri == 5 || serveraddress_mSettValue.length < 1 || ((handleusernameuri == 3 || handleusernameuri == 4) && oldproxyaddress.length < 1))) {
if(oldserveraddress.length > 0 && oldserveraddress != domainpart)
{
if(webphone_api.common.CanLog(5)) { webphone_api.common.PutToDebugLog(5,'EVENT, username URI handling AX: ' + handleusernameuri.toString()+' '+mSettValue+'@'+domainpart+' '+oldserveraddress+'/'+serveraddress_mSettValue+' '+oldproxyaddress+'/'+proxyaddress_mSettValue); }
webphone_api.common.SaveParameter('proxyaddress', oldserveraddress);
}
else
{
if(webphone_api.common.CanLog(5)) { webphone_api.common.PutToDebugLog(5,'EVENT, username URI handling BX: ' + handleusernameuri.toString()+' '+mSettValue+'@'+domainpart+' '+oldserveraddress+'/'+serveraddress_mSettValue+' '+oldproxyaddress+'/'+proxyaddress_mSettValue); }
}
if(webphone_api.common.GetParameter('serveraddress_user') != domainpart)
{
webphone_api.common.SaveParameter('serveraddress_user', domainpart);
webphone_api.common.ShowToast(webphone_api.stringres.get('toast_domainasserver'), 6000);
}
} else if (handleusernameuri == 6) { // || oldproxyaddress.length < 1)
if(webphone_api.common.GetParameter('proxyaddress') != domainpart)
{
if(webphone_api.common.CanLog(5)) { webphone_api.common.PutToDebugLog(5,'EVENT, username URI handling CX: ' + handleusernameuri.toString()+' '+mSettValue+'@'+domainpart+' '+oldserveraddress+'/'+serveraddress_mSettValue+' '+oldproxyaddress+'/'+proxyaddress_mSettValue); }
webphone_api.common.SaveParameter('proxyaddress', domainpart);
webphone_api.common.ShowToast(webphone_api.stringres.get('toast_domainasproxy'), 6000);
}
}
}
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: usernameuriX", err); }
}
}
SaveSettings(true);
});
webphone_api.$('#lp_serveraddress').closest( 'div.ui-input-text' ).hide();
webphone_api.$('#lp_proxyaddress').closest( 'div.ui-input-text' ).hide();
if (!webphone_api.common.isNull(document.getElementById("lp_serveraddress")))
{
document.getElementById("lp_serveraddress").placeholder = webphone_api.stringres.get('sett_display_name_serveraddress_user');
}
if (!webphone_api.common.isNull(document.getElementById("lp_username")))
{
document.getElementById("lp_username").placeholder = webphone_api.stringres.get('sett_display_name_sipusername');
}
if (!webphone_api.common.isNull(document.getElementById("lp_password")))
{
document.getElementById("lp_password").placeholder = webphone_api.stringres.get('sett_display_name_password');
}
if (!webphone_api.common.isNull(document.getElementById("lp_proxyaddress")))
{
document.getElementById("lp_proxyaddress").placeholder = webphone_api.stringres.get('sett_display_name_proxyaddress');
}
if (!webphone_api.common.isNull(document.getElementById("lp_callerid")))
{
document.getElementById("lp_callerid").placeholder = webphone_api.stringres.get('sett_display_name_username');
}
var logo = webphone_api.common.GetConfig('logo');
var logodiv = document.getElementById('logologinpage'); //logo
if (!webphone_api.common.isNull(logo) && logo.length > 2 && !webphone_api.common.isNull(logodiv))
{
var isimg = false;
if ((logo.toLowerCase()).indexOf('.jpg') > 0 || (logo.toLowerCase()).indexOf('.jpeg') > 0
|| (logo.toLowerCase()).indexOf('.png') > 0 || (logo.toLowerCase()).indexOf('.gif') > 0)
{
isimg = true;
}
if (isimg)
{
/*
var logowidth = Math.floor( (webphone_api.$("#loginpage_container").width()) ); //#phone_app_main_container
if ( !webphone_api.common.isNull(logowidth) && webphone_api.common.IsNumber(logowidth) && logowidth > 100 )
{
//logowidth = Math.floor(logowidth / 1.2);
if(logowidth > 600) logowidth = 600;
else if(logowidth < 120) logowidth = 120;
}else
{
logowidth = 424;
}
var logoheight = Math.floor(logowidth / 2.14);
*/
/*
var logominwidth = Math.floor( (webphone_api.$("#loginpage_container").width()) ); //#phone_app_main_container
if ( !webphone_api.common.isNull(logominwidth) && webphone_api.common.IsNumber(logominwidth) && logominwidth > 70 )
{
if(logominwidth > 600) logominwidth = 600;
else if(logominwidth < 100) logominwidth = 100;
}else
{
logominwidth = 100;
}
*/
//logodiv.innerHTML = '<img src="' + webphone_api.common.GetElementSource() + 'images/' + logo + '" style="border: 0; min-width: 120px; min-height: 80px; max-width: 400px; max-height: 300px; ">';
//logodiv.innerHTML = '<img src="' + webphone_api.common.GetElementSource() + 'images/' + logo + '" width = "'+logowidth.toString()+'" height = "'+logoheight.toString()+'" style="border: 0;">';
//logodiv.innerHTML = '<img src="' + webphone_api.common.GetElementSource() + 'images/' + logo + '" style="min-width: '+logominwidth.toString()+'px; max-width: 100%; border: 0;">';
//logodiv.innerHTML = '<img src="' + webphone_api.common.GetElementSource() + 'images/' + logo + '" style="min-width: 100%; max-width: 100%; border: 0;">';
logodiv.innerHTML = '<img src="' + webphone_api.common.GetElementSource() + 'images/' + logo + '" style="width: 100%; border: 0;">';
}else
{
logodiv.innerHTML = '<span>' + logo + '</span>';
}
}
// END login page with username and password
// needed for proper display and scrolling of listview
MeasureSettingslist();
accountsavailable = false;
GetAccounts();
setTimeout(function ()
{
if (
webphone_api.common.IsSDK() === false
//OPSSTART
&& webphone_api.common.Glv() > 1
//OPSEND
&& webphone_api.common.GetParameter('androidchromedisplayed') !== 'true'
)
{
webphone_api.common.SaveParameter('androidchromedisplayed', 'true');
if (webphone_api.common.GetOs() === 'Android'/* && webphone_api.common.GetBrowser() === 'Chrome'*/)
{
var ep_webrtc = webphone_api.common.StrToInt(webphone_api.common.GetParameter2('enginepriority_webrtc'));
var ep_app = webphone_api.common.StrToInt(webphone_api.common.GetParameter2('enginepriority_app'));
var usewebrtc = webphone_api.common.CanIUseWebRTC();
if (ep_app < 1 || ep_webrtc < 2 || (ep_webrtc >= ep_app && usewebrtc === true)) { return; }
// find and close all active popups before displaying OfferNativeEngine popup
var active_popups = webphone_api.$.mobile.activePage.find(".messagePopup");
if (!webphone_api.common.isNull(active_popups) && active_popups.length > 0 && webphone_api.global.dontclosecurrpopup !== true)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
OfferNativeEngine();
}
});
}else
{
OfferNativeEngine();
}
}
}
}, 3000);
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 50 && webphone_api.global.favafone_autologin === true) // favafone
{
SaveSettings();
}
//BRANDEND
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: onStart", err); }
}
//--android-on ha softphone es chrome -> akkor elso indulasnal megkerdezni valasszon engine-t (ha nincs letiltva egyik engine sem):
//-- - recommended: native dialer with better quality or...
//-- - ignore and start in web browser (webrtc) right now
function OfferNativeEngine(popupafterclose)
{
try{
if (webphone_api.common.GetParameter2('enginepriority_webrtc') === '0' || webphone_api.common.GetParameter2('enginepriority_app') === '0') { return; }
var popupWidth = webphone_api.common.GetDeviceWidth();
if ( !webphone_api.common.isNull(popupWidth) && webphone_api.common.IsNumber(popupWidth) && popupWidth > 100 )
{
popupWidth = Math.floor(popupWidth / 1.2);
}else
{
popupWidth = 220;
}
if(popupWidth > 400) popupWidth = 400;
else if(popupWidth < 120) popupWidth = 120;
var message = '<a href="javascript:;" id="pusenative">' + webphone_api.stringres.get('usenative_option_native') + '</a><br /><br />';
message = message + '<a href="javascript:;" id="pusewebrtc">' + webphone_api.stringres.get('usenative_option_webrtc') + '</a>';
var template = '' +
'<div data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
//-- '<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + webphone_api.stringres.get('usenative_title') + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content adialog_alert">' +
'<span style="-ms-user-select: text; -moz-user-select: text; -khtml-user-select: text; -webkit-user-select: text; user-select: text;"> ' + message + ' </span>' +
// '<a href="javascript:;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">' + webphone_api.stringres.get('btn_close') + '</a>' +
// '<a href="javascript:;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">Delete</a>' +
'</div>' +
//-- '<div data-role="footer" data-theme="b" class="adialog_footer">' +
//-- '<a href="javascript:;" style="width: 98%;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_close') + '</a>' +
//-- '</div>' +
'</div>';
popupafterclose = popupafterclose ? popupafterclose : function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
//-- webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
//-- {
//-- webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
//-- });
webphone_api.$.mobile.activePage.find(".messagePopup").bind(
{
popupbeforeposition: function()
{
webphone_api.$(this).unbind("popupbeforeposition");//--.remove();
webphone_api.$('.ui-popup-screen').off(); // Prevent JQuery Mobile from closing a popup when user taps outside of it
var maxHeight = Math.floor( webphone_api.common.GetDeviceHeight() * 0.6 ); //-- webphone_api.$(window).height() - 120;
if (webphone_api.$(this).height() > maxHeight + 100)
{
webphone_api.$('.messagePopup .ui-content').height(maxHeight);
}
}
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
popupafterclose();
}
});
webphone_api.$("#pusewebrtc").on("click", function () //-- !!! also set in UserChooseEnginePopupSDK()
{
webphone_api.flagrestartwebrtc = true;
webphone_api.$.mobile.activePage.find(".messagePopup").popup( "close" );
webphone_api.common.ResetEngineClicked();
var engine = webphone_api.common.GetEngine('webrtc');
engine.clicked = 2;
webphone_api.common.SetEngine('webrtc', engine);
webphone_api.common.EngineSelect(1,3);
});
webphone_api.$("#pusenative").on("click", function () //-- !!! also set in UserChooseEnginePopupSDK()
{
webphone_api.flagrestartwebrtc = false;
webphone_api.$.mobile.activePage.find(".messagePopup").popup( "close" );
webphone_api.common.ResetEngineClicked();
var engine = webphone_api.common.GetEngine('app');
engine.clicked = 2;
webphone_api.common.SetEngine('app', engine);
webphone_api.common.StartAppEngine(false, '');
});
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: OfferNativeEngine", err); }
}
function MeasureSettingslist() // resolve window height size change
{
try{
//-- var pgh = webphone_api.common.GetDeviceHeight() - 1; webphone_api.$('#page_settings').css('min-height', pgh + 'px'); // must be set when softphone is skin in div
webphone_api.$('#page_settings').css('min-height', 'auto'); // must be set when softphone is skin in div
var pageheight = webphone_api.common.GetDeviceHeight() - webphone_api.$("#settings_header").height() - 3;
if (filtervisible)
{
var margin = webphone_api.common.StrToIntPx( webphone_api.$(".ui-input-search").css("margin-top") );
pageheight = pageheight - webphone_api.$("#settings_list").prev("form.ui-filterable").height() - margin - margin;
}
if (webphone_api.$('#settings_engine').is(':visible'))
{
pageheight = pageheight - webphone_api.$("#settings_engine").height() - 2;
}
if (webphone_api.$('#settings_copyright').is(':visible'))
{
var margin = webphone_api.common.StrToIntPx( webphone_api.$("#settings_copyright").css("margin-bottom") );
pageheight = pageheight - webphone_api.$("#settings_copyright").height() - margin;
}
webphone_api.$("#settings_list").height(pageheight);
webphone_api.$("#loginpage_container").height(pageheight);
if (webphone_api.$('#loginpage').is(':visible'))
{
var matop = pageheight - webphone_api.$('#loginpage').height();
matop = Math.floor(matop/2);
webphone_api.$('#loginpage').css('margin-top', matop + 'px');
}
//-- if (webphone_api.$('#settings_footer').is(':visible'))
//-- {
//--// set width
//-- var padding_close_str = webphone_api.$("#btn_settings_engine_close").css('padding-left');
//-- var padding_close_int = 0;
//-- if (!webphone_api.common.isNull(padding_close_str) && padding_close_str.length > 0) { padding_close_int = webphone_api.common.StrToIntPx(padding_close_str); }
//-- padding_close_int = padding_close_int + 1;
//-- var btn_width = webphone_api.$("#settings_footer").width() - webphone_api.$("#btn_settings_engine_close").width() - (2 * padding_close_int);
//-- btn_width = Math.floor(btn_width);
//-- webphone_api.$("#btn_settings_engine").width(btn_width - 3);
//--// set height
//-- var padding_top_str = webphone_api.$("#btn_settings_engine_close").css('padding-top');
//-- var padding_bottom_str = webphone_api.$("#btn_settings_engine_close").css('padding-bottom');
//-- var padding_top_int = 0;
//-- var padding_bottom_int = 0;
//-- if (!webphone_api.common.isNull(padding_top_str) && padding_top_str.length > 0) { padding_top_int = webphone_api.common.StrToIntPx(padding_top_str); }
//-- if (!webphone_api.common.isNull(padding_bottom_str) && padding_bottom_str.length > 0) { padding_bottom_int = webphone_api.common.StrToIntPx(padding_bottom_str); }
//-- var btn_height = webphone_api.$("#btn_settings_engine_close").height() + padding_top_int + padding_bottom_int;
//-- webphone_api.$("#btn_settings_engine").height(btn_height);
//-- }
var brandW = Math.floor(webphone_api.common.GetDeviceWidth() / 4.6);
webphone_api.$("#app_name_settings").width(brandW);
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: MeasureSettingslist", err); }
}
var accountsavailable = false; // true, if there is at least one account created. If "false". means we have to add an account at SaveSettings()
var filewaittimer = null; // we have to wait for File class to load
var waitmaxloop = 0;
function GetAccounts()
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts called');
try{
// we have to wait for File class to load
if (waitmaxloop > 18)
{
webphone_api.common.PutToDebugLog(1, 'ERROR, Failed to start');
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings GetAccounts File class failed to load');
}
if (webphone_api.common.isNull(webphone_api.File) && waitmaxloop < 20)
{
waitmaxloop++;
filewaittimer = setTimeout(function ()
{
GetAccounts();
}, 200);
return;
}
if (!webphone_api.common.isNull(filewaittimer)) { clearTimeout(filewaittimer); }
filewaittimer = null;
// continue, if we have file class
if ( webphone_api.common.isNull(webphone_api.global.aclist) || (webphone_api.global.aclist).length < 1 )
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings readaccounts');
webphone_api.common.ReadAccountsFile(function (accisread)
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts callback');
// if there is no accounts file, means there are no settings either
if (!accisread)
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts callback no content_1');
//--###MZSETT webphone_api.common.InitializeSettings();
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts callback no content_2');
//--###MZSETT webphone_api.common.GetSettingsFromUrl();
//--###MZSETT webphone_api.common.GetOverWriteSettings();
webphone_api.common.HandleSettings('', '', function () { ; });
webphone_api.plhandler.ConfigChanged();
webphone_api.init.SkinLoaded();
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts callback no content_3');
AutoStart();
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts callback no content_4');
}
else // if we have accounts file, then we need to get settings filename and read setttings from file
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts callback read successfull');
if (!webphone_api.common.isNull(webphone_api.global.settmap))
{
for (var key in webphone_api.global.settmap)
{
delete webphone_api.global.settmap[key];
}
}
if (!webphone_api.common.isNull(webphone_api.global.settmap2))
{
for (var key in webphone_api.global.settmap2)
{
delete webphone_api.global.settmap2[key];
}
}
accountsavailable = true;
GetSettings();
}
});
}else // if we have accounts file, then read
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetAccounts aclist exists');
accountsavailable = true;
GetSettings();
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: GetAccounts", err); }
}
function GetSettings()
{//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings called');
try{
//-- for (var key in webphone_api.global.settmap)
//-- {
//-- webphone_api.common.PutToDebugLog(2, 'SETT: ' + key + ' = ' + webphone_api.global.settmap[key]);
//-- }
if ( webphone_api.common.isNull(webphone_api.global.settmap) || webphone_api.common.isNull( webphone_api.global.settmap['magicnumber'] ) )
{
if(webphone_api.common.CanLog(5)) webphone_api.common.PutToDebugLog(5, 'EVENT, get settings file');
var settfilename = webphone_api.common.GetActiveAccSettingsFilename();
if(webphone_api.common.CanLog(5)) webphone_api.common.PutToDebugLog(5, 'EVENT, got settings file: '+settfilename);
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings settfilename: ' + settfilename);
if (webphone_api.common.isNull(settfilename) || settfilename.length < 2)
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings InitializeSettings called');
//--###MZSETT webphone_api.common.InitializeSettings();
webphone_api.common.HandleSettings('', '', function () { ; });
webphone_api.plhandler.ConfigChanged();
webphone_api.init.SkinLoaded();
}
else // we got the active account settings filename, we can read settings
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings ReadSettingsFile');
if(webphone_api.common.CanLog(5)) webphone_api.common.PutToDebugLog(5, 'EVENT, read settings file');
webphone_api.common.ReadSettingsFile(settfilename, function (settisread)
{
if(webphone_api.common.CanLog(5)) webphone_api.common.PutToDebugLog(5, 'EVENT, settings file readed.');
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings callback');
if (!settisread)
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings ReadSettings no content');
//--###MZSETT webphone_api.common.InitializeSettings();
}
webphone_api.plhandler.ConfigChanged();
webphone_api.init.SkinLoaded();
//--###MZSETT webphone_api.common.GetSettingsFromUrl();
//--###MZSETT webphone_api.common.GetOverWriteSettings();
AutoStart();
});
}
}else
{
//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings GetSettings settmap exists');
//--###MZSETT webphone_api.common.GetSettingsFromUrl();
//--###MZSETT webphone_api.common.GetOverWriteSettings();
AutoStart();
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: GetSettings", err); }
}
var changePageCalled = false; //-- cahangePage gets called serveral times, bu we need to avoid this
function AutoStart() //if server, username and password is set, then auto start (don't show the settings)
{//--DBG webphone_api.common.PutToDebugLog(3, 'DEBUG, _settings AutoStart called');
try{
webphone_api.common.DisplayStartPage('Settings');
if (startedfrom !== 'app')
{
var autologin = false;
var srvTemp = webphone_api.common.GetParameter('serveraddress_user');
var upperSrvTemp = webphone_api.common.GetParameter('upperserver');
if (webphone_api.common.isNull(upperSrvTemp) || upperSrvTemp.length < 1) upperSrvTemp = webphone_api.common.GetParameter('upperserverdomain');
if (webphone_api.common.isNull(upperSrvTemp) || upperSrvTemp.length < 1) upperSrvTemp = webphone_api.common.GetParameter('upperserverip');
var usrTemp = webphone_api.common.GetSipusername();
var pwdTemp = webphone_api.common.GetParameter('password');
if (webphone_api.common.GetParameter('serverinputisupperserver') === 'true')
{
if (!webphone_api.common.isNull(upperSrvTemp) && upperSrvTemp.length > 2 && !webphone_api.common.isNull(usrTemp) && usrTemp.length > 2
&& !webphone_api.common.isNull(pwdTemp) && pwdTemp.length > 2)
{
autologin = true;
}
}
else if (webphone_api.common.GetParameterBool('customizedversion', true) === true)
{
if (!webphone_api.common.isNull(usrTemp) && usrTemp.length > 2 && !webphone_api.common.isNull(pwdTemp) && pwdTemp.length > 2)
{
autologin = true;
}
}else
{
if (!webphone_api.common.isNull(srvTemp) && srvTemp.length > 2 && !webphone_api.common.isNull(usrTemp) && usrTemp.length > 2
&& !webphone_api.common.isNull(pwdTemp) && pwdTemp.length > 2)
{
autologin = true;
}
}
//-- API_GuiStarted() when skin is loaded
if (webphone_api.common.IsWindowsSoftphone())
{
webphone_api.common.WinAPI('API_GuiStarted', function (answer)
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings API_GuiStarted response: ' + answer);
});
}
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings before StartWin');
var autostart = webphone_api.common.GetAutostart();
if (autostart === 0)
{
webphone_api.common.PutToDebugLog(3, 'EVENT, settings autologin disabled because autostart is 0');
autologin = false;
}
if (IsUsernameFixed() === true && IsPasswordFixed() === true)
{
}else
{
if (autostart < 2 && webphone_api.common.GetParameterInt('lastsucc', -1) === 0 && webphone_api.common.IsSDK() === false) // only for skin
{
autologin = false;
webphone_api.common.PutToDebugLog(2, 'WARNING,_settings AutoStart disabled, because last login was not successfull');
webphone_api.common.SaveParameter('last_login_failed', 'true');
//-- ha azert all meg a loginnal mert elotte valami gond volt:
//-- -kerüljön bele a voip engine a basic settings -be elso beallitasnak
//-- -ha megvan adva a configban a serveraddress-username-passsword, akkor menjen be a basic settingsbe (ne a login oldalon alljon meg ahol csak egy settings item van)
var srvtmp = webphone_api.common.GetParameter('serveraddress_user');
if (webphone_api.common.isNull(srvtmp) || srvtmp.length < 1) { srvtmp = webphone_api.common.GetParameter('serveraddress_orig'); }
if (webphone_api.common.isNull(srvtmp) || srvtmp.length < 1) { srvtmp = webphone_api.common.GetParameter('serveraddress'); }
var usrtmp = webphone_api.common.GetSipusername();
var pwdtmp = webphone_api.common.GetParameter('password');
if (usrtmp.length > 0 && pwdtmp.length > 0
&& ( (webphone_api.common.ShowServerInput() && srvtmp.length > 0) || webphone_api.common.ShowServerInput() === false ))
{
//diabled for now SubmenuSipSettings();
}
}
}
// softphone skin autologin parameter (will login even if prev unsuccessful or first session) (only for skin)
// -1=Auto, 0=No, 1=Yes
var al = webphone_api.common.GetParameterInt('autologin', -1);
if (al === 0) { autologin = false; }
else if (al === 1) { autologin = true; }
if (autologin)
{
// content was hidden untill jquery mobile loaded. now dislpay content
document.getElementById('phone_app_main_container').style.display = 'block';
webphone_api.common.ShowModalLoader(webphone_api.stringres.get('loading'));
if(webphone_api.common.CanLog(3)) { webphone_api.common.PutToDebugLogSpecial(3, 'EVENT, _settings: onStart display Loading... modal loader_2', false, ''); }
// cahangePage gets called serveral times, bu we need to avoid this
if (changePageCalled)
{
return;
}
changePageCalled = true;
setTimeout(function () // reset to defualt value
{
changePageCalled = false;
}, 1000);
webphone_api.$.mobile.changePage("#page_dialpad", { transition: "pop", role: "page" });
setTimeout(function ()
{
webphone_api.common.DisplayStartPage('Dialpad');
}, 200);
if (webphone_api.common.IsWindowsSoftphone())
{
setTimeout(function ()
{
webphone_api.global.webphone_started = false;
//-- webphone_api.webphone.StartWin();
webphone_api.startInner( webphone_api.common.GetSipusername(true), webphone_api.common.GetParameter('password') );
}, 100);
}else
{
setTimeout(function ()
{
//-- StartWithEngineSelect();
webphone_api.startInner( webphone_api.common.GetSipusername(true), webphone_api.common.GetParameter('password') );
}, 150);
}
setTimeout(function ()
{
if (webphone_api.common.UsePresence2() === true)
{
webphone_api.common.SetSelectedPresence('Offline', false);
}
}, 1000);
return;
}else
{
PopulateList();
}
}else
{
webphone_api.common.HideModalLoader();
//OPSSTART
currautoprovsrv = webphone_api.common.GetParameter('serveraddress_user');
//OPSEND
PopulateList();
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: AutoStart", err); }
}
var eselect_called = false; //-- don't call EngineSelect() every time we PopulateList()
function EngineSelectStage1() //-- call EngineSelect(stage 1) before login, if we are staying on settings page
{
try{
if (webphone_api.common.IsWindowsSoftphone()) { return; }
if (eselect_called) { return; }
eselect_called = true;
if (webphone_api.global.engineselectstage !== 0 || (webphone_api.common.GetTickCount() - webphone_api.global.engineselecttime) > webphone_api.global.ENGINE_DELAY || webphone_api.global.webrtcavailable < 0)
{
WaitForEngineSelectSetting();
}else
{
//-- wait for at least 1 second after EngineSelect stage 0 was called
var wait = webphone_api.global.ENGINE_DELAY - (webphone_api.common.GetTickCount() - webphone_api.global.engineselecttime);
if (wait < 0)
{
wait = 1;
}
setTimeout(function ()
{
WaitForEngineSelectSetting();
}, wait);
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: EngineSelectStage1", err); }
}
var engineSelectTimer = null;
var limitmaxloop = 0;
function WaitForEngineSelectSetting()
{
try{
if (!webphone_api.common.isNull(engineSelectTimer))
{
clearInterval(engineSelectTimer);
engineSelectTimer = null;
}
engineSelectTimer = setInterval(function ()
{
limitmaxloop++;
if (limitmaxloop > 50)
{
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings: EngineSelect timeout');
clearInterval(engineSelectTimer);
}
//-- wait at least 1 sec before calling with stage 1
if ((webphone_api.common.GetTickCount() - webphone_api.global.engineselecttime) > webphone_api.global.ENGINE_DELAY)
{
var ret = webphone_api.common.EngineSelect(1, 41);
if (ret < 1 || webphone_api.global.webrtcavailable < 0)
{
if (ret < 1)
{
if(webphone_api.common.CanLog(2)) { webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: waiting for EngineSelect (' + limitmaxloop + ')'); }
}
if (webphone_api.global.webrtcavailable < 0)
{
if(webphone_api.common.CanLog(2)) { webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: waiting for WebRTC to load (' + limitmaxloop + ')'); }
}
}else
{
clearInterval(engineSelectTimer);
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: selected engine(' + webphone_api.global.engineselectstage + '): ' + webphone_api.common.TestEngineToString(webphone_api.common.GetSelectedEngine(), false));
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: recommended engine(' + webphone_api.global.engineselectstage + '): ' + webphone_api.common.TestEngineToString(webphone_api.common.GetRecommendedEngine(), false));
//-- handle push level, choose engine notification, but NOT popup
//-- display option to select engine, but don't display aggressive popup, when user must install (only after login)
if (webphone_api.common.getuseengine() === webphone_api.global.ENGINE_WEBRTC || webphone_api.common.GetSelectedEngineName() === webphone_api.global.ENGINE_WEBRTC)
{
if (webphone_api.common.UseTLSReload() === true)
{
webphone_api.common.TLSReload();
}
}
ShowEngineOptionSettings();
}
}
}, 200);
} catch(err) { webphone_api.common.PutToDebugLogException(2, "settings: WaitForEngineSelectSetting", err); }
}
var html_engineoption = ''; // stores engine option html element
function ShowEngineOptionSettings(force_show)
{
try{
if (webphone_api.common.IsWindowsSoftphone() === true) { return false; }
var selengine = webphone_api.common.GetSelectedEngineName();
var recengine = webphone_api.common.GetRecommendedEngineName();
if (webphone_api.common.isNull(selengine) || selengine.length < 1)
{
//-- webphone_api.common.PutToDebugLog(2, 'ERROR, _settings: ShowEngineOptionSettings no selected engine available');
return false;
}
// means this is the firts start, we have to use selected engine
if (webphone_api.common.isNull(webphone_api.global.useengine) || webphone_api.global.useengine.length < 2)
{
//-- force engine start, in case of IE, if engine is Java (otherwise it will not start any engine, if Close button is pressed)
//-- hack for IsJavaInstalled for IE, because we can't detect it properly, so we start the java engine, and fall back if it's not working
if (webphone_api.common.GetSelectedEngineName() === 'java' && webphone_api.common.GetBrowser() === 'MSIE' && webphone_api.common.IsJavaInstalled() < 2)
{
;//-- don't set webphone_api.global.useengine, because in plhandler.StartEngine it will start recommended engine
}else
{
webphone_api.common.PutToDebugLog(2, 'EVENT, Settings set useengine: ' + selengine);
webphone_api.global.useengine = selengine;
webphone_api.global.last_useengine = selengine;
webphone_api.global.last_last_useengine = selengine;
}
}
//-- if (html_engineoption.length > 3) { return; }
webphone_api.common.ShowEngineOptionOnPage(function (msg, enginetouse)
{
//-- if an engine is forced, the don't show Choose Engine option to user
var epjava = webphone_api.common.GetParameter2('enginepriority_java');
var epwebrtc = webphone_api.common.GetParameter2('enginepriority_webrtc');
var epns = webphone_api.common.GetParameter2('enginepriority_ns');
var epflash = webphone_api.common.GetParameter2('enginepriority_flash');
if (epjava === '5' || epwebrtc === '5' || epns === '5' || epflash === '5')
{
return false;
}
//-- add choose engine option as a setting (above footer)
html_engineoption = '<li data-icon="carat-d" id="settingitem_chooseengine"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_chooseengine_title') + '</span><br><span id="sett_comment_engineservice" class="sett_comment">' + webphone_api.stringres.get('sett_chooseengine_comment') + '</span></div></a></li>';
return true;
//-- var listview = webphone_api.$('#settings_list').html();
//-- var footer = '';
//-- if (webphone_api.common.isNull(listview) || listview.length < 1 || listview.indexOf('settingitem_chooseengine') > 0) { return; }
//-- // if there are no engines
//-- var enginelist = webphone_api.common.GetEngineList();
//-- if (webphone_api.common.isNull(enginelist) || enginelist.length < 2) { return; }
//-- var pos = listview.indexOf('<li id="settings_footer');
//-- if (pos > 0)
//-- {
//-- footer = listview.substring(pos);
//-- listview = listview.substring(0, pos);
//-- }
//-- var engineservice = '<li data-icon="carat-d" id="settingitem_chooseengine"><a class="noshadow"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_chooseengine_title') + '</span><br><span id="sett_comment_engineservice" class="sett_comment">' + webphone_api.stringres.get('sett_chooseengine_comment') + '</span></div></a></li>';
//-- listview = listview + engineservice + footer;
//-- webphone_api.$('#settings_list').html('');
//-- webphone_api.$('#settings_list').append(listview).listview('refresh');
//-- old footer display !!!DEPRECATED
//-- webphone_api.$('#settings_engine').show();
//-- webphone_api.$('#settings_engine_title').html(webphone_api.stringres.get('choose_engine_title'));
//-- webphone_api.$('#settings_engine_msg').html(msg);
//-- if (enginetouse === 'java')
//-- {
//-- var javainstalled = webphone_api.common.IsJavaInstalled(); // 0=no, 1=installed, but not enabled in browser, 2=installed and enabled
//-- if (javainstalled === 0)
//-- {
//-- webphone_api.$('#btn_settings_engine').attr('href', webphone_api.global.INSTALL_JAVA_URL);
//-- }
//-- else if (javainstalled === 1)
//-- {
//-- if (webphone_api.common.GetBrowser() === 'MSIE') // can't detect if installed or just not allowed
//-- {
//-- webphone_api.$('#btn_settings_engine').attr('href', webphone_api.global.INSTALL_JAVA_URL);
//-- }else
//-- {
//-- webphone_api.$('#btn_settings_engine').attr('href', webphone_api.global.ENABLE_JAVA_URL);
//-- }
//-- }
//-- }
//-- else if (enginetouse === 'webrtc')
//-- {
//-- ;
//-- }
//-- else if (enginetouse === 'ns')
//-- {
//-- webphone_api.$('#btn_settings_engine').attr('href', webphone_api.common.GetNPLocation());
//-- }
//-- else if (enginetouse === 'flash')
//-- {
//-- ; // todo: implement for flash
//-- }
//-- else if (enginetouse === 'app')
//-- {
//-- ;
//-- }
//-- chooseenginetouse = enginetouse;
//-- MeasureSettingslist();
});
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowEngineOptionSettings", err); }
return false;
}
var aspeak = 'androidspeaker,';
if (webphone_api.common.GetOs() !== 'Android') { aspeak = ''; }
var exregacc = 'accounts,';
//OPSSTART
if (webphone_api.common.Glv() < 2) { exregacc = ''; }
//OPSEND
var utops = '';
//OPSSTART
utops = 'usetunneling,';
//OPSEND
//-- rejectonvoipbusy -> removed
//-- for java applet and service
var settOrderWebphone = 'serveraddress_user,sipusername,password,submenu_sipsettings,advancedloginsettings2,submenu_media,submenu_calldivert,submenu_general,submenu_profile,theme,language,'+ exregacc +'incomingcallpopup,sendchatonenter,voicerecording,keeprecfiles,proxyaddress,realm,username,profilepicture,displayname,email,presencestatus,share_location,profilestatustext,hidemyidentity,' + utops + 'transport,use_fast_ice,use_stun,use_rport,register,registerinterval,keepaliveival,keepalive,natopenpackets,ringtimeout,calltimeout,enableblf,dtmfmode,textmessaging,prack,earlymedia,sendrtponmuted,defmute,changesptoring,localip,signalingport,rtpport,capabilityrequest,customsipheader,normalizenumber,techprefix,filters,callforwardonbusy,callforwardonnoanswer,callforwardonnoanswertimeout,callforwardalways,calltransferalways,transfwithreplace,autoignore,autoaccept,dropsameoldcall,voicemailnum,callbacknumber,blacklist,transfertype,conferencetype,automute,autohold,holdtype,dialerintegration,integrateifwifionly,nativefilterallow,nativefilterblock,audiodevices,displayvolumecontrols,displayaudiodevice,savetocontacts,telsearchkey,extraoption,enablepush,reset_settings,loglevel,loglevel_dbg,playring,codec,alwaysallowlowcodec,icetimeout,nsupgrademode,'+
'audio_bandwidth,video,video_bandwidth,video_width,video_height,'+
'cfgvideo,video_profile,vcodec,'+ aspeak +
//-- 'submenu_screenshare,sscontrol,ssscroll,sstop,ssquality,'+
'video_fps,setfinalcodec,aec,denoise,agc,plc,silencesupress,hardwaremedia,volumein,volumeout,mediaencryption,setqos,codecframecount,doublesendrtp,jittersize,audiobufferlength,speakermode';
//var settorderAdvancedLoginSett = "serveraddress_user,proxyaddress,transport,displayname,username,sipusername,password,realm,accounts,operation_mode,fine_tune,submenu_general,submenu_sipsettings,submenu_media,submenu_calldivert,submenu_profile,usetunneling,autoanswer_forward,submenu_integrate,hidemyidentity,use_fast_ice,use_stun,use_rport,register,registerinterval,acceptsrvexpire,enablepresence,enableblf,keepalive,natopenpackets,ringtimeout,calltimeout,dtmfmode,textmessaging,offlinechat,prack,sendearlymedia,sendrtponmuted,defmute,changesptoring,signalingport,rtpport,capabilityrequest,customsipheader,checksrvrecords,devtest,filters,numrewriterulesadv,techprefix,callforwardonbusy,rejectonvoipbusy,rejectonphonebusy,rejectphoneonvoipbusy,voicemail,callback_accessnumber,callback_mode,accessnumber,accessnumbercalltype,transfertype,transfwithreplace,automute,autohold,holdtypeonhold,enabledirectcalls,normalizenumber,ringincall,beeponconnect,vibrate,keypadfeedback,cpualwayspartiallock,forcewifi,wifionly,keepdeviceawakeincall,unlockphone,proximitysensor,dialerintegration,ringtone,theme,profilepicture,email,info,presencestatus,share_location,integrateifwifionly,nativefilterallow,nativefilterblock,displaynotification,screenrotation,savetocontacts,extraoption,voicerecording,keepcallhistory,sendchatonenter,editbeforecall,recentcontacts,removefromtask,log,loglevel,playring,cfgvideo,callbackonincomingvideo,video_bandwidth,androidspeaker,video_width,video_height,use_h263,use_h264,use_vp8,use_vp9,cfgcpuspeed,cfgnetworkspeed,submenu_video,codec,prefcodec,alwaysallowlowcodec,setfinalcodec,disablewbforpstn,aec_orig,denoise_orig,agc_orig,plc_orig,silencesupress,hardwaremedia,volumein,volumeout,mediaencryption,setqos,codecframecount,doublesendrtp,jittersize,audiobufferlength,speakerphoneoutput,audiorecorder,audioplayer,speakerphoneplayer,incomingcallalert,autousebluetooth,speakermode,focusaudio,useroutingapi,scheduledwakeup,autorestart,runservice,enablefcm,backexit,killonexit,reset_settings"; //missing settings strings: voicemail, prefcodec
var settorderAdvancedLoginSett = "serveraddress_user,proxyaddress,transport,displayname,username,sipusername,password,realm,accounts,loglevel";
var settOrderWebphoneWebRTCFlash = 'serveraddress_user,sipusername,password,submenu_sipsettings,advancedloginsettings2,submenu_media,submenu_calldivert,submenu_general,submenu_profile,theme,language,'+ exregacc +'incomingcallpopup,sendchatonenter,voicerecording,keeprecfiles,proxyaddress,realm,username,profilepicture,displayname,email,presencestatus,share_location,profilestatustext,hidemyidentity,' + utops + 'ringtimeout,calltimeout,enableblf,dtmfmode,textmessaging,earlymedia,defmute,customsipheader,normalizenumber,techprefix,filters,voicemailnum,callbacknumber,callforwardonbusy,callforwardonnoanswer,callforwardonnoanswertimeout,callforwardalways,calltransferalways,transfwithreplace,autoignore,autoaccept,dropsameoldcall,blacklist,transfertype,conferencetype,holdtype,autohold,dialerintegration,integrateifwifionly,nativefilterallow,nativefilterblock,audiodevices,displayvolumecontrols,displayaudiodevice,savetocontacts,telsearchkey,extraoption,enablepush,reset_settings,loglevel,loglevel_dbg,codec,alwaysallowlowcodec,icetimeout,nsupgrademode,'+
'audio_bandwidth,video,video_bandwidth,video_width,video_height,'+
'cfgvideo,video_profile,vcodec,'+ aspeak +
//-- 'submenu_screenshare,sscontrol,ssscroll,sstop,ssquality,'+
'video_fps,aec,agc,volumein,volumeout';
//-- for featureset = 5 (reduced)
var settOrderReduced = 'serveraddress_user,sipusername,password,username,displayname,email,hidemyidentity,textmessaging,voicemailnum,callbacknumber,loglevel';
//The following settings are not needed in the customizedversion, unless “featureset” parameter is set to 4. (1: Minimal, 2: Reduced, 3: Normal (default), 4: Extra)
// Hide my identity,Realm,Use ICE,Use STUN,Use rport,Register,Register interval,Keep alive,NAT open packets,Use PRACK,Capability request,Set final codec,
var settOrderReducedCustomized = 'hidemyidentity,realm,use_fast_ice,use_stun,use_rport,register,registerinterval,keepaliveival,keepalive,natopenpackets,prack,capabilityrequest,setfinalcodec';
//-- for windows softphone
var settOrderWin = 'serveraddress_user,sipusername,password,submenu_sipsettings,advancedloginsettings2,submenu_media,submenu_calldivert,submenu_general,submenu_profile,theme,language,startwithos,'+ exregacc +'voicerecording,keeprecfiles,proxyaddress,realm,username,profilepicture,displayname,email,presencestatus,share_location,profilestatustext,flash,beeponincoming,sendchatonenter,importonlywithnum,hidemyidentity,' + utops + 'transport,use_fast_ice,use_stun,use_rport,register,registerinterval,keepaliveival,keepalive,natopenpackets,ringtimeout,calltimeout,enableblf,dtmfmode,textmessaging,prack,earlymedia,sendrtponmuted,defmute,changesptoring,localip,signalingport,rtpport,capabilityrequest,customsipheader,normalizenumber,techprefix,filters,callforwardonbusy,callforwardonnoanswer,callforwardonnoanswertimeout,callforwardalways,calltransferalways,transfwithreplace,autoignore,autoaccept,dropsameoldcall,rejectonvoipbusy,voicemailnum,callbacknumber,blacklist,transfertype,conferencetype,automute,autohold,holdtype,dialerintegration,integrateifwifionly,nativefilterallow,nativefilterblock,audiodevices,displayvolumecontrols,displayaudiodevice,savetocontacts,telsearchkey,extraoption,enablepush,reset_settings,loglevel,loglevel_dbg,playring,'
+'video,video_bandwidth,video_width,video_height,'
+'cfgvideo,videomode,video_profile,vcodec,'+
'submenu_screenshare,sscontrol,ssscroll,sstop,ssquality,'+
'video_fps,codec,setfinalcodec,alwaysallowlowcodec,aec,denoise,agc,plc,silencesupress,hardwaremedia,volumein,volumeout,mediaencryption,setqos,codecframecount,doublesendrtp,jittersize,audiobufferlength,speakermode';
//--var basicSettings = 'settobasefunctionality,serveraddress_user,sipusername,password,submenu_sipsettings,submenu_calldivert,submenu_general,submenu_integrate,username,displayname,usetunneling,transport,proxyaddress,use_stun,register,registerinterval,keepalive,ringtone,filters,transfwithreplace,autoignore,autoaccept,startonboot,dialerintegration,integrateifwifionly,nativefilterallow,nativefilterblock,email,cpualwayspartiallock,forcewifi,reset_settings,accounts,log,new_user_artcl,recharge_artcl';
//settobasefunctionality
var basicSettings = 'theme,username,displayname,' + utops + 'transport,proxyaddress,register,ringtone,voicerecording,startonboot,dialerintegration,integrateifwifionly,nativefilterallow,nativefilterblock,cpualwayspartiallock,forcewifi,email,loglevel,startwithos';
var basicSettingsCustomized = 'theme,displayname,ringtone,voicerecording,startonboot,dialerintegration,integrateifwifionly,nativefilterallow,nativefilterblock,cpualwayspartiallock,forcewifi,email,loglevel,startwithos';
//-- not used var highlightedSettings = 'displayname,usetunneling,ringtone,startonboot,startwithos,submenu_integrate,dialerintegration';
var currGroup = 20;
var printdevice = true; // print device only once
function PopulateList() //will return true if auto switched inside Settings...
{
try{
webphone_api.common.DoVersioning();
EngineSelectStage1();
var hasonlysettings = 1; //0: no (has other setting), 1: no other settings, 2: has settings
if(ShowEngineOptionSettings()) hasonlysettings = 0;
//-- if (currGroup !== webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN) && isSettLevelBasic === false)
//-- {
//-- ShowEngineOptionSettings(true); // always show engine options in advanced settings -> group SIP
//-- }else
//-- {
//-- ShowEngineOptionSettings(false);
//-- }
webphone_api.common.SetCurrTheme();
var showproxyaddress = webphone_api.common.GetParameterInt('showproxyaddress', 1);
var showusername = webphone_api.common.GetParameterInt('showusername', 1);
if(showproxyaddress == 1 && webphone_api.common.GetParameter('proxyaddress').length > 0 && webphone_api.common.GetParameter('proxyaddress') != webphone_api.common.GetParameter('serveraddress') && webphone_api.common.GetParameter('proxyaddress') != webphone_api.common.GetParameter('serveraddress_user')) showproxyaddress = 2;
if(showusername == 1 && webphone_api.common.GetParameter('username').length > 0 && webphone_api.common.GetParameter('username') != webphone_api.common.GetParameter('sipusername')) showusername = 2;
// put username / password in login fields
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 1');
if (ShowLoginPage())
{
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 2');
if (webphone_api.common.ShowServerInput())
{
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 3');
webphone_api.common.SaveParameter('iswebrtcuppersrvfromuser', 'true');
//-- upperserverfromuser 0=not needed, 1=no need to enter (preconfigured), 2=maybe,3=yes
//-- !!!! HACK !!!
if (webphone_api.common.GetParameter('showserverinput') === '1' && webphone_api.common.GetConfigInt('upperserverfromuser', 2) < 2)
{
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 4');
}else
{
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 5');
webphone_api.$('#lp_serveraddress').val(webphone_api.common.GetParameter('serveraddress_user'));
//-- document.getElementById('lp_serveraddress').style.display = 'block';
webphone_api.$('#lp_serveraddress').closest( 'div.ui-input-text' ).show();
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 6 '+showproxyaddress.toString());
webphone_api.$('#lp_proxyaddress').val(webphone_api.common.GetParameter('proxyaddress'));
if(showproxyaddress >= 2) webphone_api.$('#lp_proxyaddress').closest( 'div.ui-input-text' ).show();
}
}
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) !== 58) // enikma
{
webphone_api.$('#lp_username').val(webphone_api.common.GetSipusername());
webphone_api.$('#lp_password').val(webphone_api.common.GetParameter('password'));
}
var pwdautocomplete = webphone_api.common.GetParameterInt('pwdautocomplete', -1);
if(pwdautocomplete === 0 || pwdautocomplete === 1)
{
try{
if (pwdautocomplete === 0) webphone_api.$("#lp_password").attr("autocomplete", "off");
else if (pwdautocomplete === 1) webphone_api.$("#lp_password").attr("autocomplete", "on");
} catch(err) { webphone_api.common.PutToDebugLogException(5, "_settings: pwdautocomplete", err); }
}
if(showproxyaddress < 2)
{
//webphone_api.$('#lp_proxyaddress').hide();
//webphone_api.common.PutToDebugLog(3, 'EVENT,ssssss 7 '+showproxyaddress.toString());
webphone_api.$('#lp_proxyaddress').closest( 'div.ui-input-text' ).hide();
}
webphone_api.$('#lp_callerid').val(webphone_api.common.GetCallerid());
if(showusername < 2)
{
webphone_api.$('#lp_callerid').hide();
}
//BRANDEND
//-- Kéne legyen rá lehetőség, hogy müködjön jelszó nélkül.
//-- - Pl. ha a password „nopassword” ra van állitva, akkor ezt kezelni kéne speciálisan a softphone skin en: annyi az összes tennivaló,
//-- hogy ilyenkor nemkéne megjeleniteni a password inputot a settingsben és a login képernyőn. Semmi más változtatás nem kell.
//-- - if username is "anonymous", then treat as nopassword
if (webphone_api.common.GetSipusername(true) === 'anonymous')
{
webphone_api.$('#lp_username').hide();
webphone_api.$('#lp_callerid').hide();
}
if (webphone_api.common.GetParameter('password') === 'nopassword')
{
webphone_api.$('#lp_password').hide();
}
}
MeasureSettingslist();
if ( webphone_api.common.isNull(document.getElementById('settings_list')) )
{
webphone_api.common.PutToDebugLog(2, "ERROR, _settings: PopulateList listelement is null");
return false;
}
webphone_api.common.PutToDebugLog(5, 'EVENT, _settings Starting populate list');
webphone_api.global.sipstackstarted = false;
var listview = '';
var settOrderTmp = '';
//-- if (webphone_api.common.GetParameter('devicetype') === webphone_api.common.DEVICE_WIN_SOFTPHONE())
if (webphone_api.common.IsWindowsSoftphone())
{
if (printdevice) { webphone_api.common.PutToDebugLog(2, 'EVENT, settings: Device: Windows softphone'); }
settOrderTmp = settOrderWin;
//-- hide the startwithos option once it is already set
if (webphone_api.common.ParameterIsDefault('startwithos', true) === false)
{
settOrderTmp = settOrderTmp.replace(',startwithos', '');
}
}else
{
if (printdevice) { webphone_api.common.PutToDebugLog(2, 'EVENT, settings: Device: browser webphone'); }
settOrderTmp = settOrderWebphone;
if (webphone_api.common.getuseengine() === webphone_api.global.ENGINE_WEBRTC || webphone_api.common.getuseengine() === webphone_api.global.ENGINE_FLASH)
{
settOrderTmp = settOrderWebphoneWebRTCFlash;
}
//-- remove enginepriority_nativedial id not mobile
if (webphone_api.common.GetOs() !== 'Android' && webphone_api.common.GetOs() !== 'iOS')
{
settOrderTmp.replace('enginepriority_nativedial,', '');
}
}
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 50) // favafone
{
basicSettingsCustomized = 'startwithos,loglevel,displayvolumecontrols,displayaudiodevice,savetocontacts';
settOrderTmp = 'startwithos,loglevel,displayvolumecontrols,displayaudiodevice,savetocontacts';
}
//BRANDEND
if (isAdvancedLoginSett > 0)
{
settOrderTmp = settorderAdvancedLoginSett;
}
if (currfeatureset < 10) // reduced
{
settOrderTmp = settOrderReduced;
}
printdevice = false;
//OPSSTART
if (webphone_api.common.Glvd() === false)
{
settOrderTmp = settOrderTmp.replace('vcodec,', '');
settOrderTmp = settOrderTmp.replace('video_fps,', '');
settOrderTmp = settOrderTmp.replace('video_profile,', '');
settOrderTmp = settOrderTmp.replace('cfgvideo,', '');
settOrderTmp = settOrderTmp.replace('video_height,', '');
settOrderTmp = settOrderTmp.replace('video_width,', '');
settOrderTmp = settOrderTmp.replace('video_bandwidth,', '');
settOrderTmp = settOrderTmp.replace('video,', '');
}
if (webphone_api.common.Glv() < 2)
{
//-- + conference, call recording, file transfer
if (webphone_api.common.Glv() < 1)
{
settOrderTmp = settOrderTmp.replace('callforwardonbusy,', '');
settOrderTmp = settOrderTmp.replace('callforwardonnoanswer,', '');
settOrderTmp = settOrderTmp.replace('callforwardalways,', '');
settOrderTmp = settOrderTmp.replace('calltransferalways,', '');
settOrderTmp = settOrderTmp.replace('transfertype,', '');
settOrderTmp = settOrderTmp.replace('conferencetype,', '');
}
}
//OPSENS
if(showproxyaddress >= 2 && settOrderTmp.indexOf("serveraddress_user,") >= 0)
{
settOrderTmp = settOrderTmp.replace('proxyaddress,', '');
settOrderTmp = settOrderTmp.replace('serveraddress_user,', 'proxyaddress,serveraddress_user,');
}
if(showusername >= 2 && settOrderTmp.indexOf(",sipusername,") >= 0)
{
settOrderTmp = settOrderTmp.replace(',username,', ',');
settOrderTmp = settOrderTmp.replace(',sipusername,', ',username,sipusername,');
}
var settOrderReducedCustomizedArray = settOrderReducedCustomized.split(',');
// extraloginpageinputs=proxy,sip
var elpi = webphone_api.common.GetParameter('extraloginpageinputs');
var extraLits = [];
if (!webphone_api.common.isNull(elpi) && elpi.length > 0)
{
extraLits = elpi.split(',');
}
if (webphone_api.common.isNull(extraLits)) { extraLits = []; }
var loopindex = 0;
while (settOrderTmp.length > 0 && loopindex < 5000)
{
loopindex++;
var listitem = '';
var pos = settOrderTmp.indexOf(",");
if (pos <= 0)
{
if (settOrderTmp.length > 0)
{
pos = settOrderTmp.length;
}else
{
break;
}
}
var settName = settOrderTmp.substring(0, pos);
if (pos + 1 < settOrderTmp.length) { settOrderTmp = ( webphone_api.common.Trim(settOrderTmp.substring(pos + 1))); } else { settOrderTmp = ""; }
if ( webphone_api.common.isNull(settName) || settName.length < 1) { continue; }
/*
if(settName == "proxyaddress")
{
//debug breakpoint
webphone_api.common.PutToDebugLog(2,"EVENT, pppppppppppppppp");
}
*/
var value = webphone_api.global.settmap2[settName];
if( webphone_api.common.isNull(value) ) { continue; }
var settValue = value[webphone_api.common.SETT_VALUE];
var settType = value[webphone_api.common.SETT_TYPE];
var settIsdefault = value[webphone_api.common.SETT_ISDEFAULT];
var settGroupingInt = 0;
try{ settGroupingInt = webphone_api.common.StrToInt( webphone_api.common.Trim( value[webphone_api.common.SETT_GROUP]));
if ( webphone_api.common.isNull(settGroupingInt) ) { settGroupingInt = 0; }
} catch(errin){ webphone_api.common.PutToDebugLogException(3,"_settings: populateList settGrouping can't be converted to integer", errin); }
//-- hide http requests in customized version
//-- if (webphone_api.common.GetParameterBool('customizedversion', true) === true)
//-- {
//-- if (settName === 'creditrequest' || settName === 'ratingrequest' || settName === 'p2p' || settName === 'callback' || settName === 'sms')
//-- {
//-- continue;
//-- }
//-- }
var settDisplayName = webphone_api.stringres.get('sett_display_name_'+settName);
var settComment = webphone_api.stringres.get('sett_comment_'+settName);
var settCommentShort = webphone_api.stringres.get('sett_comment_short_'+settName);
// display all setttings when search / filter is visible
if (!filtervisible)
{
//display only current group
if (isSettLevelBasic)
{
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
if(showproxyaddress >= 2 && settName === 'proxyaddress') ;
else if(showusername >= 2 && settName === 'username') ;
else if (settGroupingInt !== currGroup && settName !== 'accounts' && extraLits.indexOf(settName) < 0)
{
continue;
}
}
else
{
if (webphone_api.common.GetParameterBool('customizedversion', true) === true)
{
if (basicSettingsCustomized.indexOf(settName) < 0)
{
continue;
}
}else
{
if (basicSettings.indexOf(settName) < 0)
{
continue;
}
}
}
}else
{
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_PROFILE))
{
if (settGroupingInt !== currGroup && settName !== 'displayname' && settName !== 'email' && settName !== 'presencestatus')
{
continue;
}
if (settName === 'displayname')
{
settDisplayName = webphone_api.stringres.get('name');
settComment = webphone_api.stringres.get('displayname_login');
}
}else
{
if (isAdvancedLoginSett < 1 && settGroupingInt !== currGroup && settName !== 'accounts' && settName !== 'ringtone' && settName !== 'serveraddress_user')
{ // accounts is shown in main settings too, if there are more than 1 account
continue;
}
}
}
//-- if (settGroupingInt !== currGroup && settName !== 'accounts' && settName !== 'ringtone')
//-- { // accounts is shown in main settings too, if there are more than 1 account
//-- continue;
//-- }
//-- if (currGroup !== webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN) && isSettLevelBasic && basicSettings.indexOf(settName) < 0)
//-- {
//-- continue;
//-- }
}
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 60) //-- voipmuch
{
if (settName === 'username') { continue; } //-- hide caller ID
}
//BRANDEND
//The following settings are not needed in the customizedversion, unless “featureset” parameter is set to 4. (0: Minimal, 5: Reduced, 10: Normal (default), 15: Extra)
// Hide my identity,Realm,Use ICE,Use STUN,Use rport,Register,Register interval,Keep alive,NAT open packets,Use PRACK,Capability request,Set final codec,
if (webphone_api.common.GetParameterBool('customizedversion', true) === true)
{
if (currfeatureset < 10)
{
if (settOrderReducedCustomizedArray.indexOf(settName) >= 0)
{
continue;
}
}
}
if (settName === 'accounts')
{
/*if ((isSettLevelBasic && currGroup !== webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN)) ||
currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_GENERAL) ||
(currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN) && !webphone_api.common.isNull(webphone_api.global.sipaccounts) && webphone_api.global.sipaccounts.length > 1))*/
if (isAdvancedLoginSett > 0 || currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_SIP) ||
(currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN) && !webphone_api.common.isNull(webphone_api.global.sipaccounts) && webphone_api.global.sipaccounts.length > 1))
{
;
}else
{
continue;
}
}
//-- dialer integration not implemented
if (settGroupingInt === webphone_api.common.StrToInt(webphone_api.common.GROUP_INTEGRATE))
{
continue;
}
if ( webphone_api.common.isNull(settType) || settType.length < 1 ||
(settType !== '0' && settType !== '1' && settType !== '2' && settType !== '3' && settType !== '4'
&& settType !== '5' && settType !== '6' && settType !== '7' && settType !== '8'))
{
if (settType !== '-1')
{
webphone_api.common.PutToDebugLog(2,"ERROR, _settings: "+settType+" is incorrectly defined in InitializeSettings");
}
continue;
}
if (webphone_api.common.HideSettings(settName, settDisplayName, settName) === true) { continue; }
//-- Kéne legyen rá lehetőség, hogy müködjön jelszó nélkül.
//-- - Pl. ha a password „nopassword” ra van állitva, akkor ezt kezelni kéne speciálisan a softphone skin en: annyi az összes tennivaló,
//-- hogy ilyenkor nemkéne megjeleniteni a password inputot a settingsben és a login képernyőn. Semmi más változtatás nem kell.
//-- - if username is "anonymous", then treat as nopassword
if (settName === 'sipusername')
{
if (settValue === 'anonymous') { continue; }
//-- if username or password is set fixed in webphone_api.parameters or config.js, then don't display user/pwd input
if (IsUsernameFixed() === true)
{
continue;
}
}
if (settName === 'password')
{
if (settValue === 'nopassword') { continue; }
// if username or password is set fixed in webphone_api.parameters or config.js, then don't display user/pwd input
if (IsPasswordFixed() === true)
{
continue;
}
}
if (settName === 'serveraddress_user')
{
if (webphone_api.common.ShowServerInput())
{
if (isAdvancedLoginSett < 1 && currGroup !== webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN) && currGroup !== webphone_api.common.StrToInt(webphone_api.common.GROUP_SIP))
{
continue;
}
webphone_api.common.SaveParameter('iswebrtcuppersrvfromuser', 'true');
//-- upperserverfromuser 0=not needed, 1=no need to enter (preconfigured), 2=maybe,3=yes
//-- !!!! HACK !!!
//if (webphone_api.common.GetParameter('showserverinput') === '1' && webphone_api.common.GetConfigInt('upperserverfromuser', 2) < 2)
if (!webphone_api.common.RequestUserServerInput())
{
continue;
}
settDisplayName = webphone_api.common.GetParameter('server_label');
if ((settDisplayName.toLowerCase()).indexOf('op code') >= 0 || (settDisplayName.toLowerCase()).indexOf('operator code') >= 0)
{
settComment = webphone_api.stringres.get('sett_comment_serveraddress_user_operator');
}
}else
{
continue; //-- don't show server input
}
}
if (settName === 'theme' && (webphone_api.common.GetConfig('showtheme') === 'false' || webphone_api.common.GetParameterBool('customizedversion', false) === true)) { continue; }
if (settName === 'loglevel_dbg')
{
var loglevel = webphone_api.common.GetLogLevel();
if (loglevel < 2)
{
continue;
}
}
if (settName === 'telsearchkey')
{
if (webphone_api.common.isNull(webphone_api.common.GetConfig('telsearchurl')) || webphone_api.common.GetConfig('telsearchurl').length < 3)
{
continue;
}
}
//-- show only username/password on first start
//-- if (webphone_api.common.GetParameter('customizedversion') === 'true' && startedfrom !== 'app')
//-- {
//-- if (webphone_api.common.ShowServerInput())
//-- {
//-- if (settName !== 'serveraddress_user' && settName !== 'sipusername' && settName !== 'password')
//-- {
//-- continue;
//-- }
//-- }else
//-- {
//-- if (settName !== 'sipusername' && settName !== 'password')
//-- {
//-- continue;
//-- }
//-- }
//-- }
//-- not used
//-- if (!isSettLevelBasic && highlightedSettings.indexOf(settName) >= 0)
//-- {
//-- settDisplayName = '<b>' + settDisplayName + '</b>';
//-- }
// icetimeout setting on the softphone skin user interface advanced settings (but should not be displayed when used as windows softphone or other engines forced/webrtc engine disabled)
if (settName === 'icetimeout')
{
if (webphone_api.common.IsWindowsSoftphone() === true) { continue; }
var ep_webrtc = webphone_api.common.GetParameterInt('enginepriority_webrtc', 2);
if (ep_webrtc < 1) { continue; }
var ep_java = webphone_api.common.GetParameterInt('enginepriority_java', 2);
var ep_ns = webphone_api.common.GetParameterInt('enginepriority_ns', 2);
var ep_flash = webphone_api.common.GetParameterInt('enginepriority_flash', 2);
var ep_app = webphone_api.common.GetParameterInt('enginepriority_app', 2);
var ep_p2p = webphone_api.common.GetParameterInt('enginepriority_p2p', 2);
var ep_accessnum = webphone_api.common.GetParameterInt('enginepriority_accessnum', 2);
var ep_nativedial = webphone_api.common.GetParameterInt('enginepriority_nativedial', 2);
if (ep_webrtc < 3 &&
(ep_java > 3 || ep_ns > 3 || ep_flash > 3 || ep_app > 3 || ep_p2p > 3 || ep_accessnum > 3 || ep_nativedial > 3))
{
continue;
}
}
var comment = '';
if (settIsdefault === '0' || settName === 'sipusername' || settName === 'password' || settName === 'serveraddress_user') // means the default value was changed
{
comment = GetSettComment(settName) + ' ' + GetSettFormattedValue(settName);
}else
{
comment = GetSettComment(settName);
}
if (webphone_api.common.GetParameter('serverinputisupperserver') === 'true')
{
if (settName === 'serveraddress_user')
{
//BRANDSTART
if (webphone_api.common.GetParameterInt('brandid', -1) === 2) // gmsdialergold
comment = webphone_api.stringres.get('sett_comment_serveraddress_user_gmsdialer') + ' ' + GetSettFormattedValue(settName);
else
//BRANDEND
comment = GetSettComment(settName) + ' ' + GetSettFormattedValue(settName);
}
}
if (settName === 'serveraddress_user')
{
if (webphone_api.common.GetConfig('server_comment').length > 1)
{
comment = webphone_api.common.GetConfig('server_comment') + ' ' + GetSettFormattedValue(settName);
}
}
if (settName === 'transport')
{
if (webphone_api.common.GetParameter('serverinputisupperserver') === 'true' || webphone_api.common.GetParameterBool('autotransportdetect', false) === true)
{
continue;
}
}
// if demo index page, then also read settings from cookie
try{
if (window.location.href.indexOf('isdemopage=true') > 0
&& (settName === 'sipusername' || settName === 'username' || settName === 'password' || settName === 'sippassword' || settName === 'serveraddress_user'
|| settName === 'serveraddress_orig' || settName === 'serveraddress' || settName === 'upperserver' || settName === 'callto' || settName === 'destination'))
{
var tmp = webphone_api.getparameter(settName);
if (settName === 'sipusername' && tmp.length < 1) { tmp = webphone_api.getparameter('username'); }
if (settName === 'serveraddress_user' && tmp.length < 1 && webphone_api.common.RequestUserServerInput() === false) { tmp = webphone_api.getparameter('serveraddress'); }
if (!webphone_api.common.isNull(tmp) && tmp.length > 0 &&
(webphone_api.common.isNull(settValue) || settValue.length < 1))
{
webphone_api.setparameter(settName, tmp, false);
settValue = tmp;
}
}
} catch(e) { webphone_api.common.PutToDebugLogException(2, '_settings: Populateliet inner1', e); }
//--<li data-icon="carat-d"><a href="javascript:void(0)" class="noshadow"><div class="sett_text"><span class="sett_display_name">Username</span><br><span class="sett_comment">Sip account username Sip account username Sip account username</span></div></a></li>
//--<li data-icon="false"><a href="javascript:void(0)" class="noshadow"><div class="sett_text"><span class="sett_display_name">Password</span><br><span class="sett_comment">Sip account password Sip account password Sip account password</span></div><div class="sett_image"><img src="images\checkbox_true.png" /></div></a></li>
//-- listitem = '<li data-icon="[SETTICON]" id="[ITEMID]"><a href="javascript:void(0)" class="noshadow"><div class="sett_text"><span class="sett_display_name">[DISPLAYNAME]</span><br><span id="[COMMENTID]" class="sett_comment">[COMMENT]</span></div>[TRUEFALSEIMG]</a></li>';
listitem = '<li data-icon="[SETTICON]" id="[ITEMID]" title="[SETT_TITLE]"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">[DISPLAYNAME]</span><br><span id="[COMMENTID]" class="sett_comment">[COMMENT]</span></div>[TRUEFALSEIMG]</a></li>';
/**type - 0 = checkbox, 1 = text box, 2 = drop down list, 3 = drop down list and checkbox,
4 = seek bar, 5 = open new activity, 6 = submenu, 7 = drop down list from XML string-array, 8 = custom*/
if (settType === '0')
{
// handle 2 as TRUE and 1 as FALSE
if (settName === 'flash' || settName === 'sscontrol' || settName === 'ssscroll' || settName === 'sstop')
{
if (settValue === '2') { settValue = 'true'; }else{ settValue = 'false'; }
}
else if (settName === 'beeponincoming')
{
if (settValue === '-1' || settValue === '1' || settValue === '2') { settValue = 'true'; }else{ settValue = 'false'; }
}
if (settName === 'loglevel') // handle loglevel separatelly, because values range from 1 to 5 or more
{
var tmplevel = webphone_api.common.StrToInt(settValue);
if (tmplevel > 1)
{
listitem = listitem.replace('[TRUEFALSEIMG]', '<div class="sett_image"><img src="' + webphone_api.common.GetElementSource() + 'images/checkbox_true.png" id="img_' + settName + '" /></div>');
}else
{
listitem = listitem.replace('[TRUEFALSEIMG]', '<div class="sett_image"><img src="' + webphone_api.common.GetElementSource() + 'images/checkbox_false.png" id="img_' + settName + '" /></div>');
}
}
else if (settValue === 'true')
{
listitem = listitem.replace('[TRUEFALSEIMG]', '<div class="sett_image"><img src="' + webphone_api.common.GetElementSource() + 'images/checkbox_true.png" id="img_' + settName + '" /></div>');
}else
{
listitem = listitem.replace('[TRUEFALSEIMG]', '<div class="sett_image"><img src="' + webphone_api.common.GetElementSource() + 'images/checkbox_false.png" id="img_' + settName + '" /></div>');
}
listitem = listitem.replace('[SETTICON]', 'false');
}else
{
listitem = listitem.replace('[TRUEFALSEIMG]', '');
}
if (settType === '1' || settType === '2' || settType === '3' || settType === '4' || settType === '5' || settType === '7' || settType === '8')
{
listitem = listitem.replace('[SETTICON]', 'carat-d');
}
if (settType === '6')
{
listitem = listitem.replace('[SETTICON]', 'carat-r');
}
listitem = listitem.replace('[ITEMID]', 'settingitem_' + settName);
listitem = listitem.replace('[DISPLAYNAME]', settDisplayName);
listitem = listitem.replace('[COMMENT]', comment);
listitem = listitem.replace('[COMMENTID]', 'sett_comment_' + settName);
listitem = listitem.replace('[SETT_TITLE]', settComment);
listview = listview + listitem;
hasonlysettings = 0;
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: PopulateList", err); }
setTimeout(function ()
{
webphone_api.common.HideModalLoader();
}, 800);
// settings entry
var show_showSetitngsEntry = true;
if (filtervisible === false)
{
if (
(startedfrom !== 'app' || webphone_api.common.GetParameter("sipusername").length < 1 || webphone_api.common.GetParameter("password").length < 1)
&& currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
show_showSetitngsEntry = false;
var settitem = '<li data-icon="carat-r" id="settingitem_advancedloginsettings" title="' + webphone_api.stringres.get('sett_comment_advancedloginsettings') + '"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_display_name_advancedloginsettings') + '</span><br><span id="sett_comment_advancedloginsettings" class="sett_comment">' + webphone_api.stringres.get('sett_comment_advancedloginsettings') + '</span></div></a></li>';
listview = listview + settitem;
hasonlysettings = 0;
}
if ((webphone_api.common.GetParameterBool('customizedversion', true) === false || startedfrom === 'app' || webphone_api.common.GetParameter('newuser_second').length > 3)
&& currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
if (show_showSetitngsEntry)
{
var settenteritem = '<li data-icon="carat-r" id="settingitem_entersettings" title="' + webphone_api.stringres.get('sett_comment_entersettings') + '"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_display_name_entersettings') + '</span><br><span id="sett_comment_advancedsettings" class="sett_comment">' + webphone_api.stringres.get('sett_comment_entersettings') + '</span></div></a></li>';
listview = listview + settenteritem;
if(hasonlysettings == 1) hasonlysettings = 2;
}
}
if (/*showadvacedsettings && */isSettLevelBasic && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN) && currfeatureset > 5 && isAdvancedLoginSett < 1)
{
var advanceditem = '<li data-icon="carat-r" id="settingitem_advancedsettings" title="' + webphone_api.stringres.get('sett_comment_submenu_advanced') + '"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_display_name_advancedsettings') + '</span><br><span id="sett_comment_advancedsettings" class="sett_comment">' + webphone_api.stringres.get('sett_comment_advancedsettings') + '</span></div></a></li>';
listview = listview + advanceditem;
hasonlysettings = 0;
}
if (isAdvancedLoginSett > 0 && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN))
{
var moreitem = '<li data-icon="carat-r" id="settingitem_moresettings" title="' + webphone_api.stringres.get('sett_comment_moresettings') + '"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_display_name_moresettings') + '</span><br><span id="sett_comment_moresettings" class="sett_comment">' + webphone_api.stringres.get('sett_comment_moresettings') + '</span></div></a></li>';
listview = listview + moreitem;
hasonlysettings = 0;
}
/*
if (!isSettLevelBasic && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN))
{
temp = new HashMap<String,Object>();
temp.put("display_name", getResources().getString(R.string.sett_display_name_basicsettings));
temp.put("display_name_bold","");
temp.put("comment", getResources().getString(R.string.sett_comment_basicsettings));
temp.put("type", R.drawable.spacer);
settList.add(temp);
}*/
/*
// advanced settings entry
if (webphone_api.common.HideSettings('advancedsettings', '', 'advancedsettings') === false)
{
if (isSettLevelBasic && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN) && currfeatureset > 5)
{
var advanceditem = '<li data-icon="carat-r" id="settingitem_advancedsettings"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_display_name_advancedsettings') + '</span><br><span id="sett_comment_advancedsettings" class="sett_comment">' + webphone_api.stringres.get('sett_comment_advancedsettings') + '</span></div></a></li>';
listview = listview + advanceditem;
}
}
if ((webphone_api.common.GetParameterBool('customizedversion', true) !== true || startedfrom === 'app') && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
var settenteritem = '<li data-icon="carat-r" id="settingitem_entersettings"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_display_name_entersettings') + '</span><br><span id="sett_comment_advancedsettings" class="sett_comment">' + webphone_api.stringres.get('sett_comment_entersettings') + '</span></div></a></li>';
listview = listview + settenteritem;
}*/
}
//-- service plugin (service engine) suggestion !!!DEPRECATED
//-- if (webphone_api.common.GetParameter('devicetype') === webphone_api.common.DEVICE_WEBPHONE() && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN)
//-- && webphone_api.global.enableservice && webphone_api.global.useengine > -1 && webphone_api.global.useengine !== webphone_api.global.ENGINE_SERVICE
//-- && webphone_api.global.useengine !== webphone_api.global.ENGINE_JAVA && !webphone_api.common.IsServiceInstalled())
//-- {
//-- var engineservice = '<li data-icon="carat-r" id="settingitem_engineservice"><a class="noshadow"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('serviceengine_title') + '</span><br><span id="sett_comment_engineservice" class="sett_comment">' + webphone_api.stringres.get('serviceengine_msg') + '</span></div></a></li>';
//-- listview = listview + engineservice;
//-- }
//--// choose engine for testing !!!DEPRECATED
//-- if (webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
//-- {
//-- var engine = '<li data-icon="[SETTICON]" id="[ITEMID]"><a class="noshadow"><div class="sett_text"><span class="sett_display_name">[DISPLAYNAME]</span><br><span id="[COMMENTID]" class="sett_comment">[COMMENT]</span></div>[TRUEFALSEIMG]</a></li>';
//-- if (webphone_api.global.enablewebrtc)
//-- {
//-- engine = engine.replace('[TRUEFALSEIMG]', '<div class="sett_image"><img src="' + webphone_api.common.GetElementSource() + 'images/checkbox_true.png" id="img_' + settName + '" /></div>');
//-- }else
//-- {
//-- engine = engine.replace('[TRUEFALSEIMG]', '<div class="sett_image"><img src="' + webphone_api.common.GetElementSource() + 'images/checkbox_false.png" id="img_' + settName + '" /></div>');
//-- }
//-- engine = engine.replace('[SETTICON]', 'false');
//-- engine = engine.replace('[ITEMID]', 'chooseengine');
//-- engine = engine.replace('[DISPLAYNAME]', 'Use WebRTC');
//-- engine = engine.replace('[COMMENT]', 'If checked uses WebRTC esle uses Java');
//-- listview = listview + engine;
//-- }
//-- show chooseengine setting on login page only if previous engine could not register; 0=unknown, 1=failed, 2=if we received any notification
//-- ha azert all meg a loginnal mert elotte valami gond volt:
//-- -kerüljön bele a voip engine a basic settings -be elso beallitasnak
//-- -ha megvan adva a configban a serveraddress-username-passsword, akkor menjen be a basic settingsbe (ne a login oldalon alljon meg ahol csak egy settings item van)
if (webphone_api.common.IsWindowsSoftphone() === false && (webphone_api.global.isdebugversion_showengineselection === true || webphone_api.common.GetParameterInt('enproblem', 0) > 0
|| (webphone_api.common.GetParameterBool('last_login_failed', false) === true && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN))))
{
html_engineoption = '<li data-icon="carat-d" id="settingitem_chooseengine"><a class="noshadow mlistitem"><div class="sett_text"><span class="sett_display_name">' + webphone_api.stringres.get('sett_chooseengine_title') + '</span><br><span id="sett_comment_engineservice" class="sett_comment">' + webphone_api.stringres.get('sett_chooseengine_comment') + ' (' + webphone_api.common.GetEngineDisplayName(webphone_api.common.GetSelectedEngineName()) + ')' + '</span></div></a></li>';
listview = html_engineoption + listview;
hasonlysettings = 0;
var enproblem = webphone_api.common.GetParameterInt('enproblem', 0);
if(enproblem > 0)
{
if(enproblem > 4) enproblem = 4;
enproblem--;
webphone_api.common.SaveParameter('enproblem', enproblem);
}
}else
{
if((currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN) && webphone_api.common.GetParameter('lastsessionsuccess') === '1')
|| (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_SIP) && isSettLevelBasic === false))
{
if (webphone_api.common.isNull(html_engineoption)) { html_engineoption = ''; }
listview = html_engineoption + listview;
hasonlysettings = 0;
}
}
//-- var footer = '<li id="settings_footer"><button id="btn_cancel" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + webphone_api.stringres.get('btn_cancel') + '</button><button id="btn_login" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + webphone_api.stringres.get("btn_login") + '</button></li>';
var btnlogintitle = '';
if (startedfrom === 'app' && ismodified === true)
{
btnlogintitle = webphone_api.stringres.get('btn_save');
}else
{
btnlogintitle = webphone_api.stringres.get('btn_login');
}
var footer = '<li id="settings_footer"><button id="btn_login" title="' + webphone_api.stringres.get("hint_settlogin") + '" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + btnlogintitle + '</button></li>';
var usrtmp = webphone_api.common.GetSipusername(); if (webphone_api.common.isNull(usrtmp)) { usrtmp = ''; }
var pwdtmp = webphone_api.common.GetParameter('password'); if (webphone_api.common.isNull(pwdtmp)) { pwdtmp = ''; }
var qrlayout = '';
if (webphone_api.common.IsWindowsSoftphone() === true)
{
var qrcode_login = webphone_api.common.GetParameterInt('qrcode_login', 0);
if (qrcode_login == 1)
{
if (usrtmp.length < 1 || pwdtmp.length < 1)
{
qrlayout = '<li id="qrcode_layout"><button id="btn_qrcode_login" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + webphone_api.stringres.get('btn_qrcode') + '</button></li>';
}
}
else if (qrcode_login == 2)
{
qrlayout = '<li id="qrcode_layout"><button id="btn_qrcode_login" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + webphone_api.stringres.get('btn_qrcode') + '</button></li>';
}
}
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN)
|| (usrtmp.length > 0 && pwdtmp.length > 0))
{
listview = listview + qrlayout + footer;
}
var newuseruri = webphone_api.common.GetParameter('newuser');
if (webphone_api.common.isNull(newuseruri) || newuseruri.length < 1) newuseruri = webphone_api.common.GetParameter('newuserurl');
if (!webphone_api.common.isNull(newuseruri) && newuseruri.length > 2 && startedfrom !== 'app' && currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
listview = listview + '<a href="javascript:;" id="al_newuser" title="' + webphone_api.stringres.get('hint_btnnewuser') + '" class="settings_links" target="_blank">' + webphone_api.stringres.get('newuser') + '</a>';
hasonlysettings = 0;
//-- OLD button style
//-- var newuser = '<li id="newuser_container"><button id="btn_newuser" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + webphone_api.stringres.get('newuser') + '</button></li>';
//-- listview = listview + newuser;
}
webphone_api.$('#settings_list').html('');
webphone_api.$('#settings_list').append(listview).listview('refresh');
webphone_api.$("#al_newuser").on("click", function(event) { OnNewUserClicked(); event.preventDefault(); });
//-- webphone_api.$('#settings_footer').off('click');
var trigerredQ = false; // handle multiple clicks
webphone_api.$("#btn_qrcode_login").on("click", function()
{
if (trigerredQ) { return; }
trigerredQ = true;
setTimeout(function ()
{
trigerredQ = false;
}, 1000);
webphone_api.common.PutToDebugLog(3, 'EVENT, settings button QRcode login clicked');
QRcodeLogin();
});
var trigerred = false;
webphone_api.$("#btn_login").on("click", function()
{
if (trigerred) { return; }
trigerred = true;
setTimeout(function ()
{
trigerred = false;
}, 1000);
webphone_api.common.PutToDebugLog(3, 'EVENT, settings button login clicked');
//-- alert('IsJavaInstalled: ' + webphone_api.common.IsJavaInstalled());
//-- return;
SaveSettings(true);
currGroup = 20;
});
webphone_api.$("#btn_cancel").on("click", function()
{
//-- webphone_api.common.OpenWebURL('https://www.mizu-voip.com');
//-- webphone_api.common.ShowToast('test toast');
//-- webphone_api.$.mobile.changePage("#page_messagelist", { transition: "pop", role: "page" });
//-- webphone_api.common.SaveSettingsFile();
console.log('Cancel');
//-- webphone_api.common.AlertDialog('Test', webphone_api.stringres.get('proversion_content_text'))
//-- webphone_api.common.UpgradeToProVersion();
});
webphone_api.common.PutToDebugLog(5, 'EVENT, _settings List populated');
if(hasonlysettings == 2)
{
webphone_api.common.PutToDebugLog(5, 'EVENT, auto switch into settings'); //because only one single "Settings..." is in the list
ShowSettings();
//change Back button behaviour:
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN);
//webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_login") );
//webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("btn_cancel") );
//webphone_api.$("#btn_back_settings").on("click", function(event) { BackOnClick(event); });
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_title") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get('settings_login') );
return true;
}
return false;
//-- listElem.innerHTML = listview;
//-- listElem.listview('refresh');
//-- webphone_api.$(menuId).append('<li><a href="javascript:;" id="' + MENUITEM_SETTINGS_EXIT + '" onclick="MenuItemSelected(\'' + MENUITEM_SETTINGS_EXIT + '\')" >Exit</a></li>').listview('refresh');
}
var ismodified = false; // change button text (Login / Save) based on if any setting was clicked
var ulist = []; // list of engines to be displayed for users
var srvc_installed = false;
function OnListItemClick (id) // :no return value
{
try{
if(webphone_api.common.CanLog(3)) { webphone_api.common.PutToDebugLog(3,'EVENT, _settings: OnListItemClick click, id: ' + id); }
//-- choose engine
if (id === 'chooseengine')
{
webphone_api.global.enablewebrtc = !webphone_api.global.enablewebrtc;
PopulateList();
return;
}
if (webphone_api.common.isNull(id) || id.length < 1)
{
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings OnListItemClick id is NULL');
return;
}
if (id === 'settingitem_entersettings')
{
ShowSettings();
return;
}
if (id === 'settingitem_advancedloginsettings')
{
ShowLoginSettings(1);
return;
}
if (id === 'settingitem_advancedloginsettings2')
{
ShowLoginSettings(2);
return;
}
if (id === 'settingitem_advancedsettings')
{
isAdvancedLoginSett = 0; isAfterAdvancedLoginSett = 0;
SwitchBetweenBasicAdvanced();
return;
}
if (id === 'settingitem_moresettings')
{
isAdvancedLoginSett = 0;
if(isAfterAdvancedLoginSett > 0)
{
isAfterAdvancedLoginSett = 0;
//SwitchBetweenBasicAdvanced();
if(isSettLevelBasic) restorebasicsettings = 1;
AdvancedSettProtected();
/*
if(restorebasicsettings > 0)
{
isSettLevelBasic = true;
webphone_api.common.SaveParameter('settlevelbasic', 'true');
}
*/
}
else
{
ShowSettings();
}
return;
}
//-- handle choose engine
if (id === 'settingitem_chooseengine')
{
webphone_api.common.PutToDebugLog(5, 'EVENT, _settings: chooseengine init');
var enginelist = webphone_api.common.GetEngineList();
if (webphone_api.common.isNull(enginelist) || enginelist.length < 2) { return; }
// request now, so when user clicks ok, we already have the result; tricky handling, just check the code below
webphone_api.common.IsServiceInstalled(function (installed)
{
if (installed === true)
{
srvc_installed = true;
}else
{
srvc_installed = false;
}
}, true);
ulist = []; //-- list of engines to be displayed for users
var selname = webphone_api.common.GetSelectedEngineName();
var recname = webphone_api.common.GetRecommendedEngineName();
var e_sel = '3'; //-- selected engine (for option select dropdown)
var e_rec = '2'; //-- recomended engine (for option select dropdown)
var e_avail = '1'; //-- available, but not selected and not recommended engine (for option select dropdown)
var e_dis = '0'; //-- disabled engine (for option select dropdown)
for(var i = 0; i < enginelist.length; i++)
{
var engine = enginelist[i];
//-- "java", "webrtc", "ns", "app", "flash", "p2p", "accessnum", "nativedial", "otherbrowser", "java_avail",
if (webphone_api.common.isNull(engine) || webphone_api.common.isNull(selname) || selname.length < 1
|| (engine.name !== 'java' && engine.name !== 'webrtc' && engine.name !== 'ns'
&& engine.name !== 'app' && engine.name !== 'flash'))
{
continue;
}
var defpriority = engine.defpriority;
var type = '0';
if (engine.name === selname) { type = '3'; defpriority = defpriority * 10;}
else if (engine.name === recname) { type = '2'; defpriority = defpriority * 4; }
else if (webphone_api.common.EngineIsSupported(engine.name) > 0) { type = '1'; }
var typeint = webphone_api.common.StrToInt(type);
var item = [];
item[0] = engine.name;
item[1] = type;
item[2] = (typeint * defpriority).toString();
ulist.push(item);
}
if (webphone_api.common.isNull(ulist) || ulist.length < 1) { return; }
//-- sort values in priority order (desc) in ulist -> firts selected, then recommended, ...
ulist.sort(function (a,b) //-- comparator function
{
if ( a[2] > b[2] ) { return -1; }
if ( a[2] < b[2] ) { return 1; }
return 0;
});
for (var i = 0; i < ulist.length; i++)
{
var item = ulist[i];
}
//--showing options dialog
var radiogroup = '';
for (var i = 0; i < ulist.length; i++)
{
var oneen = ulist[i];
if (webphone_api.common.isNull(oneen) || oneen.length < 1) { continue; }
var item = '<input name="' + mCurrSettName + '" id="[INPUTID]" value="[VALUE]" [CHECKED] [DISABLED] type="radio">' +
'<label for="[INPUTID]" [NOTBOLD]>[LABEL]</label>';
item = item.replace('[INPUTID]', 'ensel_' + oneen[0]);
item = item.replace('[INPUTID]', 'ensel_' + oneen[0]); //-- twice
item = item.replace('[VALUE]', oneen[0]);
if (oneen[1] === '3') // selected engine
{
item = item.replace('[CHECKED]', 'checked="checked"');
item = item.replace('[LABEL]', webphone_api.common.GetEngineDisplayName(oneen[0]) + ' (' + webphone_api.stringres.get('sett_ce_highly') + ')');
item = item.replace('[NOTBOLD]', '');
}
else if (oneen[1] === '2')
{
item = item.replace('[LABEL]', webphone_api.common.GetEngineDisplayName(oneen[0]) + ' (' + webphone_api.stringres.get('sett_ce_recommended') + ')');
item = item.replace('[NOTBOLD]', '');
}
else if (oneen[1] === '0')
{
item = item.replace('[DISABLED]', 'disabled="disabled"');
}
item = item.replace('[CHECKED]', '');
item = item.replace('[DISABLED]', '');
item = item.replace('[NOTBOLD]', 'style="font-weight: normal;"');
item = item.replace('[LABEL]', webphone_api.common.GetEngineDisplayName(oneen[0]));
radiogroup = radiogroup + item;
}
var pWidth = webphone_api.common.GetDeviceWidth();
if ( !webphone_api.common.isNull(pWidth) && webphone_api.common.IsNumber(pWidth) && pWidth > 100 )
{
pWidth = Math.floor(pWidth / 1.2);
}else
{
pWidth = 220;
}
var template = '' +
'<div id="settings_user_ce_select" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + pWidth + 'px; min-width: ' + Math.floor(pWidth * 0.6) + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + webphone_api.stringres.get('sett_chooseengine_popup_title') + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content_select">' +
//-- '<form id="settings_select_2">' +
'<fieldset id="settings_select_2" data-role="controlgroup">' + radiogroup +
//-- '<legend>Select transport layer protocol</legend>' +
//-- '<input name="radio-choice-v-2" id="radio-choice-v-2a" value="on" checked="checked" type="radio">' +
//-- '<label for="radio-choice-v-2a">One</label>' +
//-- '<input name="radio-choice-v-2" id="radio-choice-v-2b" value="off" type="radio">' +
//-- '<label for="radio-choice-v-2b">Two</label>' +
'</fieldset>' +
//-- '</form>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'<a href="javascript:;" id="adialog_negative" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
//-- webphone_api.$('#adialog_positive').off('click');
//-- webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- !!NOT WORKING
//-- webphone_api.$( "#settings_user_ce_select" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
// we must use onclick, otherwise window.open() gets blocked by popup blocker
webphone_api.$('#adialog_positive').on('click', function (event)
{
//var newen = webphone_api.$(this).attr ("value");
var newen = webphone_api.$("#settings_select_2 :radio:checked").val();
webphone_api.common.ResetEngineClicked();
//-- webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
//-- webphone_api.$( '#settings_user_ce_select' ).on( 'popupafterclose', function( event )
//-- {
if(webphone_api.common.CanLog(3)) { webphone_api.common.PutToDebugLog(3, 'EVENT, _settings: selected engine by user: ' + newen); }
webphone_api.$("#sett_comment_engineservice").html(webphone_api.stringres.get('sett_chooseengine_comment') + '(' + webphone_api.common.GetEngineDisplayName(newen) + ')');
//-- select the engine
webphone_api.global.nsegnineneeded = false;
webphone_api.common.ResetSelEngine();
var currengine = webphone_api.common.GetEngine(newen);
if (!webphone_api.common.isNull(currengine))
{
currengine.clicked = 2;
currengine.failed = false;
}
if (newen === 'java'){ webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: chooseengine reset useengine_6 java'); }
else if (newen === 'webrtc')
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: chooseengine reset useengine_1 webrtc: '+newen + ' / '+currengine.name);
webphone_api.global.useengine = ''; //-- must be reset, otherwise plhandler.StartEngine() interprets it like the selected engine was not working, and starts recommended engine
webphone_api.global.last_useengine = '';
}
else if (newen === 'ns')
{
//-- for ns engine we have to call this before changing window.location, otherwise it will not be called
webphone_api.global.nsegnineneeded = true;
if (!webphone_api.common.isNull(currengine))
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: chooseengine reset useengine_2 ns: '+newen + ' / '+currengine.name);
webphone_api.global.useengine = ''; // must be reset, otherwise plhandler.StartEngine() interprets it like the selected engine was not working, and starts recommended engine
webphone_api.global.last_useengine = '';
currengine.clicked = 2;
webphone_api.common.SetEngine(newen, currengine);
//-- webphone_api.common.ShowToast(webphone_api.common.GetEngineDisplayName(newen) + ' ' + webphone_api.stringres.get('ce_use'), 3000, function ()
//-- {
//-- webphone_api.common.ChooseEngineLogic2(newen);
//-- });*/
webphone_api.common.IsServiceInstalled(function (installed)
{
if (installed === true)
{
srvc_installed = true;
webphone_api.common.ShowToast(webphone_api.common.GetEngineDisplayName(newen) + ' ' + webphone_api.stringres.get('ce_use'), 3000, function ()
{
//-- webphone_api.common.ChooseEngineLogic2(newen);
});
}
}, true);
webphone_api.common.EngineSelect(1,4);
}
setTimeout(function ()
{
if (srvc_installed === false) //-- this should not be in IsServiceInstalled:callback, because window.open will only work on user interaction (click)
{
//-- wait for this popup to close
setTimeout(function ()
{
webphone_api.common.NPDownloadAndInstall(6);
}, 350);
var downloadurl = webphone_api.common.GetNPLocation();
if (!webphone_api.common.isNull(downloadurl) && downloadurl.length > 0)
{
window.open(downloadurl);
//--window.location.assign(downloadurl);
//--window.location.href = downloadurl;
}
}
}, 250);
}
else if (newen === 'flash')
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: chooseengine reset useengine_3 flash');
webphone_api.global.useengine = ''; //-- must be reset, otherwise plhandler.StartEngine() interprets it like the selected engine was not working, and starts recommended engine
webphone_api.global.last_useengine = '';
}
else if (newen === 'app')
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: chooseengine reset useengine_5 app');
webphone_api.common.SaveParameter('allow_start_app_engine', '1');
}
if (newen !== 'ns')
{
var currengine = webphone_api.common.GetEngine(newen);
if (!webphone_api.common.isNull(currengine))
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: chooseengine reset useengine_4 nonns: '+newen + ' / '+currengine.name);
webphone_api.global.useengine = ''; // must be reset, otherwise plhandler.StartEngine() interprets it like the selected engine was not working, and starts recommended engine
webphone_api.global.last_useengine = '';
currengine.clicked = 2;
webphone_api.common.SetEngine(newen, currengine);
webphone_api.common.ShowToast(webphone_api.common.GetEngineDisplayName(newen) + ' ' + webphone_api.stringres.get('ce_use'), 3000, function ()
{
webphone_api.common.ChooseEngineLogic2(newen);
});
webphone_api.common.EngineSelect(1,5);
}
}
//-- webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
//-- });
});
return;
}
//-- !!!DEPRECATED
//-- if (id === 'settingitem_engineservice')
//-- {
//-- //webphone_api.common.OpenWebURL(webphone_api.global.nativeplugin_path, webphone_api.stringres.get('np_download'));
//-- webphone_api.common.OpenWebURL(webphone_api.common.GetNPLocation(), webphone_api.stringres.get('np_download'));
//-- setTimeout(function ()
//-- {
//-- webphone_api.common.NPDownloadAndInstall(7);
//-- }, 150);
//-- return;
//-- }
ismodified = true;
if (id === 'settings_footer' || id === 'newuser_container') { return; } // don't handle Save/Cancel buttons
webphone_api.global.wasSettModified = true;
var mCurrSettName = id.replace('settingitem_', '');
var value = webphone_api.global.settmap2[mCurrSettName];
if( webphone_api.common.isNull(value) || value.length < 1 )
{
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings OnListItemClick settings NULL: ' + mCurrSettName);
return;
}
var mSettValue = value[webphone_api.common.SETT_VALUE];
var mSettType = value[webphone_api.common.SETT_TYPE];
var mSettAllNames = value[webphone_api.common.SETT_ALLNAMES];
var mSettAllValues = value[webphone_api.common.SETT_ALLVALUES];
var mSettGrouping = value[webphone_api.common.SETT_GROUP];
var settDisplayName = webphone_api.stringres.get('sett_display_name_'+mCurrSettName);
var settComment = webphone_api.stringres.get('sett_comment_'+mCurrSettName);
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 50) // favafone
{
if (mCurrSettName === 'sipusername') { settComment = 'Your Favafone Username'; }
if (mCurrSettName === 'password') { settComment = 'Your Favafone Password'; }
}
//BRANDEND
if (mSettType === null || mSettType.length <= 0 || (mSettType !== '0' && mSettType !== '1' && mSettType !== '2' && mSettType !== '3'
&& mSettType !== '4' && mSettType !== '5' && mSettType !== '6' && mSettType !== '7' && mSettType !== '8'))
{
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings OnListItemClick invalid type');
return;
}
var popupWidth = webphone_api.common.GetDeviceWidth();
if ( !webphone_api.common.isNull(popupWidth) && webphone_api.common.IsNumber(popupWidth) && popupWidth > 100 )
{
popupWidth = Math.floor(popupWidth / 1.2);
}else
{
popupWidth = 220;
}
if(popupWidth > 400) popupWidth = 400;
else if(popupWidth < 120) popupWidth = 120;
//type 0 = checkbox
if (mSettType === '0')
{
if (mCurrSettName === 'loglevel')
{
if (mSettValue === '1')
{
mSettValue = webphone_api.global.predefLoglevel;
var maxl = webphone_api.common.GetMaxLogLevel();
if (mSettValue > maxl)
{
mSettValue = maxl;
}
webphone_api.common.SaveParameter('jsscriptevent', '3');
webphone_api.setparameter('jsscriptevent', '3');
webphone_api.common.SaveParameter('loglastusage', webphone_api.common.GetTickCount());
}else
{
mSettValue = '1';
webphone_api.common.SaveParameter('jsscriptevent', '2');
webphone_api.setparameter('jsscriptevent', '2');
}
if (isSettLevelBasic === false) //-- repopulatelist to display/hide 'Set log/trace level' option
{
PopulateList();
}
}
//-- handle 2 as TRUE and 1 as FALSE
else if (mCurrSettName === 'flash' || mCurrSettName === 'sscontrol' || mCurrSettName === 'ssscroll' || mCurrSettName === 'sstop')
{
if (mSettValue === '2') { mSettValue = '1'; }else{ mSettValue = '2'; }
}
else if (mCurrSettName === 'beeponincoming')
{
if (mSettValue === '-1' || mSettValue === '1' || mSettValue === '2') { mSettValue = 'true'; }else{ mSettValue = 'false'; }
}
else
{
if (mSettValue === 'true')
{
mSettValue = 'false';
}else
{
mSettValue = 'true';
}
}
//-- hide the startwithos option once it is already set
if (mCurrSettName === 'startwithos')
{
webphone_api.common.SaveParameter('startwithos_was_sent', 'false');
}
var imgsrc = '';
imgsrc = webphone_api.$('#img_' + mCurrSettName).attr('src');
if (webphone_api.common.isNull(imgsrc) || imgsrc.length < 1)
{
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings imgsrc NULL');
return;
}
if (imgsrc.indexOf('true') >= 0)
{
imgsrc = imgsrc.replace('true', 'false');
}else
{
imgsrc = imgsrc.replace('false', 'true');
}
webphone_api.$('#img_' + mCurrSettName).attr('src', imgsrc);
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
//-- repopulatelist to display/hide 'Set log/trace level' option
if (mCurrSettName === 'loglevel')
{
if (isSettLevelBasic === false)
{
PopulateList();
}
}
ShowSettValue(mCurrSettName);
}
//type 1 = text box
if (mSettType === '1')
{
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_PROFILE))
{
if (mCurrSettName === 'displayname')
{
settComment = webphone_api.stringres.get('displayname_login');
}
}
if (mCurrSettName === 'profilepicture')
{
HandleProfilePicture();
return;
}
var inputhtml = '<input type="text" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off"/>';
if (mCurrSettName === 'password')
{
/*
inputhtml = '<input type="password" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off"/>';
//inputhtml = inputhtml + '<br><input type="checkbox" onclick="myFunction()">Show Password';
inputhtml = inputhtml + ' <br> <input type="checkbox" id="pwdcheckbox" onclick="myFunction()">';
inputhtml = inputhtml + ' <label style="vertical-align: -6px; margin: 0; padding: 0;" htmlFor="pwdcheckbox">Show</label>';
inputhtml = inputhtml + ' <script> function myFunction() { try{ var pwdinput = document.getElementById("setting_item_input"); if (pwdinput.type === "password") { pwdinput.type = "text"; } else { pwdinput.type = "password"; } } catch(erra) { } } </script>';
*/
var pwdautocomplete = webphone_api.common.GetParameterInt('pwdautocomplete', -1);
var autocompleteflag = '';
if(pwdautocomplete === 1) autocompleteflag = ' autocomplete="on" ';
else if(pwdautocomplete == 0) autocompleteflag = ' autocomplete="off" ';
var hidepassword = webphone_api.common.GetParameterInt('hidepassword', 4);
var selectallflag = '';
if(hidepassword > 0 && !webphone_api.common.isNull(mSettValue) && mSettValue.length > 0)
{
selectallflag = ' onfocus="this.select();" ';
}
if(hidepassword === 2 && !webphone_api.common.isNull(mSettValue) && mSettValue.length > 0)
{
inputhtml = '<input type="password" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off" '+autocompleteflag+selectallflag+' ondblclick="ShowHidePwd()"/>';
inputhtml = inputhtml + ' <script> function ShowHidePwd() { try{ var pwdinput = document.getElementById("setting_item_input"); if (pwdinput.type === "password") { pwdinput.type = "text"; } else { pwdinput.type = "password"; } } catch(erra) { } } </script>';
}
else if(hidepassword === 3 || (hidepassword === 4 && (webphone_api.common.isNull(mSettValue) || mSettValue.length < 1)))
{
inputhtml = '<input type="password" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off" '+autocompleteflag+selectallflag+' ondblclick="ShowHidePwd()"/>';
inputhtml = inputhtml + ' <script> function ShowHidePwd() { try{ var pwdinput = document.getElementById("setting_item_input"); if (pwdinput.type === "password") { pwdinput.type = "text"; } else { pwdinput.type = "password"; } } catch(erra) { } } </script>';
}
else if(hidepassword === 4 && !webphone_api.common.isNull(mSettValue) && mSettValue.length > 0)
{
inputhtml = '<input type="password" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off" '+autocompleteflag+selectallflag+'/>';
}
else //if(autocompleteflag.length > 0)
{
inputhtml = '<input type="text" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off" '+autocompleteflag+selectallflag+'/>';
}
}
var template = '' +
'<div id="settings_type_1" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content">' +
'<span>' + settComment + '</span>' + inputhtml +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'<a href="javascript:;" id="adialog_negative" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//--webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
//-- listen for enter onclick, and click OK button
//-- var xTriggered = 0;
//-- webphone_api.$( "#settings_type_1" ).keypress(function( event )
//-- {
//-- //xTriggered++ ;
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
var initial_val = mSettValue;
var textBox = document.getElementById('setting_item_input');
if (!webphone_api.common.isNull(mSettValue) && mSettValue.length > 0 && !webphone_api.common.isNull(textBox))
{
if (mCurrSettName === 'password')
{
var hidepassword = webphone_api.common.GetParameterInt('hidepassword', 4);
if(hidepassword == 1 || hidepassword == 4)
{
textBox.value = '*****';
}
else
{
textBox.value = mSettValue;
}
}
// treat the followings as seconds instead of milliseconds if the value is between 2 and 999: ringtimeout,calltimeout,icetimeout,keepaliveival,wskeepaliveival,closecall_timeout
else if (mCurrSettName === 'ringtimeout' || mCurrSettName === 'calltimeout' || mCurrSettName === 'icetimeout' || mCurrSettName === 'keepaliveival' || mCurrSettName === 'wskeepaliveival' /*|| mCurrSettName === 'closecall_timeout'*/)
{
var intval = webphone_api.common.StrToInt(mSettValue, -10000);
if (intval >= 2 && intval <= 999)
{
textBox.value = mSettValue;;
}else
{
intval = Math.floor(intval);
mSettValue = intval.toString();
textBox.value = mSettValue;
}
}
// handle username / sipusername
else if (mCurrSettName === 'sipusername')
{
if ((webphone_api.common.isNull(mSettValue) || mSettValue.length < 1)/* && webphone_api.common.GetParameter('username').length > 0*/)
{
textBox.value = webphone_api.common.GetSipusername();
}else
{
textBox.value = mSettValue;
}
}
else if (mCurrSettName === 'loglevel_dbg')
{
mSettValue = webphone_api.common.GetParameter('loglevel');
textBox.value = mSettValue;
}
else
{
textBox.value = mSettValue;
}
}
setTimeout(function ()
{
if (!webphone_api.common.isNull(textBox)) { textBox.focus(); } // setting cursor to text input
}, 150);
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick 1 ok (" + mCurrSettName + ")");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
var textBoxVal = '';
if (!webphone_api.common.isNull(textBox)) { textBoxVal = textBox.value; }
if (!webphone_api.common.isNull(textBoxVal)/* && textBoxVal.length > 0*/)
{
textBoxVal = webphone_api.common.Trim(textBoxVal);
// treat the followings as seconds instead of milliseconds if the value is between 2 and 999: ringtimeout,calltimeout,icetimeout,keepaliveival,wskeepaliveival,closecall_timeout
if (mCurrSettName === 'ringtimeout' || mCurrSettName === 'calltimeout' || mCurrSettName === 'icetimeout' || mCurrSettName === 'keepaliveival' || mCurrSettName === 'wskeepaliveival' /*|| mCurrSettName === 'closecall_timeout'*/)
{
var intval = webphone_api.common.StrToInt(textBoxVal, -10000);
if (intval >= 2 && intval <= 999)
{
intval = intval * 1000;
}
textBoxVal = intval.toString();
}
mSettValue = webphone_api.common.Trim(textBoxVal);
if ((mCurrSettName === 'sipusername' || mCurrSettName === 'username') && !webphone_api.common.isNull(mSettValue) && mSettValue.length > 0)
{
if(mSettValue.indexOf("<") >= 0 && mSettValue.indexOf(">") > 0)
{
mSettValue = webphone_api.common.StrGetBetween(mSettValue, "<", ">");
}
mSettValue = webphone_api.common.NormalizeInput(mSettValue, 0);
/*var callerid = webphone_api.common.GetParameter('username');
if (webphone_api.common.isNull(callerid) || callerid.length < 1 ||
(!webphone_api.common.isNull(initial_val) && initial_val.length > 0 && initial_val !== mSettValue))
{
webphone_api.common.SaveParameter("username", mSettValue);
}*/
if(mSettValue.indexOf('@') > 0)
{
try{
var handleusernameuri = webphone_api.common.GetParameterInt('handleusernameuri', 3); //0: ignore, 1: extract username only on the basic settings, 2: config to serveraddress or proxyaddress (which is empty) in basic settings only, 3: also on the advanced page, 4: config as serveraddress, 5: config as proxyaddress
var domainpart = webphone_api.common.Trim(webphone_api.common.StrGetAfter(mSettValue, "@"));
if(domainpart.length > 0 && handleusernameuri > 0 && (handleusernameuri > 1 || mCurrSettName == "username") && (handleusernameuri >= 4 || isSettLevelBasic || mCurrSettName == "username"))
{
if(mCurrSettName == "username" || webphone_api.common.GetParameterInt('handlesipusernameuri', -1) > 0) {
mSettValue = webphone_api.common.Trim(webphone_api.common.StrGetUntill(mSettValue, "@"));
}
//webphone_api.common.SaveParameter('proxyaddress', domainpart);
var oldserveraddress = webphone_api.common.GetParameter('serveraddress');
oldserveraddress = webphone_api.common.GetParameter('serveraddress_orig', oldserveraddress);
oldserveraddress = webphone_api.common.GetParameter('serveraddress_user', oldserveraddress);
var oldproxyaddress = webphone_api.common.GetParameter('proxyaddress');
var serveraddress_mSettValue = '';
var serveraddress_value_user = null;
var serveraddress_value = webphone_api.global.settmap2["serveraddress_user"];
serveraddress_value_user = serveraddress_value;
if (!webphone_api.common.isNull(serveraddress_value)) serveraddress_mSettValue = serveraddress_value[webphone_api.common.SETT_VALUE];
if(webphone_api.common.isNull(serveraddress_mSettValue)) serveraddress_mSettValue = '';
if(serveraddress_mSettValue.length < 1)
{
var serveraddress_value = webphone_api.global.settmap2["serveraddress_orig"];
if (!webphone_api.common.isNull(serveraddress_value)) serveraddress_mSettValue = serveraddress_value[webphone_api.common.SETT_VALUE];
if(webphone_api.common.isNull(serveraddress_mSettValue)) serveraddress_mSettValue = '';
if(serveraddress_mSettValue.length < 1)
{
var serveraddress_value = webphone_api.global.settmap2["serveraddress"];
if (!webphone_api.common.isNull(serveraddress_value)) serveraddress_mSettValue = serveraddress_value[webphone_api.common.SETT_VALUE];
if(webphone_api.common.isNull(serveraddress_mSettValue)) serveraddress_mSettValue = '';
}
}
if(serveraddress_mSettValue.length > 0) oldserveraddress = serveraddress_mSettValue;
if (!webphone_api.common.isNull(serveraddress_value_user)) serveraddress_value = serveraddress_value_user;
var proxyaddress_mSettValue = '';
var proxyaddress_value = webphone_api.global.settmap2["proxyaddress"];
if (!webphone_api.common.isNull(proxyaddress_value)) proxyaddress_mSettValue = proxyaddress_value[webphone_api.common.SETT_VALUE];
if(webphone_api.common.isNull(proxyaddress_mSettValue)) proxyaddress_mSettValue = '';
if(proxyaddress_mSettValue.length > 0) oldproxyaddress = proxyaddress_mSettValue;
if(handleusernameuri == 2 || (handleusernameuri < 5 && (oldserveraddress == domainpart || oldproxyaddress == domainpart)))
{
//ignore
}
else {
if (handleusernameuri != 6 && !webphone_api.common.isNull(serveraddress_value) && (handleusernameuri == 5 || serveraddress_mSettValue.length < 1 || ((handleusernameuri == 3 || handleusernameuri == 4) && oldproxyaddress.length < 1))) {
if(oldserveraddress.length > 0 && !webphone_api.common.isNull(proxyaddress_value) && oldserveraddress != domainpart)
{
if(webphone_api.common.CanLog(5)) { webphone_api.common.PutToDebugLog(5,'EVENT, username URI handling A: ' + handleusernameuri.toString()+' '+mSettValue+'@'+domainpart+' '+oldserveraddress+'/'+serveraddress_mSettValue+' '+oldproxyaddress+'/'+proxyaddress_mSettValue); }
proxyaddress_value[webphone_api.common.SETT_VALUE] = oldserveraddress;
proxyaddress_value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap["proxyaddress"] = proxyaddress_value;
webphone_api.global.settmap2["proxyaddress"] = proxyaddress_value;
}
else
{
if(webphone_api.common.CanLog(5)) { webphone_api.common.PutToDebugLog(5,'EVENT, username URI handling B: ' + handleusernameuri.toString()+' '+mSettValue+'@'+domainpart+' '+oldserveraddress+'/'+serveraddress_mSettValue+' '+oldproxyaddress+'/'+proxyaddress_mSettValue); }
}
if(serveraddress_value[webphone_api.common.SETT_VALUE] != domainpart)
{
serveraddress_value[webphone_api.common.SETT_VALUE] = domainpart;
serveraddress_value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap["serveraddress_user"] = serveraddress_value;
webphone_api.global.settmap2["serveraddress_user"] = serveraddress_value;
webphone_api.common.ShowToast(webphone_api.stringres.get('toast_domainasserver'), 6000);
}
} else if (!webphone_api.common.isNull(proxyaddress_value) && handleusernameuri == 6) { // || oldproxyaddress.length < 1)
if(proxyaddress_value[webphone_api.common.SETT_VALUE] != domainpart) {
if(webphone_api.common.CanLog(5)) { webphone_api.common.PutToDebugLog(5,'EVENT, username URI handling C: ' + handleusernameuri.toString()+' '+mSettValue+'@'+domainpart+' '+oldserveraddress+'/'+serveraddress_mSettValue+' '+oldproxyaddress+'/'+proxyaddress_mSettValue); }
proxyaddress_value[webphone_api.common.SETT_VALUE] = domainpart;
proxyaddress_value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap["proxyaddress"] = proxyaddress_value;
webphone_api.global.settmap2["proxyaddress"] = proxyaddress_value;
webphone_api.common.ShowToast(webphone_api.stringres.get('toast_domainasproxy'), 6000);
}
}
}
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: usernameuri", err); }
}
}
if (mCurrSettName === 'loglevel')
{
if (webphone_api.common.isNull(mSettValue) || mSettValue.length < 1) { mSettValue = '1'; }
var valint = 1;
try { valint = webphone_api.common.StrToInt(mSettValue); } catch(errinner) { }
webphone_api.global.loglevel = valint;
}
else if (mCurrSettName === 'loglevel_dbg')
{
if (!webphone_api.common.isNull(mSettValue) && mSettValue.length > 0)
{
webphone_api.common.SaveParameter('loglevel', mSettValue);
}
}
if (mCurrSettName === 'password' && textBoxVal.indexOf('***') == 0)
{
return;
}
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
}
});
webphone_api.$('#adialog_negative').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
});
}
//type 2 = drop down list
if (mSettType === '2')
{
var allNames2 = mSettAllNames;
var allValues2 = mSettAllValues;
var allCount2 = 0;
//getting values and names for combobox options
var allNamesTmp2 = allNames2;
while (allNamesTmp2.indexOf(',') > 0) //get number of options
{
allNamesTmp2 = allNamesTmp2.substring(allNamesTmp2.indexOf(',')+1, allNamesTmp2.length);
allCount2++;
}
allCount2++;
var arrayNames2;
var arrayValues2;
//-- used only for "transport" setting
//-- if (isSettLevelBasic && mCurrSettName === 'transport' && !webphone_api.common.isNull(mSettValue)
//-- && mSettValue.length > 0 && (mSettValue === '0' || mSettValue === '1'))
//-- {
//-- arrayNames2 = ['UDP', 'TCP'];
//-- arrayValues2 = ['0', '1'];
//-- }else
//-- {
arrayNames2 = [];
arrayValues2 = [];
var countIdx2 = 0;
allNamesTmp2 = allNames2;
while (countIdx2 < allCount2) //get options names in array
{
if (allNamesTmp2.indexOf(',') > 0)
{
arrayNames2[countIdx2] = allNamesTmp2.substring(0, allNamesTmp2.indexOf(','));
allNamesTmp2 = allNamesTmp2.substring(allNamesTmp2.indexOf(',')+1, allNamesTmp2.length);
}else
{
arrayNames2[countIdx2] = allNamesTmp2.substring(0, allNamesTmp2.length);
}
countIdx2++;
}
countIdx2 = 0;
var allValuesTmp2 = allValues2;
while (countIdx2 < allCount2) //get options values in array
{
if (allValuesTmp2.indexOf(',') > 0)
{
arrayValues2[countIdx2] = allValuesTmp2.substring(0, allValuesTmp2.indexOf(','));
allValuesTmp2 = allValuesTmp2.substring(allValuesTmp2.indexOf(',')+1, allValuesTmp2.length);
}else
{
arrayValues2[countIdx2] = allValuesTmp2.substring(0, allValuesTmp2.length);
}
countIdx2++;
}
//-- }
//showing options dialog
var radiogroup = '';
for (var i = 0; i < arrayNames2.length; i++)
{
var item = '<input name="' + mCurrSettName + '" id="[INPUTID]" value="[VALUE]" [CHECKED] type="radio">' +
'<label for="[INPUTID]">[LABEL]</label>';
item = item.replace('[INPUTID]', mCurrSettName + '_' + i);
item = item.replace('[INPUTID]', mCurrSettName + '_' + i); // twice
item = item.replace('[VALUE]', arrayValues2[i]);
item = item.replace('[LABEL]', arrayNames2[i]);
if (arrayValues2[i] === mSettValue)
{
item = item.replace('[CHECKED]', 'checked="checked"');
}else
{
item = item.replace('[CHECKED]', '');
}
radiogroup = radiogroup + item;
}
var popupHeight = webphone_api.common.GetDeviceHeight();
if ( !webphone_api.common.isNull(popupHeight) && webphone_api.common.IsNumber(popupHeight) && popupHeight > 100 )
{
popupHeight = Math.floor(popupHeight / 1.2);
}else
{
popupHeight = 300;
}
var template = '' +
'<div id="settings_type_2" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px; min-width: ' + Math.floor(popupWidth * 0.6) + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content_select" style="max-height: ' + popupHeight + 'px;">' +
//'<form id="settings_select_2">' +
'<fieldset id="settings_select_2" data-role="controlgroup">' + radiogroup +
// '<legend>Select transport layer protocol</legend>' +
// '<input name="radio-choice-v-2" id="radio-choice-v-2a" value="on" checked="checked" type="radio">' +
// '<label for="radio-choice-v-2a">One</label>' +
// '<input name="radio-choice-v-2" id="radio-choice-v-2b" value="off" type="radio">' +
// '<label for="radio-choice-v-2b">Two</label>' +
'</fieldset>' +
//'</form>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
//-- webphone_api.$('#adialog_positive').off('click');
//-- webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- !!NOT WORKING
//-- webphone_api.$( "#settings_type_2" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
webphone_api.$(":radio").on ("change", function (event)
{
//-- alert (webphone_api.$(this).attr ("id"));
//-- alert (webphone_api.$(this).attr ("value"));
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
mSettValue = webphone_api.$(this).attr ("value");
if (webphone_api.common.IsWindowsSoftphone() && webphone_api.common.GetConfig('needactivation') == 'true' && webphone_api.common.GetParameter('canshowlickeyinput') !== 'true'
&& ( (mCurrSettName === 'transport' && mSettValue === '2') || (mCurrSettName === 'mediaencryption' && mSettValue === '2') ))
{
webphone_api.common.ShowToast(webphone_api.stringres.get('warning_feature'), 6000);
return;
}
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
if (mCurrSettName === 'theme')
{
webphone_api.common.SetCurrTheme();
if (webphone_api.common.IsWindowsSoftphone())
{
var url = webphone_api.common.AddJscommport(webphone_api.global.WIN_SOFTPHONE_URL) + '?extcmd_theme=' + mSettValue;
webphone_api.common.WinSoftphoneHttpReq(url, 'GET', '', '', function (resp) { webphone_api.common.PutToDebugLog(2, 'EVENT, send theme to softphone response: ' + resp); });
}
}
else if (mCurrSettName === 'language')
{
webphone_api.common.SetLanguage();
}
});
}
//type 3 = drop down list and checkbox - only for codec !!!
if (mSettType === '3')
{
if (mCurrSettName === 'vcodec' || mCurrSettName === 'videocodec')
{
var radiogroup = ''+
'<input name="' + mCurrSettName + '" id="vcodec_optimal" [CHECKED_OPTIMAL] type="checkbox">' +
'<label for="vcodec_optimal">' + webphone_api.stringres.get('vcodec_optimal') + '</label>' +
'<input name="' + mCurrSettName + '" id="vcodec_h264" [CHECKED_H264] type="checkbox">' +
'<label for="vcodec_h264">H264</label>' +
'<input name="' + mCurrSettName + '" id="vcodec_h265" [CHECKED_H265] type="checkbox">' +
'<label for="vcodec_h265">H265</label>' +
'<input name="' + mCurrSettName + '" id="vcodec_vp8" [CHECKED_VP8] type="checkbox">' +
'<label for="vcodec_vp8">VP8</label>' +
'<input name="' + mCurrSettName + '" id="vcodec_vp9" [CHECKED_VP9] type="checkbox">' +
'<label for="vcodec_vp9">VP9</label>' +
'<input name="' + mCurrSettName + '" id="vcodec_av1" [CHECKED_AV1] type="checkbox">' +
'<label for="vcodec_av1">AV1</label>';
if (mSettValue === '-1') // means optimal
{
radiogroup = radiogroup.replace('[CHECKED_OPTIMAL]', 'checked="checked"');
radiogroup = radiogroup.replace('[CHECKED_H264]', '');
radiogroup = radiogroup.replace('[CHECKED_H265]', '');
radiogroup = radiogroup.replace('[CHECKED_VP8]', '');
radiogroup = radiogroup.replace('[CHECKED_VP9]', '');
radiogroup = radiogroup.replace('[CHECKED_AV1]', '');
}else
{
radiogroup = radiogroup.replace('[CHECKED_OPTIMAL]', '');
var ch_h264 = 'checked="checked"'; if (webphone_api.common.GetParameterBool('use_h264', true) === false) { ch_h264 = ''; }
radiogroup = radiogroup.replace('[CHECKED_H264]', ch_h264);
var ch_h265 = 'checked="checked"'; if (webphone_api.common.GetParameterBool('use_h265', true) === false) { ch_h265 = ''; }
radiogroup = radiogroup.replace('[CHECKED_H265]', ch_h265);
var ch_vp8 = 'checked="checked"'; if (webphone_api.common.GetParameterBool('use_vp8', true) === false) { ch_vp8 = ''; }
radiogroup = radiogroup.replace('[CHECKED_VP8]', ch_vp8);
var ch_vp9 = 'checked="checked"'; if (webphone_api.common.GetParameterBool('use_vp9', true) === false) { ch_vp9 = ''; }
radiogroup = radiogroup.replace('[CHECKED_VP9]', ch_vp9);
var ch_av1 = 'checked="checked"'; if (webphone_api.common.GetParameterBool('use_av1', true) === false) { ch_av1 = ''; }
radiogroup = radiogroup.replace('[CHECKED_AV1]', ch_av1);
}
var template = '' +
'<div id="settings_type_3" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" data-dismissible="false" style="max-width:' + popupWidth + 'px; min-width: ' + Math.floor(popupWidth * 0.6) + 'px;">' +
'<div data-role="header" data-theme="b">' +
//-- '<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content_select">' +
// '<form id="settings_select_2">' +
'<fieldset id="settings_select_3" data-role="controlgroup">' + radiogroup +
// '<legend>Select transport layer protocol</legend>' +
// '<input name="radio-choice-v-2" id="radio-choice-v-2a" value="on" checked="checked" type="checkbox">' +
// '<label for="radio-choice-v-2a">One</label>' +
// '<input name="radio-choice-v-2" id="radio-choice-v-2b" value="off" type="checkbox">' +
// '<label for="radio-choice-v-2b">Two</label>' +
'</fieldset>' +
//'</form>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" style="width: 98%;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").bind(
{
popupbeforeposition: function()
{
webphone_api.$(this).unbind("popupbeforeposition");//.remove();
var maxHeight = Math.floor( webphone_api.common.GetDeviceHeight() * 0.7 ); // webphone_api.$(window).height() - 120;
if (webphone_api.$(this).height() > maxHeight)
{
webphone_api.$('.messagePopup .ui-content').height(maxHeight);
}
}
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
//-- webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- !!NOT WORKING
//-- webphone_api.$( "#settings_type_3" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
webphone_api.$(":checkbox").on ("change", function (event)
{
var chid = webphone_api.$(this).attr ("id");
if (chid === 'vcodec_optimal')
{
webphone_api.$('#vcodec_h264').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#vcodec_h265').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#vcodec_vp8').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#vcodec_vp9').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#vcodec_av1').prop("checked", false).checkboxradio("refresh");
}else
{
webphone_api.$('#vcodec_optimal').prop("checked", false).checkboxradio("refresh");
}
});
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick videocodec ok");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
mSettValue = '';
if ( webphone_api.$('#vcodec_optimal').prop("checked") )
{
mSettValue = '-1';
webphone_api.common.SaveParameter('use_h264', 'true');
webphone_api.common.SaveParameter('use_vp8', 'true');
//webphone_api.common.SaveParameter('use_vp10', 'true');
if (webphone_api.common.getuseengine() === webphone_api.global.ENGINE_WEBRTC || webphone_api.common.GetSelectedEngineName() === webphone_api.global.ENGINE_WEBRTC)
{
webphone_api.common.SaveParameter('use_h265', 'true');
webphone_api.common.SaveParameter('use_vp9', 'true');
webphone_api.common.SaveParameter('use_av1', 'true');
}
else if (webphone_api.common.getuseengine() === webphone_api.global.ENGINE_SERVICE || webphone_api.common.GetSelectedEngineName() === webphone_api.global.ENGINE_SERVICE)
{
webphone_api.common.SaveParameter('use_h265', 'false');
webphone_api.common.SaveParameter('use_vp9', 'false');
webphone_api.common.SaveParameter('use_av1', 'false');
}
}else
{
mSettValue = '1'; // vagy akarmilyen mas ertek, mint -1
var cdh264 = 'false'; if ( webphone_api.$('#vcodec_h264').prop("checked") ) { cdh264 = 'true'; }
webphone_api.common.SaveParameter('use_h264', cdh264);
var cdh265 = 'false'; if ( webphone_api.$('#vcodec_h265').prop("checked") ) { cdh265 = 'true'; }
webphone_api.common.SaveParameter('use_h265', cdh265);
var cdvp8 = 'false'; if ( webphone_api.$('#vcodec_vp8').prop("checked") ) { cdvp8 = 'true'; }
webphone_api.common.SaveParameter('use_vp8', cdvp8);
var cdvp9 = 'false'; if ( webphone_api.$('#vcodec_vp9').prop("checked") ) { cdvp9 = 'true'; }
webphone_api.common.SaveParameter('use_vp9', cdvp9);
var cdav1 = 'false'; if ( webphone_api.$('#vcodec_av1').prop("checked") ) { cdav1 = 'true'; }
webphone_api.common.SaveParameter('use_av1', cdav1);
}
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
});
}
else if (mCurrSettName === 'codec')
{
var allNames3 = mSettAllNames;
var allValues3 = mSettAllValues;
var arrayNames3 = allNames3.split(","); //--Optimal,1,PCMU,1,PCMA,1,GSM,1,iLBC,0,SPEEX,0,SPEEX-WB,0,0,G.729,0
var arrayValues3 = allValues3.split(",");
var arraySelectedValues3 = mSettValue.split(",");
for (var k = 0; k < arraySelectedValues3.length; k++)
{
if (arraySelectedValues3[k] === '-1')
{
arraySelectedValues3 = ['-1'];
break;
}
}
var radiogroup = '';
for (var i = 0; i < arrayNames3.length; i++)
{
var item = '<input name="' + mCurrSettName + '" id="[INPUTID]" value="[VALUE]" [CHECKED] type="checkbox">' +
'<label for="[INPUTID]">[LABEL]</label>';
item = item.replace('[INPUTID]', mCurrSettName + '_' + i);
item = item.replace('[INPUTID]', mCurrSettName + '_' + i); //-- twice
item = item.replace('[VALUE]', arrayValues3[i]);
item = item.replace('[LABEL]', arrayNames3[i]);
if (arrayNames3[i] === 'Optimal')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '-1') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'PCMU')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '1') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'PCMA')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '2') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'GSM')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '3') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'iLBC' || arrayNames3[i] === 'ILBC')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '4') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'SPEEX' || arrayNames3[i] === 'SPEEXNB' || arrayNames3[i] === 'SPEEX-NB')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '5') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'SPEEX-WB' || arrayNames3[i] === 'SPEEXWB')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '6') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'OpusNB' || arrayNames3[i] === 'Opus-NB')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '10') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'OpusWB' || arrayNames3[i] === 'Opus-WB' || arrayNames3[i] === 'Opus')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '11') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'OpusSWB' || arrayNames3[i] === 'Opus-SWB')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '12') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'OpusUWB' || arrayNames3[i] === 'Opus-UWB')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '13') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'G.729' || arrayNames3[i] === 'G729')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '8') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'G.722' || arrayNames3[i] === 'G.722.1' || arrayNames3[i] === 'G7221')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '14') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
if (arrayNames3[i] === 'iSAC' || arrayNames3[i] === 'ISAC')
{
for (var j = 0; j < arraySelectedValues3.length; j++)
{
if (arraySelectedValues3[j] === '15') { item = item.replace('[CHECKED]', 'checked="checked"'); break; }
}
item = item.replace('[CHECKED]', '');
radiogroup = radiogroup + item;
}
}
var template = '' +
'<div id="settings_type_3" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" data-dismissible="false" style="max-width:' + popupWidth + 'px; min-width: ' + Math.floor(popupWidth * 0.6) + 'px;">' +
'<div data-role="header" data-theme="b">' +
//-- '<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content_select">' +
//'<form id="settings_select_2">' +
'<fieldset id="settings_select_3" data-role="controlgroup">' + radiogroup +
// '<legend>Select transport layer protocol</legend>' +
// '<input name="radio-choice-v-2" id="radio-choice-v-2a" value="on" checked="checked" type="checkbox">' +
// '<label for="radio-choice-v-2a">One</label>' +
// '<input name="radio-choice-v-2" id="radio-choice-v-2b" value="off" type="checkbox">' +
// '<label for="radio-choice-v-2b">Two</label>' +
'</fieldset>' +
//'</form>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" style="width: 98%;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").bind(
{
popupbeforeposition: function()
{
webphone_api.$(this).unbind("popupbeforeposition");//--.remove();
var maxHeight = Math.floor( webphone_api.common.GetDeviceHeight() * 0.7 ); //-- webphone_api.$(window).height() - 120;
if (webphone_api.$(this).height() > maxHeight)
{
webphone_api.$('.messagePopup .ui-content').height(maxHeight);
}
}
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
//-- webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- !!NOT WORKING
//-- webphone_api.$( "#settings_type_3" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
webphone_api.$(":checkbox").on ("change", function (event)
{
//-- alert (webphone_api.$(this).attr ("id"));
//-- alert (webphone_api.$(this).attr ("value"));
var val = webphone_api.$(this).attr ("value");
if (val === '-1')
{
if ( webphone_api.$('#' + mCurrSettName + '_0').prop("checked") ) // if optimal is checked
{
for (var i = 1; i < arrayNames3.length; i++)
{
webphone_api.$('#' + mCurrSettName + '_' + i).prop("checked", false).checkboxradio("refresh");
}
}else // if optimal is unchecked
{
for (var i = 0; i < arrayNames3.length; i++)
{
if (arrayNames3[i] === 'PCMU' || arrayNames3[i] === 'PCMA' || arrayNames3[i] === 'GSM')
{
webphone_api.$('#' + mCurrSettName + '_' + i).prop("checked", true).checkboxradio("refresh");
}
}
}
}else
{
if (val === '8' && webphone_api.common.IsWindowsSoftphone() && webphone_api.common.GetConfig('needactivation') == 'true'
&& webphone_api.common.GetParameter('canshowlickeyinput') !== 'true')
{
//-- setTimeout(function ()
//-- {
webphone_api.$('#' + mCurrSettName + '_7').prop("checked", false).checkboxradio("refresh");
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
//-- }, 200);
setTimeout(function () { webphone_api.common.ShowToast(webphone_api.stringres.get('warning_feature'), 6000); }, 100);
return;
}
webphone_api.$('#' + mCurrSettName + '_0').prop("checked", false).checkboxradio("refresh");
}
});
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick 3 ok");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
mSettValue = '';
for (var i = 0; i < arrayNames3.length; i++)
{
if ( webphone_api.$('#' + mCurrSettName + '_' + i).prop("checked") )
{
var sep = '';
if (mSettValue.length > 0)
{
sep = ',';
}
mSettValue = mSettValue + sep + document.getElementById(mCurrSettName + '_' + i).value;
}
}
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
});
}
}
//type 4 = seek bar (not implemented yet)
if (mSettType === '4')
{
var template = '' +
'<div id="settings_type_4" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content">' +
'<span>' + settComment + '</span>' +
'<input type="text" id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off"/>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'<a href="javascript:;" id="adialog_negative" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- webphone_api.$( "#settings_type_4" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
var textBox = document.getElementById('setting_item_input');
if (!webphone_api.common.isNull(mSettValue) && mSettValue.length > 0 && !webphone_api.common.isNull(textBox))
{
if ((mCurrSettName === 'ringtimeout' || mCurrSettName === 'calltimeout') && (mCurrSettName.length > 3))
{
mSettValue = mSettValue.substring(0, mSettValue.length - 3);
textBox.value = mSettValue;
}else
{
textBox.value = mSettValue;
}
}
setTimeout(function ()
{
if (!webphone_api.common.isNull(textBox)) { textBox.focus(); } // setting cursor to text input
}, 150);
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick 2 ok (" + mSettValue + ")");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
var textBoxVal = '';
if (!webphone_api.common.isNull(textBox)) { textBoxVal = textBox.value; }
if (!webphone_api.common.isNull(textBoxVal) && textBoxVal.length > 0)
{
mSettValue = webphone_api.common.Trim(textBoxVal);
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
}
});
webphone_api.$('#adialog_negative').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
});
}
//type 5 = open new activity
if (mSettType === '5') //-- TODO: not implemented
{
if (mCurrSettName === 'filters')
{
//webphone_api.global.intentfiletransfer[0] = 'destination=' + destination;
webphone_api.$.mobile.changePage("#page_filters", { transition: "slide", role: "page" });
}
else if (mCurrSettName === 'accounts')
{
isSettLevelBasic = false;
webphone_api.$.mobile.changePage("#page_accounts", { transition: "slide", role: "page" });
}else
{
console.log('not implemented yet');
}
}
//6 = submenu
if (mSettType === '6') //submenu_sipsettings,submenu_media,submenu_integrate,submenu_calldivert,submenu_general,submenu_integrate
{
//-- webphone_api.$('#app_name_settings').hide();
isAdvancedLoginSett = 0; isAfterAdvancedLoginSett = 0;
if (mCurrSettName === 'submenu_sipsettings')
{
SubmenuSipSettings();
}
else if (mCurrSettName === 'submenu_media')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_MEDIA) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (mCurrSettName === 'submenu_video')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_VIDEO) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("sett_display_name_submenu_media") );
}
else if (mCurrSettName === 'submenu_calldivert')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_CALLDIVERT) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (mCurrSettName === 'submenu_general')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_GENERAL) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (mCurrSettName === 'submenu_profile')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_PROFILE) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (mCurrSettName === 'submenu_integrate')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_INTEGRATE) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (mCurrSettName === 'submenu_screenshare')
{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_SCRSHARE) );
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( settDisplayName );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (mCurrSettName === 'submenu_advanced_artcl') // customized for ARTCL
{
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
currGroup = 6;
PopulateList();
}
}
// 7 = drop down list from XML string-array
if (mSettType === '7') //-- TODO: not implemented yet
{
console.log('ERROR, not implemented yet c');
}
// custom
if (mSettType === '8')
{
//audiodevices
if (mCurrSettName === 'audiodevices')
{
webphone_api.common.AlertDialog(webphone_api.stringres.get('sett_display_name_audiodevices'), webphone_api.stringres.get('sett_comment_audiodevices'), null, null, false);
}
//reset_settings
if (mCurrSettName === 'reset_settings')
{
var template = '' +
'<div data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content">' +
'<span>' + webphone_api.stringres.get('reset_settings_msg') + '</span>' +
//-- '<input type="text" id="setting_item_input" name="setting_item" data-theme="a"/>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'<a href="javascript:;" id="adialog_negative" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick Reset Settings ok");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
var usernameTemp = webphone_api.common.GetParameter('username');
var passwordTemp = webphone_api.common.GetParameter('password');
var serveraddress_origTemp = webphone_api.common.GetParameter('serveraddress_orig');
var serveraddress_userTemp = webphone_api.common.GetParameter('serveraddress_user');
var proxyaddressTemp = webphone_api.common.GetParameter('proxyaddress');
var sipusernameTemp = webphone_api.common.GetParameter('sipusername');
var displaynameTemp = webphone_api.common.GetParameter('displayname');
var emailTemp = webphone_api.common.GetParameter('email');
var voicemailTemp = webphone_api.common.GetParameter('voicemailnum');
var forwardnumberTemp = webphone_api.common.GetParameter('callforwardonbusy');
//-- TODO: delete settings file if exists
//-- if (CommonGUI.FileExists(webphone_api.common.GetActiveAccSettingsFileName()))
//-- {
//-- CommonGUI.DeleteTextFile(webphone_api.common.GetActiveAccSettingsFileName());
//-- }
for (var key in webphone_api.global.settmap)
{
delete webphone_api.global.settmap[key];
}
for (var key in webphone_api.global.settmap2)
{
delete webphone_api.global.settmap2[key];
}
//--###MZSETT webphone_api.common.InitializeSettings();
webphone_api.common.HandleSettings('', '', function () { ; });
webphone_api.common.SaveParameter('username', usernameTemp);
webphone_api.common.SaveParameter('password', passwordTemp);
webphone_api.common.SaveParameter('serveraddress_orig', serveraddress_origTemp);
webphone_api.common.SaveParameter('serveraddress_user', serveraddress_userTemp);
webphone_api.common.SaveParameter('proxyaddress', proxyaddressTemp);
webphone_api.common.SaveParameter('sipusername', sipusernameTemp);
webphone_api.common.SaveParameter('displayname', displaynameTemp);
webphone_api.common.SaveParameter('email', emailTemp);
webphone_api.common.SaveParameter('voicemailnum', voicemailTemp);
webphone_api.common.SaveParameter('callforwardonbusy', forwardnumberTemp);
webphone_api.common.ShowToast(webphone_api.stringres.get('reset_settings_msg2'));
});
webphone_api.$('#adialog_negative').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
});
}
// for aec
if (mCurrSettName === 'aec')
{
var cbAuto = '';
var cbNone = '';
var cbSoftware = '';
var cbNative = '';
var cbFast = '';
var cbDecreaseVolume = '';
var listTmp = mSettValue.split(',');
for (var i = 0; i < listTmp.length; i++)
{
if (listTmp[i] === '-1') cbAuto = 'checked="checked"';
if (listTmp[i] === '0') cbNone = 'checked="checked"';
if (listTmp[i] === '1') cbSoftware = 'checked="checked"';
if (listTmp[i] === '2') cbNative = 'checked="checked"';
if (listTmp[i] === '3') cbFast = 'checked="checked"';
if (listTmp[i] === '4') cbDecreaseVolume = 'checked="checked"';
}
var template = '' +
'<div id="settings_type_aec" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" data-dismissible="false" style="max-width:' + popupWidth + 'px; min-width: ' + Math.floor(popupWidth * 0.6) + 'px;">' +
'<div data-role="header" data-theme="b">' +
//-- '<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content_select">' +
//-- '<form id="settings_select_2">' +
'<fieldset id="settings_select_3" data-role="controlgroup">' +
//-- '<legend>Select transport layer protocol</legend>' +
'<input name="' + mCurrSettName + '" id="aec_auto" ' + cbAuto + ' type="checkbox">' +
'<label for="aec_auto">' + webphone_api.stringres.get('aec_auto') + '</label>' +
'<input name="' + mCurrSettName + '" id="aec_none" ' + cbNone + ' type="checkbox">' +
'<label for="aec_none">' + webphone_api.stringres.get('aec_none') + '</label>' +
'<input name="' + mCurrSettName + '" id="aec_software" ' + cbSoftware + ' type="checkbox">' +
'<label for="aec_software">' + webphone_api.stringres.get('aec_software') + '</label>' +
'<input name="' + mCurrSettName + '" id="aec_native" ' + cbNative + ' type="checkbox">' +
'<label for="aec_native">' + webphone_api.stringres.get('aec_native') + '</label>' +
'<input name="' + mCurrSettName + '" id="aec_fast" ' + cbFast + ' type="checkbox">' +
'<label for="aec_fast">' + webphone_api.stringres.get('aec_fast') + '</label>' +
'<input name="' + mCurrSettName + '" id="aec_decrease_volume" ' + cbDecreaseVolume + ' type="checkbox">' +
'<label for="aec_decrease_volume">' + webphone_api.stringres.get('aec_decrease_volume') + '</label>' +
'</fieldset>' +
//-- '</form>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" style="width: 98%;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
// webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- !!NOT WORKING
//-- webphone_api.$( "#settings_type_aec" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
webphone_api.$(":checkbox").on ("change", function (event)
{
//-- alert (webphone_api.$(this).attr ("id"));
//-- alert (webphone_api.$(this).attr ("value"));
var checkbox = webphone_api.$(this).attr ("id");
if (checkbox === 'aec_auto')
{
if ( webphone_api.$('#' + checkbox).prop("checked") )
{
webphone_api.$('#aec_none').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_software').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_native').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_fast').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_decrease_volume').prop("checked", false).checkboxradio("refresh");
}
}
if (checkbox === 'aec_none')
{
if ( webphone_api.$('#' + checkbox).prop("checked") )
{
webphone_api.$('#aec_auto').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_software').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_native').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_fast').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_decrease_volume').prop("checked", false).checkboxradio("refresh");
}else
{
webphone_api.$('#aec_auto').prop("checked", true).checkboxradio("refresh");
}
}
if (checkbox === 'aec_software')
{
if ( webphone_api.$('#' + checkbox).prop("checked") )
{
webphone_api.$('#aec_auto').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_none').prop("checked", false).checkboxradio("refresh");
}
else if ( webphone_api.$('#aec_native').prop("checked") === false && webphone_api.$('#aec_fast').prop("checked") === false
&& webphone_api.$('#aec_decrease_volume').prop("checked") === false )
{
webphone_api.$('#aec_auto').prop("checked", true).checkboxradio("refresh");
}
}
if (checkbox === 'aec_native')
{
if ( webphone_api.$('#' + checkbox).prop("checked") )
{
webphone_api.$('#aec_auto').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_none').prop("checked", false).checkboxradio("refresh");
}
else if ( webphone_api.$('#aec_software').prop("checked") === false && webphone_api.$('#aec_fast').prop("checked") === false
&& webphone_api.$('#aec_decrease_volume').prop("checked") === false )
{
webphone_api.$('#aec_auto').prop("checked", true).checkboxradio("refresh");
}
}
if (checkbox === 'aec_fast')
{
if ( webphone_api.$('#' + checkbox).prop("checked") )
{
webphone_api.$('#aec_auto').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_none').prop("checked", false).checkboxradio("refresh");
}
else if ( webphone_api.$('#aec_software').prop("checked") === false && webphone_api.$('#aec_native').prop("checked") === false
&& webphone_api.$('#aec_decrease_volume').prop("checked") === false )
{
webphone_api.$('#aec_auto').prop("checked", true).checkboxradio("refresh");
}
}
if (checkbox === 'aec_decrease_volume')
{
if ( webphone_api.$('#' + checkbox).prop("checked") )
{
webphone_api.$('#aec_auto').prop("checked", false).checkboxradio("refresh");
webphone_api.$('#aec_none').prop("checked", false).checkboxradio("refresh");
}
else if ( webphone_api.$('#aec_software').prop("checked") === false && webphone_api.$('#aec_native').prop("checked") === false
&& webphone_api.$('#aec_fast').prop("checked") === false )
{
webphone_api.$('#aec_auto').prop("checked", true).checkboxradio("refresh");
}
}
//-- aec_auto,aec_none,aec_software,aec_native,aec_fast,aec_decrease_volume
});
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick aec ok");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
mSettValue = '';
if ( webphone_api.$('#aec_auto').prop("checked") ) { mSettValue += '-1,'; }
if ( webphone_api.$('#aec_none').prop("checked") ) { mSettValue += '0,'; }
if ( webphone_api.$('#aec_software').prop("checked") ) { mSettValue += '1,'; }
if ( webphone_api.$('#aec_native').prop("checked") ) { mSettValue += '2,'; }
if ( webphone_api.$('#aec_fast').prop("checked") ) { mSettValue += '3,'; }
if ( webphone_api.$('#aec_decrease_volume').prop("checked") ){ mSettValue += '4,'; }
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
});
}
if (mCurrSettName === 'serveraddress_user') // has different popup (with help button)
{
settDisplayName = webphone_api.common.GetParameter('server_label');
//BRANDSTART
if (webphone_api.common.GetParameterInt('brandid', -1) === 2) //-- gmsdialergold
{
settComment = webphone_api.stringres.get('sett_comment_serveraddress_user_gmsdialer');
}
//BRANDEND
if ((settDisplayName.toLowerCase()).indexOf('op code') >= 0 || (settDisplayName.toLowerCase()).indexOf('operator code') >= 0)
{
settComment = webphone_api.stringres.get('sett_comment_serveraddress_user_operator');
}
if (webphone_api.common.GetConfig('server_comment').length > 1)
{
settComment = webphone_api.common.GetConfig('server_comment');
}
var srvaddrpart = '';
var widthclass = '';
var sdsrv = webphone_api.common.GetParameter('displaytopdomainserveraddress');
if (webphone_api.common.isNull(sdsrv)) { sdsrv = ''; }
if (sdsrv.length > 1)
{
srvaddrpart = '<span id="setting_item_srvaddrpart">' + sdsrv + '</span>';
widthclass = 'data-wrapper-class="setting_item_input_class"';
}
var serverhelp = '<button id="btn_srvhelp" class="btn_nexttoinput ui-btn ui-btn-corner-all ui-btn-b noshadow"><img src="' + webphone_api.common.GetElementSource() + 'images/icon_help_mark.png"></button>';
if (webphone_api.global.usestorage == false) serverhelp = '';
var template = '' +
'<div id="settings_type_server" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + settDisplayName + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content adialog_btn_nexttoinput">' +
'<span>' + settComment + '</span>' +
'<div style="clear: both;"><!--//--></div>' +
'<input type="text" ' + widthclass + ' id="setting_item_input" name="setting_item" data-theme="a" autocapitalize="off"/>' +
srvaddrpart + serverhelp +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'<a href="javascript:;" id="adialog_negative" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
//-- listen for enter onclick, and click OK button
//-- webphone_api.$( "#settings_type_server" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
webphone_api.$('#adialog_negative').off('click');
webphone_api.$('#btn_srvhelp').off('click');
popupafterclose();
}
});
//OPSSTART
//-- treat serveraddress_user as upperserver. Used in case of standalone tunnel server
if (webphone_api.common.GetParameter('serverinputisupperserver') === 'true' && (webphone_api.common.GetParameter('autoprovisioning').length < 1 || webphone_api.common.GetParameter('autoprovisioning') === '0'))
{
mSettValue = webphone_api.common.GetParameter('upperserver');
}
//OPSEND
var textBox = document.getElementById('setting_item_input');
if (!webphone_api.common.isNull(mSettValue) && mSettValue.length > 0 && !webphone_api.common.isNull(textBox))
{
var valtmp = mSettValue;
if (sdsrv.length > 1)
{
if (!webphone_api.common.isNull(valtmp) && valtmp.length > 0 && valtmp.indexOf(sdsrv) >= 0)
{
valtmp = valtmp.replace(sdsrv, '');
}else
{
valtmp = '';
}
}
textBox.value = valtmp;
}
setTimeout(function ()
{
if (!webphone_api.common.isNull(textBox)) { textBox.focus(); } // setting cursor to text input
}, 150);
webphone_api.$('#adialog_positive').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.common.PutToDebugLog(5,"EVENT, settings onListItemClick serveraddress ok");
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
var textBoxVal = '';
if (!webphone_api.common.isNull(textBox)) { textBoxVal = textBox.value; }
if (!webphone_api.common.isNull(textBoxVal) && textBoxVal.length > 0)
{
mSettValue = webphone_api.common.Trim(textBoxVal);
if (webphone_api.common.isNull(mSettValue)) { mSettValue = ''; }
mSettValue = webphone_api.common.NormalizeInput(mSettValue, 0);
if (sdsrv.length > 1)
{
mSettValue = mSettValue + sdsrv;
}
//-- treat serveraddress_user as upperserver. Used in case of standalone tunnel server
if (webphone_api.common.GetParameter('serverinputisupperserver') === 'true')
{
//--MODIFYINGUPPERSERVER
//OPSSTART
if (webphone_api.common.GetParameter('autoprovisioning') === '1' || webphone_api.common.GetParameter('autoprovisioning') === '2')
{
webphone_api.common.SaveParameter('serveraddress_user', mSettValue);
webphone_api.common.SaveParameter('upperserver', mSettValue);
}else
//OPSEND
webphone_api.common.SaveParameter('upperserver', mSettValue);
ShowSettValue(mCurrSettName);
return;
}else
{
//OPSSTART
if (webphone_api.common.GetParameter('autoprovisioning') === '1' || webphone_api.common.GetParameter('autoprovisioning') === '2')
{
if (webphone_api.global.autoServerDeployVersion && mSettValue.indexOf('.') > 0) //-- IP or domain name is not accepted as serveraddress, only autoprov filename
{
webphone_api.common.AlertDialog(webphone_api.stringres.get('warning'), webphone_api.stringres.get('warning_msg_2'));
return;
}
mSettValue = mSettValue.toLowerCase();
if (mSettValue.indexOf('.') > 0 || mSettValue.toLowerCase() === 'mizu') //-- means it's IP address or domain; not autoprovisioning filename
{
webphone_api.common.SaveParameter('serveraddress_orig', mSettValue);
webphone_api.common.SaveParameter('upperserver', '');
}
//-- mCurrSettName = "autoprov_filename";
}else
{
//OPSEND
webphone_api.common.SaveParameter('serveraddress_orig', mSettValue);
webphone_api.common.SaveParameter('upperserver', '');
//OPSSTART
}
//OPSEND
}
value[webphone_api.common.SETT_VALUE] = mSettValue;
value[webphone_api.common.SETT_ISDEFAULT] = '0';
webphone_api.global.settmap[mCurrSettName] = value;
webphone_api.global.settmap2[mCurrSettName] = value;
ShowSettValue(mCurrSettName);
}
});
webphone_api.$('#adialog_negative').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
ManuallyClosePopup(webphone_api.$.mobile.activePage.find(".messagePopup"));
});
webphone_api.$('#btn_srvhelp').on('click', function (event)
{
if (webphone_api.common.GetBrowser() === 'MSIE') { event.preventDefault(); }
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
var btn_findprovider = '<br /><a href="https://www.mizu-voip.com/VoIPServiceProviders.aspx" onclick="webphone_api.common.OpenLinkInExternalBrowser(\'https://www.mizu-voip.com/VoIPServiceProviders.aspx\')" id="btn_srvhelp" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b " target="_blank">' + webphone_api.stringres.get('help_provider') + '</a>';
//-- var btn_findprovider = '<button id="btn_srvhelp" class="ui-btn ui-btn-corner-all ui-btn-b noshadow">' + webphone_api.stringres.get('help_provider') + '</button>';
//-- https://www.mizu-voip.com/VoIPServiceProviders.aspx
if (webphone_api.global.usestorage == true)
{
//demo version
webphone_api.common.AlertDialog(webphone_api.stringres.get('help'), webphone_api.stringres.get('srvaddr_help_cust'), null, null, false);
}
else
{
webphone_api.common.AlertDialog(webphone_api.stringres.get('help'), webphone_api.stringres.get('srvaddr_help') + btn_findprovider, null, null, false);
}
});
}
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: OnListItemClick", err); }
}
function HandleProfilePicture(popupafterclose)
{
//-- waiting for HTTP upload api from ISTVAN - handle same as filetransfer
try{
popupafterclose = popupafterclose ? popupafterclose : function () {};
var popupWidth = webphone_api.common.GetDeviceWidth();
if ( !webphone_api.common.isNull(popupWidth) && webphone_api.common.IsNumber(popupWidth) && popupWidth > 100 )
{
popupWidth = Math.floor(popupWidth / 1.2);
}else
{
popupWidth = 220;
}
if(popupWidth > 400) popupWidth = 400;
else if(popupWidth < 120) popupWidth = 120;
var ppic = '';
var picsrc = webphone_api.common.GetParameter('profilepicture');
if (!webphone_api.common.isNull(picsrc) || picsrc.length > 10)
{
ppic = '<img id="ppmypic" src="' + picsrc + '">';
webphone_api.common.PutToDebugLog(2, 'EVENT, HandleProfilePicture: display picture: ' + picsrc);
}
var template = '' +
'<div data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + webphone_api.stringres.get('sett_display_name_profilepicture') + '</h1>' +
'</div>' +
'<div id="prifilep_container" role="main" class="ui-content adialog_content adialog_alert" style="text-align: center; padding: 0;">' +
ppic +
// '<span style="-ms-user-select: text; -moz-user-select: text; -khtml-user-select: text; -webkit-user-select: text; user-select: text;"> ' + webphone_api.stringres.get('pp_msg') + ' </span>' +
// '<a href="javascript:;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">' + webphone_api.stringres.get('btn_close') + '</a>' +
// '<a href="javascript:;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">Delete</a>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="btn_adialog_alert_ok" style="width: 98%;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
webphone_api.$.mobile.activePage.append(template).trigger("create");
//webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").bind(
{
popupbeforeposition: function()
{
webphone_api.$(this).unbind("popupbeforeposition");//.remove();
var maxHeight = Math.floor( webphone_api.common.GetDeviceHeight() * 0.6 ); // webphone_api.$(window).height() - 120;
if (webphone_api.$(this).height() > maxHeight + 100)
{
webphone_api.$('.messagePopup .ui-content').height(maxHeight);
}
if (!webphone_api.common.isNull(document.getElementById('ppmypic')))
{
document.getElementById('ppmypic').style.width = Math.floor(popupWidth / 3).toString() + 'px';
}
BuildPPIframe();
}
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open", {positionTo: '#settings_header'}).bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#btn_adialog_alert_ok').off('click');
popupafterclose(false);
}
});
webphone_api.$('#btn_adialog_alert_ok').on('click', function ()
{
if ( popupafterclose && typeof (popupafterclose) === 'function' )
{
popupafterclose(true); // means that OK was clicked
popupafterclose = function () {};
}
});
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: HandleProfilePicture", err); }
}
// build and add prifile picture upload form in iframe
var iframe = null;
function BuildPPIframe()
{
try{
var actionurl = webphone_api.common.GetFiletrasnferFormActionUrl();
webphone_api.common.PutToDebugLog(2, 'EVENT, BuildPPIframe actionurl: ' + actionurl);
iframe = document.createElement('iframe');
// add iframe
iframe.style.background = 'transparent';
iframe.style.border = '0';
iframe.style.width = '100%';
iframe.style.height = '110px';
iframe.style.overflow = 'hidden';
var html = '<html><body style="margin 0; padding 0; background: transparent; width: 100%; overflow:hidden; font-size: 1em; color: #cecece;">' +
'<style>' +
'#fileinput { padding: .6em; background: #ffffff; display: inline-block; width: 95%; border: .1em solid #b8b8b8; -webkit-border-radius: .15em; border-radius: .15em;' +
'cursor: pointer; font-weight: bold; font-size: 1em; }' +
'#btn_uploadpic { display: inline-block; margin-top: 1em; margin-bottom: 0; padding: .6em 2em .6em 2em; border: .1em solid #b8b8b8; -webkit-border-radius: .15em; border-radius: .15em;' +
'cursor: pointer; font-weight: bold; font-size: 1em; background: #cccccc; }' +
'#btn_uploadpic:hover { background: #ffffff; }' +
'</style>' +
'<script>' +
'function OnPPFormSubmit(){' +
'var directory = document.getElementById("filepath").value;' +
'var filename = document.getElementById("fileinput").value;' +
'return parent.webphone_api._settings.ProfilePicOnSubmit(directory, filename);' +
'}' +
'</script>' +
//'<form style=" width: 100%; margin: 0; padding: 0;" action="' + actionurl + '" method="post" enctype="multipart/form-data" id="frm_ppupload" name="frm_ppupload" onsubmit="return OnPPFormSubmit()">' +
'<form style=" width: 100%; margin: 0; padding: 0;" action="' + actionurl + '" method="post" enctype="multipart/form-data" id="frm_ppupload" name="frm_ppupload" onsubmit="return OnPPFormSubmit()">' +
'<input type="hidden" id="filepath" name="filepath" value="">' +
'<input name="filedata" type="file" id="fileinput" /><br />' +
'<input type="submit" id="btn_uploadpic" value="' + webphone_api.stringres.get('btn_set') + '" title="' + webphone_api.stringres.get('hint_setprofpic') + '" />' +
'</form>' +
'</body></html>';
//-- document.body.appendChild(iframe);
if (webphone_api.common.isNull(document.getElementById('prifilep_container')))
{
webphone_api.common.PutToDebugLog(2, 'ERROR, BuildPPIframe container element is NULL');
return;
}
document.getElementById('prifilep_container').appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
//iframe.onload = function (evt) { FileUploaded(evt); };
var ifrmDoc = iframe.contentDocument || iframe.contentWindow.document;
setTimeout(function ()
{
// fallback for IE7, IE8 addEventListener
if (ifrmDoc.addEventListener)
{
ifrmDoc.addEventListener('click', HandleEventFiletransferStart, false);
}
else if (ifrmDoc.attachEvent)
{
ifrmDoc.attachEvent('click', HandleEventFiletransferStart);
}
function HandleEventFiletransferStart(event)
{
// set userguid (directory name)
var filepath = webphone_api.common.GetTransferDirectoryName('');
ifrmDoc.getElementById('filepath').value = filepath;
/*
var username = webphone_api.common.GetSipusername(); if (webphone_api.common.isNull(username)) { username = ''; }
username = webphone_api.common.Trim(username);
if (username.length < 1) username = webphone_api.common.Md5Hash('abcd123' + webphone_api.common.GetTickCount());
var serveraddress = GetParameter('serveraddress_user');
normalized_filename*/
webphone_api.common.PutToDebugLog(4, 'EVENT, profilepic directory: ' + filepath);
}
}, 150);
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: BuildPPIframe", err); }
}
function ProfilePicOnSubmit(directory, filename)
{
try{
webphone_api.common.PutToDebugLog(4, 'EVENT, ProfilePicOnSubmit directory: ' + directory + '; filename: ' + filename);
if (webphone_api.common.isNull(directory)) { directory = ''; } else { directory = '/' + directory; }
if (webphone_api.common.isNull(filename) || filename.length < 1)
{
webphone_api.common.PutToDebugLog(3, 'ERROR, ProfilePicOnSubmit send failed: ivalid filename: ' + filename);
webphone_api.common.ShowToast(webphone_api.stringres.get('ppupload_failed'));
return false;
}
var pos = filename.lastIndexOf('/');
if (pos >= 0) { filename = filename.substring(pos + 1, filename.length); }
pos = filename.lastIndexOf('\\');
if (pos >= 0) { filename = filename.substring(pos + 1, filename.length); }
// the path of the uploaded file on the server
var actionurl = webphone_api.common.GetFiletrasnferFormActionUrl();
var transferpath = actionurl + 'filestorage' + directory + '/' + encodeURIComponent(webphone_api.common.NormalizeFilename(filename));
webphone_api.common.PutToDebugLog(4, 'EVENT, ProfilePicOnSubmit filepath: ' + transferpath);
if (webphone_api.common.GetBrowser() === 'Firefox')
{
if (!webphone_api.common.isNull(iframe) && !webphone_api.common.isNull(document.getElementById('prifilep_container')))
{
document.getElementById('prifilep_container').removeChild(iframe);
}
}
webphone_api.common.SaveParameter('profilepicture', transferpath);
setTimeout(function ()
{
// find and close all active popups before displaying OfferEngine popup
var active_popups = webphone_api.$.mobile.activePage.find(".messagePopup");
if (!webphone_api.common.isNull(active_popups) && active_popups.length > 0 && webphone_api.global.dontclosecurrpopup !== true)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
}
});
}
}, 800);
return true;
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ProfilePicOnSubmit", err); }
return false;
}
function SubmenuSipSettings()
{
try{
currGroup = webphone_api.common.StrToInt( webphone_api.common.Trim(webphone_api.common.GROUP_SIP) );
isAdvancedLoginSett = 0; isAfterAdvancedLoginSett = 0;
PopulateList();
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get('sett_display_name_submenu_sipsettings') );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: SubmenuSipSettings", err); }
}
function ManuallyClosePopup(popupelement) // workaround for IE, sometimes popups are not closed simply by clicking the button, so we close it manually
{
try{
if (webphone_api.common.isNull(popupelement) || webphone_api.common.isNull(popupelement.popup)) { return; }
if (webphone_api.common.GetBrowser() === 'MSIE')
{
popupelement.popup("close");
}
else if (webphone_api.common.GetBrowser() === 'Firefox')
{
setTimeout(function ()
{
try{
popupelement.popup("close"); // it will throw exception in may cases
} catch(err) { ; }
}, 200);
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ManuallyClosePopup", err); }
}
function ShowSettValue(settname) // display sett value (if not default) in comment
{
try{
if (webphone_api.common.isNull(settname) || settname.length < 1)
{
webphone_api.common.PutToDebugLog(2, "WARNING, _settings: ShowSettValue settname is NULL");
return;
}
var value = webphone_api.global.settmap2[settname];
if( webphone_api.common.isNull(value) ) { return; }
var settIsdefault = value[webphone_api.common.SETT_ISDEFAULT];
//-- treat serveraddress_user as upperserver. Used in case of standalone tunnel server
if (settname === 'serveraddress_user' && webphone_api.common.GetParameter('serverinputisupperserver') === 'true')
{
document.getElementById('sett_comment_' + settname).innerHTML = GetSettComment(settname) + ' ' + GetSettFormattedValue(settname);
return;
}
// no need to add value to comment, because it's the default value
if (settIsdefault === '1') { return; }
var commentfield = document.getElementById('sett_comment_' + settname);
if (webphone_api.common.isNull(commentfield))
{
webphone_api.common.PutToDebugLog(2, "WARNING, _settings: ShowSettValue commentfield is NULL");
return;
}
commentfield.innerHTML = GetSettComment(settname) + ' ' + GetSettFormattedValue(settname);
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowSettValue", err); }
}
function GetSettComment(settname) // returns clean comment
{
var comment = '';
try{
if (webphone_api.common.isNull(settname) || settname.length < 1)
{
webphone_api.common.PutToDebugLog(2, "WARNING, _settings: GetSettComment settname is NULL");
return '';
}
var value = webphone_api.global.settmap2[settname];
if( webphone_api.common.isNull(value) ) { return ''; }
var settComment = webphone_api.stringres.get('sett_comment_'+settname);
var settCommentShort = webphone_api.stringres.get('sett_comment_short_'+settname);
if (!webphone_api.common.isNull(settCommentShort) && settCommentShort.length > 0)
{
comment = settCommentShort;
}else
{
comment = settComment;
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: GetSettComment", err); }
return comment;
}
function GetSettFormattedValue(settname) // returns displayable value of settings; ex: if sett value = 'true' -> it retuens 'enabeld'
{
var fval = '';
try{
if (webphone_api.common.isNull(settname) || settname.length < 1)
{
webphone_api.common.PutToDebugLog(2, "WARNING, _settings: GetSettComment settname is NULL");
return '';
}
var value = webphone_api.global.settmap2[settname];
if( webphone_api.common.isNull(value) ) { return ''; }
var type = value[webphone_api.common.SETT_TYPE];
//-- var settval = value[webphone_api.common.SETT_VALUE];
var settval = webphone_api.common.GetParameter(settname);
if (settname === 'password' && settval.length > 0)
{
fval = '*****';
}
else if (settname === 'loglevel')
{
if (settval === '1')
{
fval = webphone_api.stringres.get('sett_disabled');
}else
{
fval = webphone_api.stringres.get('sett_enabled');
}
}else
{
if (type === '0')
{
if (settval === 'true' || settval === '2')
{
fval = webphone_api.stringres.get('sett_enabled');
}else
{
fval = webphone_api.stringres.get('sett_disabled');
}
}
else if (type === '1')
{
fval = settval;
// cut off millisec (last thre zeros)
if ((settname === 'ringtimeout' || settname === 'calltimeout') /*&& settval.length > 2*/)
{
fval = fval.substring(0, fval.length - 3);
}
}
else if (type === '2')
{
var allnames = (value[webphone_api.common.SETT_ALLNAMES]).split(',');
var allvalues = (value[webphone_api.common.SETT_ALLVALUES]).split(',');
if (webphone_api.common.isNull(allnames) || allnames.length < 1 || webphone_api.common.isNull(allvalues) || allvalues.length < 1)
{
return '';
}
for (var i = 0; i < allvalues.length; i++)
{
if (allvalues[i] === settval)
{
fval = allnames[i];
break;
}
}
}
else if (type === '3')
{
var allnames = (value[webphone_api.common.SETT_ALLNAMES]).split(',');
var allvalues = (value[webphone_api.common.SETT_ALLVALUES]).split(',');
var valarray = [];
if (settval.indexOf(',') > 0) { valarray = settval.split(','); } else { valarray[0] = settval; }
if (webphone_api.common.isNull(allnames) || allnames.length < 1 || webphone_api.common.isNull(allvalues) || allvalues.length < 1 || webphone_api.common.isNull(valarray))
{
return '';
}
for (var j = 0; j < valarray.length; j ++)
{
for (var i = 0; i < allvalues.length; i++)
{
if (allvalues[i] === valarray[j])
{
if (fval.length > 0) { fval = fval + ', '; }
fval = fval + allnames[i];
}
}
}
}
else if (type === '4')
{
fval = settval + '%';
}
else if (type === '5' || type === '6' || type === '7')
{
fval = '';
}
else if (type === '8')
{
if (settname === 'aec')
{
var allnames = (value[webphone_api.common.SETT_ALLNAMES]).split(',');
var allvalues = (value[webphone_api.common.SETT_ALLVALUES]).split(',');
var valarray = [];
if (settval.indexOf(',') > 0) { valarray = settval.split(','); } else { valarray[0] = settval; }
if (webphone_api.common.isNull(allnames) || allnames.length < 1 || webphone_api.common.isNull(allvalues) || allvalues.length < 1 || webphone_api.common.isNull(valarray))
{
return '';
}
for (var j = 0; j < valarray.length; j ++)
{
for (var i = 0; i < allvalues.length; i++)
{
if (allvalues[i] === valarray[j])
{
if (fval.length > 0) { fval = fval + ', '; }
fval = fval + allnames[i];
}
}
}
}
else if (settname === 'serveraddress_user')
{
if (webphone_api.common.GetParameter('serverinputisupperserver') === 'true'
//OPSSTART
&& (webphone_api.common.GetParameter('autoprovisioning').length < 1 || webphone_api.common.GetParameter('autoprovisioning') === '0')
//OPSEND
)
{
fval = webphone_api.common.GetParameter('upperserver');
}else
{
fval = settval;
}
}
}
/**type - 0 = checkbox, 1 = text box, 2 = drop down list, 3 = drop down list and checkbox,
4 = seek bar, 5 = open new activity, 6 = submenu, 7 = drop down list from XML string-array, 8 = custom*/
}
if (!webphone_api.common.isNull(fval) && fval.length > 0)
{
fval = '(' + fval + ')';
}else
{
fval = '';
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: GetSettFormattedValue", err); }
return fval;
}
function BackOnClick(event)
{
try{
if (filtervisible)
{
ShowHideSearch();
return;
}
isAdvancedLoginSett = 0; isAfterAdvancedLoginSett = 0;
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_SIP) || currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MEDIA)
|| currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_CALLDIVERT) || currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_GENERAL) || currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_PROFILE))
{
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN);
PopulateList();
//-- webphone_api.$('#btn_back_settings').hide();
//-- webphone_api.$('#app_name_settings').show();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_title") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_login") );
}
else if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
currGroup = 20;
BeforeStart(true);
}
else if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN))
{
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN);
if (filtervisible) { ShowHideSearch(); }
if (startedfrom === 'app')
{
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("btn_cancel") );
}else
{
webphone_api.$('#btn_back_settings').hide();
webphone_api.$('#app_name_settings').show();
}
if (ShowLoginPage())
{
webphone_api.$('#settings_list').hide();
webphone_api.$('#loginpage_container').show();
}
MeasureSettingslist();
if(PopulateList())
{
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_login") );
currGroup = 20;
BeforeStart(true);
}
else
{
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_login") );
}
}
else if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_INTEGRATE))
{
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_GENERAL);
PopulateList();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("sett_display_name_submenu_general") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_VIDEO))
{
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_MEDIA);
PopulateList();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("sett_display_name_submenu_media") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_SCRSHARE))
{
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_MEDIA);
PopulateList();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("sett_display_name_submenu_media") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("settings_title") );
}
else if (currGroup === 6)
{
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN);
PopulateList();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_title") );
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: BackOnClick", err); }
}
var currfeatureset = 10;
function ShowLoginPage() // whether to show standard login page or settings list
{
try{
// -1=auto (default), 0=no, 1=only at first login, 2=always. if -1 then auto 1 if featureset is Minimal, otherwise 0.
var useloginpage = webphone_api.common.GetConfigInt('useloginpage', 10);
if (useloginpage > 8) { useloginpage = webphone_api.common.GetParameterInt('useloginpage', -1); }
if (!webphone_api.common.isNull(webphone_api.parameters.useloginpage))
{
useloginpage = webphone_api.parameters.useloginpage;
}
currfeatureset = webphone_api.common.GetConfigInt('featureset', 10);
if (currfeatureset > 15) { currfeatureset = webphone_api.common.GetParameterInt('featureset', 10); }
if (useloginpage === -1)
{
if (currfeatureset < 5) // minimal
{
return true;
}else
{
return false;
}
}
else if (useloginpage === 0)
{
return false;
}
else if (useloginpage === 1)
{
if (startedfrom !== 'app')
{
return true;
}else
{
return false;
}
}else
{
return true;
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowLoginPage", err); }
return false;
}
function SaveSettings (usrstart)
{
try{
var settValue = '';
var settDisplayName = '';
var settComment = '';
webphone_api.common.HandleCallerID();
//var dbg = webphone_api.common.GetParameter('sipusername'); //ssssss
if(restorebasicsettings > 0)
{
restorebasicsettings = 0;
isSettLevelBasic = true;
webphone_api.common.SaveParameter('settlevelbasic', 'true');
}
//OPSSTART
//-- autoprovisioning -> if op code changed, then download autoprovisioning (block at start)
if (currautoprovsrv.toLowerCase() !== (webphone_api.common.GetParameter('serveraddress_user')).toLowerCase()) // means opcode changed
{
webphone_api.common.SaveParameter('lastautoprov', '');
}
//OPSEND
if (webphone_api.common.RequestUserServerInput() && webphone_api.common.GetParameter('serverinputisupperserver') === 'true') // must have: sipusername, password, upperserver
{
//--MODIFYINGUPPERSERVER
var uppersrv = webphone_api.common.GetParameter('upperserver');
var usersrv = webphone_api.common.GetParameter('serveraddress_user');
if ((uppersrv.length < 0 || usersrv.indexOf('.') > 0) && webphone_api.common.ShowServerInput())
{
webphone_api.common.SaveParameter('iswebrtcuppersrvfromuser', 'true');
webphone_api.common.SaveParameter('upperserver', usersrv);
}
//OPSSTART
if (webphone_api.common.GetParameter('autoprovisioning').length < 1 || webphone_api.common.GetParameter('autoprovisioning') === '0')
{
//OPSEND
settValue = webphone_api.common.GetParameter('upperserver');
settDisplayName = webphone_api.stringres.get('sett_display_name_serveraddress_user');
settComment = webphone_api.stringres.get('sett_comment_serveraddress_user');
if ( webphone_api.common.isNull(settValue) || settValue.length <= 0 )
{
//-- webphone_api.common.AlertDialog(settDisplayName, webphone_api.stringres.get('please_enter') + ' ' + settComment);
webphone_api.common.ShowToast(webphone_api.stringres.get('please_enter') + ' ' + settComment);
return;
}
//OPSSTART
}else
{
settValue = webphone_api.common.GetParameter('serveraddress_user');
settDisplayName = webphone_api.stringres.get('sett_display_name_serveraddress_user');
settComment = webphone_api.stringres.get('sett_comment_serveraddress_user');
if (settValue.toLowerCase() === 'mizu')
{
settValue = "voip.mizu-voip.com";
webphone_api.common.SaveParameter('serveraddress_user', settValue);
}
}
//OPSEND
//username
settValue = webphone_api.common.GetSipusername(true);
settDisplayName = webphone_api.stringres.get('sett_display_name_sipusername');
settComment = webphone_api.stringres.get('sett_comment_sipusername');
if ( webphone_api.common.isNull(settValue) || settValue.length <= 0 )
{
//-- webphone_api.common.AlertDialog(settDisplayName, webphone_api.stringres.get('username_warning'));
webphone_api.common.ShowToast(webphone_api.stringres.get('username_warning'));
return;
}
if (webphone_api.common.GetConfigBool('mizuserveronly', false) === true && settValue.length < 3)
{
webphone_api.common.PutToDebugLog(1,'WARNING, ' + webphone_api.stringres.get('username_warning2') + '_1');
webphone_api.common.ShowToast(webphone_api.stringres.get('username_warning2'));
return;
}
//password
settValue = webphone_api.common.GetParameter('password');
settDisplayName = webphone_api.stringres.get('sett_display_name_password');
settComment = webphone_api.stringres.get('sett_comment_password');
if ( webphone_api.common.isNull(settValue) || settValue.length <= 0 )
{
//-- webphone_api.common.AlertDialog(settDisplayName, webphone_api.stringres.get('please_enter') + ' ' + settComment);
webphone_api.common.ShowToast(settDisplayName, webphone_api.stringres.get('please_enter') + ' ' + settComment);
return;
}
if (webphone_api.common.GetConfigBool('mizuserveronly', false) === true && settValue.length < 3)
{
webphone_api.common.PutToDebugLog(2, 'WARNING, ' + webphone_api.stringres.get('password_warning2') + '_1');
webphone_api.common.ShowToast(webphone_api.stringres.get('password_warning2'));
return;
}
}else
{
if (webphone_api.common.GetParameterBool('customizedversion', true) !== true)
{
//username ; request sipusername even for NOT customized version (used for settings filename)
settValue = webphone_api.common.GetSipusername(true);
settDisplayName = webphone_api.stringres.get('sett_display_name_sipusername');
settComment = webphone_api.stringres.get('sett_comment_sipusername');
if ( webphone_api.common.isNull(settValue) || settValue.length <= 0 )
{
//-- webphone_api.common.AlertDialog(settDisplayName, webphone_api.stringres.get('please_enter') + ' ' + settComment);
webphone_api.common.ShowToast(webphone_api.stringres.get('username_warning'));
//-- isSaveCommandIssued = false;
return;
}
if (webphone_api.common.GetConfigBool('mizuserveronly', false) === true === true && settValue.length < 3)
{
webphone_api.common.PutToDebugLog(1,'WARNING, ' + webphone_api.stringres.get('username_warning2') + '_2');
webphone_api.common.ShowToast(webphone_api.stringres.get('username_warning2'));
return;
}
settValue = webphone_api.common.GetParameter('serveraddress_user');
settDisplayName = webphone_api.stringres.get('sett_display_name_serveraddress_user');
settComment = webphone_api.stringres.get('sett_comment_serveraddress_user');
if (settValue.toLowerCase() === 'mizu')
{
settValue = "voip.mizu-voip.com";
webphone_api.common.SaveParameter('serveraddress_user', settValue);
}
}else
{
//username
settValue = webphone_api.common.GetSipusername(true);
settDisplayName = webphone_api.stringres.get('sett_display_name_sipusername');
settComment = webphone_api.stringres.get('sett_comment_sipusername');
if ( webphone_api.common.isNull(settValue) || settValue.length <= 0 )
{
//-- webphone_api.common.AlertDialog(settDisplayName, webphone_api.stringres.get('please_enter') + ' ' + settComment);
webphone_api.common.ShowToast(webphone_api.stringres.get('username_warning'));
//-- isSaveCommandIssued = false;
return;
}
if (webphone_api.common.GetConfigBool('mizuserveronly', false) === true && settValue.length < 3)
{
webphone_api.common.PutToDebugLog(1,'WARNING, ' + webphone_api.stringres.get('username_warning2') + '_3');
webphone_api.common.ShowToast(webphone_api.stringres.get('username_warning2'));
return;
}
//password
settValue = webphone_api.common.GetParameter('password');
settDisplayName = webphone_api.stringres.get('sett_display_name_password');
settComment = webphone_api.stringres.get('sett_comment_password');
if ( webphone_api.common.isNull(settValue) || settValue.length <= 0 )
{
//-- webphone_api.common.AlertDialog(settDisplayName, webphone_api.stringres.get('please_enter') + ' ' + settComment);
webphone_api.common.ShowToast(webphone_api.stringres.get('please_enter') + ' ' + settComment);
//-- isSaveCommandIssued = false;
return;
}
if (webphone_api.common.GetConfigBool('mizuserveronly', false) === true && settValue.length < 3)
{
webphone_api.common.PutToDebugLog(2, 'WARNING, ' + webphone_api.stringres.get('password_warning2') + '_2');
webphone_api.common.ShowToast(webphone_api.stringres.get('password_warning2'));
return;
}
}
}
setTimeout(function ()
{
//-- don't send extcmd_startwithos by default. only on user click - send oly once and if changed
//-- hide the startwithos option once it is already set
if (webphone_api.common.IsWindowsSoftphone())
{
if (webphone_api.common.ParameterIsDefault('startwithos') === false && webphone_api.common.GetParameterBool('startwithos_was_sent', true) === false)
{
var url = webphone_api.common.AddJscommport(webphone_api.global.WIN_SOFTPHONE_URL) + '?extcmd_startwithos=' + webphone_api.common.GetParameter('startwithos');
webphone_api.common.WinSoftphoneHttpReq(url, 'GET', '', '', function (resp) { webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: startwithos response: ' + resp); });
webphone_api.common.SaveParameter('startwithos_was_sent', 'true');
//-- webphone_api.common.WinExternalCommand('startwithos', webphone_api.common.GetParameter('startwithos'));
}
}
}, 5000);
webphone_api.$('#settings_page_title').html(webphone_api.stringres.get('loading'));
webphone_api.common.PutToDebugLogSpecial(1, 'EVENT, _settings: SaveSettings set Loading... page title', false, '');
// handle accounts
if (accountsavailable === false) // true, if there is at least one account created. If "false". means we have to add an account at SaveSettings()
{
//acfile = acfile + acTemp[AC_NAME] + ',' + acTemp[AC_SIPUSERNAME] + ',' + acTemp[AC_SETTFILE] + ',' + acTemp[AC_CHFILE] + ',' + acTemp[AC_ISACTIVE] + '\r\n';
var acctemp = [];
var accname = 'Account' + webphone_api.common.GetSipusername(true);
//accountname+serveraddr+username+salt+password
var settfilename = webphone_api.common.Md5Hash(accname + webphone_api.common.GetParameter('serveraddress_user') + webphone_api.common.GetParameter('sipusername') + webphone_api.global.SALT + webphone_api.common.GetParameter('password') + webphone_api.common.GetLocationPathName());
var extra = webphone_api.common.GetConfig('brandid');
if (webphone_api.common.isNull(extra) || extra.length < 1 || extra == '-1')
{
extra = webphone_api.common.GetBrandName().toLowerCase();
}
settfilename = settfilename + extra;
acctemp[webphone_api.common.AC_NAME] = accname;
acctemp[webphone_api.common.AC_SIPUSERNAME] = webphone_api.common.GetSipusername();
acctemp[webphone_api.common.AC_SETTFILE] = settfilename;
acctemp[webphone_api.common.AC_CHFILE] = settfilename + '_ch';
acctemp[webphone_api.common.AC_ISACTIVE] = 'true';
/*
if ( isNull(acctemp) || acctemp.length < 2 || acctemp.indexOf(',') < 0 || (acctemp.indexOf('true') < 0 && acctemp.indexOf('false') < 0))
{
PutToDebugLog(2, 'WARNING, trying to save invalid acc a: ' + acctemp);
}
*/
webphone_api.global.aclist.push(acctemp);
}
webphone_api.common.SaveSettingsFile(7, webphone_api.common.GetActiveAccSettingsFilename(), function (retval)
{
BeforeStart(usrstart);
//var dbg = webphone_api.common.GetParameter('sipusername'); //sssss
//-- if demo index page, then also read settings from cookie
if (window.location.href.indexOf('isdemopage=true') > 0)
{
try{
var stmp = '';
stmp = webphone_api.common.GetParameter('sipusername'); if (stmp.length > 0) { webphone_api.setparameter('sipusername', stmp); }
stmp = webphone_api.common.GetParameter('username'); if (stmp.length > 0) { webphone_api.setparameter('username', stmp); }
stmp = webphone_api.common.GetParameter('password'); if (stmp.length > 0) { webphone_api.setparameter('password', stmp); }
stmp = webphone_api.common.GetParameter('sippassword'); if (stmp.length > 0) { webphone_api.setparameter('sippassword', stmp); }
stmp = webphone_api.common.GetParameter('serveraddress_user'); if (stmp.length > 0) { webphone_api.setparameter('serveraddress_user', stmp); }
stmp = webphone_api.common.GetParameter('serveraddress_orig'); if (stmp.length > 0) { webphone_api.setparameter('serveraddress_orig', stmp); }
stmp = webphone_api.common.GetParameter('serveraddress'); if (stmp.length > 0) { webphone_api.setparameter('serveraddress', stmp); }
stmp = webphone_api.common.GetParameter('upperserver'); if (stmp.length > 0) { webphone_api.setparameter('upperserver', stmp); }
stmp = webphone_api.common.GetParameter('callto'); if (stmp.length > 0) { webphone_api.setparameter('callto', stmp); }
stmp = webphone_api.common.GetParameter('destination'); if (stmp.length > 0) { webphone_api.setparameter('destination', stmp); }
} catch(e) { webphone_api.common.PutToDebugLogException(2, '_settings: SaveSettings inner1', e); }
}
setTimeout(function ()
{
// save accounts to file
webphone_api.common.SaveAccountsFile(function (success)
{
if(webphone_api.common.CanLog(2)) {
if (success)
{
webphone_api.common.PutToDebugLog(3, 'EVENT, _settings: SaveSettings Accounts file saved successfully');
}else
{
webphone_api.common.PutToDebugLog(2, 'ERROR, _settings: SaveSettings Accounts file save failed');
}
}
});
}, 200);
});
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: SaveSettings", err); }
}
function BeforeStart(usrstart) //-- handle autoprovisioning
{
try{
StartPhone(usrstart);
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: BeforeStart", err); }
}
function StartPhone(usrstart)
{
try{
//-- webphone_api.$.mobile.loading('hide');
//-- webphone_api.common.HideModalLoader();
webphone_api.global.sipstackstarted = true;
webphone_api.$.mobile.changePage("#page_dialpad", { transition: "pop", role: "page" });
var timeout = 500;
if (webphone_api.common.IsWindowsSoftphone()) { timeout = 100; }
setTimeout(function ()
{
if (webphone_api.common.IsWindowsSoftphone()) { webphone_api.global.webphone_started = false; }
if (usrstart === true)
{
webphone_api.common.PutToDebugLog(2, 'EVENT, mlogic API_Start _settings StartPhone');
webphone_api.start( webphone_api.common.GetSipusername(), webphone_api.common.GetParameter('password') );
}
//-- else
//-- {
//-- webphone_api.startInner( webphone_api.common.GetSipusername(), webphone_api.common.GetParameter('password') );
//-- }
}, timeout);
setTimeout(function ()
{
if (webphone_api.common.UsePresence2() === true)
{
webphone_api.common.SetSelectedPresence('Offline', false);
}
}, 1000);
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: StartPhone", err); }
}
//--1: when the engine has to be started (user click on ok or auto login). wait for stage 0 to complete at least 1 seconds even if it was auto started
//--var DELAY = 1000;
//--function StartWithEngineSelect()
//--{
//-- try{
//-- if (webphone_api.global.engineselectstage !== 0 || (webphone_api.common.GetTickCount() - webphone_api.global.engineselecttime) > DELAY)
//-- {
//-- var ret = webphone_api.common.EngineSelect(1);
//-- webphone_api.common.PutToDebugLog(2, 'EVENT, selected engine: ' + webphone_api.common.TestEngineToString(webphone_api.common.GetSelectedEngine(), false));
//-- webphone_api.common.PutToDebugLog(2, 'EVENT, recommended engine: ' + webphone_api.common.TestEngineToString(webphone_api.common.GetRecommendedEngine(), false));
//-- webphone_api.startInner( webphone_api.common.GetSipusername(), webphone_api.common.GetParameter('password') );
//-- return;
//-- }
//-- //wait for at least 1 second after EngineSelect stage 0 was called
//-- var wait = DELAY - (webphone_api.common.GetTickCount() - webphone_api.global.engineselecttime);
//-- if (wait < 0)
//-- {
//-- wait = 1;
//-- }
//-- setTimeout(function ()
//-- {
//-- var ret = webphone_api.common.EngineSelect(1);
//-- webphone_api.common.PutToDebugLog(2, 'EVENT, selected engine: ' + webphone_api.common.TestEngineToString(webphone_api.common.GetSelectedEngine(), false));
//-- webphone_api.common.PutToDebugLog(2, 'EVENT, recommended engine: ' + webphone_api.common.TestEngineToString(webphone_api.common.GetRecommendedEngine(), false));
//-- webphone_api.startInner( webphone_api.common.GetSipusername(), webphone_api.common.GetParameter('password') );
//-- return;
//-- }, wait);
//-- } catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: StartWithEngineSelect", err); }
//--}
function QRcodeLogin()
{
try{
var url = webphone_api.common.AddJscommport(webphone_api.global.WIN_SOFTPHONE_URL) + '?extcmd_qrcode';
webphone_api.common.WinSoftphoneHttpReq(url, 'GET', '', '', function (resp)
{
webphone_api.common.PutToDebugLog(2, 'EVENT, _settings: extcmd_qrcode response: ' + resp);
});
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: QRcodeLogin", err); }
}
function OnNewUserClicked()
{
try{/*
var reguri = webphone_api.common.GetParameter('newuser');
if ((webphone_api.common.Trim(reguri)).indexOf('*') !== 0) // if starts with * => httpapi ELSE link
{
webphone_api.common.OpenWebURL(reguri, webphone_api.stringres.get('newuser'));
}else
{
webphone_api.$.mobile.changePage("#page_newuser", { transition: "pop", role: "page" });
}
*/
webphone_api.$.mobile.changePage("#page_newuser", { transition: "pop", role: "page" });
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: OnNewUserClicked", err); }
}
var trigerredQ = false; // handle multiple clicks
function CustomBtn() //favafone newuser or QR code login
{
try{
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 50) // favafone
{
webphone_api.$.mobile.changePage("#page_newuser", { transition: "pop", role: "page" });
}
else
{
if (trigerredQ) { return; }
trigerredQ = true;
setTimeout(function ()
{
trigerredQ = false;
}, 1000);
webphone_api.common.PutToDebugLog(3, 'EVENT, settings button QRcode login clicked b');
QRcodeLogin();
}
//BRANDEND
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: CustomBtn", err); }
}
//--var MENUITEM_SETTINGS_EXIT = '#menuitem_settings_exit';
var MENUITEM_LEVEL = '#menuitem_settings_level';
var MENUITEM_SHOW_SETTINGS = '#menuitem_show_settings';
var MENUITEM_SEARCH = '#menuitem_settings_search';
var MENUITEM_HELP = '#menuitem_settings_help';
var MENUITEM_EXIT = '#menuitem_settings_exit';
//OPSSTART
var MENUITEM_PROVERSION = '#menuitem_settings_proversion';
//OPSEND
var MENUITEM_LOGS_CUSTOM = '#menuitem_settings_logs_custom';
var MENUITEM_SPEEDTEST = 'menuitem_settings_speedtest';
function CreateOptionsMenu (menuId) // adding items to menu, called from html
{
try{
// remove data transition for windows softphone, because it's slow
if (webphone_api.common.GetParameter('devicetype') === webphone_api.common.DEVICE_WIN_SOFTPHONE())
{
webphone_api.$( "#btn_settings_menu" ).removeAttr('data-transition');
}
if ( webphone_api.common.isNull(menuId) || menuId.length < 1 ) { webphone_api.common.PutToDebugLog(2, "ERROR, _settings: CreateOptionsMenu menuid null"); return; }
if (webphone_api.$(menuId).length <= 0) { webphone_api.common.PutToDebugLog(2, "ERROR, _settings: CreateOptionsMenu can't get reference to Menu"); return; }
if (menuId.charAt(0) !== '#') { menuId = '#' + menuId; }
webphone_api.$(menuId).html('');
//-- webphone_api.$(menuId).append( '<li id="' + MENUITEM_SETTINGS_EXIT + '"><a data-rel="back">' + webphone_api.stringres.get('menu_exit') + '</a></li>' ).listview('refresh');
var menuLevelTitle = '';
if (isSettLevelBasic)
{
menuLevelTitle = webphone_api.stringres.get('menu_switchtoadvanced');
}else
{
menuLevelTitle = webphone_api.stringres.get('menu_switchtobasic');
}
//-- if (webphone_api.$('#loginpage_container').is(':visible')) // means we are on login page and settings list is not visible
//-- {
//-- webphone_api.$(menuId).append( '<li id="' + MENUITEM_SHOW_SETTINGS + '"><a data-rel="back">' + webphone_api.stringres.get('menu_showsettings') + '</a></li>' ).listview('refresh');
//-- }else
//-- {
//-- if (currfeatureset > 5)
//-- {
//-- webphone_api.$(menuId).append( '<li id="' + MENUITEM_LEVEL + '"><a data-rel="back">' + menuLevelTitle + '</a></li>' ).listview('refresh');
//-- }
//-- webphone_api.$(menuId).append( '<li id="' + MENUITEM_SEARCH + '"><a data-rel="back">' + searchTitle + '</a></li>' ).listview('refresh');
//-- }
//--webphone_api.$(menuId).append( '<li id="' + MENUITEM_SHOW_SETTINGS + '"><a data-rel="back">' + webphone_api.stringres.get('menu_showsettings') + '</a></li>' ).listview('refresh');
//-- if (webphone_api.common.IsWindowsSoftphone() && webphone_api.common.GetConfig('needactivation') == 'true' && CanShowLicKeyInput())
//-- {
//-- webphone_api.$(menuId).append( '<li id="' + MENUITEM_PROVERSION + '"><a data-rel="back">' + webphone_api.stringres.get('help_proversion') + '</a></li>' ).listview('refresh');
//-- }
webphone_api.$(menuId).append( '<li id="' + MENUITEM_SPEEDTEST + '"><a data-rel="back">' + webphone_api.stringres.get('menu_speedtest') + '</a></li>' ).listview('refresh');
webphone_api.$("#" + MENUITEM_SPEEDTEST).attr("title", webphone_api.stringres.get('hint_speedtest'));
var searchTitle = '';
if (filtervisible)
{
searchTitle = webphone_api.stringres.get('hide_search');
}else
{
searchTitle = webphone_api.stringres.get('show_search');
}
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
webphone_api.$(menuId).append( '<li id="' + MENUITEM_SHOW_SETTINGS + '"><a data-rel="back">' + webphone_api.stringres.get('menu_showsettings') + '</a></li>' ).listview('refresh');
}else
{
webphone_api.$(menuId).append( '<li id="' + MENUITEM_LEVEL + '"><a data-rel="back">' + menuLevelTitle + '</a></li>' ).listview('refresh');
webphone_api.$(menuId).append( '<li id="' + MENUITEM_SEARCH + '"><a data-rel="back">' + searchTitle + '</a></li>' ).listview('refresh');
}
var help_title = webphone_api.stringres.get('menu_help') + '...';
//BRANDSTART
if (webphone_api.common.GetConfigInt('brandid', -1) === 60) // voipmuch
{
if (startedfrom === 'app')
{
webphone_api.$(menuId).append( '<li id="' + MENUITEM_LOGS_CUSTOM + '"><a data-rel="back">' + webphone_api.stringres.get('logview_title') + '</a></li>' ).listview('refresh'); // add logs to menu if advanced settinsg are displayed
}
help_title = webphone_api.stringres.get('help_about');
}
//BRANDEND
webphone_api.$(menuId).append( '<li id="' + MENUITEM_HELP + '"><a data-rel="back">' + help_title + '</a></li>' ).listview('refresh');
if (webphone_api.common.GetParameter('devicetype') === webphone_api.common.DEVICE_WIN_SOFTPHONE())
{
webphone_api.$(menuId).append( '<li id="' + MENUITEM_EXIT + '"><a data-rel="back">' + webphone_api.stringres.get('menu_exit') + '</a></li>' ).listview('refresh');
}
return true;
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: CreateOptionsMenu", err); }
return false;
}
function MenuItemSelected(itemid)
{
try{
if (webphone_api.common.isNull(itemid) || itemid.length < 1) { return; }
if (itemid === MENUITEM_SPEEDTEST)
{
var uri = 'https://fast.com/'; //'https://sourceforge.net/speedtest/';
if (webphone_api.common.IsWindowsSoftphone() === true)
{
webphone_api.common.OpenLinkInExternalBrowser(uri);
}else
{
window.open(uri);
}
}
webphone_api.$( '#settings_menu' ).on( 'popupafterclose', function( event )
{
webphone_api.$( '#settings_menu' ).off( 'popupafterclose' );
switch (itemid)
{
//-- case MENUITEM_SETTINGS_EXIT:
//-- alert('Exit');
//-- break;
case MENUITEM_LEVEL:
SwitchBetweenBasicAdvanced();
break;
case MENUITEM_SHOW_SETTINGS:
ShowSettings();
break;
case MENUITEM_SEARCH:
ShowHideSearch();
break;
case MENUITEM_HELP:
webphone_api.common.HelpWindow('settings');
break;
case MENUITEM_EXIT:
webphone_api.common.Exit();
break;
//OPSSTART
case MENUITEM_PROVERSION:
webphone_api.common.UpgradeToProVersion();
break;
//OPSEND
case MENUITEM_LOGS_CUSTOM:
webphone_api.$.mobile.changePage("#page_logview", { transition: "pop", role: "page" });
break;
}
});
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: MenuItemSelected", err); }
}
function ShowSettings()
{
try{
if (webphone_api.$('#loginpage_container').is(':visible'))
{
webphone_api.$('#loginpage_container').hide();
webphone_api.$('#settings_list').show();
}
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN);
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_title") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get('settings_login') );
isAdvancedLoginSett = 0; isAfterAdvancedLoginSett = 0;
PopulateList();
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowSettings", err); }
}
function ShowLoginSettings(advanced)
{
try{
//var isAdvancedLoginSett = 0; // show advanced login settings: 0=no, 1=from login page, 2=from advanced SIP settings
if (webphone_api.common.isNull(advanced)) isAdvancedLoginSett = advanced;
else isAdvancedLoginSett = 1;
isAfterAdvancedLoginSett = 0;
//currGroup = CommonGUI.StringToInt(GROUP_MAIN, 0);
// isAdvancedLoginSett = from;
// RefreshList(0);
// String title = getResources().getString(R.string.sett_comment_page_title);
// mTitle.setText( title );
if (webphone_api.$('#loginpage_container').is(':visible'))
{
webphone_api.$('#loginpage_container').hide();
webphone_api.$('#settings_list').show();
}
currGroup = webphone_api.common.StrToInt(webphone_api.common.GROUP_MAIN);
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#settings_page_title').html( webphone_api.stringres.get("settings_title") );
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get('settings_login') );
PopulateList();
isAdvancedLoginSett = 0;
isAfterAdvancedLoginSett = 1;
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowLoginSettings", err); }
}
function SwitchBetweenBasicAdvanced()
{
try{
restorebasicsettings = 0;
if (isSettLevelBasic)
{
AdvancedSettProtected();
}else
{
isSettLevelBasic = true;
if (currGroup === webphone_api.common.StrToInt( webphone_api.common.GROUP_MEDIA )) { currGroup = webphone_api.common.StrToInt( webphone_api.common.GROUP_MAIN ); }
PopulateList();
webphone_api.common.SaveParameter('settlevelbasic', 'true');
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: SwitchBetweenBasicAdvanced", err); }
}
function ShowAdvancedSettings()
{
try{
isSettLevelBasic = false;
// Settings page: if settings is displayed on page under password in menu "Advanced settings" engine select:
if (currGroup === webphone_api.common.StrToInt(webphone_api.common.GROUP_LOGIN))
{
ShowSettings();
webphone_api.common.SaveParameter('settlevelbasic', 'false');
return;
}
PopulateList();
webphone_api.common.SaveParameter('settlevelbasic', 'false');
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowAdvancedSettings", err); }
}
// option to protect advanced settings with password: advancedsettpwd
var settpwdmatche = false;
function AdvancedSettProtected()
{
try{
if (settpwdmatche === true)
{
ShowAdvancedSettings();
return;
}
var pwd = webphone_api.common.GetConfig('advancedsettpwd');
if (webphone_api.common.isNull(pwd) || pwd.length < 1) { pwd = webphone_api.common.GetParameter2('advancedsettpwd'); }
if (webphone_api.common.isNull(pwd) || pwd.length < 1)
{
settpwdmatche = true;
ShowAdvancedSettings();
return;
}
pwd = webphone_api.common.Trim(pwd);
if (pwd.indexOf('encrypted__') === 0)
{
pwd = webphone_api.common.StrDc(pwd);
}
// show popup for user to enter unlock password
var popupWidth = webphone_api.common.GetDeviceWidth();
if ( !webphone_api.common.isNull(popupWidth) && webphone_api.common.IsNumber(popupWidth) && popupWidth > 100 )
{
popupWidth = Math.floor(popupWidth / 1.2);
}else
{
popupWidth = 220;
}
if(popupWidth > 400) popupWidth = 400;
else if(popupWidth < 120) popupWidth = 120;
var msg = webphone_api.stringres.get('unlockadvancedsett_msg') + ':';
var template = '' +
'<div id="advancedsett_popup" data-role="popup" class="ui-content messagePopup" data-overlay-theme="a" data-theme="a" style="max-width:' + popupWidth + 'px;">' +
'<div data-role="header" data-theme="b">' +
'<a href="javascript:;" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right closePopup">Close</a>' +
'<h1 class="adialog_title">' + webphone_api.stringres.get('unlockadvancedsett_title') + '</h1>' +
'</div>' +
'<div role="main" class="ui-content adialog_content">' +
'<span>' + msg + '</span>' +
'<div style="clear: both;"><!--//--></div>' +
'<input type="text" id="advancedsett_input" name="setting_item" data-theme="a" autocapitalize="off"/>' +
'</div>' +
'<div data-role="footer" data-theme="b" class="adialog_footer">' +
'<a href="javascript:;" id="adialog_positive" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back" data-transition="flow">' + webphone_api.stringres.get('btn_ok') + '</a>' +
'<a href="javascript:;" id="adialog_negative" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b adialog_2button" data-rel="back">' + webphone_api.stringres.get('btn_cancel') + '</a>' +
'</div>' +
'</div>';
var popupafterclose = function () {};
webphone_api.$.mobile.activePage.append(template).trigger("create");
//-- webphone_api.$.mobile.activePage.append(template).trigger("pagecreate");
webphone_api.$.mobile.activePage.find(".closePopup").bind("tap", function (e)
{
webphone_api.$.mobile.activePage.find(".messagePopup").popup("close");
});
webphone_api.$.mobile.activePage.find(".messagePopup").popup().popup("open").bind(
{
popupafterclose: function ()
{
webphone_api.$(this).unbind("popupafterclose").remove();
webphone_api.$('#adialog_positive').off('click');
webphone_api.$('#adialog_negative').off('click');
popupafterclose();
}
});
//-- listen for enter onclick, and click OK button
//-- no need for this, because it reloads the page
//-- webphone_api.$( "#advancedsett_popup" ).keypress(function( event )
//-- {
//-- if ( event.which === 13)
//-- {
//-- event.preventDefault();
//-- webphone_api.$("#adialog_positive").click();
//-- }else
//-- {
//-- return;
//-- }
//-- });
var textBox = document.getElementById('advancedsett_input');
if (!webphone_api.common.isNull(textBox)) { textBox.focus(); } // setting cursor to text input
webphone_api.$('#adialog_positive').on('click', function (event)
{
webphone_api.common.PutToDebugLog(5,'EVENT, _settings AdvancedSettProtected ok onclick');
var textboxval = webphone_api.common.Trim(textBox.value);
webphone_api.$( '#advancedsett_popup' ).on( 'popupafterclose', function( event )
{
if (!webphone_api.common.isNull(textboxval) && textboxval.length > 0 && textboxval === pwd)
{
webphone_api.common.PutToDebugLog(5,'EVENT, _settings AdvancedSettProtected ok onclick password match');
settpwdmatche = true;
ShowAdvancedSettings();
}else
{
webphone_api.common.PutToDebugLog(5,'EVENT, _settings AdvancedSettProtected ok onclick password NOT match: ' + textboxval);
webphone_api.common.ShowToast(webphone_api.stringres.get('err_msg_2'));
}
});
});
webphone_api.$('#adialog_negative').on('click', function (event)
{
;
});
return;
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: AdvancedSettProtected", err); }
ShowAdvancedSettings();
}
var lastback = '';
function ShowHideSearch()
{
try{
if (filtervisible)
{
if ( webphone_api.common.isNull(lastback) || lastback.length < 2 )
{
webphone_api.$('#btn_back_settings').hide();
webphone_api.$('#app_name_settings').show();
}else
{
webphone_api.$('#btn_back_settings').html(lastback);
lastback = '';
}
filtervisible = false;
webphone_api.$("#settings_list").prev("form.ui-filterable").hide();
PopulateList();
MeasureSettingslist();
}else
{
if (webphone_api.$('#btn_back_settings').is(':visible'))
{
lastback = webphone_api.$('#btn_back_settings').html();
}
webphone_api.$('#btn_back_settings').show();
webphone_api.$('#app_name_settings').hide();
webphone_api.$('#btn_back_settings').html( '<b>&LT;</b>&nbsp;' + webphone_api.stringres.get("hide_search") );
filtervisible = true;
webphone_api.$("#settings_list").prev("form.ui-filterable").show();
PopulateList();
MeasureSettingslist();
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: ShowHideSearch", err); }
}
//returns true if username or password is set fixed in webphone_api.parameters or config.js
function IsUsernameFixed()
{
try{
var usr1 = webphone_api.parameters['username'];
var usr2 = webphone_api.parameters['sipusername'];
var usr3 = webphone_api.common.GetConfig('username');
var usr4 = webphone_api.common.GetConfig('sipusername');
if ((!webphone_api.common.isNull(usr1) && usr1.length > 0 && usr1 !== 'USERNAME' && usr1 !== 'SIPUSERNAME')
|| (!webphone_api.common.isNull(usr2) && usr2.length > 0 && usr2 !== 'USERNAME' && usr2 !== 'SIPUSERNAME')
|| (!webphone_api.common.isNull(usr3) && usr3.length > 0 && usr3 !== 'USERNAME' && usr3 !== 'SIPUSERNAME')
|| (!webphone_api.common.isNull(usr4) && usr4.length > 0 && usr4 !== 'USERNAME' && usr4 !== 'SIPUSERNAME'))
{
return true;
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: IsUsernameFixed", err); }
return false;
}
//returns true if username or password is set fixed in webphone_api.parameters or config.js
function IsPasswordFixed()
{
try{
var pwd1 = webphone_api.parameters['password'];
var pwd2 = webphone_api.common.GetConfig('password');
if ((!webphone_api.common.isNull(pwd1) && pwd1.length > 0 && pwd1 !== 'PASSWORD' && pwd1 !== 'SIPPASSWORD' && pwd1 !== 'SIPASSWORD')
|| (!webphone_api.common.isNull(pwd2) && pwd2.length > 0 && pwd2 !== 'PASSWORD' && pwd2 !== 'SIPPASSWORD' && pwd2 !== 'SIPASSWORD'))
{
return true;
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: IsPasswordFixed", err); }
return false;
}
function onStop(event)
{
try{
if(webphone_api.common.CanLog(4)) { webphone_api.common.PutToDebugLog(4, "EVENT, _settings: onStop"); }
webphone_api.global.isSettingsStarted = false;
startedfrom = '';
isSettLevelBasic = true;
eselect_called = false;
printdevice = false;
html_engineoption = '';
webphone_api.global.favafone_autologin = false;
if (filtervisible) { ShowHideSearch(); }
if(restorebasicsettings > 0)
{
restorebasicsettings = 0;
isSettLevelBasic = true;
webphone_api.common.SaveParameter('settlevelbasic', 'true');
}
} catch(err) { webphone_api.common.PutToDebugLogException(2, "_settings: onStop", err); }
}
function onDestroy (event){} // deprecated by onstop
// public members and methods
return {
onCreate: onCreate,
onStart: onStart,
onStop: onStop,
onDestroy: onDestroy,
SaveSettings: SaveSettings,
ProfilePicOnSubmit: ProfilePicOnSubmit
};
})();