simple admin list
This commit is contained in:
committed by
Steffen Schröder
parent
7a15aef94d
commit
c0d084a037
@ -315,7 +315,7 @@ class PlayerList implements ManialinkPageAnswerListener, CallbackListener, Timer
|
||||
|
||||
// Show advanced window
|
||||
if ($this->playersListShown[$player->login] && $this->playersListShown[$player->login] != self::SHOWN_MAIN_WINDOW) {
|
||||
$frame = $this->showAdvancedPlayerWidget($this->playersListShown[$player->login]);
|
||||
$frame = $this->showAdvancedPlayerWidget($player, $this->playersListShown[$player->login]);
|
||||
$maniaLink->add($frame);
|
||||
}
|
||||
|
||||
@ -343,7 +343,7 @@ class PlayerList implements ManialinkPageAnswerListener, CallbackListener, Timer
|
||||
* @param $login
|
||||
* @return Frame
|
||||
*/
|
||||
public function showAdvancedPlayerWidget($login) {
|
||||
public function showAdvancedPlayerWidget($admin, $login) {
|
||||
$player = $this->maniaControl->playerManager->getPlayer($login);
|
||||
$width = $this->maniaControl->manialinkManager->styleManager->getListWidgetsWidth();
|
||||
$height = $this->maniaControl->manialinkManager->styleManager->getListWidgetsHeight();
|
||||
@ -518,7 +518,7 @@ class PlayerList implements ManialinkPageAnswerListener, CallbackListener, Timer
|
||||
$label->setText("Set Moderator");
|
||||
$label->setTextColor($textColor);
|
||||
|
||||
if ($this->maniaControl->authenticationManager->checkRight($player, AuthenticationManager::AUTH_LEVEL_MODERATOR)) {
|
||||
if ($player->authLevel > 0 && $this->maniaControl->authenticationManager->checkRight($admin, $player->authLevel + 1)) {
|
||||
$y -= 5;
|
||||
// Revoke Rights
|
||||
$quad = clone $quad;
|
||||
|
@ -253,7 +253,7 @@ class PlayerManager implements CallbackListener {
|
||||
*/
|
||||
public function getPlayer($login) {
|
||||
if (!isset($this->players[$login])) {
|
||||
return null;
|
||||
return $this->getPlayerFromDatabaseByLogin($login);
|
||||
}
|
||||
return $this->players[$login];
|
||||
}
|
||||
@ -313,6 +313,10 @@ class PlayerManager implements CallbackListener {
|
||||
$row = $result->fetch_object();
|
||||
$result->close();
|
||||
|
||||
if (!isset($row)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$player = new Player(false);
|
||||
$player->index = $playerIndex;
|
||||
$player->login = $row->login;
|
||||
@ -324,6 +328,39 @@ class PlayerManager implements CallbackListener {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get's a Player out of the database
|
||||
*
|
||||
* @param $playerIndex
|
||||
* @return Player $player
|
||||
*/
|
||||
private function getPlayerFromDatabaseByLogin($playerLogin) {
|
||||
$mysqli = $this->maniaControl->database->mysqli;
|
||||
|
||||
$query = "SELECT * FROM `" . self::TABLE_PLAYERS . "` WHERE `login` LIKE '" . $mysqli->escape_string($playerLogin) . "';";
|
||||
$result = $mysqli->query($query);
|
||||
if (!$result) {
|
||||
trigger_error($mysqli->error);
|
||||
return null;
|
||||
}
|
||||
|
||||
$row = $result->fetch_object();
|
||||
$result->close();
|
||||
|
||||
if (!isset($row)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$player = new Player(false);
|
||||
$player->index = $row->index;
|
||||
$player->login = $row->login;
|
||||
$player->nickname = $row->nickname;
|
||||
$player->path = $row->path;
|
||||
$player->authLevel = $row->authLevel;
|
||||
|
||||
return $player;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save player in Database and fill up Object Properties
|
||||
*
|
||||
|
Reference in New Issue
Block a user