Skip to content

Commit

Permalink
Start.cpp w tle, drobna zmiana w testbocie,
Browse files Browse the repository at this point in the history
Naprawa rankingu,
Dodanie nazwy zadania w wyświetlanych info,
Zakomentowanie kolorów w modalu
  • Loading branch information
barnij committed Sep 5, 2019
1 parent 139d8f4 commit 4c4d6a6
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 69 deletions.
4 changes: 2 additions & 2 deletions pages/ranking.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
{
if($showresults)
{
$zapytanie = $polaczenie->query("SELECT users.name, SUM(sub.points) AS sumapunktow, SUM(CASE sub.status WHEN 1 THEN 1 ELSE 0 END) AS sumaok, SUM(CASE sub.points WHEN 0 THEN 0 ELSE HOUR(TIMEDIFF(sub.time, '$start_time_contest'))*60+MINUTE(TIMEDIFF(sub.time, '$start_time_contest')) END) AS czas FROM (SELECT submits.* FROM (SELECT id_user, id_contest, id_task, MAX(points) AS points FROM submits GROUP BY id_user, id_contest, id_task) tt INNER JOIN submits ON tt.id_user=submits.id_user AND tt.id_contest=submits.id_contest AND tt.id_task=submits.id_task AND tt.points=submits.points) sub, users WHERE users.id_user=sub.id_user AND sub.id_contest='$id_contest' AND TIMEDIFF('$end_time_contest',sub.time)>0 GROUP BY sub.id_user ORDER BY sumapunktow DESC, sumaok ASC, czas ASC");
$zapytanie = $polaczenie->query("SELECT users.name, SUM(sub.points) AS sumapunktow, SUM(CASE sub.status WHEN 1 THEN 1 ELSE 0 END) AS sumaok, SUM(CASE sub.points WHEN 0 THEN 0 ELSE HOUR(TIMEDIFF(sub.time, '$start_time_contest'))*60+MINUTE(TIMEDIFF(sub.time, '$start_time_contest')) END) AS czas FROM (SELECT submits.* FROM (SELECT MIN(id_submit) AS id_submit FROM (SELECT submits.* FROM (SELECT id_user, id_contest, id_task, MAX(points) AS points FROM submits GROUP BY id_user, id_contest, id_task) tt INNER JOIN submits USING (id_user, id_contest, id_task, points) ) pt GROUP BY id_task, id_contest, id_user) tr INNER JOIN submits ON tr.id_submit=submits.id_submit) sub, users WHERE users.id_user=sub.id_user AND sub.id_contest='$id_contest' AND TIMEDIFF('$end_time_contest',sub.time)>0 GROUP BY sub.id_user ORDER BY sumapunktow DESC, sumaok ASC, czas ASC");

$atrybutynaglowka = 'align="center" bgcolor="e5e5e5"';
$sz1 = 50;
Expand Down Expand Up @@ -52,7 +52,7 @@
echo '</tr>
</table><div style="clear: both;"></div><br/>';

$zapytanie = $polaczenie->query("SELECT users.name, SUM(sub.points) AS sumapunktow, SUM(CASE sub.status WHEN 1 THEN 1 ELSE 0 END) AS sumaok, SUM(CASE sub.points WHEN 0 THEN 0 ELSE HOUR(TIMEDIFF(sub.time, '$start_time_contest'))*60+MINUTE(TIMEDIFF(sub.time, '$start_time_contest')) END) AS czas FROM (SELECT submits.* FROM (SELECT id_user, id_contest, id_task, MAX(points) AS points FROM submits GROUP BY id_user, id_contest, id_task) tt INNER JOIN submits ON tt.id_user=submits.id_user AND tt.id_contest=submits.id_contest AND tt.id_task=submits.id_task AND tt.points=submits.points) sub, users WHERE users.id_user=sub.id_user AND sub.id_contest='$id_contest' AND TIMEDIFF('$end_time_contest',sub.time)<=0 GROUP BY sub.id_user ORDER BY sumapunktow DESC, sumaok ASC, czas ASC");
$zapytanie = $polaczenie->query("SELECT users.name, SUM(sub.points) AS sumapunktow, SUM(CASE sub.status WHEN 1 THEN 1 ELSE 0 END) AS sumaok, SUM(CASE sub.points WHEN 0 THEN 0 ELSE HOUR(TIMEDIFF(sub.time, '$start_time_contest'))*60+MINUTE(TIMEDIFF(sub.time, '$start_time_contest')) END) AS czas FROM (SELECT submits.* FROM (SELECT MIN(id_submit) AS id_submit FROM (SELECT submits.* FROM (SELECT id_user, id_contest, id_task, MAX(points) AS points FROM submits GROUP BY id_user, id_contest, id_task) tt INNER JOIN submits USING (id_user, id_contest, id_task, points) ) pt GROUP BY id_task, id_contest, id_user) tr INNER JOIN submits ON tr.id_submit=submits.id_submit) sub, users WHERE users.id_user=sub.id_user AND sub.id_contest='$id_contest' AND TIMEDIFF('$end_time_contest',sub.time)<=0 GROUP BY sub.id_user ORDER BY sumapunktow DESC, sumaok ASC, czas ASC");

if(mysqli_num_rows($zapytanie)>0)
{
Expand Down
127 changes: 65 additions & 62 deletions pages/view_task.php
Original file line number Diff line number Diff line change
@@ -1,63 +1,66 @@
<?php
if(!isset($AccessToContest)) //prawdopodobnie niezalogowany użytkownik
{
header('Location: /');
exit();
}

if(!$AccessToContest) //brak dostępu do zawodów
{
$adres = 'Location: /'.$_GET['id'];
header($adres);
exit();
}

$id_task = $_GET['task'];
$zapytanie = $polaczenie->query("SELECT id_task FROM contest_list WHERE id_contest='$id_contest' AND id_task='$id_task'");

if(mysqli_num_rows($zapytanie)==0) //brak tego zadania w danych zawodach
{
header('Location: /');
exit();
}

$adres = $_SERVER['DOCUMENT_ROOT'].'/tasks/'.$_GET['task'].'/'.$_GET['task'].'.txt';


if(!file_exists($adres)) //czy istnieje plik
{
echo "Błąd otwarcia treści zadania!";
}else
{

echo '
<table style="width: 700px; border-bottom: 1px solid black; padding-bottom: 15px; margin-bottom: 15px;">
<tr>
<td style="width: 30%; text-align: left;">
Identyfikator zadania: <b>'.$_GET['task'].'</b>
</td>
<td style="width: 40%; text-align: center;">
[ <a href="/'.$_GET['id'].'/'.$_GET['task'].'/submits">Zobacz wysłania</a> ]
</td>
<td style="width: 30%; text-align: right;">
[ <a href="/'.$_GET['id'].'/'.$_GET['task'].'/submit">Wyślij rozwiązanie</a> ]
</td>
</tr>
</table>
';

$plik = file($adres);
$ile = count($plik);

for($i=0;$i<$ile;$i++)
{
//$plik[$i] = htmlentities($plik[$i], ENT_QUOTES, "UTF-8");
//$plik[$i] = utf8_encode($plik[$i]);
$plik[$i] = preg_replace('#\r\n?#', "\n", $plik[$i]);
$plik[$i] = str_replace(' ', '&nbsp;', $plik[$i]);
echo $plik[$i];
echo '<br>';
}
}

<?php
if(!isset($AccessToContest)) //prawdopodobnie niezalogowany użytkownik
{
header('Location: /');
exit();
}

if(!$AccessToContest) //brak dostępu do zawodów
{
$adres = 'Location: /'.$_GET['id'];
header($adres);
exit();
}

$id_task = $_GET['task'];
$zapytanie = $polaczenie->query("SELECT id_task FROM contest_list WHERE id_contest='$id_contest' AND id_task='$id_task'");

if(mysqli_num_rows($zapytanie)==0) //brak tego zadania w danych zawodach
{
header('Location: /');
exit();
}

$adres = $_SERVER['DOCUMENT_ROOT'].'/tasks/'.$id_task.'/'.$id_task.'.txt';

if(!file_exists($adres)) //czy istnieje plik
{
echo "Błąd otwarcia treści zadania!";
}else
{
echo '
<table style="width: 700px; border-bottom: 1px solid black; padding-bottom: 15px; margin-bottom: 15px;">
<tr>
<td style="width: 30%; text-align: left;">
Identyfikator zadania: <b>'.$id_task.'</b>
</td>
<td style="width: 40%; text-align: center;">
[ <a href="/'.$_GET['id'].'/'.$id_task.'/submits">Zobacz wysłania</a> ]
</td>
<td style="width: 30%; text-align: right;">
[ <a href="/'.$_GET['id'].'/'.$id_task.'/submit">Wyślij rozwiązanie</a> ]
</td>
</tr>
</table>';

$zapytanie = $polaczenie->query("SELECT title_task FROM tasks WHERE id_task='$id_task'");
$rezultat = $zapytanie->fetch_assoc();
$title = $rezultat['title_task'];

echo '<div style="font-weight: bold;">'.$title.'</div><br/> ';

$plik = file($adres);
$ile = count($plik);

for($i=0;$i<$ile;$i++)
{
//$plik[$i] = htmlentities($plik[$i], ENT_QUOTES, "UTF-8");
//$plik[$i] = utf8_encode($plik[$i]);
$plik[$i] = preg_replace('#\r\n?#', "\n", $plik[$i]);
$plik[$i] = str_replace(' ', '&nbsp;', $plik[$i]);
echo $plik[$i];
echo '<br>';
}
}

?>
11 changes: 8 additions & 3 deletions scripts/modal.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function openmodal(status)
modalheader.style.color = 'white';
modalfooter.style.color = 'white';
break;
case 2:
/*case 2:
modalfooter.innerHTML = "<h3>Rozwiązanie niepoprawne</h3>";
modalheader.style.backgroundColor = 'red';
modalfooter.style.backgroundColor = 'red';
Expand All @@ -43,9 +43,14 @@ function openmodal(status)
modalheader.style.backgroundColor = 'blue';
modalfooter.style.backgroundColor = 'blue';
modalheader.style.color = 'white';
modalfooter.style.color = 'white';
modalfooter.style.color = 'white';*/
default:
break;
modalfooter.innerHTML = "<h3>Rozwiązanie niepoprawne</h3>";
modalheader.style.backgroundColor = '#adadad';
modalfooter.style.backgroundColor = '#adadad';
modalheader.style.color = 'black';
modalfooter.style.color = 'black';
break;
}

modal.style.display = "block";
Expand Down
2 changes: 1 addition & 1 deletion start.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ int main(int argc, char* argv[])
{
string path = "/var/www/hermes/public_html"; //sciezka do testbota
string command = path + "/testbot";
command = command + " " + argv[1] + " " + argv[2] + " " + argv[3] + " " + "&";
command = command + " " + argv[1] + " " + argv[2] + " " + argv[3] + " " + "> /dev/null 2>/dev/null &";
system(command.c_str());

return 0;
Expand Down
2 changes: 1 addition & 1 deletion testbot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ int main(int argc, char *argv[])
{
sio_status_code = 4;
result << "0" << endl; //points
result << time_limit << endl; //time
result << int_time_limit/100 << endl; //time
result << sio_memory << endl; //memory
result << sio_status_code << endl; //status
}else if(sio_status=="MLE")
Expand Down

0 comments on commit 4c4d6a6

Please sign in to comment.