initial commit of file from CVS for smeserver-phpvirtualbox on Sat Sep 7 20:54:21 AEST 2024
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
{
|
||||
# domain stuff
|
||||
my $baseDN = esmith::util::ldapBase($DomainName);
|
||||
my $workgroup = $smb{'Workgroup'};
|
||||
# vboxweb parameters
|
||||
my $username = (${'vboxweb-service'}{'user'} || 'vbox');
|
||||
my $password = ${'vboxweb-service'}{'password'};
|
||||
my $location = ("http://${'vboxweb-service'}{'access'}:${'vboxweb-service'}{'TCPPort'}/" || "http://127.0.0.1:18083/");
|
||||
# phpvirtualbox parameters for users
|
||||
my $adminUser = ($phpvirtualbox{'adminUser'} || 'admin');
|
||||
my $adminGroup = ($phpvirtualbox{'adminGroup'} || 'admin');
|
||||
my $userGroups = $phpvirtualbox{'userGroups'};
|
||||
# phpvirtualbox config parameters
|
||||
my $language = ($phpvirtualbox{'language'} || 'en');
|
||||
my $vrdeports = ($phpvirtualbox{'vrdeports'} || '19000-19100');
|
||||
my $maxProgressList = ($phpvirtualbox{'maxProgressList'} || 5);
|
||||
my $deleteOnRemove = ($phpvirtualbox{'deleteOnRemove'} || true);
|
||||
my $browserRestrictFiles = ($phpvirtualbox{'browserRestrictFiles'} || "'.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd'");
|
||||
my $browserRestrictFolders = ($phpvirtualbox{'browserRestrictFolders'} || "'/opt/vbox/ISOs','/opt/vbox/VMs'");
|
||||
my $hostMemInfoRefreshInterval = ($phpvirtualbox{'hostMemInfoRefreshInterval'} || 5);
|
||||
my $consoleResolutions = ($phpvirtualbox{'consoleResolutions'} || "'640x480','800x600','1024x768','1280x720','1440x900'");
|
||||
my $consoleKeyboardLayout = ($phpvirtualbox{'consoleKeyboardLayout'} || 'EN');
|
||||
my $nicMax = ($phpvirtualbox{'nicMax'} || 4);
|
||||
# working
|
||||
my @phpvboxusers = split(",", ($phpvirtualbox{'Users'} || "") );
|
||||
my @phpvboxgroups = split(",", ($phpvirtualbox{'userGroups'} || "") );
|
||||
|
||||
$OUT .=<<_PARMS;
|
||||
|
||||
class phpVBoxConfig {
|
||||
# default paramaters
|
||||
var \$username = '$username';
|
||||
var \$password = '$password';
|
||||
var \$location = '$location';
|
||||
var \$language = '$language';
|
||||
var \$vrdeports = '$vrdeports';
|
||||
var \$maxProgressList = $maxProgressList;
|
||||
var \$deleteOnRemove = $deleteOnRemove;
|
||||
var \$browserRestrictFiles = array($browserRestrictFiles);
|
||||
var \$browserRestrictFolders = array($browserRestrictFolders);
|
||||
var \$hostMemInfoRefreshInterval = $hostMemInfoRefreshInterval;
|
||||
var \$consoleResolutions = array($consoleResolutions);
|
||||
var \$consoleKeyboardLayout = '$consoleKeyboardLayout';
|
||||
var \$nicMax = $nicMax;
|
||||
|
||||
# authentication parameters
|
||||
_PARMS
|
||||
|
||||
# authentication stuff
|
||||
my $authtype = ($phpvirtualbox{'authType'} || 'WebAuth');
|
||||
if ($authtype eq 'Builtin') {
|
||||
$OUT .= "var \$authLib = 'Builtin';\n";
|
||||
} elsif ($authtype eq 'WebAuth') {
|
||||
$OUT .= "var \$authLib = 'WebAuth';\n";
|
||||
$OUT .= "var \$authConfig = array('adminUser' => '$adminUser');\n";
|
||||
} elsif ($authtype eq 'LDAP') {
|
||||
$OUT .= "var \$authLib = 'LDAP';\n";
|
||||
$OUT .= "var \$authConfig = array(\n";
|
||||
$OUT .= " 'host' => '127.0.0.1',\n";
|
||||
$OUT .= " 'bind_dn' => 'uid=%s, ou=Users, $baseDN',\n";
|
||||
$OUT .= " 'adminUser' => $adminUser);\n";
|
||||
} elsif ($authtype eq 'AD' && $workgroup ) {
|
||||
$OUT .= "var \$authLib = 'ActiveDirectory';\n";
|
||||
$OUT .= "var \$authConfig = array(\n";
|
||||
$OUT .= " 'host' => '127.0.0.1',\n";
|
||||
$OUT .= " 'domain' => '$workgroup',\n";
|
||||
$OUT .= " 'admin_group' => '$adminGroup'";
|
||||
if ($userGroups) {
|
||||
foreach my $group (@phpvboxgroups) {
|
||||
$OUT .= ",\n";
|
||||
$OUT .= " 'user_group' => '$group'";
|
||||
}
|
||||
};
|
||||
$OUT .= ");\n";
|
||||
} else {
|
||||
$OUT .= "var \$noAuth=true;\n";
|
||||
}
|
||||
|
||||
# allow inclusion of any generic parameter stored in config db for phpvirtualbox
|
||||
$OUT .= "# additional parameters defined in configuration DB\n";
|
||||
my @stdparms = qw(type status Name samba Users userGroups adminUser adminGroup authtype language vrdeports maxProgressList deleteOnRemove browserRestrictFiles browserRestrictFolders consolresolutions hostMemInfoRefreshInterval consoleKeyboardLayout nicMax);
|
||||
while (my ($param, $value) = each (%phpvirtualbox)) {
|
||||
next if ( $param ~~ @stdparms );
|
||||
$OUT .= "var \$$param = $value;\n";
|
||||
}
|
||||
|
||||
$OUT .= "}\n";
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1 @@
|
||||
/etc/e-smith/templates-default/template-begin-php
|
Reference in New Issue
Block a user