From b158104ad7bc0ef74466e26620f66949ba6f730f Mon Sep 17 00:00:00 2001 From: Fibinger Ádám <adam.fibinger@wup.hu> Date: Fri, 27 Mar 2020 14:58:26 +0100 Subject: [PATCH] Bo3 pontok + némi variálás --- EOG/Models/Stripe.php | 31 ++++++ save-interview.php | 35 +++++++ templates/admin/html-skeleton.twig | 21 +-- templates/admin/modules/overlay.twig | 170 ++++++++++++++++++++------------- templates/admin/modules/team-list-select.twig | 2 templates/overlays/stripe.twig | 16 ++ 6 files changed, 188 insertions(+), 87 deletions(-) diff --git a/EOG/Models/Stripe.php b/EOG/Models/Stripe.php index f5734fb..b676ffd 100644 --- a/EOG/Models/Stripe.php +++ b/EOG/Models/Stripe.php @@ -31,13 +31,22 @@ 'ban' => [ 'mira', 'jackal' + ], + 'score' => [ + true, + true ] + ], 'blue' => [ 'name' => 'Kék csapat', 'ban' => [ 'rook', 'blitz' + ], + 'score' => [ + true, + true ] ] ] @@ -58,6 +67,11 @@ private function setSimpleStripe() { unset($this->state['team']); + } + + public function setScore(string $team, int $number, bool $score) + { + $this->state['team'][$team]['score'][$number] = $score; } public function setCup(string $number, string $name) @@ -125,10 +139,25 @@ public function loadFromArray(array $state) { - unset($this->state); $this->state = []; + if (!empty($state['team']['orange']['score'][0])) { + $this->setScore('orange',0,true); + } + + if (!empty($state['team']['orange']['score'][1])) { + $this->setScore('orange',1,true); + } + + if (!empty($state['team']['blue']['score'][0])) { + $this->setScore('blue',0,true); + } + + if (!empty($state['team']['blue']['score'][1])) { + $this->setScore('blue',1,true); + } + if (!empty($state['stripe']["class"])) { $this->setClass($state['stripe']["class"]); diff --git a/save-interview.php b/save-interview.php new file mode 100644 index 0000000..2a1c5b3 --- /dev/null +++ b/save-interview.php @@ -0,0 +1,35 @@ +<?php + +include_once "common/base.php"; + +if (empty($_POST['interview'])) +{ + header('Location: /generator/form.php', true, 302); +} + +$interview = new \EOG\Models\Interview(); + +$interview->setTitle("Interrogacioon!"); +$interview->setTeamName($_POST['interview']['teamName']); +$interview->setPlayers($_POST['interview']['players']); + +$html_content = $twig->render('overlays/interrogacion.twig', + [ + 'i' => $interview, + 'autorefresh' => 5 + ] +); + +file_put_contents(OVERLAY_DIR . 'interview.html', $html_content); +file_put_contents(OVERLAY_DIR . 'interview-full.html', $html_content); + +var_dump($interview); + +if ($success) +{ + header('Location: /generator/form.php', true, 302); +} +else +{ + echo "Szar van a palacsintában. "; +} \ No newline at end of file diff --git a/templates/admin/html-skeleton.twig b/templates/admin/html-skeleton.twig index 295a41f..fa77e69 100644 --- a/templates/admin/html-skeleton.twig +++ b/templates/admin/html-skeleton.twig @@ -5,9 +5,8 @@ <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" - integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" - crossorigin="anonymous"> + <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" + integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> <link rel="stylesheet" href="assets/chosen.css"> {% endblock %} </head> @@ -20,16 +19,12 @@ {% block lazyload %} <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> -<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" - integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" - crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" - integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" - crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" - integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" - crossorigin="anonymous"></script> -<script src="assets/chosen.jquery.js" type="text/javascript"></script> + <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> + <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> + + + <script src="assets/chosen.jquery.js" type="text/javascript"></script> {% endblock %} </body> </html> \ No newline at end of file diff --git a/templates/admin/modules/overlay.twig b/templates/admin/modules/overlay.twig index ebb4505..8663fac 100644 --- a/templates/admin/modules/overlay.twig +++ b/templates/admin/modules/overlay.twig @@ -1,76 +1,107 @@ {% extends "admin/site-base.twig" %} {% block body %} - <h1 class="display-4">Mérkőzés overlay</h1> + <h1 class="display-4">Mérkőzés overlay</h1> + <form action="/generator/form.php" method="post"> + <input type="hidden" name="stripe[class]" value="team-ban"/> - <form action="/generator/form.php" method="post"> - <input type="hidden" name="stripe[class]" value="team-ban"/> + <div class="form-group"> + <div class="form-row"> + <div class="col-md-8 mb-3"> + <label for="validationServer01">Kupa neve</label> + <input type="text" name="stripe[cup][name]" class="form-control" id="validationServer01" + placeholder="Pld.: 5on5 Bomb Cup" value="{{ stripe.cup.name }}"> + </div> + <div class="col-md-2 mb-3"> + <label for="validationServer02">Kupa sorszám</label> + <input type="text" name="stripe[cup][number]" class="form-control" id="validationServer02" + placeholder="Pld.: #654" + value="{{ stripe.cup.number }}"> + </div> + </div> + </div> + <div class="form-row"> + <div class="form-group bg-primary"> + <div class="col-md-12 mb-4"> + {% include 'admin/modules/team-list-select.twig' with {'target': 'team_blue_name'} %} + </div> + <div class="col-md-12 mb-4"> + <div class="form-group"> + <label>Kék csapat neve + <input type="text" name="stripe[team][blue][name]" class="form-control team" + id="team_blue_name" + placeholder="Pld.: Impress!ve" value="{{ stripe.team.blue.name }}"> + </label> + </div> + <div class="form-group"> + <label> + <input type="checkbox" id="checkbox_p_b1" name="stripe[team][blue][score][0]" + value="true" {{ stripe.team.blue.score[0] ? "checked" }}>Map 1</label> + <label> + <input type="checkbox" id="checkbox_p_b2" name="stripe[team][blue][score][1]" + value="true" {{ stripe.team.blue.score[1] ? "checked" }}>Map 2</label> + </div> + </div> + <div class="col-md-12 mb-4"> + <label for="op-blue" class="bg-primary">Banolt operátorok</label> + <select name="stripe[team][blue][ban][]" class="operators" id="op-blue" style="width: 100%" + multiple> + {% for operator in operators %} + <option value="{{ operator }}" {{ operator in stripe.team.blue.ban ? "selected" }}>{{ operator|capitalize }}</option> + {% endfor %} + </select> + </div> + </div> + <div class="form-group"> + <button class="btn btn-info" title="Csapat színcsere" onclick="swapTeams(); return false;"><=> + </button> + </div> + <div class="form-group bg-warning"> + <div class="col-md-12 mb-4"> + {% include 'admin/modules/team-list-select.twig' with {'target': 'team_orange_name'} %} + </div> + <div class="col-md-12 mb-4"> + <div class="form-group"> + <label>Narancs csapat neve + <input type="text" name="stripe[team][orange][name]" class="form-control team" + id="team_orange_name" + placeholder="Pld.: Opress!ve" value="{{ stripe.team.orange.name }}"> + </label> + </div> + <div class="form-group"> + <label> + <input type="checkbox" id="checkbox_po_1" name="stripe[team][orange][score][0]" + value="true" {{ stripe.team.orange.score[0] ? "checked" }}> + Map 1 + </label> - <div class="form-group"> - <div class="form-row"> - <div class="col-md-8 mb-3"> - <label for="validationServer01">Kupa neve</label> - <input type="text" name="stripe[cup][name]" class="form-control" id="validationServer01" - placeholder="Pld.: 5on5 Bomb Cup" value="{{ stripe.cup.name }}"> - </div> - <div class="col-md-2 mb-3"> - <label for="validationServer02">Kupa sorszám</label> - <input type="text" name="stripe[cup][number]" class="form-control" id="validationServer02" - placeholder="Pld.: #654" - value="{{ stripe.cup.number }}"> - </div> - </div> - </div> - <div class="form-group"> - <div class="form-row"> - <div class="form-group bg-primary"> - {% include 'admin/modules/team-list-select.twig' %} - <div class="col-md-12 mb-4"> - <label for="team_blue_name" class="bg-primary">Kék csapat neve</label> - <input type="text" name="stripe[team][blue][name]" class="form-control team" id="team_blue_name" - placeholder="Pld.: Impress!ve" value="{{ stripe.team.blue.name }}" required> - </div> - <div class="col-md-12 mb-4"> - <label for="op-blue" class="bg-primary">Banolt operátorok</label> - <select name="stripe[team][blue][ban][]" class="operators" id="op-blue" style="width: 100%" multiple> - {% for operator in operators %} - <option value="{{ operator }}" {{ operator in stripe.team.blue.ban ? "selected" }}>{{ operator|capitalize }}</option> - {% endfor %} - </select> - </div> - </div> - <div class="form-group"> - <button class="btn btn-info" title="Csapat színcsere" onclick="swapTeams(); return false;"><=> - </button> - </div> - <div class="form-group bg-warning"> - {% include 'admin/modules/team-list-select.twig' %} - <div class="col-md-12 mb-4"> - <label for="team_orange_name">Narancs csapat neve</label> - <input type="text" name="stripe[team][orange][name]" class="form-control team" id="team_orange_name" - placeholder="Pld.: Opress!ve" value="{{ stripe.team.orange.name }}" required> - </div> - <div class="col-md-12 mb-4"> - <label for="op-orange" class="bg-warning">Banolt operátorok</label> - <select name="stripe[team][orange][ban][]" class="operators" id="op-orange" style="width: 100%" - multiple> - {% for operator in operators %} - <option value="{{ operator }}" {{ operator in stripe.team.orange.ban ? "selected" }}>{{ operator|capitalize }}</option> - {% endfor %} - </select> - </div> - </div> - </div> - </div> - <div class="form-group"> - <button class="btn btn-primary mx-auto" type="submit">Overlay felülírása</button> - </div> - </form> + <label> + <input type="checkbox" id="checkbox_po_2" name="stripe[team][orange][score][1]" + value="true" {{ stripe.team.orange.score[1] ? "checked" }}> + Map 2 + </label> + </div> + </div> + <div class="col-md-12 mb-4"> + <label for="op-orange" class="bg-warning">Banolt operátorok</label> + <select name="stripe[team][orange][ban][]" class="operators" id="op-orange" style="width: 100%" + multiple> + {% for operator in operators %} + <option value="{{ operator }}" {{ operator in stripe.team.orange.ban ? "selected" }}>{{ operator|capitalize }}</option> + {% endfor %} + </select> + </div> + </div> + </div> + <div class="form-group"> + <button class="btn btn-primary mx-auto" type="submit">Overlay felülírása</button> + </div> + </form> - <iframe src="/overlays/team-ban-refresh.html" width="100%"></iframe> + <iframe src="/overlays/team-ban-refresh.html?asdf={{ random(1, 10000000) }}" width="100%"></iframe> {% endblock %} {% block lazyload %} - {{ parent() }} - <script type="text/javascript"> + {{ parent() }} + <script type="text/javascript"> $('.operators').chosen( { 'placeholder_text_multiple': 'Banolt operátorok', @@ -78,8 +109,9 @@ } ); - $('.teamname').chosen().on('change',function (event) { - $(this).parent().children().find('input.team')[0].value = event.target.value; + $('.teamname').chosen().on('change', function (event) { + var target = document.getElementById($(this).data('target')); + $(target).val(event.target.value); }); function swapTeams() { @@ -93,5 +125,5 @@ return false; } - </script> + </script> {% endblock %} \ No newline at end of file diff --git a/templates/admin/modules/team-list-select.twig b/templates/admin/modules/team-list-select.twig index f77dd21..bb95594 100644 --- a/templates/admin/modules/team-list-select.twig +++ b/templates/admin/modules/team-list-select.twig @@ -1,4 +1,4 @@ -<select class="teamname"> +<select class="teamname" data-target="{{ target }}"> {% for teamName in teamNames %} <option value="{{ teamName }}">{{ teamName }}</option> {% endfor %} diff --git a/templates/overlays/stripe.twig b/templates/overlays/stripe.twig index f221505..4fbaf70 100644 --- a/templates/overlays/stripe.twig +++ b/templates/overlays/stripe.twig @@ -39,9 +39,19 @@ {% endif %} {% endblock %} {% block logo %} - <span class="logo"></span> + {% if stripe.team.blue.score[0] == true %} + <div class="mapwin left one"></div> + {% endif %} + {% if stripe.team.blue.score[1] == true %} + <div class="mapwin left two"></div> + {% endif %} + {% if stripe.team.orange.score[0] == true %} + <div class="mapwin right one"></div> + {% endif %} + {% if stripe.team.orange.score[1] == true %} + <div class="mapwin right two"></div> + {% endif %} {% endblock %} - {% block team_orange %} {% if stripe.team.orange and stripe.stripe.class in ['team-ban', 'team'] %} <span class="team orange"> @@ -62,7 +72,7 @@ {% block info_right %} <span class="info right"> - {% if stripe.cup.number %} + {% if stripe.cup.number starts with '#' %} <img class="esl-logo" src="/assets/ESL_Logo.png"/> {% endif %} </span> -- Gitblit v1.8.0