aboutsummaryrefslogtreecommitdiff
path: root/src/ftask.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/ftask.php')
-rw-r--r--src/ftask.php26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/ftask.php b/src/ftask.php
index 86417b2..8ff7bd7 100644
--- a/src/ftask.php
+++ b/src/ftask.php
@@ -279,10 +279,10 @@ function DBNewTask_old ($contest, $site, $user, $desc, $filename, $filepath, $sy
'color'=>$color,
'colorname'=>$colorname,
'sys'=>$sys);
- return DBNewTask($param,$c);
+ return DBNewTask($param,$c,true);
}
-function DBNewTask($param, $c=null) {
+function DBNewTask($param, $c=null, $autotask=false) {
if(isset($param['contestnumber']) && !isset($param['contest'])) $param['contest']=$param['contestnumber'];
if(isset($param['sitenumber']) && !isset($param['site'])) $param['site']=$param['sitenumber'];
if(isset($param['usernumber']) && !isset($param['user'])) $param['user']=$param['usernumber'];
@@ -391,7 +391,7 @@ function DBNewTask($param, $c=null) {
$t = $lr['updatetime'];
}
}
- DBExec($c, "update sitetable set sitenexttask=$tasknumber, updatetime=".$t.
+ DBExec($c, "update sitetable set sitenexttask=$tasknumber" .
" where sitenumber=$site and contestnumber=$contest and sitenexttask<$tasknumber", "DBNewTask(update site)");
$ret=1;
if($insert) {
@@ -413,12 +413,28 @@ function DBNewTask($param, $c=null) {
}
}
} else $oid="NULL";
- DBExec($c, "INSERT INTO tasktable (contestnumber, sitenumber, tasknumber, usernumber, taskdate, " .
+
+ $taskinc = myunique();
+ if(($taskinc % 2) == 0) $taskinc--;
+ if($autotask) $taskinc++;
+ $tasknumber = $taskinc;
+ while(!DBExecNonStop($c, "INSERT INTO tasktable (contestnumber, sitenumber, tasknumber, usernumber, taskdate, " .
"taskdatediff, taskdatediffans, taskfilename, taskdata, taskstatus, taskdesc, tasksystem, ".
"color, colorname, updatetime) " .
"VALUES ($contest, $site, $tasknumber, $user, $taskdate, $taskdatediff, $taskdatediffans, '$filename', $oid, '$status', " .
"'$desc', '$sys', '$color', '$colorname', $updatetime)",
- "DBNewTask(insert task)");
+ "DBNewTask(insert task)")) {
+ $tasknumber+=2;
+ if($tasknumber > $taskinc + 6) break;
+ }
+ if($tasknumber > $taskinc + 6) {
+ DBExec($c, "INSERT INTO tasktable (contestnumber, sitenumber, tasknumber, usernumber, taskdate, " .
+ "taskdatediff, taskdatediffans, taskfilename, taskdata, taskstatus, taskdesc, tasksystem, ".
+ "color, colorname, updatetime) " .
+ "VALUES ($contest, $site, $tasknumber, $user, $taskdate, $taskdatediff, $taskdatediffans, '$filename', $oid, '$status', " .
+ "'$desc', '$sys', '$color', '$colorname', $updatetime)",
+ "DBNewTask(insert task)");
+ }
if($sys=="t") $u="System";
else $u = "User $user";