Commit a8edf9d8 authored by Joel Martin's avatar Joel Martin

Query string cleanup and move it to util.js

parent a7a89626
......@@ -126,12 +126,6 @@ load: function(target) {
};
},
// Read a query string variable
getQueryVar: function(name) {
var re = new RegExp('[?].*' + name + '=([^&#]*)');
return (document.location.href.match(re) || ['',null])[1];
},
// Read form control compatible setting from cookie
getSetting: function(name) {
var val, ctrl = $('VNC_' + name);
......@@ -188,14 +182,14 @@ saveSetting: function(name) {
// Initial page load read/initialization of settings
initSetting: function(name, defVal) {
var val, DC = DefaultControls;
var val;
// Check Query string followed by cookie
val = DC.getQueryVar(name);
val = Util.getQueryVar(name);
if (val === null) {
val = Util.readCookie(name, defVal);
}
DC.updateSetting(name, val);
DefaultControls.updateSetting(name, val);
Util.Debug("Setting '" + name + "' initialized to '" + val + "'");
return val;
},
......@@ -206,7 +200,7 @@ initSetting: function(name, defVal) {
// On close, settings are applied
clickSettingsMenu: function() {
var DC = DefaultControls;
if (DefaultControls.settingsOpen) {
if (DC.settingsOpen) {
DC.settingsApply();
DC.closeSettingsMenu();
......
......@@ -160,6 +160,14 @@ Util.dirObj = function (obj, depth, parent) {
return msg;
};
// Read a query string variable
Util.getQueryVar = function(name, defVal) {
var re = new RegExp('[?][^#]*' + name + '=([^&#]*)');
if (typeof defVal === 'undefined') { defVal = null; }
return (document.location.href.match(re) || ['',defVal])[1];
};
/*
* Cross-browser routines
*/
......@@ -264,6 +272,7 @@ Util.Flash = (function(){
/*
* Cookie handling. Dervied from: http://www.quirksmode.org/js/cookies.html
*/
// No days means only for this browser session
Util.createCookie = function(name,value,days) {
var date, expires;
......
......@@ -40,6 +40,7 @@ Connect parameters are provided in query string:
}
function sendCtrlAltDel() {
RFB.sendCtrlAltDel();
return false;
}
function updateState(state, msg) {
var s, sb, klass, html;
......@@ -81,20 +82,19 @@ Connect parameters are provided in query string:
window.onload = function () {
var host, port, password;
url = document.location.href;
host = (url.match(/host=([A-Za-z0-9.\-]*)/) || ['',''])[1];
port = (url.match(/port=([0-9]*)/) || ['',''])[1];
password = (url.match(/password=([^&#]*)/) || ['',''])[1];
host = Util.getQueryVar('host', null);
port = Util.getQueryVar('port', null);
password = Util.getQueryVar('password', '');
if ((!host) || (!port)) {
updateState('failed',
"Must specify host and port in URL");
return;
}
RFB.setEncrypt((url.match(/encrypt=([A-Za-z0-9]*)/) || ['',1])[1]);
RFB.setBase64((url.match(/base64=([A-Za-z0-9]*)/) || ['',1])[1]);
RFB.setTrueColor((url.match(/true_color=([A-Za-z0-9]*)/) || ['',1])[1]);
RFB.setCursor((url.match(/cursor=([A-Za-z0-9]*)/) || ['',true])[1]);
RFB.setEncrypt(Util.getQueryVar('encrypt', true));
RFB.setBase64(Util.getQueryVar('base64', true));
RFB.setTrueColor(Util.getQueryVar('true_color', true));
RFB.setCursor(Util.getQueryVar('cursor', true));
RFB.setUpdateState(updateState);
RFB.load();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment