Guest User

Untitled

a guest
Feb 21st, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. #
  3. # Created by Jeena Paradies on 2006-10-05.
  4. # Copyright (c) 2006. All rights reserved.
  5.  
  6. module Sport
  7.  
  8. class AdminServer
  9.  
  10. include Answer
  11. public
  12.  
  13. def initialize get
  14. error "Es wurden keine Daten übermittelt.", 406 if get.nil?
  15. error "Es wurde keine Funktion zum aufrufen übermittelt.", 406 unless get.include? ":"
  16.  
  17. get = get.split(":")
  18. error "Es wurden keine kompletten Daten übermittelt", 406 if get[1].nil?
  19.  
  20. args = get[1].split(";")
  21. error "Es wurde keine Spiel ID übermittelt.", 406 if args[0].nil?
  22.  
  23. @game_id = args[0]
  24. @dth = Database.new
  25.  
  26. if AdminServer.public_instance_methods.include? get[0]
  27. method = self.method get[0]
  28. method.call args[1], args[2], args[3], args[4], args[5]
  29. end
  30. error "Diese Methode wird in der Sportart #{Sport.name} nicht unterstützt.", 406
  31. end
  32.  
  33. def addGoal team_id, state_id, *args
  34. @dth.query "INSERT INTO #{@sport}_goals (game_id, team_id, state_id) VALUES(#{@game_id}, #{team_id}, #{get['state_id']});"
  35. exitOnDBError "Es ist ein Fehler beim hinzufügen des Tores aufgetreten"
  36. ok getRow(@game_id)
  37. end
  38.  
  39. def delGoal team_id, *args
  40. @dth.query "UPDATE #{@sport}_goals SET deleted = 1 WHERE game_id = '#{@game_id}' AND team_id = #{team_id} AND deleted = 0 ORDER BY id DESC LIMIT 1;"
  41. exitOnDBError "Es ist ein Fehler beim löschen des Tores aufgetreten"
  42. ok getRow(@game_id)
  43. end
  44.  
  45. def addRedCard team, *args
  46. doRedCard team, "+"
  47. ok getRow(@game_id)
  48. end
  49.  
  50. def delRedCard team, *args
  51. doRedCard team, "-"
  52. ok getRow(@game_id)
  53. end
  54.  
  55. def changeState state_id, *args
  56. @dth.query "UPDATE #{@sport}_games SET state = #{state_id} WHERE id = #{@game_id} LIMIT 1;"
  57. exitOnDBError "Es ist ein Fehler beim updaten des Status aufgetreten"
  58. ok getRow(@game_id)
  59. end
  60.  
  61. def changeVisibility *args
  62. @dth.query "UPDATE #{@sport}_games SET visible = IF(visible='1','0','1') WHERE id = #{@game_id} LIMIT 1;"
  63. exitOnDBError "Es ist ein Fehler beim updaten der Anzeigbarkeit"
  64. ok getRow(@game_id)
  65. end
  66.  
  67. def changeCompleteness *args
  68. @dth.query "UPDATE #{@sport}_games SET complete = IF(complete='1','0','1') WHERE id = #{@game_id} LIMIT 1;"
  69. exitOnDBError "Es ist ein Fehler beim updaten der Kompletität"
  70. ok getRow(@game_id)
  71. end
  72.  
  73. private
  74.  
  75. def doRedCard team, plusminus
  76. @dth.query "UPDATE #{@sport}_games SET red_#{team} = red_#{team} #{plusminus} 1 WHERE id = #{@game_id} LIMIT 1;"
  77. exitOnDBError "Es ist ein Fehler beim löschen des Tores aufgetreten"
  78. ok getRow(@game_id)
  79. end
  80.  
  81. def exitOnDBError message
  82. if @dth.isError?
  83. error message
  84. end
  85. end
  86.  
  87. def getRow game_id
  88. error "Diese Funktion ist in der Sportart nicht #{@@name} implementiert.", 501
  89. end
  90.  
  91. end
  92.  
  93. class AdminCenter
  94.  
  95. def self.buildRow data
  96. error "Diese Funktion ist in der Sportart nicht #{@@name} implementiert.", 501
  97. end
  98.  
  99. end
  100.  
  101. class UserServer
  102.  
  103. end
  104.  
  105. class UserComplete
  106.  
  107. end
  108.  
  109. end
Add Comment
Please, Sign In to add comment