diff --git a/web/models/Tournament.model.php b/web/models/Tournament.model.php index ae02888..8c6a6aa 100644 --- a/web/models/Tournament.model.php +++ b/web/models/Tournament.model.php @@ -11,7 +11,8 @@ class Tournament extends Model 'referee' => ['type' => 'text'], 'text' => ['type' => 'text'], 'url' => ['type' => 'text'], //if there is one - 'logo' => ['type' => 'text', 'default' => 'https://pictshare.net/prrnrk.jpg'] + 'logo' => ['type' => 'text', 'default' => 'https://pictshare.net/prrnrk.jpg'], + 'admins' => ['type'=> 'array', 'default'=>[]], ); function isMyEvent($tournament = false) @@ -27,4 +28,18 @@ class Tournament extends Model else return false; } } + + function amIAdmin($tournament = false) + { + if ($tournament == false) + $tournament = $this->id; + + if (!$this->exists($tournament)) + return false; + else { + if (in_array($_SESSION['user']->id, $this->data['admins'])) + return true; + else return false; + } + } } diff --git a/web/pages/tournaments/controller.php b/web/pages/tournaments/controller.php index 86080e9..c5a6d67 100644 --- a/web/pages/tournaments/controller.php +++ b/web/pages/tournaments/controller.php @@ -44,6 +44,8 @@ class Tournaments extends Page { $t->load($tid); + $this->set('admin',$t->amIAdmin($tid)); + $this->set('joined',$t->isMyEvent($tid)); $this->set('tournament_id',$tid); $this->set('tdata',$t->data); $this->set('template','event.html'); @@ -111,7 +113,12 @@ class Tournaments extends Page { { $t = new Tournament(); if($id) - $t->load($id); + { + if(!in_array($_SESSION['user']->id, $t->data['admins'])) + return partial('error.html', ['errorTitle' => 'Error', 'errorMessage' => 'Du bist nicht berechtigt, dieses Turnier zu bearbeiten']); + else + $t->load($id); + } $t->name = $name; $t->date = $date; @@ -119,6 +126,8 @@ class Tournaments extends Page { $t->referee = $tournament_referee; $t->text = $tournament_text; $t->url = $tournament_url; + if(!in_array($_SESSION['user']->id, $t->data['admins'])) + $t->data['admins'][] = $_SESSION['user']->id; if($newlogo) $t->logo = $newlogo; diff --git a/web/pages/tournaments/event.html b/web/pages/tournaments/event.html index 3751aed..34728a0 100644 --- a/web/pages/tournaments/event.html +++ b/web/pages/tournaments/event.html @@ -18,11 +18,13 @@
  • Webseite:
  • +
    +