diff options
author | Ian Moore <imoore76@yahoo.com> | 2015-12-07 08:47:17 -0500 |
---|---|---|
committer | Ian Moore <imoore76@yahoo.com> | 2015-12-07 08:47:17 -0500 |
commit | e3a53018b9fb292654a30fe8a4115ed685231614 (patch) | |
tree | e1f08f80d94d0440d9df8502d9da332576ac9b00 | |
parent | 94e17f57f3f16628f140cdd5fd5ca00806ca208f (diff) | |
download | phpvirtualbox-e3a53018b9fb292654a30fe8a4115ed685231614.zip phpvirtualbox-e3a53018b9fb292654a30fe8a4115ed685231614.tar.gz phpvirtualbox-e3a53018b9fb292654a30fe8a4115ed685231614.tar.bz2 |
See CHANGELOG
-rw-r--r-- | CHANGELOG.txt | 12 | ||||
-rw-r--r-- | endpoints/jqueryFileTree.php | 17 | ||||
-rw-r--r-- | endpoints/lib/utils.php | 36 | ||||
-rw-r--r-- | endpoints/lib/vboxconnector.php | 1 | ||||
-rw-r--r-- | js/jquery.projectPlugins.js | 3 | ||||
-rw-r--r-- | js/phpvirtualbox.js | 22 | ||||
-rw-r--r-- | panes/tabVMDetails.html | 26 |
7 files changed, 72 insertions, 45 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 2257ff2..8ab6766 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,18 @@ -------------------------------------
5.0-4
-------------------------------------
+Fixed bug in file / folder browser when $browserRestrictFolders is
+set.
+https://sourceforge.net/p/phpvirtualbox/bugs/50/
+
+Fixed bug in host network interface sorting.
+https://sourceforge.net/p/phpvirtualbox/bugs/36/
+
+Fixed bug where phpVirtualBox installations on the same server may
+share session cookies in certain PHP configurations.
+
+Fixed bug where noPreview=true; was ignored in settings.
+https://sourceforge.net/p/phpvirtualbox/bugs/38/
-------------------------------------
5.0-3 2015-09-09
diff --git a/endpoints/jqueryFileTree.php b/endpoints/jqueryFileTree.php index 016a29d..7c88428 100644 --- a/endpoints/jqueryFileTree.php +++ b/endpoints/jqueryFileTree.php @@ -172,17 +172,24 @@ if($request['dir'] == DSEP && count($allowed_folders)) { */
if((strtoupper($request['dir']) != strtoupper($f)) && strpos(strtoupper($request['dir']),strtoupper($f)) === 0) {
-
// List entries in this folder
- $path = explode(DSEP,substr($request['dir'],strlen($f)));
+ $path = explode(DSEP, substr($request['dir'],strlen($f)));
- // Folder entry
- array_push($returnData, getdir($f, $request['dirsOnly'], $path));
+ if($path[0] == '') {
+ array_shift($path);
+ }
- } else {
+ $folder_entry = folder_entry($f, true);
+
+ $folder_entry['children'] = getdir($f, $request['dirsOnly'], $path);
+ $folder_entry['expanded'] = true;
+ array_push($returnData, $folder_entry);
+
+ } else {
array_push($returnData, folder_entry($f,true));
}
+
}
/* Just get full path */
diff --git a/endpoints/lib/utils.php b/endpoints/lib/utils.php index e324c55..703bdb8 100644 --- a/endpoints/lib/utils.php +++ b/endpoints/lib/utils.php @@ -1,13 +1,13 @@ <?php
/**
* Common PHP utilities.
- *
+ *
* @author Ian Moore (imoore76 at yahoo dot com)
* @copyright Copyright (C) 2010-2015 Ian Moore (imoore76 at yahoo dot com)
* @version $Id: utils.php 592 2015-04-12 19:53:44Z imoore76 $
* @see phpVBoxConfigClass
* @package phpVirtualBox
- *
+ *
*/
require_once(dirname(__FILE__).'/config.php');
@@ -19,15 +19,15 @@ require_once(dirname(__FILE__).'/config.php'); * @uses $_SESSION
*/
function session_init($keepopen = false) {
-
+
$settings = new phpVBoxConfigClass();
-
+
// Sessions provided by auth module?
if(@$settings->auth->capabilities['sessionStart']) {
call_user_func(array($settings->auth, $settings->auth->capabilities['sessionStart']), $keepopen);
return;
}
-
+
// No session support? No login...
if(@$settings->noAuth || !function_exists('session_start')) {
global $_SESSION;
@@ -37,29 +37,29 @@ function session_init($keepopen = false) { return;
}
- // start session
- session_start();
-
- // Session is auto-started by PHP?
+ // Session not is auto-started by PHP
if(!ini_get('session.auto_start')) {
-
+
ini_set('session.use_trans_sid', 0);
ini_set('session.use_only_cookies', 1);
-
+
// Session path
if(isset($settings->sessionSavePath)) {
session_save_path($settings->sessionSavePath);
}
-
- session_name((isset($settings->session_name) ? $settings->session_name : md5('phpvbx'.$_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_USER_AGENT'])));
+
+ if(isset($settings->session_name)) {
+ $session_name = $settings->session_name;
+ } else {
+ $session_name = md5($_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_USER_AGENT'].dirname(__FILE__));
+ }
+ session_name($session_name);
session_start();
}
-
-
+
if(!$keepopen)
session_write_close();
-
-
+
}
@@ -69,7 +69,7 @@ function session_init($keepopen = false) { * @return array
*/
function clean_request() {
-
+
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$json = json_decode(file_get_contents('php://input'), true);
if(!is_array($json))
diff --git a/endpoints/lib/vboxconnector.php b/endpoints/lib/vboxconnector.php index c1d6cd7..d33825c 100644 --- a/endpoints/lib/vboxconnector.php +++ b/endpoints/lib/vboxconnector.php @@ -4234,6 +4234,7 @@ class vboxconnector { 'audioDriver' => (string)$m->audioAdapter->audioDriver, ), 'RTCUseUTC' => $m->RTCUseUTC, + 'EffectiveParavirtProvider' => (string)$m->getEffectiveParavirtProvider(), 'HWVirtExProperties' => array( 'Enabled' => $m->getHWVirtExProperty('Enabled'), 'NestedPaging' => $m->getHWVirtExProperty('NestedPaging'), diff --git a/js/jquery.projectPlugins.js b/js/jquery.projectPlugins.js index 702d14f..fa8bd85 100644 --- a/js/jquery.projectPlugins.js +++ b/js/jquery.projectPlugins.js @@ -550,8 +550,7 @@ if(jQuery) (function($){ data.sort(function(a,b){ if(a.type == b.type) return strnatcasecmp(a.path, b.path); - - return a.type == 'folder' ? 1 : -1 + return a.type == 'folder' ? -1 : 1 }); var elms = []; diff --git a/js/phpvirtualbox.js b/js/phpvirtualbox.js index f6f818a..19fd02e 100644 --- a/js/phpvirtualbox.js +++ b/js/phpvirtualbox.js @@ -1,7 +1,6 @@ /** * @fileOverview Common classes and objects used * @author Ian Moore (imoore76 at yahoo dot com) - * @version $Id: phpvirtualbox.js 599 2015-07-27 10:40:37Z imoore76 $ * @copyright Copyright (C) 2010-2015 Ian Moore (imoore76 at yahoo dot com) */ @@ -166,7 +165,9 @@ var vboxHostDetailsSections = { var netRows = []; - d['networkInterfaces'].sort(strnatcasecmp); + d['networkInterfaces'].sort(function(a,b){ + return strnatcasecmp(a.name, b.name); + }); for(var i = 0; i < d['networkInterfaces'].length; i++) { @@ -338,7 +339,9 @@ var vboxVMDetailsSections = { if(d['HWVirtExProperties'].Enabled) acList[acList.length] = trans('VT-x/AMD-V'); if(d['HWVirtExProperties'].NestedPaging) acList[acList.length] = trans('Nested Paging'); if(d['CpuProperties']['PAE']) acList[acList.length] = trans('PAE/NX'); - + if(d['EffectiveParavirtProvider'] != 'None') + acList[acList.length] = trans(d['EffectiveParavirtProvider'] + ' Paravirtualization'); + if($('#vboxPane').data('vboxConfig').enableAdvancedConfig) { if(d['HWVirtExProperties'].LargePages) acList[acList.length] = trans('Large Pages'); if(d['HWVirtExProperties'].UnrestrictedExecution) acList[acList.length] = trans('VT-x unrestricted execution'); @@ -3139,8 +3142,8 @@ function vboxWizard() { function vboxToolbar(options) { var self = this; - this.buttons = options.buttons ? options.buttons : []; - this.size = options.size ? options.size : 22; + this.buttons = options.buttons || []; + this.size = options.size || 22; this.addHeight = 24; this.lastItem = null; this.buttonStyle = options.buttonStyle; @@ -3394,10 +3397,11 @@ function vboxToolbar(options) { */ function vboxToolbarSingle(options) { + var self = this; this.parentClass = vboxToolbarSmall; - options.buttons = [options.button] - renderTo = options.renderTo - options.renderTo = undefined + options.buttons = [options.button]; + renderTo = options.renderTo; + options.renderTo = undefined; this.parentClass(options); this._buttonElement = this.buttonElement; /* copy orig */ @@ -3743,7 +3747,7 @@ function vboxButtonMediaMenu(type,callback,mediumPath) { * @return {Object} jQuery object containing button element */ this.getButtonElm = function () { - return this._buttonElement; + return self._buttonElement; }; /** diff --git a/panes/tabVMDetails.html b/panes/tabVMDetails.html index 17876e6..23df5c6 100644 --- a/panes/tabVMDetails.html +++ b/panes/tabVMDetails.html @@ -530,20 +530,24 @@ function __vboxDisplayDetailsData(data, multiSelect, targetDiv, skipTable) { // Multi-select details table sections
////////////////////////////////////////
if(!skipTable) {
-
+
var tbl = $('<table />').attr({'id':'vboxDetailsGeneralTable-'+data.id,'class':'vboxInvisible vboxVMDetailsBox-vm-'+data.id,'style':'width: 100%;'}).append(
- $('<tr />').attr({'style':'vertical-align: top'}).append(
-
- $('<td />').css({'width':'100%'})
- .append(__vboxCreateDetailsSection(data,'general'))
- .append(__vboxCreateDetailsSection(data,'system'))
+ $('<tr />').attr({'style':'vertical-align: top'})
- ).append(
-
- $('<td />')
- .append(__vboxCreateDetailsSection(data,'preview'))
- )
+ .append(
+
+ $('<td />').css({'width':'100%'})
+ .append(__vboxCreateDetailsSection(data,'general'))
+ .append(__vboxCreateDetailsSection(data,'system'))
+
+ ).append(
+
+ vboxVMDetailsSections['preview'].condition() ?
+ $('<td />')
+ .append(__vboxCreateDetailsSection(data,'preview')) :
+ null
+ )
).data({'vmid':data.id});
|