Vhost templates: Added a field to select the target webserver
This commit is contained in:
@@ -1012,7 +1012,8 @@ if ($page == 'domains'
|
||||
|
||||
// vhost configs
|
||||
$vhostconfigs = '';
|
||||
$configsvhost = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
||||
$configsvhost = Database::prepare("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `webserver` = :webserver ORDER BY description ASC");
|
||||
Database::pexecute($configsvhost, array('webserver' => Settings::Get('system.webserver')));
|
||||
|
||||
$vhostconfigs.= makeoption($lng['admin']['vhostsettings']['novhostsettings'], 0);
|
||||
while ($row = $configsvhost->fetch(PDO::FETCH_ASSOC)) {
|
||||
@@ -1997,7 +1998,9 @@ if ($page == 'domains'
|
||||
|
||||
// vhost configs
|
||||
$vhostconfigs = '';
|
||||
$vhostconfigs_result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
||||
$vhostconfigs_result_stmt = Database::prepare("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `webserver` = :webserver ORDER BY description ASC");
|
||||
Database::pexecute($vhostconfigs_result_stmt, array('webserver' => Settings::Get('system.webserver')));
|
||||
|
||||
$vhostconfigs .= makeoption($lng['admin']['vhostsettings']['novhostsettings'], 0);
|
||||
while ($vhostconfig_row = $vhostconfigs_result_stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$vhostconfigs .= makeoption($vhostconfig_row['description'], $vhostconfig_row['id'], $result['vhostsettingid'], true, true);
|
||||
|
||||
@@ -28,17 +28,17 @@ if (isset($_POST['id'])) {
|
||||
}
|
||||
|
||||
if ($page == 'overview') {
|
||||
$supported_webservers = [ 'apache2' => 'Apache 2', 'lighttpd' => 'ligHTTPd', 'nginx' => 'Nginx' ];
|
||||
|
||||
if ($action == '') {
|
||||
$tablecontent = '';
|
||||
$count = 0;
|
||||
$result = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
||||
|
||||
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
|
||||
|
||||
$domainresult = false;
|
||||
$query_params = array('id' => $row['id']);
|
||||
|
||||
$query = "SELECT * FROM `".TABLE_PANEL_DOMAINS."`
|
||||
$query = "SELECT * FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||
WHERE `vhostsettingid` = :id
|
||||
AND `parentdomainid` = '0'";
|
||||
|
||||
@@ -76,90 +76,72 @@ if ($page == 'overview') {
|
||||
$domains = $lng['admin']['phpsettings']['notused'];
|
||||
}
|
||||
|
||||
// check whether this is our default config
|
||||
if ((Settings::Get('system.mod_fcgid') == '1'
|
||||
&& Settings::Get('system.mod_fcgid_defaultini') == $row['id'])
|
||||
|| (Settings::Get('phpfpm.enabled') == '1'
|
||||
&& Settings::Get('phpfpm.defaultini') == $row['id'])
|
||||
) {
|
||||
$row['description'] = '<b>'.$row['description'].'</b>';
|
||||
}
|
||||
$webserver = str_replace(array_keys($supported_webservers), array_values($supported_webservers), $row['webserver']);
|
||||
|
||||
$count++;
|
||||
eval("\$tablecontent.=\"" . getTemplate("vhostconfig/overview_overview") . "\";");
|
||||
}
|
||||
|
||||
eval("echo \"" . getTemplate("vhostconfig/overview") . "\";");
|
||||
}
|
||||
|
||||
if ($action == 'add') {
|
||||
} else if ($action == 'add') {
|
||||
|
||||
if ((int)$userinfo['change_serversettings'] == 1) {
|
||||
|
||||
if (isset($_POST['send'])
|
||||
&& $_POST['send'] == 'send'
|
||||
) {
|
||||
$description = validate($_POST['description'], 'description');
|
||||
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
||||
|
||||
if (strlen($description) == 0
|
||||
|| strlen($description) > 50
|
||||
) {
|
||||
standard_error('descriptioninvalid');
|
||||
}
|
||||
|
||||
$ins_stmt = Database::prepare("
|
||||
INSERT INTO `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
||||
`description` = :desc,
|
||||
`vhostsettings` = :vhostsettings"
|
||||
);
|
||||
$ins_data = array(
|
||||
'desc' => $description,
|
||||
'vhostsettings' => $vhostsettings
|
||||
);
|
||||
Database::pexecute($ins_stmt, $ins_data);
|
||||
|
||||
inserttask('1');
|
||||
$log->logAction(ADM_ACTION, LOG_INFO, "vhost config setting with description '" . $description . "' has been created by '" . $userinfo['loginname'] . "'");
|
||||
redirectTo($filename, array('page' => $page, 's' => $s));
|
||||
|
||||
} else {
|
||||
|
||||
$result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = 1");
|
||||
$result = $result_stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
$vhostconfig_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_add.php';
|
||||
$vhostconfig_add_form = htmlform::genHTMLForm($vhostconfig_add_data);
|
||||
|
||||
$title = $vhostconfig_add_data['vhostconfig_add']['title'];
|
||||
$image = $vhostconfig_add_data['vhostconfig_add']['image'];
|
||||
|
||||
eval("echo \"" . getTemplate("vhostconfig/overview_add") . "\";");
|
||||
}
|
||||
|
||||
} else {
|
||||
if ((int)$userinfo['change_serversettings'] != 1) {
|
||||
standard_error('nopermissionsorinvalidid');
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'delete') {
|
||||
if (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||
$description = validate($_POST['description'], 'description');
|
||||
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
||||
$webserver = validate($_POST['webserver'], 'webserver', '/^(' . implode("|", array_keys($supported_webservers)) . ')$/');
|
||||
|
||||
if (strlen($description) == 0 || strlen($description) > 50) {
|
||||
standard_error('descriptioninvalid');
|
||||
}
|
||||
|
||||
$ins_stmt = Database::prepare("
|
||||
INSERT INTO `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
||||
`description` = :description,
|
||||
`vhostsettings` = :vhostsettings,
|
||||
`webserver` = :webserver
|
||||
");
|
||||
$ins_data = array('description' => $description, 'vhostsettings' => $vhostsettings, 'webserver' => $webserver);
|
||||
Database::pexecute($ins_stmt, $ins_data);
|
||||
|
||||
inserttask('1');
|
||||
$log->logAction(ADM_ACTION, LOG_INFO, "vhost config setting with description '" . $description . "' has been created by '" . $userinfo['loginname'] . "'");
|
||||
redirectTo($filename, array('page' => $page, 's' => $s));
|
||||
|
||||
} else {
|
||||
$webserver_options = '';
|
||||
while (list($webserver, $webserver_friendlyName) = each($supported_webservers)) {
|
||||
$webserver_options .= makeoption($webserver_friendlyName, $webserver, Settings::Get('system.webserver'), true);
|
||||
}
|
||||
|
||||
$vhostconfig_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_add.php';
|
||||
$vhostconfig_add_form = htmlform::genHTMLForm($vhostconfig_add_data);
|
||||
|
||||
$title = $vhostconfig_add_data['vhostconfig_add']['title'];
|
||||
$image = $vhostconfig_add_data['vhostconfig_add']['image'];
|
||||
|
||||
eval("echo \"" . getTemplate("vhostconfig/overview_add") . "\";");
|
||||
}
|
||||
} else if ($action == 'delete') {
|
||||
|
||||
$result_stmt = Database::prepare("
|
||||
SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
||||
);
|
||||
$result = Database::pexecute_first($result_stmt, array('id' => $id));
|
||||
|
||||
if ($result['id'] != 0
|
||||
&& $result['id'] == $id
|
||||
&& (int)$userinfo['change_serversettings'] == 1
|
||||
) {
|
||||
|
||||
if (isset($_POST['send'])
|
||||
&& $_POST['send'] == 'send'
|
||||
) {
|
||||
$del_stmt = Database::prepare("
|
||||
DELETE FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
||||
if ($result['id'] != 0 && $result['id'] == $id && (int)$userinfo['change_serversettings'] == 1) {
|
||||
if (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||
// Remove a reference to this template from all domains using it
|
||||
$upd_stmt = Database::prepare("UPDATE `" . TABLE_PANEL_DOMAINS . "` SET
|
||||
`vhostsettingid` = 0 WHERE `vhostsettingid` = :id"
|
||||
);
|
||||
Database::pexecute($upd_stmt, array('id' => $id));
|
||||
|
||||
$del_stmt = Database::prepare("DELETE FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id");
|
||||
Database::pexecute($del_stmt, array('id' => $id));
|
||||
|
||||
inserttask('1');
|
||||
@@ -172,43 +154,31 @@ if ($page == 'overview') {
|
||||
} else {
|
||||
standard_error('nopermissionsorinvalidid');
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'edit') {
|
||||
} else if ($action == 'edit') {
|
||||
|
||||
$result_stmt = Database::prepare("
|
||||
SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
||||
);
|
||||
$result = Database::pexecute_first($result_stmt, array('id' => $id));
|
||||
|
||||
if ($result['id'] != 0
|
||||
&& $result['id'] == $id
|
||||
&& (int)$userinfo['change_serversettings'] == 1
|
||||
) {
|
||||
|
||||
if (isset($_POST['send'])
|
||||
&& $_POST['send'] == 'send'
|
||||
) {
|
||||
if ($result['id'] != 0 && $result['id'] == $id && (int)$userinfo['change_serversettings'] == 1) {
|
||||
if (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||
$description = validate($_POST['description'], 'description');
|
||||
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
||||
$webserver = validate($_POST['webserver'], 'webserver', '/^(' . implode("|", array_keys($supported_webservers)) . ')$/');
|
||||
|
||||
if (strlen($description) == 0
|
||||
|| strlen($description) > 50
|
||||
) {
|
||||
if (strlen($description) == 0 || strlen($description) > 50) {
|
||||
standard_error('descriptioninvalid');
|
||||
}
|
||||
|
||||
$upd_stmt = Database::prepare("
|
||||
UPDATE `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
||||
`description` = :desc,
|
||||
`vhostsettings` = :vhostsettings
|
||||
`description` = :description,
|
||||
`vhostsettings` = :vhostsettings,
|
||||
`webserver` = :webserver
|
||||
WHERE `id` = :id"
|
||||
);
|
||||
$upd_data = array(
|
||||
'desc' => $description,
|
||||
'vhostsettings' => $vhostsettings,
|
||||
'id' => $id
|
||||
);
|
||||
$upd_data = array('description' => $description, 'vhostsettings' => $vhostsettings, 'webserver' => $webserver, 'id' => $id);
|
||||
Database::pexecute($upd_stmt, $upd_data);
|
||||
|
||||
inserttask('1');
|
||||
@@ -216,6 +186,10 @@ if ($page == 'overview') {
|
||||
redirectTo($filename, array('page' => $page, 's' => $s));
|
||||
|
||||
} else {
|
||||
$webserver_options = '';
|
||||
while (list($webserver, $webserver_friendlyName) = each($supported_webservers)) {
|
||||
$webserver_options .= makeoption($webserver_friendlyName, $webserver, $result['webserver'], true);
|
||||
}
|
||||
|
||||
$vhostconfig_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_edit.php';
|
||||
$vhostconfig_edit_form = htmlform::genHTMLForm($vhostconfig_edit_data);
|
||||
@@ -225,7 +199,6 @@ if ($page == 'overview') {
|
||||
|
||||
eval("echo \"" . getTemplate("vhostconfig/overview_edit") . "\";");
|
||||
}
|
||||
|
||||
} else {
|
||||
standard_error('nopermissionsorinvalidid');
|
||||
}
|
||||
|
||||
@@ -556,7 +556,7 @@ INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES
|
||||
('panel', 'password_numeric', '0'),
|
||||
('panel', 'password_special_char_required', '0'),
|
||||
('panel', 'password_special_char', '!?<>§$%+#=@'),
|
||||
('panel', 'version', '0.9.35-dev6');
|
||||
('panel', 'version', '0.9.35-dev7');
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `panel_tasks`;
|
||||
@@ -858,5 +858,6 @@ CREATE TABLE IF NOT EXISTS `panel_vhostconfigs` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`description` varchar(50) NOT NULL,
|
||||
`vhostsettings` text NOT NULL,
|
||||
`webserver` varchar(255) NOT NULL default '',
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
|
||||
|
||||
@@ -3124,3 +3124,15 @@ if (isFroxlorVersion('0.9.35-dev5')) {
|
||||
|
||||
updateToVersion('0.9.35-dev6');
|
||||
}
|
||||
|
||||
if (isFroxlorVersion('0.9.35-dev6')) {
|
||||
|
||||
showUpdateStep("Updating from 0.9.35-dev6 to 0.9.35-dev7", false);
|
||||
|
||||
showUpdateStep("Adding a new field to the panel_vhostconfigs table");
|
||||
$webserver = Settings::Get('system.webserver');
|
||||
Database::query("ALTER TABLE `" . TABLE_PANEL_VHOSTCONFIGS ."` ADD `webserver` VARCHAR(255) NOT NULL DEFAULT '" . $webserver . "' AFTER `vhostsettings`;");
|
||||
lastStepStatus(0);
|
||||
|
||||
updateToVersion('0.9.35-dev7');
|
||||
}
|
||||
|
||||
@@ -29,6 +29,11 @@ return array(
|
||||
'type' => 'text',
|
||||
'maxlength' => 50
|
||||
),
|
||||
'webserver' => array(
|
||||
'label' => $lng['admin']['webserver'],
|
||||
'type' => 'select',
|
||||
'select_var' => $webserver_options
|
||||
),
|
||||
'vhostsettings' => array(
|
||||
'style' => 'align-top',
|
||||
'label' => $lng['admin']['vhostsettings']['vhostsettings'],
|
||||
|
||||
@@ -30,6 +30,11 @@ return array(
|
||||
'maxlength' => 50,
|
||||
'value' => $result['description']
|
||||
),
|
||||
'webserver' => array(
|
||||
'label' => $lng['admin']['webserver'],
|
||||
'type' => 'select',
|
||||
'select_var' => $webserver_options
|
||||
),
|
||||
'vhostsettings' => array(
|
||||
'style' => 'align-top',
|
||||
'label' => $lng['admin']['vhostsettings']['vhostsettings'],
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
// Main version variable
|
||||
$version = '0.9.35-dev6';
|
||||
$version = '0.9.35-dev7';
|
||||
|
||||
// Database version (unused, old stuff from SysCP)
|
||||
$dbversion = '2';
|
||||
|
||||
@@ -19,8 +19,9 @@ $header
|
||||
<tr>
|
||||
<th>{$lng['admin']['phpsettings']['description']}</th>
|
||||
<th>{$lng['admin']['phpsettings']['activedomains']}</th>
|
||||
<th>{$lng['admin']['webserver']}</th>
|
||||
<th>{$lng['panel']['options']}</th>
|
||||
</tr>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
$tablecontent
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<tr class="top">
|
||||
<td><strong>{$row['description']}</strong></td>
|
||||
<td>{$domains}</td>
|
||||
<td>{$webserver}</td>
|
||||
<td>
|
||||
<a href="{$linker->getLink(array('section' => 'vhostsettings', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||
|
||||
Reference in New Issue
Block a user