PageRenderTime 47ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/functions/rankadjust.php

https://bitbucket.org/verax/to-ladder
PHP | 61 lines | 46 code | 12 blank | 3 comment | 12 complexity | bdec1b5ebae5ea0b465e7a8ea1d34c05 MD5 | raw file
  1. <?
  2. function update_teamranks($ladderid,$teamid,$newrank){
  3. mysql_query("LOCK TABLES ladder_$ladderid");
  4. $ladderinfo=mysql_query("SELECT id,rank FROM ladder_$ladderid WHERE id='$teamid'");
  5. $linfo=mysql_fetch_array($ladderinfo);
  6. $oldrank="$linfo[rank]";
  7. if($linfo[id]){
  8. if(($newrank < $oldrank) && ($newrank > 0) && ($oldrank > 0)){
  9. mysql_query("UPDATE ladder_$ladderid SET rank=rank+1 WHERE rank >= '$newrank' AND rank <'$oldrank'");
  10. }else{
  11. if(($newrank=="0") && ($oldrank > 0)){
  12. mysql_query("UPDATE ladder_$ladderid SET rank=rank-1 WHERE rank >= '$oldrank'");
  13. }
  14. if(($newrank > 0) && ($oldrank=="0")){
  15. mysql_query("UPDATE ladder_$ladderid SET rank=rank+1 WHERE rank >= '$newrank'");
  16. }
  17. if(($newrank > 0) && ($oldrank > 0)){
  18. mysql_query("UPDATE ladder_$ladderid SET rank=rank-1 WHERE rank > '$oldrank' AND rank <='$newrank'");
  19. }
  20. }
  21. mysql_query("UPDATE ladder_$ladderid SET rank='$newrank' WHERE id='$teamid'");
  22. }
  23. mysql_query("UNLOCK TABLES");
  24. }
  25. //CHECK FOR DUPLICATE RANKS AND ADJUST RANKS
  26. function rank_checkadjust($ladderid){
  27. $adjustranks="";
  28. $counter=1;
  29. $ladderinfo=mysql_query("SELECT rank FROM ladder_$ladderid WHERE rank > '0' ORDER BY rank");
  30. while(list($rank)=mysql_fetch_row($ladderinfo)){
  31. if($rank!="$counter"){
  32. $adjustranks=1;
  33. }
  34. $counter++;
  35. }
  36. if($adjustranks){
  37. //mysql_query("LOCK TABLES ladder_$ladderid");
  38. $countranks=1;
  39. $updateranks=mysql_query("SELECT id FROM ladder_$ladderid WHERE rank > '0' ORDER by rank");
  40. while(list($team)=mysql_fetch_row($updateranks)){
  41. mysql_query("UPDATE ladder_$ladderid SET rank='$countranks' WHERE id='$team'");
  42. $countranks++;
  43. }
  44. $ranksadjusted=1;
  45. //mysql_query("UNLOCK TABLES");
  46. }
  47. return($ranksadjusted);
  48. }
  49. ?>