initial commit of file from CVS for smeserver-phpvirtualbox on Sat Sep 7 20:54:21 AEST 2024

This commit is contained in:
Trevor Batley
2024-09-07 20:54:21 +10:00
parent 8a9fe01cda
commit a8d97be1bd
26 changed files with 1202 additions and 2 deletions

View File

@@ -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";
}

View File

@@ -0,0 +1 @@
/etc/e-smith/templates-default/template-begin-php