Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- #
- # Created by Jeena Paradies on 2006-10-05.
- # Copyright (c) 2006. All rights reserved.
- module Sport
- class AdminServer
- include Answer
- public
- def initialize get
- error "Es wurden keine Daten übermittelt.", 406 if get.nil?
- error "Es wurde keine Funktion zum aufrufen übermittelt.", 406 unless get.include? ":"
- get = get.split(":")
- error "Es wurden keine kompletten Daten übermittelt", 406 if get[1].nil?
- args = get[1].split(";")
- error "Es wurde keine Spiel ID übermittelt.", 406 if args[0].nil?
- @game_id = args[0]
- @dth = Database.new
- if AdminServer.public_instance_methods.include? get[0]
- method = self.method get[0]
- method.call args[1], args[2], args[3], args[4], args[5]
- end
- error "Diese Methode wird in der Sportart #{Sport.name} nicht unterstützt.", 406
- end
- def addGoal team_id, state_id, *args
- @dth.query "INSERT INTO #{@sport}_goals (game_id, team_id, state_id) VALUES(#{@game_id}, #{team_id}, #{get['state_id']});"
- exitOnDBError "Es ist ein Fehler beim hinzufügen des Tores aufgetreten"
- ok getRow(@game_id)
- end
- def delGoal team_id, *args
- @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;"
- exitOnDBError "Es ist ein Fehler beim löschen des Tores aufgetreten"
- ok getRow(@game_id)
- end
- def addRedCard team, *args
- doRedCard team, "+"
- ok getRow(@game_id)
- end
- def delRedCard team, *args
- doRedCard team, "-"
- ok getRow(@game_id)
- end
- def changeState state_id, *args
- @dth.query "UPDATE #{@sport}_games SET state = #{state_id} WHERE id = #{@game_id} LIMIT 1;"
- exitOnDBError "Es ist ein Fehler beim updaten des Status aufgetreten"
- ok getRow(@game_id)
- end
- def changeVisibility *args
- @dth.query "UPDATE #{@sport}_games SET visible = IF(visible='1','0','1') WHERE id = #{@game_id} LIMIT 1;"
- exitOnDBError "Es ist ein Fehler beim updaten der Anzeigbarkeit"
- ok getRow(@game_id)
- end
- def changeCompleteness *args
- @dth.query "UPDATE #{@sport}_games SET complete = IF(complete='1','0','1') WHERE id = #{@game_id} LIMIT 1;"
- exitOnDBError "Es ist ein Fehler beim updaten der Kompletität"
- ok getRow(@game_id)
- end
- private
- def doRedCard team, plusminus
- @dth.query "UPDATE #{@sport}_games SET red_#{team} = red_#{team} #{plusminus} 1 WHERE id = #{@game_id} LIMIT 1;"
- exitOnDBError "Es ist ein Fehler beim löschen des Tores aufgetreten"
- ok getRow(@game_id)
- end
- def exitOnDBError message
- if @dth.isError?
- error message
- end
- end
- def getRow game_id
- error "Diese Funktion ist in der Sportart nicht #{@@name} implementiert.", 501
- end
- end
- class AdminCenter
- def self.buildRow data
- error "Diese Funktion ist in der Sportart nicht #{@@name} implementiert.", 501
- end
- end
- class UserServer
- end
- class UserComplete
- end
- end
Add Comment
Please, Sign In to add comment