aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCassio de Campos <cassiopc@gmail.com>2017-11-01 11:02:19 +0000
committerCassio de Campos <cassiopc@gmail.com>2017-11-01 11:02:19 +0000
commit202408f9f0194c66e6ebd2ccfd30892baaaaac48 (patch)
tree0f77ad38cbd2fbbd1f1fe6acd88ed2bd9729b328
parent08249f9d691d84c01d9f72c5d7358a7fb9017a9a (diff)
parentba15ecc5643d364ed3eee9edff786f2987efcc85 (diff)
downloadboca-202408f9f0194c66e6ebd2ccfd30892baaaaac48.tar.gz
boca-202408f9f0194c66e6ebd2ccfd30892baaaaac48.zip
Merge branch 'devel'
-rw-r--r--src/admin/user.php6
-rw-r--r--src/fcontest.php14
2 files changed, 15 insertions, 5 deletions
diff --git a/src/admin/user.php b/src/admin/user.php
index a9017c4..466cb07 100644
--- a/src/admin/user.php
+++ b/src/admin/user.php
@@ -256,9 +256,11 @@ for ($i=0; $i < count($usr); $i++) {
($usr[$i]["usernumber"] != $_SESSION["usertable"]["usernumber"] ||
$usr[$i]["usersitenumber"] != $_SESSION["usertable"]["usersitenumber"]))
echo " <td nowrap><a href=\"user.php?site=" . $usr[$i]["usersitenumber"] . "&user=" .
- $usr[$i]["usernumber"] . "\">" . $usr[$i]["usernumber"] . "</a></td>\n";
+ $usr[$i]["usernumber"] . "\">" . $usr[$i]["usernumber"] . "</a>";
else
- echo " <td nowrap>" . $usr[$i]["usernumber"] . "</td>\n";
+ echo " <td nowrap>" . $usr[$i]["usernumber"];
+ if($usr[$i]['userenabled'] != 't' && $usr[$i]['userlastlogin'] < 1) echo "(inactive)";
+ echo "</td>\n";
echo " <td nowrap>" . $usr[$i]["usersitenumber"] . "</td>\n";
echo " <td nowrap>" . $usr[$i]["username"] . "&nbsp;</td>\n";
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");