1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/* |
4
|
|
|
* ***************************************************************************** |
5
|
|
|
* Contributions to this work were made on behalf of the GÉANT project, a |
6
|
|
|
* project that has received funding from the European Union’s Framework |
7
|
|
|
* Programme 7 under Grant Agreements No. 238875 (GN3) and No. 605243 (GN3plus), |
8
|
|
|
* Horizon 2020 research and innovation programme under Grant Agreements No. |
9
|
|
|
* 691567 (GN4-1) and No. 731122 (GN4-2). |
10
|
|
|
* On behalf of the aforementioned projects, GEANT Association is the sole owner |
11
|
|
|
* of the copyright in all material which was developed by a member of the GÉANT |
12
|
|
|
* project. GÉANT Vereniging (Association) is registered with the Chamber of |
13
|
|
|
* Commerce in Amsterdam with registration number 40535155 and operates in the |
14
|
|
|
* UK as a branch of GÉANT Vereniging. |
15
|
|
|
* |
16
|
|
|
* Registered office: Hoekenrode 3, 1102BR Amsterdam, The Netherlands. |
17
|
|
|
* UK branch address: City House, 126-130 Hills Road, Cambridge CB2 1PQ, UK |
18
|
|
|
* |
19
|
|
|
* License: see the web/copyright.inc.php file in the file structure or |
20
|
|
|
* <base_url>/copyright.php after deploying the software |
21
|
|
|
*/ |
22
|
|
|
|
23
|
|
|
/** |
24
|
|
|
* This file contains the Devices class. |
25
|
|
|
* |
26
|
|
|
* @package ModuleWriting |
27
|
|
|
*/ |
28
|
|
|
|
29
|
|
|
namespace devices; |
30
|
|
|
|
31
|
|
|
/** |
32
|
|
|
* The Devices class holds a list of all devices the CAT knows about |
33
|
|
|
* |
34
|
|
|
* @author Tomasz Wolniewicz <[email protected]> |
35
|
|
|
* |
36
|
|
|
* @license see LICENSE file in root directory |
37
|
|
|
* |
38
|
|
|
* @package ModuleWriting |
39
|
|
|
*/ |
40
|
|
|
class Devices extends \core\common\Entity { |
41
|
|
|
|
42
|
|
|
const SUPPORT_RSA = 'RSA'; |
43
|
|
|
const SUPPORT_ECDSA = 'ECDSA'; |
44
|
|
|
|
45
|
|
|
/** |
46
|
|
|
* This array lists available configuration options for local device management. |
47
|
|
|
* Values from this array will be taken as defaults. |
48
|
|
|
* Do not modify this array unless you really konw what you are doing. |
49
|
|
|
* Default values will be overriden by the settings of options inside |
50
|
|
|
* each device definition |
51
|
|
|
* |
52
|
|
|
* - 'sign' - if set to nonzero will cause installer signing if the module |
53
|
|
|
* supports this. The default settings for Microsoft and Apple systems |
54
|
|
|
* is 1, since without signing, installation makes liitle sense. Be aware |
55
|
|
|
* that you need to set up signers and have proper certificates, if |
56
|
|
|
* you do not want to do that and you are just testing CAT, then you can |
57
|
|
|
* switch sign to 0, of course. |
58
|
|
|
* - 'no_cache' if defined and equal to 1 will block installer caching - useful |
59
|
|
|
* for device development, should not be used in production |
60
|
|
|
* - 'hidden' if defined and equal to 1 will hide the device form listing - |
61
|
|
|
* useful for device development |
62
|
|
|
* - 'redirect if defined and equal to 1 will only show the device on the listing |
63
|
|
|
* if device redirect has been defined by the admin |
64
|
|
|
* - 'message' if defined will cause a display of the contents of this option as |
65
|
|
|
* an additional warning |
66
|
|
|
* - 'sb_message' aplickable only in the distribuition of Silverbullet profiles, |
67
|
|
|
* if defined will cause a display of the contents of this option as |
68
|
|
|
* an additional message. If the 'message' option is also defined then |
69
|
|
|
* the sb_message will be displayed in the same window AFTER the contents |
70
|
|
|
* of the 'message' option if that one. |
71
|
|
|
* - 'device_id' - used in building the installer filename; when this option |
72
|
|
|
* is not defined, the filename will use the index from |
73
|
|
|
* the listDevices array; when defined and not empty, it will be |
74
|
|
|
* used in place of this index; when defined as empty will cause |
75
|
|
|
* the omission of the device part the filename. |
76
|
|
|
* The default is unset, so it is not listed in the Options array. |
77
|
|
|
* - 'mime' - used to set the MIME type of the installer file; |
78
|
|
|
* if not set will default to the value provided by PHP finfo. |
79
|
|
|
* The default is unset, so it is not listed in the Options array. |
80
|
|
|
*/ |
|
|
|
|
81
|
|
|
public static $Options = [ |
82
|
|
|
'sign' => 0, |
83
|
|
|
'no_cache' => 0, |
84
|
|
|
'hidden' => 0, |
85
|
|
|
'redirect' => 0, |
86
|
|
|
'clientcert' => Devices::SUPPORT_RSA, |
87
|
|
|
]; |
88
|
|
|
|
89
|
|
|
/** |
90
|
|
|
* Each device is defined as a sub-array within this array |
91
|
|
|
* |
92
|
|
|
* Except for changing/adding things inside the options arrays, do not modify |
93
|
|
|
* this array unless you really know what you are doing. |
94
|
|
|
* |
95
|
|
|
* Beware that the entrance page of CAT contains a rolling ad which |
96
|
|
|
* lists some devices, and also states that certain device modules are signed, |
97
|
|
|
* you should keep this information in sync with your settings in this file |
98
|
|
|
* See web/user/roll.php for settings and more information. |
99
|
|
|
* |
100
|
|
|
* Settings |
101
|
|
|
* - 'group' - caused device grouping used by the entrance screen |
102
|
|
|
* - 'display' is the name shown on the GUI button |
103
|
|
|
* - 'match' - a regular expression which will be matched against HTTP_USER_AGENT |
104
|
|
|
* to discover the operating system of the user |
105
|
|
|
* - 'directory' is the subdirectory of devices directory, where |
106
|
|
|
* the device module resides |
107
|
|
|
* - 'module' is the name of the module class, the same name with .php |
108
|
|
|
* added will be used as the name of the main include file for the module |
109
|
|
|
* - 'signer' if defined points to a script which will sign a file. |
110
|
|
|
* The script must be located in the signer subdirectory of CAT. |
111
|
|
|
* The first argument of this script must be the input file name, |
112
|
|
|
* the second - the signed file filename. Signer will not be used |
113
|
|
|
* unless the sign option is set to nonzero. |
114
|
|
|
* - 'options' - the array of options overriding the default settings. |
115
|
|
|
* See the descripption of options above. |
116
|
|
|
* |
117
|
|
|
* @example devices/devices-template.php file listing |
118
|
|
|
* @return array the device modules |
119
|
|
|
*/ |
120
|
|
|
public static function listDevices() { |
121
|
|
|
\core\common\Entity::intoThePotatoes(); |
122
|
|
|
$retArray = [ |
123
|
|
|
'w10' => [ |
124
|
|
|
'group' => "microsoft", |
125
|
|
|
'display' => _("MS Windows 10"), |
126
|
|
|
'match' => 'Windows NT 10', |
127
|
|
|
'directory' => 'ms', |
128
|
|
|
'module' => 'W8_10', |
129
|
|
|
'signer' => 'ms_windows_sign', |
130
|
|
|
'options' => [ |
131
|
|
|
'sign' => 1, |
132
|
|
|
'device_id' => 'W10', |
133
|
|
|
'clientcert' => Devices::SUPPORT_ECDSA, |
134
|
|
|
'mime' => 'application/x-dosexec', |
135
|
|
|
], |
136
|
|
|
], |
137
|
|
|
'w8' => [ |
138
|
|
|
'group' => "microsoft", |
139
|
|
|
'display' => _("MS Windows 8, 8.1"), |
140
|
|
|
'match' => 'Windows NT 6[._][23]', |
141
|
|
|
'directory' => 'ms', |
142
|
|
|
'module' => 'W8_10', |
143
|
|
|
'signer' => 'ms_windows_sign', |
144
|
|
|
'options' => [ |
145
|
|
|
'sign' => 1, |
146
|
|
|
'device_id' => 'W8', |
147
|
|
|
'clientcert' => Devices::SUPPORT_ECDSA, |
148
|
|
|
'mime' => 'application/x-dosexec', |
149
|
|
|
], |
150
|
|
|
], |
151
|
|
|
'w7' => [ |
152
|
|
|
'group' => "microsoft", |
153
|
|
|
'display' => _("MS Windows 7"), |
154
|
|
|
'match' => 'Windows NT 6[._]1', |
155
|
|
|
'directory' => 'ms', |
156
|
|
|
'module' => 'Vista7', |
157
|
|
|
'signer' => 'ms_windows_sign', |
158
|
|
|
'options' => [ |
159
|
|
|
'sign' => 1, |
160
|
|
|
'device_id' => 'W7', |
161
|
|
|
'mime' => 'application/x-dosexec', |
162
|
|
|
], |
163
|
|
|
], |
164
|
|
|
'vista' => [ |
165
|
|
|
'group' => "microsoft", |
166
|
|
|
'display' => _("MS Windows Vista"), |
167
|
|
|
'match' => 'Windows NT 6[._]0', |
168
|
|
|
'directory' => 'ms', |
169
|
|
|
'module' => 'Vista7', |
170
|
|
|
'signer' => 'ms_windows_sign', |
171
|
|
|
'options' => [ |
172
|
|
|
'sign' => 1, |
173
|
|
|
'device_id' => 'Vista', |
174
|
|
|
'mime' => 'application/x-dosexec', |
175
|
|
|
], |
176
|
|
|
], |
177
|
|
|
'win-rt' => [ |
178
|
|
|
'group' => "microsoft", |
179
|
|
|
'display' => _("Windows RT"), |
180
|
|
|
'directory' => 'redirect_dev', |
181
|
|
|
'module' => 'RedirectDev', |
182
|
|
|
'options' => [ |
183
|
|
|
'hidden' => 0, |
184
|
|
|
'redirect' => 1, |
185
|
|
|
], |
186
|
|
|
], |
187
|
|
|
'apple_catalina' => [ |
188
|
|
|
'group' => "apple", |
189
|
|
|
'display' => _("Apple macOS Catalina / iPadOS 13"), |
190
|
|
|
'match' => 'Mac OS X 10[._]15', |
191
|
|
|
'directory' => 'apple_mobileconfig', |
192
|
|
|
'module' => 'mobileconfig_os_x', |
193
|
|
|
'signer' => 'mobileconfig_sign', |
194
|
|
|
'options' => [ |
195
|
|
|
'sign' => 1, |
196
|
|
|
'device_id' => 'OS_X', |
197
|
|
|
'mime' => 'application/x-apple-aspen-config', |
198
|
|
|
'clientcert' => Devices::SUPPORT_ECDSA, |
199
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
200
|
|
|
], |
201
|
|
|
], |
202
|
|
|
'apple_mojave' => [ |
203
|
|
|
'group' => "apple", |
204
|
|
|
'display' => _("Apple macOS Mojave"), |
205
|
|
|
'match' => 'Mac OS X 10[._]14', |
206
|
|
|
'directory' => 'apple_mobileconfig', |
207
|
|
|
'module' => 'mobileconfig_os_x', |
208
|
|
|
'signer' => 'mobileconfig_sign', |
209
|
|
|
'options' => [ |
210
|
|
|
'sign' => 1, |
211
|
|
|
'device_id' => 'OS_X', |
212
|
|
|
'mime' => 'application/x-apple-aspen-config', |
213
|
|
|
'clientcert' => Devices::SUPPORT_ECDSA, |
214
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
215
|
|
|
], |
216
|
|
|
], |
217
|
|
|
'apple_hi_sierra' => [ |
218
|
|
|
'group' => "apple", |
219
|
|
|
'display' => _("Apple macOS High Sierra"), |
220
|
|
|
'match' => 'Mac OS X 10[._]13', |
221
|
|
|
'directory' => 'apple_mobileconfig', |
222
|
|
|
'module' => 'mobileconfig_os_x', |
223
|
|
|
'signer' => 'mobileconfig_sign', |
224
|
|
|
'options' => [ |
225
|
|
|
'sign' => 1, |
226
|
|
|
'device_id' => 'OS_X', |
227
|
|
|
'mime' => 'application/x-apple-aspen-config', |
228
|
|
|
'clientcert' => Devices::SUPPORT_ECDSA, |
229
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
230
|
|
|
], |
231
|
|
|
], |
232
|
|
|
'apple_sierra' => [ |
233
|
|
|
'group' => "apple", |
234
|
|
|
'display' => _("Apple macOS Sierra"), |
235
|
|
|
'match' => 'Mac OS X 10[._]12', |
236
|
|
|
'directory' => 'apple_mobileconfig', |
237
|
|
|
'module' => 'mobileconfig_os_x', |
238
|
|
|
'signer' => 'mobileconfig_sign', |
239
|
|
|
'options' => [ |
240
|
|
|
'sign' => 1, |
241
|
|
|
'device_id' => 'OS_X', |
242
|
|
|
'mime' => 'application/x-apple-aspen-config', |
243
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
244
|
|
|
], |
245
|
|
|
], |
246
|
|
|
'apple_el_cap' => [ |
247
|
|
|
'group' => "apple", |
248
|
|
|
'display' => _("Apple OS X El Capitan"), |
249
|
|
|
'match' => 'Mac OS X 10[._]11', |
250
|
|
|
'directory' => 'apple_mobileconfig', |
251
|
|
|
'module' => 'mobileconfig_os_x', |
252
|
|
|
'signer' => 'mobileconfig_sign', |
253
|
|
|
'options' => [ |
254
|
|
|
'sign' => 1, |
255
|
|
|
'device_id' => 'OS_X', |
256
|
|
|
'mime' => 'application/x-apple-aspen-config', |
257
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
258
|
|
|
], |
259
|
|
|
], |
260
|
|
|
'apple_yos' => [ |
261
|
|
|
'group' => "apple", |
262
|
|
|
'display' => _("Apple OS X Yosemite"), |
263
|
|
|
'match' => 'Mac OS X 10[._]10', |
264
|
|
|
'directory' => 'apple_mobileconfig', |
265
|
|
|
'module' => 'mobileconfig_os_x', |
266
|
|
|
'signer' => 'mobileconfig_sign', |
267
|
|
|
'options' => [ |
268
|
|
|
'sign' => 1, |
269
|
|
|
'device_id' => 'OS_X', |
270
|
|
|
'mime' => 'application/x-apple-aspen-config', |
271
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
272
|
|
|
], |
273
|
|
|
], |
274
|
|
|
'apple_mav' => [ |
275
|
|
|
'group' => "apple", |
276
|
|
|
'display' => _("Apple OS X Mavericks"), |
277
|
|
|
'match' => 'Mac OS X 10[._]9', |
278
|
|
|
'directory' => 'apple_mobileconfig', |
279
|
|
|
'module' => 'mobileconfig_os_x', |
280
|
|
|
'signer' => 'mobileconfig_sign', |
281
|
|
|
'options' => [ |
282
|
|
|
'sign' => 1, |
283
|
|
|
'device_id' => 'OS_X', |
284
|
|
|
'mime' => 'application/x-apple-aspen-config', |
285
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
286
|
|
|
], |
287
|
|
|
], |
288
|
|
|
'apple_m_lion' => [ |
289
|
|
|
'group' => "apple", |
290
|
|
|
'display' => _("Apple OS X Mountain Lion"), |
291
|
|
|
'match' => 'Mac OS X 10[._]8', |
292
|
|
|
'directory' => 'apple_mobileconfig', |
293
|
|
|
'module' => 'mobileconfig_os_x', |
294
|
|
|
'signer' => 'mobileconfig_sign', |
295
|
|
|
'options' => [ |
296
|
|
|
'sign' => 1, |
297
|
|
|
'device_id' => 'OS_X', |
298
|
|
|
'mime' => 'application/x-apple-aspen-config', |
299
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
300
|
|
|
], |
301
|
|
|
], |
302
|
|
|
'apple_lion' => [ |
303
|
|
|
'group' => "apple", |
304
|
|
|
'display' => _("Apple OS X Lion"), |
305
|
|
|
'match' => 'Mac OS X 10[._]7', |
306
|
|
|
'directory' => 'apple_mobileconfig', |
307
|
|
|
'module' => 'mobileconfig_os_x', |
308
|
|
|
'signer' => 'mobileconfig_sign', |
309
|
|
|
'options' => [ |
310
|
|
|
'sign' => 1, |
311
|
|
|
'device_id' => 'OS_X', |
312
|
|
|
'mime' => 'application/x-apple-aspen-config', |
313
|
|
|
'sb_message' => _("During the installation you will be first asked to enter settings for certificate and there you need to enter the import PIN shown on this page. Later you will be prompted to enter your password to allow making changes to the profile, this time it is your computer password."), |
314
|
|
|
], |
315
|
|
|
], |
316
|
|
|
'mobileconfig12' => [ |
317
|
|
|
'group' => "apple", |
318
|
|
|
'display' => _("Apple iOS mobile devices"), |
319
|
|
|
'match' => '(iPad|iPhone|iPod);.*OS (1[2-9])_', |
320
|
|
|
'directory' => 'apple_mobileconfig', |
321
|
|
|
'module' => 'mobileconfig_ios12plus', |
322
|
|
|
'signer' => 'mobileconfig_sign', |
323
|
|
|
'options' => [ |
324
|
|
|
'sign' => 1, |
325
|
|
|
'device_id' => 'iOS', |
326
|
|
|
'mime' => 'application/x-apple-aspen-config', |
327
|
|
|
'sb_message' => _("During the installation you will be first asked to enter your passcode - this is your device security code! Later on you will be prompted for the password to the certificate and there you need to enter the import PIN shown on this page."), |
328
|
|
|
], |
329
|
|
|
], |
330
|
|
|
'mobileconfig' => [ |
331
|
|
|
'group' => "apple", |
332
|
|
|
'display' => _("Apple iOS mobile devices (iOS 7-11)"), |
333
|
|
|
'match' => '(iPad|iPhone|iPod);.*OS ([7-9]|1[0-1])_', |
334
|
|
|
'directory' => 'apple_mobileconfig', |
335
|
|
|
'module' => 'mobileconfig_ios7plus', |
336
|
|
|
'signer' => 'mobileconfig_sign', |
337
|
|
|
'options' => [ |
338
|
|
|
'sign' => 1, |
339
|
|
|
'device_id' => 'iOS', |
340
|
|
|
'mime' => 'application/x-apple-aspen-config', |
341
|
|
|
'sb_message' => _("During the installation you will be first asked to enter your passcode - this is your device security code! Later on you will be prompted for the password to the certificate and there you need to enter the import PIN shown on this page."), |
342
|
|
|
], |
343
|
|
|
], |
344
|
|
|
'mobileconfig-56' => [ |
345
|
|
|
'group' => "apple", |
346
|
|
|
'display' => _("Apple iOS mobile devices (iOS 5 and 6)"), |
347
|
|
|
'match' => '(iPad|iPhone|iPod);.*OS [56]_', |
348
|
|
|
'directory' => 'apple_mobileconfig', |
349
|
|
|
'module' => 'mobileconfig_ios5plus', |
350
|
|
|
'signer' => 'mobileconfig_sign', |
351
|
|
|
'options' => [ |
352
|
|
|
'sign' => 1, |
353
|
|
|
'device_id' => 'iOS', |
354
|
|
|
'mime' => 'application/x-apple-aspen-config', |
355
|
|
|
], |
356
|
|
|
], |
357
|
|
|
'linux' => [ |
358
|
|
|
'group' => "linux", |
359
|
|
|
'display' => _("Linux"), |
360
|
|
|
'match' => 'Linux(?!.*Android)', |
361
|
|
|
'directory' => 'linux', |
362
|
|
|
'module' => 'Linux', |
363
|
|
|
'options' => [ |
364
|
|
|
'mime' => 'application/x-sh', |
365
|
|
|
], |
366
|
|
|
], |
367
|
|
|
'chromeos' => [ |
368
|
|
|
'group' => "chrome", |
369
|
|
|
'display' => _("Chrome OS"), |
370
|
|
|
'match' => 'CrOS', |
371
|
|
|
'directory' => 'chromebook', |
372
|
|
|
'module' => 'chromebook', |
373
|
|
|
'options' => [ |
374
|
|
|
'mime' => 'application/x-onc', |
375
|
|
|
'message' => sprintf(_("After downloading the file, open the Chrome browser and browse to this URL: <a href='chrome://net-internals/#chromeos'>chrome://net-internals/#chromeos</a>. Then, use the 'Import ONC file' button. The import is silent; the new network definitions will be added to the preferred networks.")), |
376
|
|
|
], |
377
|
|
|
], |
378
|
|
|
'android_q' => [ |
379
|
|
|
'group' => "android", |
380
|
|
|
'display' => _("Android 10.0 Q"), |
381
|
|
|
'match' => 'Android 10', |
382
|
|
|
'directory' => 'xml', |
383
|
|
|
'module' => 'Lollipop', |
384
|
|
|
'options' => [ |
385
|
|
|
'mime' => 'application/eap-config', |
386
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
387
|
|
|
"eduroamCAT", |
388
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
389
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
390
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
391
|
|
|
], |
392
|
|
|
], |
393
|
|
|
'android_pie' => [ |
394
|
|
|
'group' => "android", |
395
|
|
|
'display' => _("Android 9.0 Pie"), |
396
|
|
|
'match' => 'Android 9', |
397
|
|
|
'directory' => 'xml', |
398
|
|
|
'module' => 'Lollipop', |
399
|
|
|
'options' => [ |
400
|
|
|
'mime' => 'application/eap-config', |
401
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
402
|
|
|
"eduroamCAT", |
403
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
404
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
405
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
406
|
|
|
], |
407
|
|
|
], |
408
|
|
|
'android_oreo' => [ |
409
|
|
|
'group' => "android", |
410
|
|
|
'display' => _("Android 8.0 Oreo"), |
411
|
|
|
'match' => 'Android 8', |
412
|
|
|
'directory' => 'xml', |
413
|
|
|
'module' => 'Lollipop', |
414
|
|
|
'options' => [ |
415
|
|
|
'mime' => 'application/eap-config', |
416
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
417
|
|
|
"eduroamCAT", |
418
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
419
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
420
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
421
|
|
|
], |
422
|
|
|
], |
423
|
|
|
'android_nougat' => [ |
424
|
|
|
'group' => "android", |
425
|
|
|
'display' => _("Android 7.0 Nougat"), |
426
|
|
|
'match' => 'Android 7', |
427
|
|
|
'directory' => 'xml', |
428
|
|
|
'module' => 'Lollipop', |
429
|
|
|
'options' => [ |
430
|
|
|
'mime' => 'application/eap-config', |
431
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
432
|
|
|
"eduroamCAT", |
433
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
434
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
435
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
436
|
|
|
], |
437
|
|
|
], |
438
|
|
|
'android_marshmallow' => [ |
439
|
|
|
'group' => "android", |
440
|
|
|
'display' => _("Android 6.0 Marshmallow"), |
441
|
|
|
'match' => 'Android 6', |
442
|
|
|
'directory' => 'xml', |
443
|
|
|
'module' => 'Lollipop', |
444
|
|
|
'options' => [ |
445
|
|
|
'mime' => 'application/eap-config', |
446
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
447
|
|
|
"eduroamCAT", |
448
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
449
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
450
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
451
|
|
|
], |
452
|
|
|
], |
453
|
|
|
'android_lollipop' => [ |
454
|
|
|
'group' => "android", |
455
|
|
|
'display' => _("Android 5.0 Lollipop"), |
456
|
|
|
'match' => 'Android 5', |
457
|
|
|
'directory' => 'xml', |
458
|
|
|
'module' => 'Lollipop', |
459
|
|
|
'options' => [ |
460
|
|
|
'mime' => 'application/eap-config', |
461
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
462
|
|
|
"eduroamCAT", |
463
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
464
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
465
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
466
|
|
|
], |
467
|
|
|
], |
468
|
|
|
'android_kitkat' => [ |
469
|
|
|
'group' => "android", |
470
|
|
|
'display' => _("Android 4.4 KitKat"), |
471
|
|
|
'match' => 'Android 4\.[4-9]', |
472
|
|
|
'directory' => 'xml', |
473
|
|
|
'module' => 'KitKat', |
474
|
|
|
'options' => [ |
475
|
|
|
'mime' => 'application/eap-config', |
476
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
477
|
|
|
"eduroamCAT", |
478
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
479
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
480
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
481
|
|
|
], |
482
|
|
|
], |
483
|
|
|
'android_43' => [ |
484
|
|
|
'group' => "android", |
485
|
|
|
'display' => _("Android 4.3"), |
486
|
|
|
'match' => 'Android 4\.3', |
487
|
|
|
'directory' => 'xml', |
488
|
|
|
'module' => 'KitKat', |
489
|
|
|
'options' => [ |
490
|
|
|
'mime' => 'application/eap-config', |
491
|
|
|
'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from %s, %s and %s, and will use the configuration file downloaded from CAT to create all necessary settings."), |
492
|
|
|
"eduroamCAT", |
493
|
|
|
"<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>", |
494
|
|
|
"<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>", |
495
|
|
|
"<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
496
|
|
|
], |
497
|
|
|
], |
498
|
|
|
'android_legacy' => [ |
499
|
|
|
'group' => "android", |
500
|
|
|
'display' => _("Android"), |
501
|
|
|
'match' => 'Android', |
502
|
|
|
'directory' => 'redirect_dev', |
503
|
|
|
'module' => 'RedirectDev', |
504
|
|
|
'options' => [ |
505
|
|
|
'redirect' => 1, |
506
|
|
|
], |
507
|
|
|
], |
508
|
|
|
'eap-config' => [ |
509
|
|
|
'group' => "eap-config", |
510
|
|
|
'display' => _("EAP config"), |
511
|
|
|
'directory' => 'xml', |
512
|
|
|
'module' => 'XML_ALL', |
513
|
|
|
'options' => [ |
514
|
|
|
'mime' => 'application/eap-config', |
515
|
|
|
'message' => sprintf(_("This option provides a generic EAP config XML file, which can be consumed by dedicated applications like eduroamCAT for Android and Linux platforms. This is still an experimental feature.")), |
516
|
|
|
], |
517
|
|
|
], |
518
|
|
|
'test' => [ |
519
|
|
|
'group' => "other", |
520
|
|
|
'display' => _("Test"), |
521
|
|
|
'directory' => 'test_module', |
522
|
|
|
'module' => 'TestModule', |
523
|
|
|
'options' => [ |
524
|
|
|
'hidden' => 1, |
525
|
|
|
], |
526
|
|
|
], |
527
|
|
|
/* |
528
|
|
|
|
529
|
|
|
'xml-ttls-pap'=> [ |
530
|
|
|
'group' => "generic", |
531
|
|
|
'display'=>_("Generic profile TTLS-PAP"), |
532
|
|
|
'directory'=>'xml', |
533
|
|
|
'module'=>'XML_TTLS_PAP', |
534
|
|
|
'options'=>[ |
535
|
|
|
'mime'=>'application/eap-config', |
536
|
|
|
], |
537
|
|
|
], |
538
|
|
|
|
539
|
|
|
'xml-ttls-mschap2'=> [ |
540
|
|
|
'group' => "generic", |
541
|
|
|
'display'=>_("Generic profile TTLS-MSCHAPv2"), |
542
|
|
|
'directory'=>'xml', |
543
|
|
|
'module'=>'XML_TTLS_MSCHAP2', |
544
|
|
|
'options'=> [ |
545
|
|
|
'mime'=>'application/eap-config', |
546
|
|
|
], |
547
|
|
|
], |
548
|
|
|
|
549
|
|
|
'xml-peap'=> [ |
550
|
|
|
'group' => "generic", |
551
|
|
|
'display'=>_("Generic profile PEAP"), |
552
|
|
|
'directory'=>'xml', |
553
|
|
|
'module'=>'XML_PEAP', |
554
|
|
|
'options'=> [ |
555
|
|
|
'mime'=>'application/eap-config', |
556
|
|
|
], |
557
|
|
|
], |
558
|
|
|
|
559
|
|
|
'xml-tls'=> [ |
560
|
|
|
'group' => "generic", |
561
|
|
|
'display'=>_("Generic profile TLS"), |
562
|
|
|
'directory'=>'xml', |
563
|
|
|
'module'=>'XML_TLS', |
564
|
|
|
'options'=> [ |
565
|
|
|
'mime'=>'application/eap-config', |
566
|
|
|
], |
567
|
|
|
], |
568
|
|
|
|
569
|
|
|
'xml-pwd'=> [ |
570
|
|
|
'group' => "generic", |
571
|
|
|
'display'=>_("Generic profile PWD"), |
572
|
|
|
'directory'=>'xml', |
573
|
|
|
'module'=>'XML_PWD', |
574
|
|
|
'options'=> [ |
575
|
|
|
'mime'=>'application/eap-config', |
576
|
|
|
], |
577
|
|
|
], |
578
|
|
|
'xml-all'=> [ |
579
|
|
|
'group' => "generic", |
580
|
|
|
'display'=>_("Generic profile ALL EAPs"), |
581
|
|
|
'directory'=>'xml', |
582
|
|
|
'module'=>'XML_ALL', |
583
|
|
|
'options'=> [ |
584
|
|
|
'mime'=>'application/eap-config', |
585
|
|
|
], |
586
|
|
|
], |
587
|
|
|
*/ |
588
|
|
|
]; |
589
|
|
|
\core\common\Entity::outOfThePotatoes(); |
590
|
|
|
return $retArray; |
591
|
|
|
} |
592
|
|
|
} |
593
|
|
|
|