mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-30 00:23:21 +00:00 
			
		
		
		
	Ticket #270: Parse history in GuacamoleService.Connections.list().
This commit is contained in:
		| @@ -46,6 +46,58 @@ GuacamoleService.Connection = function(protocol, id) { | ||||
|      */ | ||||
|     this.parameters = {}; | ||||
|  | ||||
|     /** | ||||
|      * An array of GuacamoleService.Connection.Record listing the usage | ||||
|      * history of this connection. | ||||
|      */ | ||||
|     this.history = []; | ||||
|  | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Creates a new GuacamoleService.Connection.Record describing a single | ||||
|  * session for the given username and having the given start/end times. | ||||
|  *  | ||||
|  * @constructor | ||||
|  * @param {String} username The username of the user who used the connection. | ||||
|  * @param {Number} start The time that the connection began (in UNIX epoch | ||||
|  *                       milliseconds). | ||||
|  * @param {Number} end The time that the connection ended (in UNIX epoch | ||||
|  *                     milliseconds). This parameter is optional. | ||||
|  */ | ||||
| GuacamoleService.Connection.Record = function(username, start, end) { | ||||
|      | ||||
|     /** | ||||
|      * The username of the user associated with this record. | ||||
|      * @type String | ||||
|      */ | ||||
|     this.username = username; | ||||
|      | ||||
|     /** | ||||
|      * The time the corresponding connection began. | ||||
|      * @type Date | ||||
|      */ | ||||
|     this.start = new Date(start); | ||||
|  | ||||
|     /** | ||||
|      * The time the corresponding connection terminated (if any). | ||||
|      * @type Date | ||||
|      */ | ||||
|     this.end = null; | ||||
|  | ||||
|     /** | ||||
|      * The duration of this connection, in seconds. This value is only | ||||
|      * defined if the end time is available. | ||||
|      * @type Number | ||||
|      */ | ||||
|     this.duration = null; | ||||
|  | ||||
|     // If end time given, intialize end time | ||||
|     if (end) { | ||||
|         this.end = new Date(end); | ||||
|         this.duration = (end - start) / 1000; | ||||
|     } | ||||
|      | ||||
| }; | ||||
|  | ||||
| /** | ||||
| @@ -151,9 +203,11 @@ GuacamoleService.Connections = { | ||||
|                 connectionElement.getAttribute("id") | ||||
|             ) | ||||
|  | ||||
|             var j; | ||||
|  | ||||
|             // Add parameter values for each pameter received | ||||
|             var paramElements = connectionElement.getElementsByTagName("param"); | ||||
|             for (var j=0; j<paramElements.length; j++) { | ||||
|             for (j=0; j<paramElements.length; j++) { | ||||
|  | ||||
|                 var paramElement = paramElements[j]; | ||||
|                 var name = paramElement.getAttribute("name"); | ||||
| @@ -162,6 +216,30 @@ GuacamoleService.Connections = { | ||||
|  | ||||
|             } | ||||
|  | ||||
|             // Parse history, if available | ||||
|             var historyElements = connectionElement.getElementsByTagName("history"); | ||||
|             if (historyElements.length == 1) { | ||||
|  | ||||
|                 // For each record in history | ||||
|                 var history = historyElements[0]; | ||||
|                 var recordElements = history.getElementsByTagName("record"); | ||||
|                 for (j=0; j<recordElements.length; j++) { | ||||
|  | ||||
|                     // Get record | ||||
|                     var recordElement = recordElements[j]; | ||||
|                     var record = new GuacamoleService.Connection.Record( | ||||
|                         recordElement.textContent, | ||||
|                         parseInt(recordElement.getAttribute("start")), | ||||
|                         parseInt(recordElement.getAttribute("end")) | ||||
|                     ); | ||||
|  | ||||
|                     // Append to connection history | ||||
|                     connection.history.push(record); | ||||
|  | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|  | ||||
|             // Add connection | ||||
|             connections.push(connection); | ||||
|              | ||||
|   | ||||
		Reference in New Issue
	
	Block a user