add tablisting.ipsandports
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
@@ -37,39 +37,24 @@ if ($page == 'ipsandports' || $page == 'overview') {
|
||||
if ($action == '') {
|
||||
|
||||
$log->logAction(\Froxlor\FroxlorLogger::ADM_ACTION, LOG_NOTICE, "viewed admin_ipsandports");
|
||||
$fields = array(
|
||||
'ip' => $lng['admin']['ipsandports']['ip'],
|
||||
'port' => $lng['admin']['ipsandports']['port']
|
||||
);
|
||||
$ipsandports_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.ipsandports.php';
|
||||
|
||||
try {
|
||||
// get total count
|
||||
$json_result = IpsAndPorts::getLocal($userinfo)->listingCount();
|
||||
$result = json_decode($json_result, true)['data'];
|
||||
// get collection
|
||||
$collection = new \Froxlor\UI\Collection(\Froxlor\Api\Commands\IpsAndPorts::class, $userinfo);
|
||||
// initialize pagination and filtering
|
||||
$paging = new \Froxlor\UI\Pagination($userinfo, $fields, $result);
|
||||
// get list
|
||||
$json_result = IpsAndPorts::getLocal($userinfo, $paging->getApiCommandParams())->listing();
|
||||
$paging = new \Froxlor\UI\Pagination($userinfo, $ipsandports_list_data['ipsandports_list']['columns'], $collection->count());
|
||||
// get filtered collection
|
||||
$collection = new \Froxlor\UI\Collection(\Froxlor\Api\Commands\IpsAndPorts::class, $userinfo, $paging->getApiCommandParams());
|
||||
} catch (Exception $e) {
|
||||
\Froxlor\UI\Response::dynamic_error($e->getMessage());
|
||||
}
|
||||
$result = json_decode($json_result, true)['data'];
|
||||
|
||||
$ipsandports = '';
|
||||
$sortcode = $paging->getHtmlSortCode($lng);
|
||||
$arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s);
|
||||
$searchcode = $paging->getHtmlSearchCode($lng);
|
||||
$pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s);
|
||||
$count = 0;
|
||||
|
||||
foreach ($result['list'] as $row) {
|
||||
$row = \Froxlor\PhpHelper::htmlentitiesArray($row);
|
||||
if (filter_var($row['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
|
||||
$row['ip'] = '[' . $row['ip'] . ']';
|
||||
}
|
||||
eval("\$ipsandports.=\"" . \Froxlor\UI\Template::getTemplate("ipsandports/ipsandports_ipandport") . "\";");
|
||||
$count++;
|
||||
}
|
||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("ipsandports/ipsandports") . "\";");
|
||||
UI::twigBuffer('user/table.html.twig', [
|
||||
'listing' => \Froxlor\UI\Listing::format($collection, $ipsandports_list_data['ipsandports_list']),
|
||||
]);
|
||||
UI::twigOutputBuffer();
|
||||
} elseif ($action == 'delete' && $id != 0) {
|
||||
try {
|
||||
$json_result = IpsAndPorts::getLocal($userinfo, array(
|
||||
|
||||
77
lib/tablelisting/admin/tablelisting.ipsandports.php
Normal file
77
lib/tablelisting/admin/tablelisting.ipsandports.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This file is part of the Froxlor project.
|
||||
* Copyright (c) 2010 the Froxlor Team (see authors).
|
||||
*
|
||||
* For the full copyright and license information, please view the COPYING
|
||||
* file that was distributed with this source code. You can also view the
|
||||
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
|
||||
*
|
||||
* @copyright (c) the authors
|
||||
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||
* @author Maurice Preuß <hello@envoyr.com>
|
||||
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||
* @package Tabellisting
|
||||
*
|
||||
*/
|
||||
|
||||
return [
|
||||
'ipsandports_list' => [
|
||||
'title' => $lng['admin']['ipsandports']['ipsandports'],
|
||||
'icon' => 'fa-solid fa-user',
|
||||
'columns' => [
|
||||
'ip' => [
|
||||
'label' => $lng['admin']['ipsandports']['ip'],
|
||||
'column' => 'ip',
|
||||
],
|
||||
'port' => [
|
||||
'label' => $lng['admin']['ipsandports']['port'],
|
||||
'column' => 'port',
|
||||
],
|
||||
'listen' => [
|
||||
'label' => 'Listen',
|
||||
'column' => 'listen_statement',
|
||||
'format_callback' => [\Froxlor\UI\Callbacks\Text::class, 'boolean'],
|
||||
'visible' => \Froxlor\Settings::Get('system.webserver') != 'nginx'
|
||||
],
|
||||
'namevirtualhost' => [
|
||||
'label' => 'NameVirtualHost',
|
||||
'column' => 'namevirtualhost_statement',
|
||||
'format_callback' => [\Froxlor\UI\Callbacks\Text::class, 'boolean'],
|
||||
'visible' => \Froxlor\Settings::Get('system.webserver') == 'apache2' && (int) \Froxlor\Settings::Get('system.apache24') == 0
|
||||
],
|
||||
'vhostcontainer' => [
|
||||
'label' => 'vHost-Container',
|
||||
'column' => 'vhostcontainer',
|
||||
'format_callback' => [\Froxlor\UI\Callbacks\Text::class, 'boolean']
|
||||
],
|
||||
'specialsettings' => [
|
||||
'label' => 'Specialsettings',
|
||||
'column' => 'specialsettings',
|
||||
'format_callback' => [\Froxlor\UI\Callbacks\Text::class, 'boolean']
|
||||
],
|
||||
'servername' => [
|
||||
'label' => 'ServerName',
|
||||
'column' => 'vhostcontainer_servername_statement',
|
||||
'format_callback' => [\Froxlor\UI\Callbacks\Text::class, 'boolean'],
|
||||
'visible' => \Froxlor\Settings::Get('system.webserver') == 'apache2'
|
||||
],
|
||||
'ssl' => [
|
||||
'label' => 'SSL',
|
||||
'column' => 'ssl',
|
||||
'format_callback' => [\Froxlor\UI\Callbacks\Text::class, 'boolean']
|
||||
],
|
||||
],
|
||||
'visible_columns' => \Froxlor\UI\Listing::getVisibleColumnsForListing('ipsandports_list', [
|
||||
'ip',
|
||||
'port',
|
||||
'listen',
|
||||
'namevirtualhost',
|
||||
'vhostcontainer',
|
||||
'specialsettings',
|
||||
'servername',
|
||||
'ssl'
|
||||
]),
|
||||
]
|
||||
];
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
{% macro boolean(data) %}
|
||||
{% if (data) %}
|
||||
<i class="fa fa-check-circle"></i>
|
||||
<i class="fa fa-check-circle text-success"></i>
|
||||
{% else %}
|
||||
<i class="fa fa-times-circle"></i>
|
||||
<i class="fa fa-times-circle text-danger"></i>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
Reference in New Issue
Block a user