* @license https://files.froxlor.org/misc/COPYING.txt GPLv2 */ use Froxlor\UI\Callbacks\Domain; use Froxlor\UI\Callbacks\Style; use Froxlor\UI\Callbacks\Text; use Froxlor\UI\Listing; return [ 'domain_list' => [ 'title' => lng('admin.domains'), 'icon' => 'fa-solid fa-globe', 'self_overview' => ['section' => 'domains', 'page' => 'domains'], 'columns' => [ 'd.domain_ace' => [ 'label' => lng('domains.domainname'), 'field' => 'domain_ace', 'callback' => [Domain::class, 'domainExternalLinkInfo'], ], 'ipsandports' => [ 'label' => lng('admin.ipsandports.ipsandports'), 'field' => 'ipsandports', 'sortable' => false, 'callback' => [Domain::class, 'listIPs'], 'searchable' => false, ], 'd.documentroot' => [ 'label' => lng('panel.path'), 'field' => 'documentroot', 'callback' => [Domain::class, 'domainTarget'], ], 'd.isbinddomain' => [ 'label' => lng('domains.isbinddomain'), 'field' => 'isbinddomain', 'callback' => [Text::class, 'boolean'], ], 'd.isemaildomain' => [ 'label' => lng('admin.emaildomain'), 'field' => 'isemaildomain', 'callback' => [Text::class, 'boolean'], ], 'd.email_only' => [ 'label' => lng('admin.email_only'), 'field' => 'email_only', 'callback' => [Text::class, 'boolean'], ], 'd.iswildcarddomain' => [ 'label' => lng('domains.serveraliasoption_wildcard'), 'field' => 'iswildcarddomain', 'callback' => [Text::class, 'boolean'], ], 'd.letsencrypt' => [ 'label' => lng('panel.letsencrypt'), 'field' => 'letsencrypt', 'callback' => [Text::class, 'boolean'], ], 'ad.id' => [ 'label' => lng('domains.aliasdomainid'), 'field' => 'aliasdomainid' ], ], 'visible_columns' => Listing::getVisibleColumnsForListing('domain_list', [ 'd.domain_ace', 'd.documentroot' ]), 'actions' => [ 'edit' => [ 'icon' => 'fa fa-edit', 'title' => lng('panel.edit'), 'href' => [ 'section' => 'domains', 'page' => 'domains', 'action' => 'edit', 'id' => ':id' ], 'visible' => [Domain::class, 'canEdit'] ], 'logfiles' => [ 'icon' => 'fa fa-file', 'title' => lng('panel.viewlogs'), 'href' => [ 'section' => 'domains', 'page' => 'logfiles', 'domain_id' => ':id' ], 'visible' => [Domain::class, 'canViewLogs'] ], 'domaindnseditor' => [ 'icon' => 'fa fa-globe', 'title' => lng('dnseditor.edit'), 'href' => [ 'section' => 'domains', 'page' => 'domaindnseditor', 'domain_id' => ':id' ], 'visible' => [Domain::class, 'canEditDNS'] ], 'domainssleditor' => [ 'callback' => [Domain::class, 'editSSLButtons'], ], 'letsencrypt' => [ 'icon' => 'fa fa-shield', 'title' => lng('panel.letsencrypt'), 'visible' => [Domain::class, 'hasLetsEncryptActivated'] ], 'haslias' => [ 'icon' => 'fa fa-arrow-up-right-from-square', 'title' => lng('domains.hasaliasdomains'), 'href' => [ 'section' => 'domains', 'page' => 'domains', 'searchfield' => 'ad.id', 'searchtext' => ':id' ], 'visible' => [Domain::class, 'canEditAlias'] ], 'isassigned' => [ 'icon' => 'fa fa-check-to-slot', 'title' => lng('domains.isassigneddomain'), 'visible' => [Domain::class, 'isAssigned'] ], 'delete' => [ 'icon' => 'fa fa-trash', 'title' => lng('panel.delete'), 'class' => 'btn-danger', 'href' => [ 'section' => 'domains', 'page' => 'domains', 'action' => 'delete', 'id' => ':id' ], 'visible' => [Domain::class, 'canDelete'] ] ], 'format_callback' => [ [Style::class, 'resultDomainTerminatedOrDeactivated'] ] ] ];