Best Ch.:
{{ getMax(tourStats[id].checkoutPoints) }}
{{ getMax(page.stats.stats[id].checkoutPoints) }}
@@ -387,6 +414,27 @@ const numCheckoutTriesDialog = (numDarts, start=1) => {
};
}
+const numCheckinTriesDialog = (numDarts, start=1) => {
+ const buttons = [];
+ for (var i = start; i <= numDarts; i++) {
+ buttons.push({
+ "component": "d-plainElem",
+ "props" : {
+ "text": `${i}`,
+ "autofocus": i == 0,
+ "data-tabindex": i
+ },
+ "result" : i
+ })
+ }
+ return {
+ "withshortkey": true,
+ "title": "Checkin Tries",
+ "text": `How many tries on a Checkin?` ,
+ "buttons": buttons
+ };
+}
+
const impossibleDialog = (sum) => {
return {
"withshortkey": true,
@@ -433,6 +481,7 @@ function getGame(id){
title: "page.title",
id: "page.id",
modus: "page.max.toInt",
+ in: "page.in",
out: "page.out",
game: "page.rounds.parseJSON",
stats: "page.stats.parseJSON",
@@ -469,6 +518,8 @@ function savePregame(page){
return setKirby(page.id, {
sets: page.sets,
legs: page.legs,
+ max: page.modus,
+ in: page.in,
players: page.players.map((p) => p.uuid),
startdate: page.startdate,
rounds: page.game ? JSON.stringify(page.game) : "",
@@ -558,6 +609,15 @@ const gameStateMachine = (gamestack, stack, page, computedProps) => {
// Bust TODO
const [_, error] = await overlayAndPop("d-dialog", impossibleDialog(sum), stack);
return [1, visit];
+ } else if (ret == 3) {
+ // Checkins
+ const [ret, error] = await overlayAndPop("d-dialog", numCheckinTriesDialog(3), stack);
+ if (error) {
+ return [1, visit];
+ }
+ storeVisit(page, visit.split(","), sum, 3, 0, ret);
+ saveGame(page);
+ return [1, undefined]
} else if (ret == 2) {
// Normal
storeVisit(page, visit.split(","), sum, 3, 0);
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/54kd4kbk/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/54kd4kbk/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/54kd4kbk/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/54kd4kbk/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/7nykca7i/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/7nykca7i/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/7nykca7i/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/7nykca7i/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/her1fj3r/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/her1fj3r/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/her1fj3r/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/her1fj3r/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/jm4ju7pi/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/jm4ju7pi/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/jm4ju7pi/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/jm4ju7pi/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/l0j8jkts/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/l0j8jkts/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/l0j8jkts/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/l0j8jkts/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/lsng5wlg/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/lsng5wlg/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/lsng5wlg/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/lsng5wlg/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/m7tb5bac/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/m7tb5bac/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/m7tb5bac/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/m7tb5bac/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/mxkfs1yq/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/mxkfs1yq/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/mxkfs1yq/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/mxkfs1yq/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/osbkse46/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/osbkse46/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/osbkse46/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/osbkse46/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/rtjuyvsv/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/rtjuyvsv/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/rtjuyvsv/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/rtjuyvsv/xoi.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/tournament.txt b/content/2_seasons/1_2024/1_summer-slam/tournament.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/tournament.txt
rename to content/2_seasons/1_2024/1_summer-slam/tournament.txt
diff --git a/content/2_seasons/1_season-2024/1_summer-slam/z7nvffvf/xoi.txt b/content/2_seasons/1_2024/1_summer-slam/z7nvffvf/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/1_summer-slam/z7nvffvf/xoi.txt
rename to content/2_seasons/1_2024/1_summer-slam/z7nvffvf/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/13tntlfj/xoi.txt b/content/2_seasons/1_2024/2_spring-break/13tntlfj/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/13tntlfj/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/13tntlfj/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/3flmnq6b/xoi.txt b/content/2_seasons/1_2024/2_spring-break/3flmnq6b/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/3flmnq6b/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/3flmnq6b/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/cbwvnzxm/xoi.txt b/content/2_seasons/1_2024/2_spring-break/cbwvnzxm/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/cbwvnzxm/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/cbwvnzxm/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/cutywjod/xoi.txt b/content/2_seasons/1_2024/2_spring-break/cutywjod/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/cutywjod/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/cutywjod/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/kkchbr4a/xoi.txt b/content/2_seasons/1_2024/2_spring-break/kkchbr4a/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/kkchbr4a/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/kkchbr4a/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/ovcmf1c0/xoi.txt b/content/2_seasons/1_2024/2_spring-break/ovcmf1c0/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/ovcmf1c0/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/ovcmf1c0/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/sbggpar6/xoi.txt b/content/2_seasons/1_2024/2_spring-break/sbggpar6/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/sbggpar6/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/sbggpar6/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/tournament.txt b/content/2_seasons/1_2024/2_spring-break/tournament.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/tournament.txt
rename to content/2_seasons/1_2024/2_spring-break/tournament.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/utbpew7l/xoi.txt b/content/2_seasons/1_2024/2_spring-break/utbpew7l/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/utbpew7l/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/utbpew7l/xoi.txt
diff --git a/content/2_seasons/1_season-2024/2_spring-break/zxlkihnz/xoi.txt b/content/2_seasons/1_2024/2_spring-break/zxlkihnz/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/2_spring-break/zxlkihnz/xoi.txt
rename to content/2_seasons/1_2024/2_spring-break/zxlkihnz/xoi.txt
diff --git a/content/2_seasons/1_season-2024/3_wm/1_1-runde/xoi.txt b/content/2_seasons/1_2024/3_wm/1_1-runde/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/3_wm/1_1-runde/xoi.txt
rename to content/2_seasons/1_2024/3_wm/1_1-runde/xoi.txt
diff --git a/content/2_seasons/1_season-2024/3_wm/2_2-runde/xoi.txt b/content/2_seasons/1_2024/3_wm/2_2-runde/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/3_wm/2_2-runde/xoi.txt
rename to content/2_seasons/1_2024/3_wm/2_2-runde/xoi.txt
diff --git a/content/2_seasons/1_season-2024/3_wm/3_3-runde/xoi.txt b/content/2_seasons/1_2024/3_wm/3_3-runde/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/3_wm/3_3-runde/xoi.txt
rename to content/2_seasons/1_2024/3_wm/3_3-runde/xoi.txt
diff --git a/content/2_seasons/1_season-2024/3_wm/tournament.txt b/content/2_seasons/1_2024/3_wm/tournament.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/3_wm/tournament.txt
rename to content/2_seasons/1_2024/3_wm/tournament.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/0tdcwlko/xoi.txt b/content/2_seasons/1_2024/4_liga/0tdcwlko/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/0tdcwlko/xoi.txt
rename to content/2_seasons/1_2024/4_liga/0tdcwlko/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/1csevwpm/xoi.txt b/content/2_seasons/1_2024/4_liga/1csevwpm/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/1csevwpm/xoi.txt
rename to content/2_seasons/1_2024/4_liga/1csevwpm/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/5s62p5jp/xoi.txt b/content/2_seasons/1_2024/4_liga/5s62p5jp/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/5s62p5jp/xoi.txt
rename to content/2_seasons/1_2024/4_liga/5s62p5jp/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/a4iulyd5/xoi.txt b/content/2_seasons/1_2024/4_liga/a4iulyd5/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/a4iulyd5/xoi.txt
rename to content/2_seasons/1_2024/4_liga/a4iulyd5/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/a9z1tmvh/xoi.txt b/content/2_seasons/1_2024/4_liga/a9z1tmvh/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/a9z1tmvh/xoi.txt
rename to content/2_seasons/1_2024/4_liga/a9z1tmvh/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/anobo58l/xoi.txt b/content/2_seasons/1_2024/4_liga/anobo58l/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/anobo58l/xoi.txt
rename to content/2_seasons/1_2024/4_liga/anobo58l/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/cqeaezmg/xoi.txt b/content/2_seasons/1_2024/4_liga/cqeaezmg/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/cqeaezmg/xoi.txt
rename to content/2_seasons/1_2024/4_liga/cqeaezmg/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/eiwqlmue/xoi.txt b/content/2_seasons/1_2024/4_liga/eiwqlmue/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/eiwqlmue/xoi.txt
rename to content/2_seasons/1_2024/4_liga/eiwqlmue/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/eqwdsia4/xoi.txt b/content/2_seasons/1_2024/4_liga/eqwdsia4/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/eqwdsia4/xoi.txt
rename to content/2_seasons/1_2024/4_liga/eqwdsia4/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/gp3pj38u/xoi.txt b/content/2_seasons/1_2024/4_liga/gp3pj38u/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/gp3pj38u/xoi.txt
rename to content/2_seasons/1_2024/4_liga/gp3pj38u/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/iat8cs7j/xoi.txt b/content/2_seasons/1_2024/4_liga/iat8cs7j/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/iat8cs7j/xoi.txt
rename to content/2_seasons/1_2024/4_liga/iat8cs7j/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/ix1srhrk/xoi.txt b/content/2_seasons/1_2024/4_liga/ix1srhrk/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/ix1srhrk/xoi.txt
rename to content/2_seasons/1_2024/4_liga/ix1srhrk/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/jajnvwbu/xoi.txt b/content/2_seasons/1_2024/4_liga/jajnvwbu/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/jajnvwbu/xoi.txt
rename to content/2_seasons/1_2024/4_liga/jajnvwbu/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/kdcqpxs1/xoi.txt b/content/2_seasons/1_2024/4_liga/kdcqpxs1/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/kdcqpxs1/xoi.txt
rename to content/2_seasons/1_2024/4_liga/kdcqpxs1/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/lziuhybw/xoi.txt b/content/2_seasons/1_2024/4_liga/lziuhybw/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/lziuhybw/xoi.txt
rename to content/2_seasons/1_2024/4_liga/lziuhybw/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/mcjcgkbg/xoi.txt b/content/2_seasons/1_2024/4_liga/mcjcgkbg/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/mcjcgkbg/xoi.txt
rename to content/2_seasons/1_2024/4_liga/mcjcgkbg/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/olf1bjdm/xoi.txt b/content/2_seasons/1_2024/4_liga/olf1bjdm/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/olf1bjdm/xoi.txt
rename to content/2_seasons/1_2024/4_liga/olf1bjdm/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/ovasmz7s/xoi.txt b/content/2_seasons/1_2024/4_liga/ovasmz7s/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/ovasmz7s/xoi.txt
rename to content/2_seasons/1_2024/4_liga/ovasmz7s/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/sfln9xej/xoi.txt b/content/2_seasons/1_2024/4_liga/sfln9xej/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/sfln9xej/xoi.txt
rename to content/2_seasons/1_2024/4_liga/sfln9xej/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/sgl9kqvo/xoi.txt b/content/2_seasons/1_2024/4_liga/sgl9kqvo/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/sgl9kqvo/xoi.txt
rename to content/2_seasons/1_2024/4_liga/sgl9kqvo/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/tournament.txt b/content/2_seasons/1_2024/4_liga/tournament.txt
similarity index 96%
rename from content/2_seasons/1_season-2024/4_liga/tournament.txt
rename to content/2_seasons/1_2024/4_liga/tournament.txt
index 276be35..fbcdbca 100644
--- a/content/2_seasons/1_season-2024/4_liga/tournament.txt
+++ b/content/2_seasons/1_2024/4_liga/tournament.txt
@@ -30,7 +30,7 @@ Participants:
----
-Date:
+Date: 2024-12-31
----
diff --git a/content/2_seasons/1_season-2024/4_liga/uslfpwja/xoi.txt b/content/2_seasons/1_2024/4_liga/uslfpwja/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/uslfpwja/xoi.txt
rename to content/2_seasons/1_2024/4_liga/uslfpwja/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/ut3juonn/xoi.txt b/content/2_seasons/1_2024/4_liga/ut3juonn/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/ut3juonn/xoi.txt
rename to content/2_seasons/1_2024/4_liga/ut3juonn/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/vmxmfxxs/xoi.txt b/content/2_seasons/1_2024/4_liga/vmxmfxxs/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/vmxmfxxs/xoi.txt
rename to content/2_seasons/1_2024/4_liga/vmxmfxxs/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/wksontke/xoi.txt b/content/2_seasons/1_2024/4_liga/wksontke/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/wksontke/xoi.txt
rename to content/2_seasons/1_2024/4_liga/wksontke/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/wuhzwter/xoi.txt b/content/2_seasons/1_2024/4_liga/wuhzwter/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/wuhzwter/xoi.txt
rename to content/2_seasons/1_2024/4_liga/wuhzwter/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/ypt4e90v/xoi.txt b/content/2_seasons/1_2024/4_liga/ypt4e90v/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/ypt4e90v/xoi.txt
rename to content/2_seasons/1_2024/4_liga/ypt4e90v/xoi.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/zavij0ox/xoi.txt b/content/2_seasons/1_2024/4_liga/zavij0ox/xoi.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/4_liga/zavij0ox/xoi.txt
rename to content/2_seasons/1_2024/4_liga/zavij0ox/xoi.txt
diff --git a/content/2_seasons/1_2024/5_autumn-grand-prix/tournament.txt b/content/2_seasons/1_2024/5_autumn-grand-prix/tournament.txt
new file mode 100644
index 0000000..b24f3f8
--- /dev/null
+++ b/content/2_seasons/1_2024/5_autumn-grand-prix/tournament.txt
@@ -0,0 +1,25 @@
+Title: Autumn Grand Prix
+
+----
+
+Participants:
+
+- page://XDZibCkgJ9repYEx
+- page://5bw1wQY8DAfxUVAw
+- page://Ue0F1SstBqE7xVKr
+- page://4CPpeIGeeK8UHTf8
+- page://fShTMgFob20fogyr
+- page://xRomcRk5I5n4gkq5
+- page://90CUYLfokdOm9Gw0
+- page://7GAUHPdaKdD2sHm9
+- page://x8tm8FzBBY95HqIi
+- page://UkQNJytohCGIXySl
+- page://2ymjLWSMV1xXil3P
+
+----
+
+Date: 2024-10-19
+
+----
+
+Uuid: xt5fiX8sJ6Dk3ZPT
\ No newline at end of file
diff --git a/content/2_seasons/1_2024/5_autumn-grand-prix/wokuqp02/xoi.txt b/content/2_seasons/1_2024/5_autumn-grand-prix/wokuqp02/xoi.txt
new file mode 100644
index 0000000..80adaf6
--- /dev/null
+++ b/content/2_seasons/1_2024/5_autumn-grand-prix/wokuqp02/xoi.txt
@@ -0,0 +1,52 @@
+Title: wOkUqP02
+
+----
+
+Max: 301
+
+----
+
+Sets: 1
+
+----
+
+Legs: 7
+
+----
+
+In: Double
+
+----
+
+Out: Double
+
+----
+
+Players:
+
+- page://fShTMgFob20fogyr
+- page://90CUYLfokdOm9Gw0
+
+----
+
+Startdate: 2024-10-14 22:39:00
+
+----
+
+Enddate:
+
+----
+
+Rounds: {"sets":[{"points":[0,0],"legs":[{"points":[0,0],"visits":[{"player":"page://fShTMgFob20fogyr","throws":[],"visit":1,"checkoutTries":0,"checkinTries":0,"numDarts":0}]}]}]}
+
+----
+
+Stats: {"stats":[{"180":0,"player":"page://fShTMgFob20fogyr","average":[0,0],"first9":[0,0],"checkouts":[0,0],"checkins":[0,0],"checkinPoints":[],"checkoutPoints":[],"60+":0,"100+":0,"140+":0},{"180":0,"player":"page://90CUYLfokdOm9Gw0","average":[0,0],"first9":[0,0],"checkouts":[0,0],"checkins":[0,0],"checkinPoints":[],"checkoutPoints":[],"60+":0,"100+":0,"140+":0}],"sets":[{"stats":[{"180":0,"player":"page://fShTMgFob20fogyr","average":[0,0],"first9":[0,0],"checkouts":[0,0],"checkins":[0,0],"checkinPoints":[],"checkoutPoints":[],"60+":0,"100+":0,"140+":0},{"180":0,"player":"page://90CUYLfokdOm9Gw0","average":[0,0],"first9":[0,0],"checkouts":[0,0],"checkins":[0,0],"checkinPoints":[],"checkoutPoints":[],"60+":0,"100+":0,"140+":0}],"legs":[{"stats":[{"180":0,"player":"page://fShTMgFob20fogyr","average":[0,0],"first9":[0,0],"checkouts":[0,0],"checkins":[0,0],"checkinPoints":[],"checkoutPoints":[],"60+":0,"100+":0,"140+":0},{"180":0,"player":"page://90CUYLfokdOm9Gw0","average":[0,0],"first9":[0,0],"checkouts":[0,0],"checkins":[0,0],"checkinPoints":[],"checkoutPoints":[],"60+":0,"100+":0,"140+":0}]}]}]}
+
+----
+
+Comment:
+
+----
+
+Uuid: 934yZZl3DLYrDfWc
\ No newline at end of file
diff --git a/content/2_seasons/1_season-2024/season.txt b/content/2_seasons/1_2024/season.txt
similarity index 100%
rename from content/2_seasons/1_season-2024/season.txt
rename to content/2_seasons/1_2024/season.txt
diff --git a/content/2_seasons/1_season-2024/4_liga/ni9jxqdn/xoi.txt b/content/2_seasons/1_season-2024/4_liga/ni9jxqdn/xoi.txt
deleted file mode 100644
index 89218d8..0000000
--- a/content/2_seasons/1_season-2024/4_liga/ni9jxqdn/xoi.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-Title: Ni9jxqdN
-
-----
-
-Uuid: M0KXAXMXHbG2jPHl
-
-----
-
-Max: 501
-
-----
-
-Sets: 1
-
-----
-
-Legs: 7
-
-----
-
-In: Straight
-
-----
-
-Out: Double
-
-----
-
-Players:
-
-----
-
-Startdate:
-
-----
-
-Enddate:
-
-----
-
-Comment:
\ No newline at end of file
diff --git a/site/models/season.php b/site/models/season.php
index 27967f2..a0d94d7 100644
--- a/site/models/season.php
+++ b/site/models/season.php
@@ -11,6 +11,6 @@ class SeasonPage extends Page {
public function getRunningTournaments() {
return $this->children()->filter(
fn ($child) => $child->date()->isEmpty() or $child->date()->toDate()+(60*60*24) > time()
- );
+ )->sortBy('date', 'asc');
}
}
diff --git a/site/models/xoi.php b/site/models/xoi.php
index 177205b..3498680 100644
--- a/site/models/xoi.php
+++ b/site/models/xoi.php
@@ -16,29 +16,32 @@ class XoiPage extends Page {
$sum["checkouts"][0] += $stat2["checkouts"][0];
$sum["checkoutPoints"] = array_merge($sum["checkoutPoints"], $stat2["checkoutPoints"]);
$sum["checkouts"][1] += $stat2["checkouts"][1];
+ $sum["checkins"][0] += $stat2["checkins"][0];
+ $sum["checkinPoints"] = array_merge($sum["checkinPoints"], $stat2["checkinPoints"]);
+ $sum["checkins"][1] += $stat2["checkins"][1];
$sum["180"] += $stat2["180"];
$sum["140+"] += $stat2["140+"];
$sum["100+"] += $stat2["100+"];
$sum["60+"] += $stat2["60+"];
return $sum;
}
-
- /**
- * @kql-allowed
- */
- public function tournamentStats() {
- if (count($this->playerUUIDs()) == 2){
- return [$this->parent()->getStats($this->playerUUIDs()[0]),$this->parent()->getStats($this->playerUUIDs()[1])];
- }
- return [];
- }
-
- public function reorderPlayer($order){
- kirby()->impersonate('kirby');
- return $this->update([
- "players" => $order
- ]);
- }
+ //
+ // /**
+ // * @kql-allowed
+ // */
+ // public function tournamentStats() {
+ // if (count($this->playerUUIDs()) == 2){
+ // return [$this->parent()->getStats($this->playerUUIDs()[0]),$this->parent()->getStats($this->playerUUIDs()[1])];
+ // }
+ // return [];
+ // }
+ //
+ // public function reorderPlayer($order){
+ // kirby()->impersonate('kirby');
+ // return $this->update([
+ // "players" => $order
+ // ]);
+ // }
public function playerUUIDs(){
$pp = $this->players()->toPages();
$players = [];
@@ -47,58 +50,58 @@ class XoiPage extends Page {
}
return $players;
}
-
- public function getPlayerPos($playerUUIDs, $uuid)
- {
- $k = 0;
- foreach ($playerUUIDs as $i => $playeruuid) {
- if ($playeruuid == $uuid) {
- break;
- }
- $k++;
- }
- return $k;
- }
- // entity can be visit, leg or set
- public function nextPlayer($playerUUIDs, $uuid)
- {
- $k = $this->getPlayerPos($playerUUIDs, $uuid);
- return $playerUUIDs[($k+1)%count($playerUUIDs)];
- }
-
- public function updateStats(&$stats, $visit){
- $playerUUIDs = $this->playerUUIDs();
- $k = $this->getPlayerPos($playerUUIDs, $visit["player"]);
-
- $todos = [&$stats["stats"][$k]];
- $todos[] = &last($stats["sets"])["stats"][$k];
- $todos[] = &last(last($stats["sets"])["legs"])["stats"][$k];
-
- foreach ($todos as $i => $value) {
- $todos[$i]["average"][0] += $visit["sum"];
- $todos[$i]["average"][1] += $visit["numDarts"];
- if ($visit["visit"] < 4) {
- $todos[$i]["first9"][0] += $visit["sum"];
- $todos[$i]["first9"][1] += $visit["numDarts"];
- }
- if ($visit["toGo"][$k] == 0) {
- $todos[$i]["checkouts"][0] += 1;
- $todos[$i]["checkoutPoints"][] += $visit["sum"];
- }
- $todos[$i]["checkouts"][1] += $visit["checkoutTries"];
- if ($visit["sum"] == 180) {
- $todos[$i]["180"] += 1;
- } elseif ($visit["sum"] >= 140) {
- $todos[$i]["140+"] += 1;
- } elseif ($visit["sum"] >= 100) {
- $todos[$i]["100+"] += 1;
- } elseif ($visit["sum"] >= 60) {
- $todos[$i]["60+"] += 1;
- }
- }
- return $stats;
- }
-
+ //
+ // public function getPlayerPos($playerUUIDs, $uuid)
+ // {
+ // $k = 0;
+ // foreach ($playerUUIDs as $i => $playeruuid) {
+ // if ($playeruuid == $uuid) {
+ // break;
+ // }
+ // $k++;
+ // }
+ // return $k;
+ // }
+ // // entity can be visit, leg or set
+ // public function nextPlayer($playerUUIDs, $uuid)
+ // {
+ // $k = $this->getPlayerPos($playerUUIDs, $uuid);
+ // return $playerUUIDs[($k+1)%count($playerUUIDs)];
+ // }
+ //
+ // public function updateStats(&$stats, $visit){
+ // $playerUUIDs = $this->playerUUIDs();
+ // $k = $this->getPlayerPos($playerUUIDs, $visit["player"]);
+ //
+ // $todos = [&$stats["stats"][$k]];
+ // $todos[] = &last($stats["sets"])["stats"][$k];
+ // $todos[] = &last(last($stats["sets"])["legs"])["stats"][$k];
+ //
+ // foreach ($todos as $i => $value) {
+ // $todos[$i]["average"][0] += $visit["sum"];
+ // $todos[$i]["average"][1] += $visit["numDarts"];
+ // if ($visit["visit"] < 4) {
+ // $todos[$i]["first9"][0] += $visit["sum"];
+ // $todos[$i]["first9"][1] += $visit["numDarts"];
+ // }
+ // if ($visit["toGo"][$k] == 0) {
+ // $todos[$i]["checkouts"][0] += 1;
+ // $todos[$i]["checkoutPoints"][] += $visit["sum"];
+ // }
+ // $todos[$i]["checkouts"][1] += $visit["checkoutTries"];
+ // if ($visit["sum"] == 180) {
+ // $todos[$i]["180"] += 1;
+ // } elseif ($visit["sum"] >= 140) {
+ // $todos[$i]["140+"] += 1;
+ // } elseif ($visit["sum"] >= 100) {
+ // $todos[$i]["100+"] += 1;
+ // } elseif ($visit["sum"] >= 60) {
+ // $todos[$i]["60+"] += 1;
+ // }
+ // }
+ // return $stats;
+ // }
+ //
private function newVisit($player, $round)
{
return array(
@@ -106,171 +109,172 @@ class XoiPage extends Page {
'throws' => [],
'visit' => $round,
'checkoutTries' => 0,
+ 'checkinTries' => 0,
'numDarts' => 0,
);
}
-
- public function calcPoints($throw)
- {
- $throw = trim($throw);
- if ($throw == "") {
- return 0;
- }
- if ($throw == "SB"){
- return 25;
- }
- if ($throw == "DB"){
- return 50;
- }
- if ($throw[0] == "S" || $throw[0] == "O" || $throw[0] == "I"){
- return intval(substr($throw, 1));
- }
- if ($throw[0] == "D"){
- return 2*intval(substr($throw, 1));
- }
- if ($throw[0] == "T"){
- return 3*intval(substr($throw, 1));
- }
- if ($throw[0] == "M"){
- return 0;
- } else {
- // TODO: Check for Na
- return intval($throw);
- }
- }
-
- public function sumPoints($throws)
- {
- $sum = 0;
- foreach ($throws as $i => $throw) {
- $points = $this->calcPoints($throw);
- $sum += $points;
- }
- return $sum;
- }
-
- public function getWinner($points, $mode)
- {
- $sum = 0;
- $k = 0;
- $max = -1;
- foreach ($points as $i => $point) {
- $sum += $point;
- if ($max < $point) {
- $max = $point;
- $maxidx = $k;
- }
- $k++;
- }
- if ($max > $mode/$k) {
- return $maxidx;
- }
- if ($sum == $mode) {
- return -2;
- }
- return -1;
- }
-
- public function clearLastVisit()
- {
- $game = $this->rounds()->parseJSON();
- $set = &$game["sets"][count($game["sets"])-1];
- $leg = &$set["legs"][count($set["legs"])-1];
- $visit = &$leg["visits"][count($leg["visits"])-1];
- $visit["throws"] = [];
- $visit["checkoutTries"] = 0;
- $visit["numDarts"] = 0;
- unset($visit["sum"]);
- unset($visit["toGo"]);
- return $this->storeGame($game);
- }
-
- public function addThrows($throws, $numDarts, $checkoutTries, $done=true)
- {
- $game = $this->rounds()->parseJSON();
- $set = &$game["sets"][count($game["sets"])-1];
- $leg = &$set["legs"][count($set["legs"])-1];
- $visit = &$leg["visits"][count($leg["visits"])-1];
- $current_throws = $visit['throws'];
- if (count($current_throws)+count($throws) > 3) {
- $error = "Two many throws given: ".count($current_throws)." + ".count($throws)." > 3";
- throw new \Exception($error, 1);
- }
- $new_throws = array_merge($current_throws, $throws);
-
- $playerUUIDs = $this->playerUUIDs();
- $k = $this->getPlayerPos($playerUUIDs, $visit["player"]);
- if (count($leg["visits"])-2 < 0) {
- $toGo = array_fill(0, count($playerUUIDs), $this->max()->toInt());
- } else {
- $toGo = $leg["visits"][count($leg["visits"])-2]["toGo"];
- }
-
- $visit["numDarts"] += $numDarts;
- $visit["throws"] = $new_throws;
- $visit["checkoutTries"] += $checkoutTries;
- $visit["sum"] = $this->sumPoints($visit["throws"]);
-
- $rest = $toGo[$k] - $visit["sum"];
- if ($rest < 0 or ($this->out()->toString() == "Double" && $rest == 1)) {
- $visit["sum"] = 0;
- } else {
- $toGo[$k] = $rest;
- }
- $visit["toGo"] = $toGo;
- if (!$done) {
- $this->storeGame($game);
- return;
- }
-
- $stats = $this->stats()->parseJSON();
- $page = $this->updateStats($stats, $visit);
- $update = [];
- if ($rest != 0) {
- // Normal case...next players turn
- $nextPlayer = $this->nextPlayer($playerUUIDs, $visit["player"]);
- $isNextRound = 0;
- if (last(last($game["sets"])["legs"])['visits'][0]["player"] == $nextPlayer) {
- $isNextRound = 1;
- }
- $newVisit = $this->newVisit($nextPlayer, $visit["visit"]+$isNextRound);
- last(last($game["sets"])["legs"])['visits'][] = $newVisit;
- } else {
- // rest == 0 leg finished
- // updates Stats...this is maybe the wrong place to store points
- $newlegp = $leg["points"];
- $newlegp[$k] += 1;
- $winner = $this->getWinner($newlegp, $this->legs()->toInt());
- if ($winner != -1) {
- $newsetp = $set["points"];
- $newsetp[$k] += 1;
- $winner = $this->getWinner($newsetp, $this->sets()->toInt());
- if ($winner != -1) {
- if ($winner == -2) {
- $stats["winner"] = "DRAW";
- } else {
- $stats["winner"] = $visit["player"];
- }
- // Game Over
- $update = [
- "enddate" => date("Y-m-d H:i:s")
- ];
- } else {
- // new Set
- $this->addNewSet($game, $newsetp);
- $stats = $this->addNewSetStats($stats);
- $stats = $this->addNewLegStats($stats);
- }
- } else {
- // new Leg
- $this->addNewLeg($game, $newlegp);
- $stats = $this->addNewLegStats($stats);
- }
- }
- $page = $this->storeGame($game);
- $page = $page->storeStats($stats);
- $page->update($update);
- }
+ //
+ // public function calcPoints($throw)
+ // {
+ // $throw = trim($throw);
+ // if ($throw == "") {
+ // return 0;
+ // }
+ // if ($throw == "SB"){
+ // return 25;
+ // }
+ // if ($throw == "DB"){
+ // return 50;
+ // }
+ // if ($throw[0] == "S" || $throw[0] == "O" || $throw[0] == "I"){
+ // return intval(substr($throw, 1));
+ // }
+ // if ($throw[0] == "D"){
+ // return 2*intval(substr($throw, 1));
+ // }
+ // if ($throw[0] == "T"){
+ // return 3*intval(substr($throw, 1));
+ // }
+ // if ($throw[0] == "M"){
+ // return 0;
+ // } else {
+ // // TODO: Check for Na
+ // return intval($throw);
+ // }
+ // }
+ //
+ // public function sumPoints($throws)
+ // {
+ // $sum = 0;
+ // foreach ($throws as $i => $throw) {
+ // $points = $this->calcPoints($throw);
+ // $sum += $points;
+ // }
+ // return $sum;
+ // }
+ //
+ // public function getWinner($points, $mode)
+ // {
+ // $sum = 0;
+ // $k = 0;
+ // $max = -1;
+ // foreach ($points as $i => $point) {
+ // $sum += $point;
+ // if ($max < $point) {
+ // $max = $point;
+ // $maxidx = $k;
+ // }
+ // $k++;
+ // }
+ // if ($max > $mode/$k) {
+ // return $maxidx;
+ // }
+ // if ($sum == $mode) {
+ // return -2;
+ // }
+ // return -1;
+ // }
+ //
+ // public function clearLastVisit()
+ // {
+ // $game = $this->rounds()->parseJSON();
+ // $set = &$game["sets"][count($game["sets"])-1];
+ // $leg = &$set["legs"][count($set["legs"])-1];
+ // $visit = &$leg["visits"][count($leg["visits"])-1];
+ // $visit["throws"] = [];
+ // $visit["checkoutTries"] = 0;
+ // $visit["numDarts"] = 0;
+ // unset($visit["sum"]);
+ // unset($visit["toGo"]);
+ // return $this->storeGame($game);
+ // }
+ //
+ // public function addThrows($throws, $numDarts, $checkoutTries, $done=true)
+ // {
+ // $game = $this->rounds()->parseJSON();
+ // $set = &$game["sets"][count($game["sets"])-1];
+ // $leg = &$set["legs"][count($set["legs"])-1];
+ // $visit = &$leg["visits"][count($leg["visits"])-1];
+ // $current_throws = $visit['throws'];
+ // if (count($current_throws)+count($throws) > 3) {
+ // $error = "Two many throws given: ".count($current_throws)." + ".count($throws)." > 3";
+ // throw new \Exception($error, 1);
+ // }
+ // $new_throws = array_merge($current_throws, $throws);
+ //
+ // $playerUUIDs = $this->playerUUIDs();
+ // $k = $this->getPlayerPos($playerUUIDs, $visit["player"]);
+ // if (count($leg["visits"])-2 < 0) {
+ // $toGo = array_fill(0, count($playerUUIDs), $this->max()->toInt());
+ // } else {
+ // $toGo = $leg["visits"][count($leg["visits"])-2]["toGo"];
+ // }
+ //
+ // $visit["numDarts"] += $numDarts;
+ // $visit["throws"] = $new_throws;
+ // $visit["checkoutTries"] += $checkoutTries;
+ // $visit["sum"] = $this->sumPoints($visit["throws"]);
+ //
+ // $rest = $toGo[$k] - $visit["sum"];
+ // if ($rest < 0 or ($this->out()->toString() == "Double" && $rest == 1)) {
+ // $visit["sum"] = 0;
+ // } else {
+ // $toGo[$k] = $rest;
+ // }
+ // $visit["toGo"] = $toGo;
+ // if (!$done) {
+ // $this->storeGame($game);
+ // return;
+ // }
+ //
+ // $stats = $this->stats()->parseJSON();
+ // $page = $this->updateStats($stats, $visit);
+ // $update = [];
+ // if ($rest != 0) {
+ // // Normal case...next players turn
+ // $nextPlayer = $this->nextPlayer($playerUUIDs, $visit["player"]);
+ // $isNextRound = 0;
+ // if (last(last($game["sets"])["legs"])['visits'][0]["player"] == $nextPlayer) {
+ // $isNextRound = 1;
+ // }
+ // $newVisit = $this->newVisit($nextPlayer, $visit["visit"]+$isNextRound);
+ // last(last($game["sets"])["legs"])['visits'][] = $newVisit;
+ // } else {
+ // // rest == 0 leg finished
+ // // updates Stats...this is maybe the wrong place to store points
+ // $newlegp = $leg["points"];
+ // $newlegp[$k] += 1;
+ // $winner = $this->getWinner($newlegp, $this->legs()->toInt());
+ // if ($winner != -1) {
+ // $newsetp = $set["points"];
+ // $newsetp[$k] += 1;
+ // $winner = $this->getWinner($newsetp, $this->sets()->toInt());
+ // if ($winner != -1) {
+ // if ($winner == -2) {
+ // $stats["winner"] = "DRAW";
+ // } else {
+ // $stats["winner"] = $visit["player"];
+ // }
+ // // Game Over
+ // $update = [
+ // "enddate" => date("Y-m-d H:i:s")
+ // ];
+ // } else {
+ // // new Set
+ // $this->addNewSet($game, $newsetp);
+ // $stats = $this->addNewSetStats($stats);
+ // $stats = $this->addNewLegStats($stats);
+ // }
+ // } else {
+ // // new Leg
+ // $this->addNewLeg($game, $newlegp);
+ // $stats = $this->addNewLegStats($stats);
+ // }
+ // }
+ // $page = $this->storeGame($game);
+ // $page = $page->storeStats($stats);
+ // $page->update($update);
+ // }
private function newSingleStats($player)
{
@@ -280,6 +284,8 @@ class XoiPage extends Page {
"first9" => [0, 0],
"checkouts" => [0, 0],
"checkoutPoints" => [],
+ "checkins" => [0, 0],
+ "checkinPoints" => [],
"60+" => 0,
"100+" => 0,
"140+" => 0,
@@ -298,35 +304,35 @@ class XoiPage extends Page {
}
return $stats;
}
-
- private function addNewSet(&$game, $points){
- $playerUUIDs = $this->playerUUIDs();
- $set = &$game["sets"][count($game["sets"])-1];
- $leg = &$set["legs"][count($set["legs"])-1];
- $p = $this->nextPlayer($playerUUIDs, $set["legs"][0]["visits"][0]["player"]);
- $game["sets"][] = array(
- 'points' => $points,
- 'legs' => [
- array(
- 'points' => array_fill(0, count($playerUUIDs), 0),
- 'visits' => [$this->newVisit($p, 1)]
- )
- ]
- );
- return $game;
- }
- private function addNewLeg(&$game, $points){
- $playerUUIDs = $this->playerUUIDs();
- $set = &$game["sets"][count($game["sets"])-1];
- $leg = &$set["legs"][count($set["legs"])-1];
- $p = $this->nextPlayer($playerUUIDs, $leg["visits"][0]["player"]);
- $set["legs"][] = array(
- 'points' => $points,
- 'visits' => [$this->newVisit($p, 1)]
- );
- return $game;
- }
-
+ //
+ // private function addNewSet(&$game, $points){
+ // $playerUUIDs = $this->playerUUIDs();
+ // $set = &$game["sets"][count($game["sets"])-1];
+ // $leg = &$set["legs"][count($set["legs"])-1];
+ // $p = $this->nextPlayer($playerUUIDs, $set["legs"][0]["visits"][0]["player"]);
+ // $game["sets"][] = array(
+ // 'points' => $points,
+ // 'legs' => [
+ // array(
+ // 'points' => array_fill(0, count($playerUUIDs), 0),
+ // 'visits' => [$this->newVisit($p, 1)]
+ // )
+ // ]
+ // );
+ // return $game;
+ // }
+ // private function addNewLeg(&$game, $points){
+ // $playerUUIDs = $this->playerUUIDs();
+ // $set = &$game["sets"][count($game["sets"])-1];
+ // $leg = &$set["legs"][count($set["legs"])-1];
+ // $p = $this->nextPlayer($playerUUIDs, $leg["visits"][0]["player"]);
+ // $set["legs"][] = array(
+ // 'points' => $points,
+ // 'visits' => [$this->newVisit($p, 1)]
+ // );
+ // return $game;
+ // }
+ //
private function addNewSetStats(&$stats){
$stats["sets"][] = $this->newStats();
$stats["sets"][0]["legs"] = [];
@@ -336,32 +342,32 @@ class XoiPage extends Page {
last($stats["sets"])["legs"][] = $this->newStats();
return $stats;
}
-
- public function recalcStats(){
- $game = $this->rounds()->parseJSON();
- $page = $this->initStats();
- $stats = $page->stats()->parseJSON();
- $lastset = count($game["sets"])-1;
- foreach ($game["sets"] as $i => $set) {
- $lastleg = count($set["legs"])-1;
- foreach ($set["legs"] as $j => $leg) {
- $lastvisit = count($leg["visits"])-1;
- foreach ($leg["visits"] as $k => $visit) {
- if (!($k == $lastvisit && $j == $lastleg && $i == $lastset)) {
- $this->updateStats($stats, $visit);
- }
- if ($k == $lastvisit && $j != $lastleg) {
- $this->addNewLegStats($stats);
- }
- }
- if ($j == $lastleg && $i != $lastset) {
- $this->addNewSetStats($stats);
- }
- }
- }
- return $this->storeStats($stats);
- }
-
+ //
+ // public function recalcStats(){
+ // $game = $this->rounds()->parseJSON();
+ // $page = $this->initStats();
+ // $stats = $page->stats()->parseJSON();
+ // $lastset = count($game["sets"])-1;
+ // foreach ($game["sets"] as $i => $set) {
+ // $lastleg = count($set["legs"])-1;
+ // foreach ($set["legs"] as $j => $leg) {
+ // $lastvisit = count($leg["visits"])-1;
+ // foreach ($leg["visits"] as $k => $visit) {
+ // if (!($k == $lastvisit && $j == $lastleg && $i == $lastset)) {
+ // $this->updateStats($stats, $visit);
+ // }
+ // if ($k == $lastvisit && $j != $lastleg) {
+ // $this->addNewLegStats($stats);
+ // }
+ // }
+ // if ($j == $lastleg && $i != $lastset) {
+ // $this->addNewSetStats($stats);
+ // }
+ // }
+ // }
+ // return $this->storeStats($stats);
+ // }
+ //
private function initStats()
{
$stats = $this->newStats();
@@ -394,20 +400,20 @@ class XoiPage extends Page {
kirby()->impersonate('kirby');
return $page->update($update);
}
-
- public function storeStats($stats)
- {
- kirby()->impersonate('kirby');
- return $this->update([
- "stats" => json_encode($stats)
- ]);
-
- }
- public function storeGame($game)
- {
- kirby()->impersonate('kirby');
- return $this->update([
- "rounds" => json_encode($game)
- ]);
- }
+ //
+ // public function storeStats($stats)
+ // {
+ // kirby()->impersonate('kirby');
+ // return $this->update([
+ // "stats" => json_encode($stats)
+ // ]);
+ //
+ // }
+ // public function storeGame($game)
+ // {
+ // kirby()->impersonate('kirby');
+ // return $this->update([
+ // "rounds" => json_encode($game)
+ // ]);
+ // }
}