diff --git a/admin_admins.php b/admin_admins.php index 5fecaf3e..63ca7081 100644 --- a/admin_admins.php +++ b/admin_admins.php @@ -41,7 +41,7 @@ use Froxlor\UI\Response; $id = (int)Request::get('id'); -if ($page == 'admins' && $userinfo['change_serversettings'] == '1') { +if (($page == 'admins' || $page == 'overview') && $userinfo['change_serversettings'] == '1') { if ($action == '') { $log->logAction(FroxlorLogger::ADM_ACTION, LOG_NOTICE, "viewed admin_admins"); diff --git a/admin_customers.php b/admin_customers.php index b3de82b5..be0f6245 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -44,7 +44,7 @@ use Froxlor\UI\Response; $id = (int)Request::get('id'); -if ($page == 'customers' && $userinfo['customers'] != '0') { +if (($page == 'customers' || $page == 'overview') && $userinfo['customers'] != '0') { if ($action == '') { $log->logAction(FroxlorLogger::ADM_ACTION, LOG_NOTICE, "viewed admin_customers"); diff --git a/dns_editor.php b/dns_editor.php index 8e891fa1..0af4abab 100644 --- a/dns_editor.php +++ b/dns_editor.php @@ -108,7 +108,7 @@ $zonefile = implode("\n", $result); $dns_add_data = include_once dirname(__FILE__) . '/lib/formfields/formfield.dns_add.php'; UI::view('user/dns-editor.html.twig', [ - 'listing' => Listing::format($collection, $dns_list_data, 'dns_list'), + 'listing' => Listing::format($collection, $dns_list_data, 'dns_list', ['domain_id' => $domain_id]), 'actions_links' => [ [ 'class' => 'btn-secondary', @@ -133,5 +133,5 @@ UI::view('user/dns-editor.html.twig', [ // alert-box 'type' => (!empty($errors) ? 'danger' : (!empty($success_message) ? 'success' : 'warning')), 'alert_msg' => (!empty($errors) ? $errors : (!empty($success_message) ? $success_message : lng('dns.howitworks'))), - 'zonefile' => $zonefile + 'zonefile' => $zonefile, ]); diff --git a/lib/Froxlor/UI/Listing.php b/lib/Froxlor/UI/Listing.php index 5f463560..d124b5aa 100644 --- a/lib/Froxlor/UI/Listing.php +++ b/lib/Froxlor/UI/Listing.php @@ -32,7 +32,7 @@ use InvalidArgumentException; class Listing { - public static function format(Collection $collection, array $tabellisting, string $id): array + public static function format(Collection $collection, array $tabellisting, string $id, array $listing_search_additional_param = []): array { $tabellisting = $tabellisting[$id]; $collection_data = $collection->get(); @@ -51,7 +51,8 @@ class Listing 'total_entries' => ($collection->getPagination() instanceof Pagination) ? $collection->getPagination()->getEntries() : 0, 'is_search' => $collection->getPagination() instanceof Pagination && $collection->getPagination()->isSearchResult(), 'self_overview' => $tabellisting['self_overview'] ?? [], - 'available_columns' => self::getAvailableColumnsForListing($tabellisting) + 'available_columns' => self::getAvailableColumnsForListing($tabellisting), + 'listing_search_additional_param' => $listing_search_additional_param ?? [], ]; } @@ -225,6 +226,7 @@ class Listing $result[$column] = [ 'label' => $coldata['label'], 'checked' => in_array($column, $tabellisting['visible_columns']), + 'searchable' => $coldata['searchable'] ?? true, ]; } } diff --git a/lib/tablelisting/admin/tablelisting.filetemplates.php b/lib/tablelisting/admin/tablelisting.filetemplates.php index 5c478191..2eaf7877 100644 --- a/lib/tablelisting/admin/tablelisting.filetemplates.php +++ b/lib/tablelisting/admin/tablelisting.filetemplates.php @@ -29,6 +29,7 @@ return [ 'filetpl_list' => [ 'title' => lng('admin.templates.filetemplates'), 'icon' => 'fa-solid fa-file-lines', + 'self_overview' => ['section' => 'templates', 'page' => 'email'], 'columns' => [ 'template' => [ 'label' => lng('admin.templates.action'), diff --git a/lib/tablelisting/admin/tablelisting.fpmconfigs.php b/lib/tablelisting/admin/tablelisting.fpmconfigs.php index dd19f0e3..ce3267e8 100644 --- a/lib/tablelisting/admin/tablelisting.fpmconfigs.php +++ b/lib/tablelisting/admin/tablelisting.fpmconfigs.php @@ -34,6 +34,7 @@ return [ 'self_overview' => ['section' => 'phpsettings', 'page' => 'fpmdaemons'], 'columns' => [ 'id' => [ + 'label' => 'ID', 'field' => 'id' ], 'description' => [ @@ -42,7 +43,8 @@ return [ ], 'configs' => [ 'label' => lng('admin.phpsettings.activephpconfigs'), - 'callback' => [PHPConf::class, 'configsList'] + 'callback' => [PHPConf::class, 'configsList'], + 'searchable' => false, ], 'reload_cmd' => [ 'label' => lng('serversettings.phpfpm_settings.reload'), diff --git a/lib/tablelisting/admin/tablelisting.integrity.php b/lib/tablelisting/admin/tablelisting.integrity.php index cda1c4bc..d8e748b0 100644 --- a/lib/tablelisting/admin/tablelisting.integrity.php +++ b/lib/tablelisting/admin/tablelisting.integrity.php @@ -31,6 +31,7 @@ return [ 'integrity_list' => [ 'title' => lng('admin.integritycheck'), 'icon' => 'fa-solid fa-circle-check', + 'self_overview' => ['section' => 'settings', 'page' => 'integritycheck'], 'columns' => [ 'displayid' => [ 'label' => 'ID', @@ -43,7 +44,8 @@ return [ 'result' => [ 'label' => lng('admin.integrityresult'), 'field' => 'result', - 'callback' => [Text::class, 'boolean'] + 'callback' => [Text::class, 'boolean'], + 'searchable' => false, ] ], 'visible_columns' => Listing::getVisibleColumnsForListing('integrity_list', [ diff --git a/lib/tablelisting/admin/tablelisting.mailtemplates.php b/lib/tablelisting/admin/tablelisting.mailtemplates.php index 5fd0224a..980674d2 100644 --- a/lib/tablelisting/admin/tablelisting.mailtemplates.php +++ b/lib/tablelisting/admin/tablelisting.mailtemplates.php @@ -29,6 +29,7 @@ return [ 'mailtpl_list' => [ 'title' => lng('admin.templates.templates'), 'icon' => 'fa-solid fa-envelope', + 'self_overview' => ['section' => 'templates', 'page' => 'email'], 'columns' => [ 'language' => [ 'label' => lng('login.language'), diff --git a/lib/tablelisting/admin/tablelisting.phpconfigs.php b/lib/tablelisting/admin/tablelisting.phpconfigs.php index 715776e8..2b1273a5 100644 --- a/lib/tablelisting/admin/tablelisting.phpconfigs.php +++ b/lib/tablelisting/admin/tablelisting.phpconfigs.php @@ -45,7 +45,8 @@ return [ 'domains' => [ 'label' => lng('admin.phpsettings.activedomains'), 'field' => 'domains', - 'callback' => [PHPConf::class, 'domainList'] + 'callback' => [PHPConf::class, 'domainList'], + 'searchable' => false, ], 'fpmdesc' => [ 'label' => lng('admin.phpsettings.fpmdesc'), diff --git a/lib/tablelisting/admin/tablelisting.plans.php b/lib/tablelisting/admin/tablelisting.plans.php index f579b559..3f494793 100644 --- a/lib/tablelisting/admin/tablelisting.plans.php +++ b/lib/tablelisting/admin/tablelisting.plans.php @@ -30,6 +30,7 @@ return [ 'plan_list' => [ 'title' => lng('admin.plans.plans'), 'icon' => 'fa-solid fa-clipboard-list', + 'self_overview' => ['section' => 'plans', 'page' => 'overview'], 'columns' => [ 'p.id' => [ 'label' => 'ID', diff --git a/lib/tablelisting/customer/tablelisting.backups.php b/lib/tablelisting/customer/tablelisting.backups.php index c6ba3d31..6f71b035 100644 --- a/lib/tablelisting/customer/tablelisting.backups.php +++ b/lib/tablelisting/customer/tablelisting.backups.php @@ -31,6 +31,7 @@ return [ 'backup_list' => [ 'title' => lng('error.customerhasongoingbackupjob'), 'icon' => 'fa-solid fa-server', + 'self_overview' => ['section' => 'extras', 'page' => 'backup'], 'columns' => [ 'destdir' => [ 'label' => lng('panel.path'), diff --git a/lib/tablelisting/customer/tablelisting.domains.php b/lib/tablelisting/customer/tablelisting.domains.php index 4e922f12..b6b68cfa 100644 --- a/lib/tablelisting/customer/tablelisting.domains.php +++ b/lib/tablelisting/customer/tablelisting.domains.php @@ -44,6 +44,7 @@ return [ 'field' => 'ipsandports', 'sortable' => false, 'callback' => [Domain::class, 'listIPs'], + 'searchable' => false, ], 'd.documentroot' => [ 'label' => lng('panel.path'), diff --git a/lib/tablelisting/customer/tablelisting.mysqls.php b/lib/tablelisting/customer/tablelisting.mysqls.php index ae5b3861..f72c35d0 100644 --- a/lib/tablelisting/customer/tablelisting.mysqls.php +++ b/lib/tablelisting/customer/tablelisting.mysqls.php @@ -44,7 +44,8 @@ return [ 'size' => [ 'label' => lng('mysql.size'), 'field' => 'size', - 'callback' => [Text::class, 'size'] + 'callback' => [Text::class, 'size'], + 'searchable' => false ], 'dbserver' => [ 'label' => lng('mysql.mysql_server'), diff --git a/lib/tablelisting/tablelisting.apikeys.php b/lib/tablelisting/tablelisting.apikeys.php index f15f2d4e..8f7d38c2 100644 --- a/lib/tablelisting/tablelisting.apikeys.php +++ b/lib/tablelisting/tablelisting.apikeys.php @@ -32,6 +32,7 @@ return [ 'apikeys_list' => [ 'title' => lng('menue.main.apikeys'), 'icon' => 'fa-solid fa-key', + 'self_overview' => ['section' => 'index', 'page' => 'apikeys'], 'columns' => [ 'a.loginname' => [ 'label' => lng('login.username'), diff --git a/lib/tablelisting/tablelisting.dns.php b/lib/tablelisting/tablelisting.dns.php index bd7e8b4c..9b189560 100644 --- a/lib/tablelisting/tablelisting.dns.php +++ b/lib/tablelisting/tablelisting.dns.php @@ -31,6 +31,7 @@ return [ 'dns_list' => [ 'title' => 'DNS Entries', 'icon' => 'fa-solid fa-globe', + 'self_overview' => ['section' => 'domains', 'page' => 'domaindnseditor'], 'columns' => [ 'record' => [ 'label' => 'Record', diff --git a/lib/tablelisting/tablelisting.sslcertificates.php b/lib/tablelisting/tablelisting.sslcertificates.php index 77aaa1c3..a06af00f 100644 --- a/lib/tablelisting/tablelisting.sslcertificates.php +++ b/lib/tablelisting/tablelisting.sslcertificates.php @@ -23,16 +23,15 @@ * @license https://files.froxlor.org/misc/COPYING.txt GPLv2 */ -use Froxlor\Settings; use Froxlor\UI\Callbacks\Domain; use Froxlor\UI\Callbacks\SSLCertificate; -use Froxlor\UI\Callbacks\Text; use Froxlor\UI\Listing; return [ 'sslcertificates_list' => [ 'title' => lng('domains.ssl_certificates'), 'icon' => 'fa-solid fa-shield', + 'self_overview' => ['section' => 'domains', 'page' => 'sslcertificates'], 'columns' => [ 'd.domain' => [ 'label' => lng('domains.domainname'), diff --git a/lib/tablelisting/tablelisting.syslog.php b/lib/tablelisting/tablelisting.syslog.php index af0ede02..2542a458 100644 --- a/lib/tablelisting/tablelisting.syslog.php +++ b/lib/tablelisting/tablelisting.syslog.php @@ -31,6 +31,7 @@ return [ 'syslog_list' => [ 'title' => lng('menue.logger.logger'), 'icon' => 'fa-solid fa-file-lines', + 'self_overview' => ['section' => 'logger', 'page' => 'log'], 'columns' => [ 'date' => [ 'label' => lng('logger.date'), diff --git a/templates/Froxlor/table/table.html.twig b/templates/Froxlor/table/table.html.twig index 43999b31..73105d98 100644 --- a/templates/Froxlor/table/table.html.twig +++ b/templates/Froxlor/table/table.html.twig @@ -12,6 +12,7 @@ {% else %}