From f967c953505e723ac904a2085552760430ffc54a Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Wed, 26 Jul 2017 16:16:10 +0100 Subject: remove relation with next fields from site --- src/fclar.php | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'src/fclar.php') diff --git a/src/fclar.php b/src/fclar.php index 7c73975..18d41ff 100644 --- a/src/fclar.php +++ b/src/fclar.php @@ -15,7 +15,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . //////////////////////////////////////////////////////////////////////////////// -// Last modified 06/sep/2013 by cassio@ime.usp.br +// Last modified 26/jul/2017 by cassio@ime.usp.br function DBDropClarTable() { $c = DBConnect(); @@ -306,7 +306,7 @@ function DBNewClar($param,$c=null) { } $n = $clarnumber; } - DBExec($c, "update sitetable set sitenextclar=$clarnumber, updatetime=" . $t . + DBExec($c, "update sitetable set sitenextclar=$clarnumber" . " where sitenumber=$site and contestnumber=$contest and sitenextclar<$clarnumber", "DBNewClar(update site)"); @@ -332,15 +332,27 @@ function DBNewClar($param,$c=null) { $ret=1; if($insert) { - DBExec($c, "INSERT INTO clartable (contestnumber, clarsitenumber, clarnumber, usernumber, clardate, " . + $n = myunique(); + $clarinc = $n; + while(!DBExecNonStop($c, "INSERT INTO clartable (contestnumber, clarsitenumber, clarnumber, usernumber, clardate, " . "clardatediff, clardatediffans, clarproblem, clardata, claranswer, clarjudge, clarjudgesite, clarstatus, updatetime) VALUES " . "($contest, $site, $n, $user, $clardate, $clardatediff, $clardatediffans, $problem, '$question', " . "'$claranswer', $clarjudge, $clarjudgesite, '$clarstatus', $updatetime)", - "DBNewClar(insert clar)"); - if($cw) DBExec($c, "commit work", "DBNewClar(commit-insert)"); - LOGLevel("User $user submitted a clarification (#$n) on site #$site " . - "(problem=$problem, contest=$contest).",2); - $ret=2; + "DBNewClar(insert clar)")) { + $n++; + if($n > $clarinc + 3) break; + } + if($n > $clarinc + 3) { + DBExec($c, "INSERT INTO clartable (contestnumber, clarsitenumber, clarnumber, usernumber, clardate, " . + "clardatediff, clardatediffans, clarproblem, clardata, claranswer, clarjudge, clarjudgesite, clarstatus, updatetime) VALUES " . + "($contest, $site, $n, $user, $clardate, $clardatediff, $clardatediffans, $problem, '$question', " . + "'$claranswer', $clarjudge, $clarjudgesite, '$clarstatus', $updatetime)", + "DBNewClar(insert clar)"); + } + if($cw) DBExec($c, "commit work", "DBNewClar(commit-insert)"); + LOGLevel("User $user submitted a clarification (#$n) on site #$site " . + "(problem=$problem, contest=$contest).",2); + $ret=2; } else { if($updatetime > $t) { $ret=2; -- cgit v1.2.3