Skip to content
This repository was archived by the owner on Mar 28, 2019. It is now read-only.

Commit dd6a4ab

Browse files
committed
Fixed compilation server connect error message
1 parent 17e6ce0 commit dd6a4ab

File tree

2 files changed

+32
-27
lines changed

2 files changed

+32
-27
lines changed

eval.php

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,37 @@
1919
}
2020
mysql_query($query);
2121
$socket = fsockopen($compilerhost, $compilerport);
22-
fwrite($socket, $_POST['filename']."\n");
23-
$soln = str_replace("\n", '$_n_$', treat($_POST['soln']));
24-
fwrite($socket, $soln."\n");
25-
$query = "SELECT input, output FROM problems WHERE sl='".$_POST['id']."'";
26-
$result = mysql_query($query);
27-
$fields = mysql_fetch_array($result);
28-
$input = str_replace("\n", '$_n_$', treat($fields['input']));
29-
fwrite($socket, $input."\n");
30-
fwrite($socket, $_POST['lang']."\n");
31-
$status = fgets($socket);
32-
$contents = "";
33-
while(!feof($socket))
34-
$contents = $contents."\n".fgets($socket);
35-
if($status == 0) {
36-
$query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
37-
mysql_query($query);
38-
$_SESSION['cerror'] = trim($contents);
39-
header("Location: solve.php?cerror=1&id=".$_POST['id']);
40-
} else if($status == 1) {
41-
if(trim($contents) == trim(treat($fields['output']))) {
42-
$query = "UPDATE solve SET status=2 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
43-
mysql_query($query);
44-
header("Location: index.php?success=1");
45-
} else {
22+
if($socket) {
23+
fwrite($socket, $_POST['filename']."\n");
24+
$soln = str_replace("\n", '$_n_$', treat($_POST['soln']));
25+
fwrite($socket, $soln."\n");
26+
$query = "SELECT input, output FROM problems WHERE sl='".$_POST['id']."'";
27+
$result = mysql_query($query);
28+
$fields = mysql_fetch_array($result);
29+
$input = str_replace("\n", '$_n_$', treat($fields['input']));
30+
fwrite($socket, $input."\n");
31+
fwrite($socket, $_POST['lang']."\n");
32+
$status = fgets($socket);
33+
$contents = "";
34+
while(!feof($socket))
35+
$contents = $contents."\n".fgets($socket);
36+
if($status == 0) {
4637
$query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
4738
mysql_query($query);
48-
header("Location: solve.php?oerror=1&id=".$_POST['id']);
39+
$_SESSION['cerror'] = trim($contents);
40+
header("Location: solve.php?cerror=1&id=".$_POST['id']);
41+
} else if($status == 1) {
42+
if(trim($contents) == trim(treat($fields['output']))) {
43+
$query = "UPDATE solve SET status=2 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
44+
mysql_query($query);
45+
header("Location: index.php?success=1");
46+
} else {
47+
$query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
48+
mysql_query($query);
49+
header("Location: solve.php?oerror=1&id=".$_POST['id']);
50+
}
4951
}
50-
}
52+
} else
53+
header("Location: solve.php?serror=1&id=".$_POST['id']);
5154
}
5255
?>

solve.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
echo("<div class=\"alert alert-error\">\nYour program output did not match the solution for the problem. Please check your program and try again.\n</div>");
2626
else if(isset($_GET['lerror']))
2727
echo("<div class=\"alert alert-error\">\nYou did not use one of the allowed languages. Please use a language that is allowed.\n</div>");
28-
28+
else if(isset($_GET['serror']))
29+
echo("<div class=\"alert alert-error\">\nCould not connect to the compiler server. Please contact the admin to solve the problem.\n</div>");
30+
2931
$query = "SELECT * FROM prefs";
3032
$result = mysql_query($query);
3133
$accept = mysql_fetch_array($result);

0 commit comments

Comments
 (0)