generated from DJTommek/php-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
DefaultConfig.php
146 lines (122 loc) · 5.13 KB
/
DefaultConfig.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?php declare(strict_types=1);
namespace App;
/**
* Warning: Never update this file directly, always update config.local.php in data folder!
*
* You can override any constant from this file if you want.
*/
class DefaultConfig
{
const FOLDER_DATA = __DIR__;
const FOLDER_TEMP = __DIR__ . '/../../temp/';
const DB_SERVER = 'localhost';
const DB_USER = 'dbuser';
const DB_PASS = 'dbpass';
const DB_NAME = 'dbschema';
const TRACY_DEVELOPMENT_IPS = [
'12.34.56.78',
];
/** @var ?string Put your email if you want to receive emails about errors and exceptions. See https://tracy.nette.org/guide for more info. null to disable */
const TRACY_DEBUGGER_EMAIL = null; // null to disable
// const TRACY_DEBUGGER_EMAIL = 'admin@your-domain.com';
/** @var string Telegram bot token generated from BotFather: https://t.me/BotFather */
const TELEGRAM_BOT_TOKEN = '123456789:abcdefghijklmnopqrstuvwxyzabcdefghi';
/** @var string Telegram bot name without @ prefix. */
const TELEGRAM_BOT_NAME = 'ExampleBot';
/** @var string Telegram webhook URL, which will automatically receive all events from bot (in this application it should lead to webhook.php) */
const TELEGRAM_WEBHOOK_URL = 'https://your-domain.com/better-location/webhook.php';
/** @var int Telegram webhook URL, which will automatically receive all events from bot (in this application it should lead to webhook.php) */
const TELEGRAM_INLINE_CACHE = 300; // https://core.telegram.org/bots/api#answerinlinequery cache_time attribute (default 300)
/** @var int Enforce BotUsername in command, eg. /command@BetterLocationBot */
const TELEGRAM_COMMAND_STRICT = false;
/** @var ?string API Key for using Google Place API: https://developers.google.com/places/web-service/search null to disable */
const GOOGLE_PLACE_API_KEY = null;
//const GOOGLE_PLACE_API_KEY = 'someRandomGeneratedApiKeyFromGoogleCloudPlatform';
/** @var ?string API key to What3Word service https://developer.what3words.com/public-api or null to disable */
const W3W_API_KEY = null;
/** @var ?string */
const GLYMPSE_API_USERNAME = null;
/** @var ?string */
const GLYMPSE_API_PASSWORD = null;
/** @var ?string */
const GLYMPSE_API_KEY = null;
/** @var ?string Cookie of logged user to geocaching.com or null to disable */
const GEOCACHING_COOKIE = null;
/** @var ?string */
const FOURSQUARE_CLIENT_ID = null;
/** @var ?string */
const FOURSQUARE_CLIENT_SECRET = null;
/** @var ?string */
const INGRESS_MOSAIC_COOKIE_SESSION = null;
/** @var ?string */
const INGRESS_MOSAIC_COOKIE_XSRF = null;
/** @var ?string https://docs.microsoft.com/en-us/bingmaps/getting-started/bing-maps-dev-center-help/getting-a-bing-maps-key */
const BING_STATIC_MAPS_TOKEN = null;
/**
* If some input (URL) has multiple different locations, how far it has to be from main coordinate to add special line
* to notify, that these locations are too far away. Anything lower than this number will be removed from collection
*
* @var int|float distance in meters
*/
const DISTANCE_IGNORE = 10;
/**
* How often refreshable location can be manually refreshed.
*
* @var int cooldown in seconds
*/
const REFRESH_COOLDOWN = 30;
/** @var int How many autorefreshed messages can be in one chat */
const REFRESH_AUTO_MAX_PER_CHAT = 5;
/** @var int How many object to run autorefresh is loaded from database in one cron run */
const REFRESH_CRON_MAX_UPDATES = 5;
/** @var int How many seconds has to elapse since last refresh */
const REFRESH_CRON_MIN_OLD = 300;
const DATE_FORMAT = 'Y-m-d';
const TIME_FORMAT = 'H:i:s';
const TIME_FORMAT_ZONE = self::TIME_FORMAT . ' T';
const DATETIME_FORMAT = self::DATE_FORMAT . ' ' . self::TIME_FORMAT;
const DATETIME_FORMAT_ZONE = self::DATETIME_FORMAT . ' T';
const CACHE_TTL_FOURSQUARE_API = 60 * 60 * 24;
const CACHE_TTL_GOOGLE_PLACE_API = 60 * 60 * 24;
const CACHE_TTL_GOOGLE_MAPS = 60 * 60 * 24;
const CACHE_TTL_GEOCACHING_API = 60 * 60 * 24;
const CACHE_TTL_INGRESS_LANCHED_RU_API = 60 * 60 * 24;
const CACHE_TTL_DROBNE_PAMATKY_CZ = 60 * 60 * 24;
const CACHE_TTL_ROPIKY_NET = 60 * 60 * 24;
const CACHE_TTL_ZNICENE_KOSTELY_CZ = 60 * 60 * 24;
const CACHE_TTL_ZANIKLE_OBCE_CZ = 60 * 60 * 24;
const CACHE_TTL_HERE_WE_GO_LOC = 60 * 60 * 24;
const CACHE_TTL_WIKIPEDIA = 60 * 60 * 24;
const CACHE_TTL_INGRESS_MOSAIC = 60 * 60 * 24;
/**
* @var string Default timezone to work with.
* Disclaimer: Changing might result in unexpected behaviour of this app. Make sure that you know, what you are doing.
*/
const TIMEZONE = 'UTC';
public static function isGlympse(): bool
{
return (
is_null(static::GLYMPSE_API_USERNAME) === false &&
is_null(static::GLYMPSE_API_PASSWORD) === false &&
is_null(static::GLYMPSE_API_KEY) === false
);
}
public static function isIngressMosaic(): bool
{
return (
is_null(static::INGRESS_MOSAIC_COOKIE_SESSION) === false &&
is_null(static::INGRESS_MOSAIC_COOKIE_XSRF) === false
);
}
public static function isFoursquare(): bool
{
return (
is_null(static::FOURSQUARE_CLIENT_ID) === false &&
is_null(static::FOURSQUARE_CLIENT_SECRET) === false
);
}
public static function getTimezone(): \DateTimeZone
{
return new \DateTimeZone(static::TIMEZONE);
}
}