diff --git a/lib/Froxlor/UI/Callbacks/SSLCertificate.php b/lib/Froxlor/UI/Callbacks/SSLCertificate.php index 89a07b1b..444bc34f 100644 --- a/lib/Froxlor/UI/Callbacks/SSLCertificate.php +++ b/lib/Froxlor/UI/Callbacks/SSLCertificate.php @@ -38,8 +38,13 @@ class SSLCertificate ]; } - public function canDelete(array $attributes): bool + public static function canEditSSL(array $attributes): bool { + if ((int)$attributes['fields']['domainid'] > 0 + && (int)$attributes['fields']['letsencrypt'] == 0 + ) { + return true; + } return false; } } diff --git a/lib/tablelisting/tablelisting.sslcertificates.php b/lib/tablelisting/tablelisting.sslcertificates.php index e161a7e3..c53461f3 100644 --- a/lib/tablelisting/tablelisting.sslcertificates.php +++ b/lib/tablelisting/tablelisting.sslcertificates.php @@ -69,6 +69,16 @@ return [ 'c.validtodate', ]), 'actions' => [ + 'edit' => [ + 'icon' => 'fa-solid fa-edit', + 'title' => lng('panel.edit'), + 'href' => [ + 'section' => 'domains', + 'page' => 'domaindnseditor', + 'domain_id' => ':domainid' + ], + 'visible' => [SSLCertificate::class, 'canEditSSL'] + ], 'delete' => [ 'icon' => 'fa-solid fa-trash', 'title' => lng('panel.delete'),