* @internal revisions * @since 1.9.13 * */ @ob_end_clean(); require_once '../../config.inc.php'; require_once '../functions/common.php'; require_once '../functions/attachments.inc.php'; // This way can be called without _SESSION, this is useful for reports testlinkInitPage($db, false, true); $args = init_args(); if ($args->id) { $attachmentRepository = tlAttachmentRepository::create($db); $attachmentInfo = $attachmentRepository->getAttachmentInfo($args->id); // if ($attachmentInfo) if ($attachmentInfo && ($args->skipCheck || checkAttachmentID($db, $args->id, $attachmentInfo))) { $content = $attachmentRepository->getAttachmentContent($args->id, $attachmentInfo); if ($content != "") { @ob_end_clean(); header('Pragma: public'); header("Cache-Control: "); if (!(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on" && preg_match("/MSIE/", $_SERVER["HTTP_USER_AGENT"]))) { header('Pragma: no-cache'); } header('Content-Type: ' . $attachmentInfo['file_type']); header('Content-Length: ' . $attachmentInfo['file_size']); header("Content-Disposition: inline; filename=\"{$attachmentInfo['file_name']}\""); header("Content-Description: Download Data"); echo $content; exit; }
/** * */ function deleteAttachment(&$dbHandler, $fileID, $checkOnSession = true) { $repo = tlAttachmentRepository::create($dbHandler); $info = $repo->getAttachmentInfo($fileID); if ($info) { $doIt = true; if ($checkOnSession) { $doIt = checkAttachmentID($dbHandler, $fileID, $info); } if ($doIt) { if ($repo->deleteAttachment($fileID, $info)) { logAuditEvent(TLS("audit_attachment_deleted", $info['title']), "DELETE", $fileID, "attachments"); } } } }
* TestLink Open Source Project - http://testlink.sourceforge.net/ * This script is distributed under the GNU General Public License 2 or later. * * @filesource attachmentdelete.php * Deletes an attachment by a given id */ require_once '../../config.inc.php'; require_once '../functions/common.php'; require_once '../functions/attachments.inc.php'; testlinkInitPage($db, false, false, "checkRights"); $args = init_args(); $deleteDone = false; if ($args->id) { $attachmentRepository = tlAttachmentRepository::create($db); $attachmentInfo = $attachmentRepository->getAttachmentInfo($args->id); if ($attachmentInfo && checkAttachmentID($db, $args->id, $attachmentInfo)) { $deleteDone = $attachmentRepository->deleteAttachment($args->id, $attachmentInfo); if ($deleteDone) { logAuditEvent(TLS("audit_attachment_deleted", $attachmentInfo['title']), "DELETE", $args->id, "attachments"); } } } $smarty = new TLSmarty(); $smarty->assign('bDeleted', $deleteDone); $smarty->display('attachmentdelete.tpl'); /** * @return object returns the arguments for the page */ function init_args() { //the id (attachments.id) of the attachment to be deleted