From 00f79bafce35fb3a2ec6a5e1ae477fe008a55a4c Mon Sep 17 00:00:00 2001 From: cassio Date: Sat, 14 Sep 2013 11:43:20 +0200 Subject: adapt autojudge to work with older problem template (aka give basename instead of full path) --- src/private/autojudging.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/private') diff --git a/src/private/autojudging.php b/src/private/autojudging.php index df4fdc0..984ef9a 100755 --- a/src/private/autojudging.php +++ b/src/private/autojudging.php @@ -397,7 +397,7 @@ if($retval != 0) { } $ex = escapeshellcmd($script) ." ". - escapeshellarg($dir . $ds . $basename) . " ". + escapeshellarg($basename) . " ". escapeshellarg($dir . $ds . "input" . $ds . $file)." ". escapeshellarg(trim($limits[$basename][$run["extension"]][0]))." ". escapeshellarg(trim($limits[$basename][$run["extension"]][1]))." ". @@ -411,6 +411,16 @@ if($retval != 0) { } mkdir($dir . $ds . 'tmp', 0777); @chown($dir . $ds . 'tmp',"nobody"); + if(is_readable($dir . $ds . $basename)) { + @copy($dir . $ds . $basename, $dir . $ds . 'tmp' . $ds . $basename); + @chown($dir . $ds . 'tmp' . $ds . $basename,"nobody"); + @chmod($dir . $ds . 'tmp' . $ds . $basename,0755); + } + if(is_readable($dir . $ds . 'run.jar')) { + @copy($dir . $ds . 'run.jar', $dir . $ds . 'tmp' . $ds . 'run.jar'); + @chown($dir . $ds . 'tmp' . $ds . 'run.jar',"nobody"); + @chmod($dir . $ds . 'tmp' . $ds . 'run.jar',0755); + } chdir($dir . $ds . 'tmp'); echo "Executing " . $ex . " at " . getcwd() . " for input " . $file . "\n"; if(system($ex, $localretval)===false) $localretval=-1; -- cgit v1.2.3