diff options
| author | Bruno Ribas <brunoribas@gmail.com> | 2017-11-01 11:44:53 +0000 |
|---|---|---|
| committer | Bruno Ribas <brunoribas@gmail.com> | 2017-11-01 11:44:53 +0000 |
| commit | b3cd16b598e126d550996e37f3bc47b9f9a9c893 (patch) | |
| tree | c2778784cec7fea74887b4fa26735114583b0941 /src/fcontest.php | |
| parent | 68b2db6e598ece79284345784047ea1c4dde09e6 (diff) | |
| parent | 202408f9f0194c66e6ebd2ccfd30892baaaaac48 (diff) | |
| download | boca-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.php | 14 |
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"); |