<?php
	/* 
	 * getresource.php wird an Stelle geschützter Resourcen in eine Seite
	 * eingebunden. Die Ressourcen liegen dafür in einem geschützten Verzeichnis,
	 * das über den Webserver nicht erreichbar ist.
	 * getresource.php öffnet die geschützte Datei lokal und "reicht sie durch";
	 * auf diese Weise hat der PHP-Code die Kontrolle über die Herausgabe.
	 * Damit getresource.php nicht von außen mit GET-Parametern gefüttert werden
	 * kann, überprüft es bei jedem Aufruf, ob der Nutzer die Berechtigung zum
	 * Öffnen der Datei hat.
	 * 
	 * $_GET['item'] enthält den absoluten Pfad zur Resource.
	 * Dieser wird mit security.itemURL() generiert.
	 */
	
	@session_start();
	
	include_once($_SERVER['DOCUMENT_ROOT'].'/daten/php/security.php');
	
	if (isset($_GET['item'])) {
		$item = $_GET['item'];
		if (itemAccessible($item)) {
			$fp = fopen($item, 'r');
			
			// Content-type ermitteln
			$imageInfo = getimagesize($item);		
			switch ($imageInfo[2]) {
				case 1:
					header('Content-type: image/gif');
					break;
				case 2:
					header('Content-type: image/jpeg');
					break;
				case 3:
					header('Content-type: image/png');
					break;
				case 4:
					header('application/x-shockwave-flash');
					break;
				default:
					header('Content-type: text/plain');
			}
			
			fpassthru($fp);
			fclose($fp);
			exit;
		}
	}
	header('HTTP/1.0 403 Forbidden');
?>
