function do_delete() { $this->oPage->setBreadcrumbDetails(_kt("link")); // check security $oPermission =& KTPermission::getByName('ktcore.permissions.write'); if (PEAR::isError($oPermission) || !KTPermissionUtil::userHasPermissionOnItem($this->oUser, $oPermission, $this->oDocument)) { $this->errorRedirectToMain(_kt('You do not have sufficient permissions to delete a link'), sprintf("fDocumentId=%d", $this->oDocument->getId())); exit(0); } // check validity of things $oDocumentLink = DocumentLink::get(KTUtil::arrayGet($_REQUEST, 'fDocumentLinkId')); if (PEAR::isError($oDocumentLink)) { $this->errorRedirectToMain(_kt('Invalid document link selected.')); exit(0); } $oParentDocument = Document::get(KTUtil::arrayGet($_REQUEST, 'fDocumentId')); if (PEAR::isError($oParentDocument)) { $this->errorRedirectToMain(_kt('Invalid document selected.')); exit(0); } // do deletion $this->startTransaction(); // Cannot call delete directly if no link exists. if ($oDocumentLink) { $res = $oDocumentLink->delete(); if (PEAR::isError($res)) { $this->errorRedirectToMain(_kt('Could not delete document link'), sprintf('fDocumentId=%d', $oParentDocument->getId())); exit(0); } } else { $this->successRedirectToMain(_kt('Document link not deleted. Document link does not exists, or previously deleted.'), sprintf('fDocumentId=%d', $oParentDocument->getId())); } $this->commitTransaction(); $this->successRedirectToMain(_kt('Document link deleted'), sprintf('fDocumentId=%d', $oParentDocument->getId())); exit(0); }