aboutsummaryrefslogtreecommitdiff
path: root/src/admin/report
diff options
context:
space:
mode:
authorcassio <cassiopc@gmail.com>2018-11-08 15:11:19 +0000
committercassio <cassiopc@gmail.com>2018-11-08 15:11:19 +0000
commitf74c0fdddbdb768a2ec50e9a9f165887cc6f51e1 (patch)
tree9b5191077f1a944f44232d1f5cc4e08f078a6668 /src/admin/report
parent336e0c032cc0f9e9547853f814ebffdfd00c5e2d (diff)
downloadboca-f74c0fdddbdb768a2ec50e9a9f165887cc6f51e1.tar.gz
boca-f74c0fdddbdb768a2ec50e9a9f165887cc6f51e1.zip
fix score, submissions and cookies
Diffstat (limited to 'src/admin/report')
-rw-r--r--src/admin/report/header.php2
-rw-r--r--src/admin/report/webcast.php26
2 files changed, 15 insertions, 13 deletions
diff --git a/src/admin/report/header.php b/src/admin/report/header.php
index 77e524a..50c36af 100644
--- a/src/admin/report/header.php
+++ b/src/admin/report/header.php
@@ -30,7 +30,7 @@ require_once($locr . "/globals.php");
require_once($locr."/db.php");
require_once($locr."/freport.php");
-if(isset($_POST['webcastcode']) && ctype_alnum($_POST['webcastcode'])) {
+if(isset($_GET['webcastcode']) && ctype_alnum($_GET['webcastcode'])) {
header ("Content-transfer-encoding: binary\n");
header ("Content-type: application/force-download");
ob_end_flush();
diff --git a/src/admin/report/webcast.php b/src/admin/report/webcast.php
index a6aaceb..cf791a7 100644
--- a/src/admin/report/webcast.php
+++ b/src/admin/report/webcast.php
@@ -17,8 +17,8 @@
////////////////////////////////////////////////////////////////////////////////
require('header.php');
-if(!isset($_POST['webcastcode']) || !ctype_alnum($_POST['webcastcode'])) exit;
-$webcastcode=$_POST['webcastcode'];
+if(!isset($_GET['webcastcode']) || !ctype_alnum($_GET['webcastcode'])) exit;
+$webcastcode=$_GET['webcastcode'];
$ds = DIRECTORY_SEPARATOR;
if($ds=="") $ds = "/";
@@ -39,7 +39,7 @@ for($i=0; $i<count($wcdata);$i++) {
$wccode = explode(' ', $wcdata[$i]);
if($wccode[0] == $webcastcode) {
for($j=1; $j < count($wccode); $j++) {
- $temp = explode('/', $wccode[$j]);
+ $temp = explode('/', trim($wccode[$j]));
if(is_numeric($temp[0])) {
$wcsite[count($wcsite)] = $temp[0];
$wcloweruser[count($wcloweruser)] = 0;
@@ -59,17 +59,17 @@ if($i>=count($wcdata)) {
exit;
}
-cleardir($webcastdir);
+//cleardir($webcastdir);
@mkdir($webcastdir);
-$contest = $_SESSION["usertable"]["contestnumber"];
-$site = $_SESSION["usertable"]["usersitenumber"];
+$contest = 1; //$_SESSION["usertable"]["contestnumber"];
+$site = 1; //$_SESSION["usertable"]["usersitenumber"];
$ct = DBContestInfo($contest);
if(($st = DBSiteInfo($contest, $site)) == null)
ForceLoad("../index.php");
-if(isset($_POST['full']) && $_POST['full'] > 0)
+if(isset($_GET['full']) && $_GET['full'] > 0)
$freezeTime = $st['siteduration'];
else
$freezeTime = $st['sitelastmilescore'];
@@ -87,12 +87,12 @@ $c = DBConnect();
$r = DBExec($c,
'SELECT problemnumber FROM problemtable' .
' WHERE contestnumber = ' . $contest .
- ' AND problemnumber > 0');
+ ' AND problemnumber > 0 AND not (problemfullname ~ \'(DEL)\')');
$numProblems = DBnlines($r);
$sql = 'SELECT username, userfullname, userdesc FROM usertable' .
' WHERE contestnumber = ' . $contest .
- ' AND userenabled = \'t\' AND usertype = \'team\' AND ((0 = 1)';
+ ' AND userenabled = \'t\' AND not (usericpcid = \'\') AND not (usericpcid = \'000000\') AND not (usericpcid = \'0\') AND usertype = \'team\' AND ((0 = 1)';
for($i=0; $i < count($wcloweruser); $i++)
$sql .= ' OR (usersitenumber = ' . $wcsite[$i] . ' AND usernumber >= ' . $wcloweruser[$i] . ' AND usernumber <= ' . $wcupperuser[$i] . ')';
$sql .= ')';
@@ -149,6 +149,7 @@ $run = DBAllRunsInSites($contest, $site, 'run');
$numRuns = count($run);
$runfile = '';
for ($i = 0; $i < $numRuns; $i++) {
+ if($run[$i]['status'] == 'deleted') continue;
$u = DBUserInfo($contest, $site, $run[$i]['user']);
$runID = $run[$i]['number'];
$runTime = dateconvminutes($run[$i]['timestamp']);
@@ -182,11 +183,12 @@ if(is_writable($webcastdir)) {
@file_put_contents($webcastdir . $ds . 'contest',$contestfile);
@file_put_contents($webcastdir . $ds . 'version',$versionfile);
@file_put_contents($webcastdir . $ds . 'time',$timefile);
- if(@create_zip($webcastparentdir,array('webcast'),$webcastdir . ".zip") != 1) {
- LOGError("Cannot create score webcast.tmp file");
- MSGError("Cannot create score webcast.tmp file");
+ if(@create_zip($webcastdir,array('.'),$webcastdir . ".zip") != 1) {
+ LOGError("Cannot create score webcast.zip file");
+ MSGError("Cannot create score webcast.zip file");
} else {
echo file_get_contents($webcastdir . ".zip");
+ exit;
}
} else {
LOGError('Error creating the folder for the ZIP file: '. $webcastdir);