From ffa7c6f5c007dfc826aef0ca27d23bb69bbeed7e Mon Sep 17 00:00:00 2001
From: Fibinger Ádám <adam.fibinger@wup.hu>
Date: Thu, 04 Jun 2020 23:10:08 +0200
Subject: [PATCH] BO pöttyök + BestOf kupa típus

---
 EOG/Models/Stripe.php                |   51 +++++++++++++++++--------
 templates/admin/modules/overlay.twig |   27 +++++++++++--
 templates/overlays/stripe.twig       |   21 +++++-----
 3 files changed, 69 insertions(+), 30 deletions(-)

diff --git a/EOG/Models/Stripe.php b/EOG/Models/Stripe.php
index 6ebce79..3250137 100644
--- a/EOG/Models/Stripe.php
+++ b/EOG/Models/Stripe.php
@@ -23,28 +23,31 @@
 		'cup'    => [
 			'number' => '#76',
 			'name'   => '5on5 Open Cup',
+			'bestof'   => '5',
 		],
 		'team'   => [
 			'orange' =>
 				[
-					'name' => 'Narancs Csapat',
-					'ban'  => [
+					'name'  => 'Narancs Csapat',
+					'ban'   => [
 						'mira',
 						'jackal'
 					],
 					'score' => [
+						true,
 						true,
 						true
 					]
 
 				],
 			'blue'   => [
-				'name' => 'Kék csapat',
-				'ban'  => [
+				'name'  => 'Kék csapat',
+				'ban'   => [
 					'rook',
 					'blitz'
 				],
 				'score' => [
+					true,
 					true,
 					true
 				]
@@ -74,10 +77,11 @@
 		$this->state['team'][$team]['score'][$number] = $score;
 	}
 
-	public function setCup(string $number, string $name)
+	public function setCup(string $number, string $name, int $bestOf = 1)
 	{
 		$this->state['cup']['number'] = $number;
 		$this->state['cup']['name'] = $name;
+		$this->state['cup']['bestof'] = $bestOf;
 	}
 
 	/**
@@ -93,7 +97,7 @@
 		}
 	}
 
-	public function setTeamName(string $team_color = self::TEAM_BLUE, $name= '')
+	public function setTeamName(string $team_color = self::TEAM_BLUE, $name = '')
 	{
 		$this->testColor($team_color);
 		$this->state['team'][$team_color]['name'] = $name;
@@ -142,20 +146,34 @@
 		unset($this->state);
 		$this->state = [];
 
-		if (!empty($state['team']['orange']['score'][0])) {
-			$this->setScore('orange',0,true);
+		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']['orange']['score'][1]))
+		{
+			$this->setScore('orange', 1, true);
 		}
 
-		if (!empty($state['team']['blue']['score'][0])) {
-			$this->setScore('blue',0,true);
+		if (!empty($state['team']['orange']['score'][2]))
+		{
+			$this->setScore('orange', 2, true);
 		}
 
-		if (!empty($state['team']['blue']['score'][1])) {
-			$this->setScore('blue',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['team']['blue']['score'][2]))
+		{
+			$this->setScore('blue', 2, true);
 		}
 
 		if (!empty($state['stripe']["class"]))
@@ -163,11 +181,12 @@
 			$this->setClass($state['stripe']["class"]);
 		}
 
-		if (!empty($state['cup']['name']) || !empty($state['cup']['number']))
+		if (!empty($state['cup']['name']) || !empty($state['cup']['number']) || !empty($state['cup']['bestof']))
 		{
 			$cupNum = $state['cup']['number'] ?? '';
 			$cupName = $state['cup']['name'] ?? '';
-			$this->setCup($cupNum, $cupName);
+			$bestOf = (int) $state['cup']['bestof'] ?? 1;
+			$this->setCup($cupNum, $cupName, $bestOf);
 		}
 
 		if (!empty($state['team']))
diff --git a/templates/admin/modules/overlay.twig b/templates/admin/modules/overlay.twig
index 8921375..b35f74d 100644
--- a/templates/admin/modules/overlay.twig
+++ b/templates/admin/modules/overlay.twig
@@ -17,7 +17,16 @@
 					<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-8 mb-3">
+					<label for="bestof">Win condition</label>
+					<select name="stripe[cup][bestof]" class="form-control" id="bestof">
+						<option value="1" {{ stripe.cup.bestof == 1 ? "selected='selected'" }}>Best Of 1</option>
+						<option value="3" {{ stripe.cup.bestof == 3 ? "selected='selected'" }}>Best Of 3</option>
+						<option value="5" {{ stripe.cup.bestof == 5 ? "selected='selected'" }}>Best Of 5</option>
+					</select>
+				</div>
 			</div>
+
 		</div>
 		<div class="form-row">
 			<div class="form-group bg-primary">
@@ -35,10 +44,16 @@
 					<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>
+								   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>
+								   value="true" {{ stripe.team.blue.score[1] ? "checked" }}>Map 2
+						</label>
+						<label>
+							<input type="checkbox" id="checkbox_p_b3" name="stripe[team][blue][score][2]"
+								   value="true" {{ stripe.team.blue.score[2] ? "checked" }}>Map 3
+						</label>
 					</div>
 				</div>
 				<div class="col-md-12 mb-4">
@@ -79,6 +94,11 @@
 								   value="true" {{ stripe.team.orange.score[1] ? "checked" }}>
 							Map 2
 						</label>
+						<label>
+							<input type="checkbox" id="checkbox_po_3" name="stripe[team][orange][score][2]"
+								   value="true" {{ stripe.team.orange.score[2] ? "checked" }}>
+							Map 3
+						</label>
 					</div>
 				</div>
 				<div class="col-md-12 mb-4">
@@ -118,10 +138,9 @@
             var blue = document.getElementById('team_blue_name');
             var orange = document.getElementById('team_orange_name');
 
-            var blueTick = [], orangeTick = [];
-
             swapCheckboxValues(document.getElementById('checkbox_p_b1'), document.getElementById('checkbox_po_1'));
             swapCheckboxValues(document.getElementById('checkbox_p_b2'), document.getElementById('checkbox_po_2'));
+            swapCheckboxValues(document.getElementById('checkbox_p_b3'), document.getElementById('checkbox_po_3'));
 
             var blue_name = blue.value;
             blue.value = orange.value;
diff --git a/templates/overlays/stripe.twig b/templates/overlays/stripe.twig
index cc785f1..d505fe5 100644
--- a/templates/overlays/stripe.twig
+++ b/templates/overlays/stripe.twig
@@ -39,18 +39,19 @@
 				{% endif %}
 			{% endblock %}
 			{% block logo %}
-				{% if stripe.team.blue.score[0] == true %}
-					<div class="mapwin left one"></div>
+
+					<div class="mapwin left one {{ stripe.team.blue.score[0] ? "checked" }}"></div>
+					<div class="mapwin right one {{ stripe.team.orange.score[0] ? "checked" }}"></div>
+
+				{% if stripe.cup.bestof > 1 %}
+					<div class="mapwin left two {{ stripe.team.blue.score[1] ? "checked" }}"></div>
+					<div class="mapwin right two {{ stripe.team.orange.score[1] ? "checked" }}"></div>
 				{% endif %}
-				{% if stripe.team.blue.score[1] == true %}
-					<div class="mapwin left two"></div>
+				{% if stripe.cup.bestof > 3 %}
+					<div class="mapwin left three {{ stripe.team.blue.score[2] ? "checked" }}"></div>
+					<div class="mapwin right three {{ stripe.team.orange.score[2] ? "checked" }}"></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'] %}

--
Gitblit v1.8.0