aboutsummaryrefslogtreecommitdiff
path: root/src/fcontest.php
diff options
context:
space:
mode:
authorBruno Ribas <brunoribas@gmail.com>2017-11-01 11:44:53 +0000
committerBruno Ribas <brunoribas@gmail.com>2017-11-01 11:44:53 +0000
commitb3cd16b598e126d550996e37f3bc47b9f9a9c893 (patch)
treec2778784cec7fea74887b4fa26735114583b0941 /src/fcontest.php
parent68b2db6e598ece79284345784047ea1c4dde09e6 (diff)
parent202408f9f0194c66e6ebd2ccfd30892baaaaac48 (diff)
downloadboca-b3cd16b598e126d550996e37f3bc47b9f9a9c893.tar.gz
boca-b3cd16b598e126d550996e37f3bc47b9f9a9c893.zip
Merge branch 'master' of github.com:cassiopc/boca
Diffstat (limited to 'src/fcontest.php')
-rw-r--r--src/fcontest.php14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/fcontest.php b/src/fcontest.php
index dc8a6d7..d00ce68 100644
--- a/src/fcontest.php
+++ b/src/fcontest.php
@@ -315,14 +315,22 @@ function DBDeleteUser($contest, $site, $user) {
DBExec($c, "begin work");
DBExec($c, "lock table usertable");
$sql = "select * from usertable where usernumber=$user and usersitenumber=$site and " .
- "contestnumber=$contest";
+ "contestnumber=$contest for update";
$a = DBGetRow ($sql, 0);
if ($a != null) {
- $sql = "delete from usertable where usernumber=$user and usersitenumber=$site and " .
+ $sql = "update usertable set userenabled='f', userlastlogin=NULL, usersessionextra='', usersession='', updatetime=".time(). " where usernumber=$user and usersitenumber=$site and " .
"contestnumber=$contest";
+ // $sql = "delete from usertable where usernumber=$user and usersitenumber=$site and " .
+ // "contestnumber=$contest";
DBExec ($c, $sql);
+ $r = DBExec($c,"select runnumber as number, runsitenumber as site from runtable where contestnumber=$contest and usernumber=$user and runsitenumber=$site for update");
+ $n = DBnlines($r);
+ for ($i=0;$i<$n;$i++) {
+ $a = DBRow($r,$i);
+ DBRunDelete($a["number"],$a["site"],$contestnumber,$_SESSION["usertable"]["usernumber"],$_SESSION["usertable"]["usersitenumber"]);
+ }
DBExec($c, "commit work");
- LOGLevel("User $user (site=$site,contest=$contest) removed.", 1);
+ LOGLevel("User $user (site=$site,contest=$contest) marked as inactive.", 1);
return true;
} else {
DBExec($c, "rollback work");