summaryrefslogtreecommitdiffstats
path: root/endpoints/lib/config.php
diff options
context:
space:
mode:
authorTudor Holton <tudor@tudorholton.com>2018-07-13 17:44:24 +1000
committerTudor Holton <tudor@tudorholton.com>2018-07-13 17:44:24 +1000
commit81e287733d904e8f8fce1c91e42cf2933007c9cc (patch)
tree01146078eecd1a0fc610ae225192debed7925999 /endpoints/lib/config.php
parentf3e62d8bce52f392b4faed4792e6e112d1777757 (diff)
parent3c61d5eae51e27082945f629d0076edf0c309f96 (diff)
downloadphpvirtualbox-81e287733d904e8f8fce1c91e42cf2933007c9cc.zip
phpvirtualbox-81e287733d904e8f8fce1c91e42cf2933007c9cc.tar.gz
phpvirtualbox-81e287733d904e8f8fce1c91e42cf2933007c9cc.tar.bz2
Ready for release 5.2-1
Diffstat (limited to 'endpoints/lib/config.php')
-rw-r--r--endpoints/lib/config.php538
1 files changed, 269 insertions, 269 deletions
diff --git a/endpoints/lib/config.php b/endpoints/lib/config.php
index 287bc89..5176416 100644
--- a/endpoints/lib/config.php
+++ b/endpoints/lib/config.php
@@ -1,269 +1,269 @@
-<?php
-/**
- * phpVirtualBox configuration class. Parses user configuration, applies
- * defaults, and sanitizes user values.
- *
- * @author Ian Moore (imoore76 at yahoo dot com)
- * @copyright Copyright (C) 2010-2015 Ian Moore (imoore76 at yahoo dot com)
- * @version $Id: config.php 595 2015-04-17 09:50:36Z imoore76 $
- * @package phpVirtualBox
- * @see config.php-example
- *
-*/
-
-/*
- * This version of phpVirtualBox
- */
-define('PHPVBOX_VER', '5.2-0');
-
-class phpVBoxConfigClass {
-
- /* DEFAULTS */
-
- /**
- * Default language
- * @var string
- */
- var $language = 'en';
-
- /**
- * Exclusively use phpVirtualBox groups rather than
- * VirtualBox groups
- */
- var $phpVboxGroups = false;
-
- /**
- * Preview screen width
- * @var integer
- */
- var $previewWidth = 180;
-
- /**
- * Aspect ratio of preview screen
- * @var float
- */
- var $previewAspectRatio = 1.6;
-
- /**
- * Allow users to delete media when it is removed
- * @var boolean
- */
- var $deleteOnRemove = true;
-
- /**
- * Restrict file / folder browsers to files ending in extensions found in this array
- * @var array
- */
- var $browserRestrictFiles = array('.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd');
-
- /**
- * Force file / folder browser to use local PHP functions rather than VirtualBox's IVFSExplorer.
- * If this is set to true, the assumption is made that the web server is on the same host as VirtualBox.
- * @var boolean
- */
- var $browserLocal = false;
-
- /**
- * List of console resolutions available on console tab
- * @var array
- */
- var $consoleResolutions = array('640x480','800x600','1024x768','1280x720','1440x900');
-
- /**
- * Maximum number of NICs displayed per VM
- * @var integer
- */
- var $nicMax = 4;
-
- /**
- * Max number of operations to keep in progress list
- * @var integer
- */
- var $maxProgressList = 5;
-
- /**
- * Enable custom icon per VM
- * @var boolean
- */
- var $enableCustomIcons = false;
-
- /**
- * true if there is no user supplied config.php found.
- * @var boolean
- */
- var $warnDefault = false;
-
- /**
- * Set the standard VRDE port number range to be used when
- * creating new VMs
- * @var string
- */
- var $vrdeports = '9000-9100';
-
- /**
- * Key used to uniquely identify the current server in this
- * instantiation of phpVBoxConfigClass.
- * Set in __construct()
- * @var string
- */
- var $key = null;
-
- /**
- * Auth library object instance. See lib/auth for classes.
- * Set in __construct() based on authLib config setting value.
- * @var phpvbAuth
- */
- var $auth = null;
-
- /**
- * Enable VirtualBox start / stop configuration.
- * Only available in Linux (I beleive)
- * @var boolean
- */
- var $vboxAutostartConfig = false;
-
- /**
- * Authentication capabilities provided by authentication module.
- * Set in __construct
- * @var phpvbAuthBuiltin::authCapabilities
- */
- var $authCapabilities = null;
-
- /**
- * Configuration passed to authentication module
- * @var array
- */
- var $authConfig = array();
-
- /**
- * Event listener timeout in seconds.
- * @var integer
- */
- var $eventListenerTimeout = 20;
-
- /**
- * Read user configuration, apply defaults, and do some sanity checking
- * @see vboxconnector
- */
- function __construct() {
-
- @include_once(dirname(dirname(dirname(__FILE__))).'/config.php');
-
- $ep = error_reporting(0);
-
- /* Apply object vars of configuration class to this class */
- if(class_exists('phpVBoxConfig')) {
- $c = new phpVBoxConfig();
- foreach(get_object_vars($c) as $k => $v) {
- // Safety checks
- if($k == 'browserRestrictFiles' && !is_array($v)) continue;
- if($k == 'consoleResolutions' && !is_array($v)) continue;
- if($k == 'browserRestrictFolders' && !is_array($v)) continue;
- $this->$k = $v;
- }
-
- /* User config.php does not exist. Send warning */
- } else {
- $this->warnDefault = true;
- }
-
- // Ignore any server settings if we have servers
- // in the servers array
- if(isset($this->servers) && is_array($this->servers) && count($this->servers) && is_array($this->servers[0])) {
- unset($this->location);
- unset($this->user);
- unset($this->pass);
- }
- // Set to selected server based on browser cookie
- if(isset($_COOKIE['vboxServer']) && isset($this->servers) && is_array($this->servers) && count($this->servers)) {
- foreach($this->servers as $s) {
- if($s['name'] == $_COOKIE['vboxServer']) {
- foreach($s as $k=>$v) $this->$k = $v;
- break;
- }
- }
- // If servers is not an array, set to empty array
- } elseif(!isset($this->servers) || !is_array($this->servers)) {
- $this->servers = array();
- }
- // We still have no server set, use the first one from
- // the servers array
- if(empty($this->location) && count($this->servers)) {
- foreach($this->servers[0] as $k=>$v) $this->$k = $v;
- }
- // Make sure name is set
- if(!isset($this->name) || !$this->name) {
- $this->name = parse_url($this->location);
- $this->name = $this->name['host'];
- }
-
- // Key used to uniquely identify this server in this
- // phpvirtualbox installation
- $this->setKey();
-
- // legacy rdpHost setting
- if(!empty($this->rdpHost) && empty($this->consoleHost))
- $this->consoleHost = $this->rdpHost;
-
- // Ensure authlib is set
- if(empty($this->authLib)) $this->authLib = 'Builtin';
- // include interface
- include_once(dirname(__FILE__).'/authinterface.php');
- include_once(dirname(__FILE__).'/auth/'.str_replace(array('.','/','\\'),'',$this->authLib).'.php');
-
- // Check for session functionality
- if(!function_exists('session_start')) $this->noAuth = true;
-
- $alib = "phpvbAuth{$this->authLib}";
- $this->auth = new $alib(@$this->authConfig);
- $this->authCapabilities = $this->auth->capabilities;
-
- /* Sanity checks */
- if(!@$this->nicMax)
- $this->nicMax = 4;
-
- $this->previewUpdateInterval = max(3, @$this->previewUpdateInterval);
-
- error_reporting($ep);
- }
-
- /**
- * Set VirtualBox server to use
- * @param string $server server from config.php $servers array
- */
- function setServer($server) {
- // do nothing if we are already using this server
- if($server == $this->name) return;
- foreach($this->servers as $s) {
- if($s['name'] == $server) {
- foreach($s as $k=>$v) $this->$k = $v;
- $this->setKey();
- break;
- }
- }
- }
-
- /**
- * Generate a key for current server settings and populate $this->key
- */
- function setKey() {
- $this->key = md5($this->location);
- }
-
- /**
- * Return the name of the server marked as the authentication master
- * @return string name of server marked as authMaster
- */
- function getServerAuthMaster() {
- foreach($this->servers as $s) {
- if($s['authMaster']) {
- return $s['name'];
- }
- }
- return @$this->servers[0]['name'];
- }
-
-}
-
-
-
+<?php
+/**
+ * phpVirtualBox configuration class. Parses user configuration, applies
+ * defaults, and sanitizes user values.
+ *
+ * @author Ian Moore (imoore76 at yahoo dot com)
+ * @copyright Copyright (C) 2010-2015 Ian Moore (imoore76 at yahoo dot com)
+ * @version $Id: config.php 595 2015-04-17 09:50:36Z imoore76 $
+ * @package phpVirtualBox
+ * @see config.php-example
+ *
+*/
+
+/*
+ * This version of phpVirtualBox
+ */
+define('PHPVBOX_VER', '5.2-0');
+
+class phpVBoxConfigClass {
+
+ /* DEFAULTS */
+
+ /**
+ * Default language
+ * @var string
+ */
+ var $language = 'en';
+
+ /**
+ * Exclusively use phpVirtualBox groups rather than
+ * VirtualBox groups
+ */
+ var $phpVboxGroups = false;
+
+ /**
+ * Preview screen width
+ * @var integer
+ */
+ var $previewWidth = 180;
+
+ /**
+ * Aspect ratio of preview screen
+ * @var float
+ */
+ var $previewAspectRatio = 1.6;
+
+ /**
+ * Allow users to delete media when it is removed
+ * @var boolean
+ */
+ var $deleteOnRemove = true;
+
+ /**
+ * Restrict file / folder browsers to files ending in extensions found in this array
+ * @var array
+ */
+ var $browserRestrictFiles = array('.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd');
+
+ /**
+ * Force file / folder browser to use local PHP functions rather than VirtualBox's IVFSExplorer.
+ * If this is set to true, the assumption is made that the web server is on the same host as VirtualBox.
+ * @var boolean
+ */
+ var $browserLocal = false;
+
+ /**
+ * List of console resolutions available on console tab
+ * @var array
+ */
+ var $consoleResolutions = array('640x480','800x600','1024x768','1280x720','1440x900');
+
+ /**
+ * Maximum number of NICs displayed per VM
+ * @var integer
+ */
+ var $nicMax = 4;
+
+ /**
+ * Max number of operations to keep in progress list
+ * @var integer
+ */
+ var $maxProgressList = 5;
+
+ /**
+ * Enable custom icon per VM
+ * @var boolean
+ */
+ var $enableCustomIcons = false;
+
+ /**
+ * true if there is no user supplied config.php found.
+ * @var boolean
+ */
+ var $warnDefault = false;
+
+ /**
+ * Set the standard VRDE port number range to be used when
+ * creating new VMs
+ * @var string
+ */
+ var $vrdeports = '9000-9100';
+
+ /**
+ * Key used to uniquely identify the current server in this
+ * instantiation of phpVBoxConfigClass.
+ * Set in __construct()
+ * @var string
+ */
+ var $key = null;
+
+ /**
+ * Auth library object instance. See lib/auth for classes.
+ * Set in __construct() based on authLib config setting value.
+ * @var phpvbAuth
+ */
+ var $auth = null;
+
+ /**
+ * Enable VirtualBox start / stop configuration.
+ * Only available in Linux (I beleive)
+ * @var boolean
+ */
+ var $vboxAutostartConfig = false;
+
+ /**
+ * Authentication capabilities provided by authentication module.
+ * Set in __construct
+ * @var phpvbAuthBuiltin::authCapabilities
+ */
+ var $authCapabilities = null;
+
+ /**
+ * Configuration passed to authentication module
+ * @var array
+ */
+ var $authConfig = array();
+
+ /**
+ * Event listener timeout in seconds.
+ * @var integer
+ */
+ var $eventListenerTimeout = 20;
+
+ /**
+ * Read user configuration, apply defaults, and do some sanity checking
+ * @see vboxconnector
+ */
+ function __construct() {
+
+ @include_once(dirname(dirname(dirname(__FILE__))).'/config.php');
+
+ $ep = error_reporting(0);
+
+ /* Apply object vars of configuration class to this class */
+ if(class_exists('phpVBoxConfig')) {
+ $c = new phpVBoxConfig();
+ foreach(get_object_vars($c) as $k => $v) {
+ // Safety checks
+ if($k == 'browserRestrictFiles' && !is_array($v)) continue;
+ if($k == 'consoleResolutions' && !is_array($v)) continue;
+ if($k == 'browserRestrictFolders' && !is_array($v)) continue;
+ $this->$k = $v;
+ }
+
+ /* User config.php does not exist. Send warning */
+ } else {
+ $this->warnDefault = true;
+ }
+
+ // Ignore any server settings if we have servers
+ // in the servers array
+ if(isset($this->servers) && is_array($this->servers) && count($this->servers) && is_array($this->servers[0])) {
+ unset($this->location);
+ unset($this->user);
+ unset($this->pass);
+ }
+ // Set to selected server based on browser cookie
+ if(isset($_COOKIE['vboxServer']) && isset($this->servers) && is_array($this->servers) && count($this->servers)) {
+ foreach($this->servers as $s) {
+ if($s['name'] == $_COOKIE['vboxServer']) {
+ foreach($s as $k=>$v) $this->$k = $v;
+ break;
+ }
+ }
+ // If servers is not an array, set to empty array
+ } elseif(!isset($this->servers) || !is_array($this->servers)) {
+ $this->servers = array();
+ }
+ // We still have no server set, use the first one from
+ // the servers array
+ if(empty($this->location) && count($this->servers)) {
+ foreach($this->servers[0] as $k=>$v) $this->$k = $v;
+ }
+ // Make sure name is set
+ if(!isset($this->name) || !$this->name) {
+ $this->name = parse_url($this->location);
+ $this->name = $this->name['host'];
+ }
+
+ // Key used to uniquely identify this server in this
+ // phpvirtualbox installation
+ $this->setKey();
+
+ // legacy rdpHost setting
+ if(!empty($this->rdpHost) && empty($this->consoleHost))
+ $this->consoleHost = $this->rdpHost;
+
+ // Ensure authlib is set
+ if(empty($this->authLib)) $this->authLib = 'Builtin';
+ // include interface
+ include_once(dirname(__FILE__).'/authinterface.php');
+ include_once(dirname(__FILE__).'/auth/'.str_replace(array('.','/','\\'),'',$this->authLib).'.php');
+
+ // Check for session functionality
+ if(!function_exists('session_start')) $this->noAuth = true;
+
+ $alib = "phpvbAuth{$this->authLib}";
+ $this->auth = new $alib(@$this->authConfig);
+ $this->authCapabilities = $this->auth->capabilities;
+
+ /* Sanity checks */
+ if(!@$this->nicMax)
+ $this->nicMax = 4;
+
+ $this->previewUpdateInterval = max(3, @$this->previewUpdateInterval);
+
+ error_reporting($ep);
+ }
+
+ /**
+ * Set VirtualBox server to use
+ * @param string $server server from config.php $servers array
+ */
+ function setServer($server) {
+ // do nothing if we are already using this server
+ if($server == $this->name) return;
+ foreach($this->servers as $s) {
+ if($s['name'] == $server) {
+ foreach($s as $k=>$v) $this->$k = $v;
+ $this->setKey();
+ break;
+ }
+ }
+ }
+
+ /**
+ * Generate a key for current server settings and populate $this->key
+ */
+ function setKey() {
+ $this->key = md5($this->location);
+ }
+
+ /**
+ * Return the name of the server marked as the authentication master
+ * @return string name of server marked as authMaster
+ */
+ function getServerAuthMaster() {
+ foreach($this->servers as $s) {
+ if($s['authMaster']) {
+ return $s['name'];
+ }
+ }
+ return @$this->servers[0]['name'];
+ }
+
+}
+
+
+