diff options
Diffstat (limited to 'www/profile.php')
-rw-r--r-- | www/profile.php | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/www/profile.php b/www/profile.php index 9a58d79..c2c256c 100644 --- a/www/profile.php +++ b/www/profile.php @@ -122,12 +122,27 @@ if (!$userservice->isLoggedOn() || $currentUser->getId() != $userid) { } else if (false !== $scert->getUserIdFromCert()) { $tplvars['error'] = T_('This certificate is already registered'); } else if (false === $scert->registerCurrentCertificate($currentUser->getId())) { - $tplvars['error'] = T_('SSL client certificate registration failed'); + $tplvars['error'] = T_('Failed to register SSL client certificate.'); } else { - $tplVars['msg'] = T_('SSL client certificate registered'); + $tplVars['msg'] = T_('SSL client certificate registered.'); + } + } else if (isset($_POST['action']) && $_POST['action'] == 'deleteClientCert' + && isset($_POST['certId']) + ) { + $certId = (int)$_POST['certId']; + $cert = $scert->getCert($certId); + if ($cert === null) { + $tplvars['error'] = T_('Certificate not found.'); + } else if ($cert->uId != $currentUser->getId()) { + $tplvars['error'] = T_('The certificate does not belong to you.'); + } else if (false === $scert->delete($certId)) { + $tplvars['error'] = T_('Failed to delete SSL client certificate.'); + } else { + $tplVars['msg'] = T_('SSL client certificate deleted.'); } } + //Token Init $_SESSION['token'] = md5(uniqid(rand(), true)); $_SESSION['token_stamp'] = time(); |