function getOtherFile($filename, $copy = false) { global $user; $filename = sotf_Utils::getFileFromPath($filename); $source = $this->getOtherFilesDir() . '/' . $filename; if (!is_file($source)) { raiseError("no such file: {$source}"); } $target = $user->getUserDir() . '/' . $filename; while (file_exists($target)) { $target .= "_1"; } if ($copy) { $success = copy($source, $target); } else { $success = rename($source, $target); } if (!$success) { raiseError("could not copy/move {$source}"); } return true; }
<?php require "init.inc.php"; $filename = sotf_Utils::getParameter('filename'); $id = sotf_Utils::getParameter('id'); $prg =& new sotf_Programme($id); $filename = sotf_Utils::getFileFromPath($filename); $filename = $prg->getOtherFilesDir() . '/' . $filename; $file =& new sotf_File($filename); if ($file->type != "none") { header("Content-type: " . $file->mimetype . "\n"); header("Content-transfer-encoding: binary\n"); header("Content-length: " . filesize($filename) . "\n"); // send file readfile($filename); } else { exit($page->getlocalized("dowload_problem")); }
function deleteFile($filename) { $filename = sotf_Utils::getFileFromPath($filename); $targetFile = $this->getUserDir() . '/' . $filename; if (unlink($targetFile)) { return 0; } else { raiseError("Could not remove file {$targetFile}"); } }