Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
313a3568aa | ||
|
|
75bea7c05c | ||
|
|
1c3238e64e | ||
|
|
6cb9e17ddf | ||
|
|
88ad6e9d61
|
||
|
|
2fb807c479
|
||
|
|
8e9e5b08f9
|
No files matched your search
@@ -70,6 +70,7 @@ Example:
|
||||
```
|
||||
LEAFLET_TILESERVER_URL=https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
|
||||
LEAFLET_TILESERVER_SUBDOMAINS=abc
|
||||
LEAFLET_TILESERVER_ATTRIBUTION="© <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"
|
||||
```
|
||||
|
||||
### (Production only) Create cron job
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
CREATE TABLE `challenges` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`token` int(10) unsigned NOT NULL,
|
||||
`timer_sec` int(10) unsigned,
|
||||
`no_move` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`no_pan` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`no_zoom` tinyint(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
CREATE TABLE `user_in_challenge` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(10) unsigned NOT NULL,
|
||||
`challenge_id` int(10) unsigned NOT NULL,
|
||||
`round` smallint(5) signed NOT NULL DEFAULT -1,
|
||||
`score` int(10) unsigned NOT NULL DEFAULT 0,
|
||||
`time_left` int(10) unsigned,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
KEY `challenge_id` (`challenge_id`),
|
||||
CONSTRAINT `user_in_challenge_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
|
||||
CONSTRAINT `user_in_challenge_challenge_id` FOREIGN KEY (`challenge_id`) REFERENCES `challenges` (`id`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
CREATE TABLE `place_in_challenge` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`place_id` int(10) unsigned NOT NULL,
|
||||
`challenge_id` int(10) unsigned NOT NULL,
|
||||
`order` smallint(5) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `place_id` (`place_id`),
|
||||
KEY `challenge_id` (`challenge_id`),
|
||||
CONSTRAINT `place_in_challenge_place_id` FOREIGN KEY (`place_id`) REFERENCES `places` (`id`),
|
||||
CONSTRAINT `place_in_challenge_challenge_id` FOREIGN KEY (`challenge_id`) REFERENCES `challenges` (`id`),
|
||||
CONSTRAINT `unique_order_in_challenge` UNIQUE (`order`, `challenge_id`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
CREATE TABLE `guesses` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(10) unsigned NOT NULL,
|
||||
`place_in_challenge_id` int(10) unsigned NOT NULL,
|
||||
`lat` decimal(8,6) NOT NULL,
|
||||
`lng` decimal(9,6) NOT NULL,
|
||||
`time_spent` int(10),
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
KEY `place_in_challenge_id` (`place_in_challenge_id`),
|
||||
CONSTRAINT `guesses_user_id` FOREIGN KEY (`user_id`) REFERENCES `places` (`id`),
|
||||
CONSTRAINT `guesses_place_in_challenge_id` FOREIGN KEY (`place_in_challenge_id`) REFERENCES `place_in_challenge` (`id`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
@@ -451,6 +451,7 @@ div.box {
|
||||
}
|
||||
|
||||
.circleControl .controlItem {
|
||||
position: relative;
|
||||
height: 60px;
|
||||
margin-top: 10px;
|
||||
opacity: 70%;
|
||||
@@ -463,6 +464,8 @@ div.box {
|
||||
|
||||
.circleControl .controlItem div {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.circleControl .controlBackground {
|
||||
@@ -477,7 +480,6 @@ div.box {
|
||||
margin: auto;
|
||||
margin-top: 50%;
|
||||
transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 599px) {
|
||||
|
||||
@@ -74,13 +74,23 @@ if (isset($_COOKIE['COOKIES_CONSENT'])) {
|
||||
|
||||
session_set_save_handler(Container::$sessionHandler, true);
|
||||
session_start([
|
||||
'gc_maxlifetime' => 604800,
|
||||
'gc_probability' => 0, // old sessions are deleted by MaintainDatabaseCommand
|
||||
'cookie_lifetime' => 604800, // TODO: cookie is not renewed so session can be lost
|
||||
'cookie_lifetime' => 604800,
|
||||
'cookie_path' => '/',
|
||||
'cookie_httponly' => true,
|
||||
'cookie_samesite' => 'Lax'
|
||||
]);
|
||||
|
||||
if (isset($_COOKIE[session_name()])) {
|
||||
// extend session cookie lifetime is cookie already exists
|
||||
setcookie(session_name(), session_id(), [
|
||||
'expires' => time() + 604800,
|
||||
'path' => '/',
|
||||
'httponly' => true,
|
||||
'samesite' => 'Lax'
|
||||
]);
|
||||
}
|
||||
|
||||
// this is needed to handle old type of session IDs
|
||||
if (!Container::$sessionHandler->validateId(session_id())) {
|
||||
session_regenerate_id(true);
|
||||
|
||||
Reference in new issue
Block a user