Added passenger support. Partialy 1
This commit is contained in:
37
web/edit/extmodules/index.php
Normal file
37
web/edit/extmodules/index.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
use function Hestiacp\quoteshellarg\quoteshellarg;
|
||||
|
||||
ob_start();
|
||||
|
||||
session_start();
|
||||
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
|
||||
|
||||
// Check token
|
||||
verify_csrf($_GET);
|
||||
|
||||
// Check user
|
||||
if ($_SESSION["userContext"] != "admin") {
|
||||
header("Location: /list/user");
|
||||
exit();
|
||||
}
|
||||
|
||||
if (!empty($_GET["id"])) {
|
||||
$v_name = urldecode($_GET["id"]);
|
||||
$v_action = urldecode($_GET["state"]);
|
||||
if ($v_action == "enable") {
|
||||
exec(HESTIA_CMD . "v-ext-modules enable " . quoteshellarg($v_name), $output, $return_var);
|
||||
} else {
|
||||
exec(HESTIA_CMD . "v-ext-modules disable " . quoteshellarg($v_name), $output, $return_var);
|
||||
}
|
||||
}
|
||||
check_return_code($return_var, $output);
|
||||
unset($output);
|
||||
|
||||
$back = getenv("HTTP_REFERER");
|
||||
if (!empty($back)) {
|
||||
header("Location: " . $back);
|
||||
exit();
|
||||
}
|
||||
|
||||
header("Location: /list/extmodules/");
|
||||
exit();
|
||||
@@ -183,6 +183,14 @@ exec(HESTIA_CMD . "v-list-web-stats json", $output, $return_var);
|
||||
$stats = json_decode(implode("", $output), true);
|
||||
unset($output);
|
||||
|
||||
//Check if passenger enabled
|
||||
exec(HESTIA_CMD . "v-ext-modules state passenger_manager json", $output, $return_var);
|
||||
$check_passenger_enabled = json_decode(implode("", $output), true);
|
||||
if (($return_var == 0) && (!empty($check_passenger_enabled)) && ($check_passenger_enabled[0]["STATE"] == "enabled")){
|
||||
//TODO
|
||||
}
|
||||
unset($output);
|
||||
|
||||
// Check POST request
|
||||
if (!empty($_POST["save"])) {
|
||||
$v_domain = $_POST["v_domain"];
|
||||
|
||||
0
web/extm/passenger_manger/edit/index.php
Normal file
0
web/extm/passenger_manger/edit/index.php
Normal file
24
web/list/extmodules/index.php
Normal file
24
web/list/extmodules/index.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
$TAB = "EXTMODULES";
|
||||
|
||||
// Main include
|
||||
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
|
||||
|
||||
// Check user
|
||||
if ($_SESSION["userContext"] != "admin") {
|
||||
header("Location: /list/user");
|
||||
exit();
|
||||
}
|
||||
|
||||
// Data
|
||||
exec(HESTIA_CMD . "v-ext-modules list json", $output, $return_var);
|
||||
$data = json_decode(implode("", $output), true);
|
||||
ksort($data);
|
||||
|
||||
unset($output);
|
||||
|
||||
// Render page
|
||||
render_page($user, $TAB, "extmodules");
|
||||
|
||||
// Back uri
|
||||
$_SESSION["back"] = $_SERVER["REQUEST_URI"];
|
||||
@@ -3304,6 +3304,10 @@ msgstr "Квота размера памяти файловой системы"
|
||||
msgid "Firewall"
|
||||
msgstr "Файрвол"
|
||||
|
||||
#: ../../web/templates/pages/list_services.php:31
|
||||
msgid "ExtModules"
|
||||
msgstr "Доп. модули"
|
||||
|
||||
#: ../../web/templates/pages/edit_server_bind9.php:38
|
||||
#: ../../web/templates/pages/edit_server_dovecot.php:68
|
||||
#: ../../web/templates/pages/edit_server_httpd.php:37
|
||||
|
||||
100
web/templates/pages/extmodules.php
Normal file
100
web/templates/pages/extmodules.php
Normal file
@@ -0,0 +1,100 @@
|
||||
<!-- Begin toolbar -->
|
||||
<div class="toolbar">
|
||||
<div class="toolbar-inner">
|
||||
<div class="toolbar-buttons">
|
||||
<a class="button button-secondary button-back js-button-back" href="/list/server/">
|
||||
<i class="fas fa-arrow-left icon-blue"></i><?= _("Back") ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End toolbar -->
|
||||
|
||||
<div class="container">
|
||||
|
||||
<h1 class="u-text-center u-hide-desktop u-mt20 u-pr30 u-mb20 u-pl30"><?= _("List modules") ?></h1>
|
||||
|
||||
<div class="units-table js-units-container">
|
||||
<div class="units-table-header">
|
||||
<div class="units-table-cell"><?= _("Module ID") ?></div>
|
||||
<div class="units-table-cell"><?= _("Module name") ?></div>
|
||||
<div class="units-table-cell"></div>
|
||||
<div class="units-table-cell u-text-center"><?= _("Module description") ?></div>
|
||||
<div class="units-table-cell u-text-center"><?= _("Module state") ?></div>
|
||||
<div class="units-table-cell u-text-center"><?= _("Requirements") ?></div>
|
||||
</div>
|
||||
|
||||
<!-- Begin extmodules list item loop -->
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['STATE'] == 'disabled') {
|
||||
$status = 'disabled';
|
||||
$module_action = 'enable';
|
||||
$module_action_title = _('Enable module');
|
||||
$module_icon = 'fa-play';
|
||||
$module_icon_class = 'icon-green';
|
||||
$module_confirmation = _('Are you sure you want to enable module %s?') ;
|
||||
} else {
|
||||
$status = 'enabled';
|
||||
$module_action = 'disable';
|
||||
$module_action_title = _('Disable module');
|
||||
$module_icon = 'fa-stop';
|
||||
$module_icon_class = 'icon-red';
|
||||
$module_confirmation = _('Are you sure you want to disable module %s?') ;
|
||||
}
|
||||
?>
|
||||
<div class="units-table-row <?php if ($status == 'disabled') echo 'disabled'; ?> js-unit">
|
||||
<div class="units-table-cell u-text-bold">
|
||||
<span class="u-hide-desktop"><?= _("Module ID") ?>:</span>
|
||||
<?= $data[$key]["ID"] ?>
|
||||
</div>
|
||||
<div class="units-table-cell units-table-heading-cell u-text-bold">
|
||||
<span class="u-hide-desktop"><?= _("Module name") ?>:</span>
|
||||
<?php
|
||||
$iconClass = $status == "disabled" ? "fa-circle-minus" : "fa-circle-check";
|
||||
$colorClass = $status == "disabled" ? "icon-red" : "icon-green";
|
||||
?>
|
||||
<i class="fas <?= $iconClass ?> u-mr5 <?= $status ? $colorClass : "" ?>"></i> <?= $data[$key]["NAME"] ?>
|
||||
</div>
|
||||
<div class="units-table-cell">
|
||||
<ul class="units-table-row-actions">
|
||||
<li class="units-table-row-action shortcut-s" data-key-action="js">
|
||||
<a
|
||||
class="units-table-row-action-link data-controls js-confirm-action"
|
||||
href="/edit/extmodules/?id=<?= urlencode($data[$key]['NAME']) ?>&state=<?= $module_action ?>&token=<?= $_SESSION["token"] ?>"
|
||||
title="<?= $module_action_title ?>"
|
||||
data-confirm-title="<?= $module_action_title ?>"
|
||||
data-confirm-message="<?= sprintf($module_confirmation, $data[$key]['NAME']) ?>"
|
||||
>
|
||||
<i class="fas <?= $module_icon ?> <?= $module_icon_class ?>"></i>
|
||||
<span class="u-hide-desktop"><?= $module_action_title ?></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="units-table-cell">
|
||||
<span class="u-hide-desktop"><?= _("Module description") ?>:</span>
|
||||
<?= $data[$key]["DESCR"] ?>
|
||||
</div>
|
||||
<div class="units-table-cell u-text-center-desktop">
|
||||
<span class="u-hide-desktop u-text-bold"><?= _("Module state") ?>:</span>
|
||||
<?= $data[$key]["STATE"] ?>
|
||||
</div>
|
||||
<div class="units-table-cell u-text-bold u-text-center-desktop">
|
||||
<span class="u-hide-desktop"><?= _("Requirements") ?>:</span>
|
||||
<?= $data[$key]["REQ"] ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="app-footer">
|
||||
<div class="container app-footer-inner">
|
||||
<p>
|
||||
<?= _("Extended modules list") ?>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -27,6 +27,9 @@
|
||||
>
|
||||
<i class="fas fa-arrow-rotate-left icon-red"></i><?= _("Restart") ?>
|
||||
</a>
|
||||
<a href="/list/extmodules/" class="button button-secondary">
|
||||
<i class="fas fa-hashtag icon-lightblue"></i><?= _("ExtModules") ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="toolbar-right">
|
||||
<form x-data x-bind="BulkEdit" action="/bulk/service/" method="post">
|
||||
|
||||
Reference in New Issue
Block a user