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