<?php
// created by vrolland 29/07/2014
//
error_reporting ( E_ALL ); // to hide php message

include_once 'Constant.php';

$datestr =  date ( "Ymd-His" );

$uploadandload = false;
if( isset($_POST["uploadandload"]) ) {
	$uploadandload = (strcmp($_POST["uploadandload"], "true") == 0);
}


if( isset($_FILES["file"]) ) {
	if ($_FILES["file"]["error"] > 0) {
		echo '{ "status" : "error", "message" : "' . $_FILES["file"]["error"] . '" }';
	} else {
		$filename = $_FILES["file"]["name"];
		$explode = explode(".", $filename,2);
		$extension = end($explode);
		if( strcmp ( $extension , $EXTENSION_ALLOWED ) != 0 ) {
			echo '{ "status" : "error", "message" : "File extension must be .'.$EXTENSION_ALLOWED.'" }';
		} else {
			$new_dest =  $ARCHIVE_DIR . $datestr . "." . $extension;
			if( move_uploaded_file($_FILES["file"]["tmp_name"],$new_dest) ) {
				if( $uploadandload ) {
					if( symlink ( $new_dest , $SDD_TEMP ) ) {
						if(	! rename ( $SDD_TEMP , $SDD_USED ) ) {
							echo '{ "status" : "error", "message" : "file uploaded as \''.$datestr . '.' . $extension. '\' BUT NOT LINKED ( rename() issue )" }';
						} else {
							$versionfile = fopen("$PATH_VERSION_SDD", "w") or die('{ "status" : "error", "message" : "unable to open '+$SDD_VERSION_FILENAME+'" }');
							fwrite($versionfile, $datestr . "." . $extension);
							fclose($versionfile);
							echo '{ "status" : "ok", "message" : "file uploaded as \''.$datestr . '.' . $extension. '\' and available from \''.$URL_SDD_USED.'\'" , "filename" : "' . $datestr . '.' . $extension . '" }';
						}
					} else {
						file_exists($SDD_TEMP) && unlink ( $SDD_TEMP);
						echo '{ "status" : "error", "message" : "file uploaded as \''.$datestr . '.' . $extension. '\' BUT NOT LINKED ( symlink() issue - please try one more time)" }';
					}	
				} else {
					echo '{ "status" : "ok", "message" : "file uploaded as \''.$datestr . '.' . $extension. '\' BUT NOT LINKED" }';
				}
			} else {
				echo '{ "status" : "error", "message" : "Copy failed" }';
			}
		}
	}
} else {
	echo '{ "status" : "error", "message" : "No file given or file to heavy" }';
}
  
?>
