From 1c415919cb72c218d9491d8cdcf6498142b23f68 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Wed, 11 May 2011 07:33:15 +0200 Subject: deleting ssl client certificates from profile page works now --- www/profile.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'www') 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(); -- cgit v1.2.3