Test Failed
Push — release_2_0 ( 409b15...b5d05f )
by Tomasz
06:08
created

Devices   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 510
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 317
dl 0
loc 510
rs 10
c 0
b 0
f 0
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]>
0 ignored issues
show
Coding Style introduced by
The tag in position 1 should be the @package tag
Loading history...
35
 * 
36
 * @license see LICENSE file in root directory
0 ignored issues
show
Coding Style introduced by
The tag in position 2 should be the @author tag
Loading history...
37
 * 
38
 * @package ModuleWriting
0 ignored issues
show
Coding Style introduced by
The tag in position 3 should be the @license tag
Loading history...
39
 */
0 ignored issues
show
Coding Style introduced by
Missing @category tag in class comment
Loading history...
Coding Style introduced by
Missing @link tag in class comment
Loading history...
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
     * - 'args' - currently this option can use only one value - 'gl' and this will be used
78
     *         only for Windows 8 and Windows 10 installers. Setting this option 
79
     *         turns on usage of GEANTLink for TTLS support. This option should be used
80
     *         for Windows 10 where TTLS is broken, but not for Windows 8 where the 
81
     *         system method works well.
82
     * - 'mime' - used to set the MIME type of the installer file;
83
     *         if not set will default to the value provided by PHP finfo.
84
     *         The default is unset, so it is not listed in the Options array.
85
     */
0 ignored issues
show
Coding Style Documentation introduced by
Missing @var tag in member variable comment
Loading history...
86
    public static $Options = [
87
        'sign' => 0,
88
        'no_cache' => 0,
89
        'hidden' => 0,
90
        'redirect' => 0,
91
        'clientcert' => Devices::SUPPORT_RSA,
92
    ];
93
94
    /**
95
     * Each device is defined as a sub-array within this array
96
     *
97
     * Except for changing/adding things inside the options arrays, do not modify
98
     * this array unless you really know what you are doing.
99
     *
100
     * Beware that the entrance page of CAT contains a rolling ad which 
101
     * lists some devices, and also states that certain device modules are signed,
102
     * you should keep this information in sync with your settings in this file
103
     * See web/user/roll.php for settings and more information.
104
     *
105
     * Settings
106
     * - 'group' - caused device grouping used by the entrance screen
107
     * - 'display' is the name shown on the GUI button
108
     * - 'match' - a regular expression which will be matched against HTTP_USER_AGENT
109
     *             to discover the operating system of the user
110
     * - 'directory' is the subdirectory of devices directory, where
111
     *       the device module resides
112
     * - 'module' is the name of the module class, the same name with .php
113
     *       added will be used as the name of the main include file for the module
114
     * - 'signer' if defined points to a script which will sign a file. 
115
     *       The script must be located in the signer subdirectory of CAT.
116
     *       The first argument of this script must be the input file name, 
117
     *       the second - the signed file filename. Signer will not be used
118
     *       unless the sign option is set to nonzero.
119
     * - 'options' - the array of options overriding the default settings.
120
     *       See the descripption of options above.
121
     *
122
     * @example devices/devices-template.php file listing
123
     * @return array the device modules
124
     */
125
    public static function listDevices() {
126
        \core\common\Entity::intoThePotatoes();
127
        $retArray = [
128
            'w10' => [
129
                'group' => "microsoft",
130
                'display' => _("MS Windows 10"),
131
                'match' => 'Windows NT 10',
132
                'directory' => 'ms',
133
                'module' => 'W8_10',
134
                'signer' => 'ms_windows_sign',
135
                'options' => [
136
                    'sign' => 1,
137
                    'device_id' => 'W10',
138
                    'args' => 'gl',
139
                    'mime' => 'application/x-dosexec',
140
                ],
141
            ],
142
            'w8' => [
143
                'group' => "microsoft",
144
                'display' => _("MS Windows 8, 8.1"),
145
                'match' => 'Windows NT 6[._][23]',
146
                'directory' => 'ms',
147
                'module' => 'W8_10',
148
                'signer' => 'ms_windows_sign',
149
                'options' => [
150
                    'sign' => 1,
151
                    'device_id' => 'W8',
152
                    'mime' => 'application/x-dosexec',
153
                ],
154
            ],
155
            'w7' => [
156
                'group' => "microsoft",
157
                'display' => _("MS Windows 7"),
158
                'match' => 'Windows NT 6[._]1',
159
                'directory' => 'ms',
160
                'module' => 'Vista7',
161
                'signer' => 'ms_windows_sign',
162
                'options' => [
163
                    'sign' => 1,
164
                    'device_id' => 'W7',
165
                    'mime' => 'application/x-dosexec',
166
                ],
167
            ],
168
            'vista' => [
169
                'group' => "microsoft",
170
                'display' => _("MS Windows Vista"),
171
                'match' => 'Windows NT 6[._]0',
172
                'directory' => 'ms',
173
                'module' => 'Vista7',
174
                'signer' => 'ms_windows_sign',
175
                'options' => [
176
                    'sign' => 1,
177
                    'device_id' => 'Vista',
178
                    'mime' => 'application/x-dosexec',
179
                ],
180
            ],
181
            'win-rt' => [
182
                'group' => "microsoft",
183
                'display' => _("Windows RT"),
184
                'directory' => 'redirect_dev',
185
                'module' => 'RedirectDev',
186
                'options' => [
187
                    'hidden' => 0,
188
                    'redirect' => 1,
189
                ],
190
            ],
191
            'apple_mojave' => array(
192
                'group' => "apple",
193
                'display' => _("Apple macOS Mojave"),
194
                'match' => 'Mac OS X 10[._]14',
195
                'directory' => 'apple_mobileconfig',
196
                'module' => 'mobileconfig_os_x',
197
                'signer' => 'mobileconfig_sign',
198
                'options' => array(
199
                    'sign' => 1,
200
                    'device_id' => 'OS_X',
201
                    'mime' => 'application/x-apple-aspen-config',
202
                    'clientcert' => Devices::SUPPORT_ECDSA,
203
                    '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."),
204
                ),
205
            'apple_hi_sierra' => array(
206
                'group' => "apple",
207
                'display' => _("Apple macOS High Sierra"),
208
                'match' => 'Mac OS X 10[._]13',
209
                'directory' => 'apple_mobileconfig',
210
                'module' => 'mobileconfig_os_x',
211
                'signer' => 'mobileconfig_sign',
212
                'options' => array(
213
                    'sign' => 1,
214
                    'device_id' => 'OS_X',
215
                    'mime' => 'application/x-apple-aspen-config',
216
                    'clientcert' => Devices::SUPPORT_ECDSA,
217
                    '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."),
218
                ),
219
            ),
220
            'apple_sierra' => array(
221
                'group' => "apple",
222
                'display' => _("Apple macOS Sierra"),
223
                'match' => 'Mac OS X 10[._]12',
224
                'directory' => 'apple_mobileconfig',
225
                'module' => 'mobileconfig_os_x',
226
                'signer' => 'mobileconfig_sign',
227
                'options' => array(
228
                    'sign' => 1,
229
                    'device_id' => 'OS_X',
230
                    'mime' => 'application/x-apple-aspen-config',
231
                    '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."),
232
                ),
233
            ),
234
            'apple_el_cap' => [
235
                'group' => "apple",
236
                'display' => _("Apple OS X El Capitan"),
237
                'match' => 'Mac OS X 10[._]11',
238
                'directory' => 'apple_mobileconfig',
239
                'module' => 'mobileconfig_os_x',
240
                'signer' => 'mobileconfig_sign',
241
                'options' => array(
242
                    'sign' => 1,
243
                    'device_id' => 'OS_X',
244
                    'mime' => 'application/x-apple-aspen-config',
245
                    '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."),
246
                ),
247
            ],
248
            'apple_yos' => [
249
                'group' => "apple",
250
                'display' => _("Apple OS X Yosemite"),
251
                'match' => 'Mac OS X 10[._]10',
252
                'directory' => 'apple_mobileconfig',
253
                'module' => 'mobileconfig_os_x',
254
                'signer' => 'mobileconfig_sign',
255
                'options' => [
256
                    'sign' => 1,
257
                    'device_id' => 'OS_X',
258
                    'mime' => 'application/x-apple-aspen-config',
259
                    '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."),
260
                ],
261
            ],
262
            'apple_mav' => [
263
                'group' => "apple",
264
                'display' => _("Apple OS X Mavericks"),
265
                'match' => 'Mac OS X 10[._]9',
266
                'directory' => 'apple_mobileconfig',
267
                'module' => 'mobileconfig_os_x',
268
                'signer' => 'mobileconfig_sign',
269
                'options' => [
270
                    'sign' => 1,
271
                    'device_id' => 'OS_X',
272
                    'mime' => 'application/x-apple-aspen-config',
273
                    '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."),
274
                ],
275
            ],
276
            'apple_m_lion' => [
277
                'group' => "apple",
278
                'display' => _("Apple OS X Mountain Lion"),
279
                'match' => 'Mac OS X 10[._]8',
280
                'directory' => 'apple_mobileconfig',
281
                'module' => 'mobileconfig_os_x',
282
                'signer' => 'mobileconfig_sign',
283
                'options' => [
284
                    'sign' => 1,
285
                    'device_id' => 'OS_X',
286
                    'mime' => 'application/x-apple-aspen-config',
287
                    '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."),
288
                ],
289
            ],
290
            'apple_lion' => [
291
                'group' => "apple",
292
                'display' => _("Apple OS X Lion"),
293
                'match' => 'Mac OS X 10[._]7',
294
                'directory' => 'apple_mobileconfig',
295
                'module' => 'mobileconfig_os_x',
296
                'signer' => 'mobileconfig_sign',
297
                'options' => [
298
                    'sign' => 1,
299
                    'device_id' => 'OS_X',
300
                    'mime' => 'application/x-apple-aspen-config',
301
                    '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."),
302
                ],
303
            ],
304
            'mobileconfig12' => [
305
                'group' => "apple",
306
                'display' => _("Apple iOS mobile devices"),
307
                'match' => '(iPad|iPhone|iPod);.*OS (1[2-9])_',
308
                'directory' => 'apple_mobileconfig',
309
                'module' => 'mobileconfig_ios12plus',
310
                'signer' => 'mobileconfig_sign',
311
                'options' => [
312
                    'sign' => 1,
313
                    'device_id' => 'iOS',
314
                    'mime' => 'application/x-apple-aspen-config',
315
                    '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."),
316
                ],
317
            ],
318
            'mobileconfig' => [
319
                'group' => "apple",
320
                'display' => _("Apple iOS mobile devices (iOS 7-11)"),
321
                'match' => '(iPad|iPhone|iPod);.*OS ([7-9]|1[0-1])_',
322
                'directory' => 'apple_mobileconfig',
323
                'module' => 'mobileconfig_ios7plus',
324
                'signer' => 'mobileconfig_sign',
325
                'options' => [
326
                    'sign' => 1,
327
                    'device_id' => 'iOS',
328
                    'mime' => 'application/x-apple-aspen-config',
329
                    '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."),
330
                ],
331
            ],
332
            'mobileconfig-56' => [
333
                'group' => "apple",
334
                'display' => _("Apple iOS mobile devices (iOS 5 and 6)"),
335
                'match' => '(iPad|iPhone|iPod);.*OS [56]_',
336
                'directory' => 'apple_mobileconfig',
337
                'module' => 'mobileconfig_ios5plus',
338
                'signer' => 'mobileconfig_sign',
339
                'options' => [
340
                    'sign' => 1,
341
                    'device_id' => 'iOS',
342
                    'mime' => 'application/x-apple-aspen-config',
343
                ],
344
            ],
345
            'linux' => [
346
                'group' => "linux",
347
                'display' => _("Linux"),
348
                'match' => 'Linux(?!.*Android)',
349
                'directory' => 'linux',
350
                'module' => 'Linux',
351
                'options' => [
352
                    'mime' => 'application/x-sh',
353
                ],
354
            ],
355
            'chromeos' => [
356
                'group' => "chrome",
357
                'display' => _("Chrome OS"),
358
                'match' => 'CrOS',
359
                'directory' => 'chromebook',
360
                'module' => 'chromebook',
361
                'options' => [
362
                    'mime' => 'application/x-onc',
363
                    '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.")),
364
                ],
365
            ],
366
            'android_pie' => [
367
                'group' => "android",
368
                'display' => _("Android 9.0 Pie"),
369
                'match' => 'Android 9',
370
                'directory' => 'xml',
371
                'module' => 'Lollipop',
372
                'options' => [
373
                    'mime' => 'application/eap-config',
374
                    '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."),
375
                            "eduroamCAT",
376
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
377
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
378
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
379
                ],
380
            ],
381
            'android_oreo' => [
382
                'group' => "android",
383
                'display' => _("Android 8.0 Oreo"),
384
                'match' => 'Android 8',
385
                'directory' => 'xml',
386
                'module' => 'Lollipop',
387
                'options' => [
388
                    'mime' => 'application/eap-config',
389
                    '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."),
390
                            "eduroamCAT",
391
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
392
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
393
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
394
                ],
395
            ],
396
            'android_nougat' => [
397
                'group' => "android",
398
                'display' => _("Android 7.0 Nougat"),
399
                'match' => 'Android 7',
400
                'directory' => 'xml',
401
                'module' => 'Lollipop',
402
                'options' => [
403
                    'mime' => 'application/eap-config',
404
                    '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."),
405
                            "eduroamCAT",
406
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
407
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
408
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
409
                ],
410
            ],
411
            'android_marshmallow' => [
412
                'group' => "android",
413
                'display' => _("Android 6.0 Marshmallow"),
414
                'match' => 'Android 6',
415
                'directory' => 'xml',
416
                'module' => 'Lollipop',
417
                'options' => [
418
                    'mime' => 'application/eap-config',
419
                    '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."),
420
                            "eduroamCAT",
421
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
422
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
423
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
424
                ],
425
            ],
426
            'android_lollipop' => [
427
                'group' => "android",
428
                'display' => _("Android 5.0 Lollipop"),
429
                'match' => 'Android 5',
430
                'directory' => 'xml',
431
                'module' => 'Lollipop',
432
                'options' => [
433
                    'mime' => 'application/eap-config',
434
                    '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."),
435
                            "eduroamCAT",
436
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
437
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
438
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
439
                ],
440
            ],
441
            'android_kitkat' => [
442
                'group' => "android",
443
                'display' => _("Android 4.4 KitKat"),
444
                'match' => 'Android 4\.[4-9]',
445
                'directory' => 'xml',
446
                'module' => 'KitKat',
447
                'options' => [
448
                    'mime' => 'application/eap-config',
449
                    '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."),
450
                            "eduroamCAT",
451
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
452
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
453
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
454
                ],
455
            ],
456
            'android_43' => [
457
                'group' => "android",
458
                'display' => _("Android 4.3"),
459
                'match' => 'Android 4\.3',
460
                'directory' => 'xml',
461
                'module' => 'KitKat',
462
                'options' => [
463
                    'mime' => 'application/eap-config',
464
                    '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."),
465
                            "eduroamCAT",
466
                            "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
467
                            "<a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>",
468
                            "<a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"),
469
                ],
470
            ],
471
            'android_legacy' => [
472
                'group' => "android",
473
                'display' => _("Android"),
474
                'match' => 'Android',
475
                'directory' => 'redirect_dev',
476
                'module' => 'RedirectDev',
477
                'options' => [
478
                    'redirect' => 1,
479
                ],
480
            ],
481
            'eap-config' => [
482
                'group' => "eap-config",
483
                'display' => _("EAP config"),
484
                'directory' => 'xml',
485
                'module' => 'XML_ALL',
486
                'options' => [
487
                    'mime' => 'application/eap-config',
488
                    '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.")),
489
                ],
490
            ],
491
            'test' => [
492
                'group' => "other",
493
                'display' => _("Test"),
494
                'directory' => 'test_module',
495
                'module' => 'TestModule',
496
                'options' => [
497
                    'hidden' => 1,
498
                ],
499
            ],
500
                /*
501
502
                  'xml-ttls-pap'=>array(
503
                  'group' => "generic",
504
                  'display'=>_("Generic profile TTLS-PAP"),
505
                  'directory'=>'xml',
506
                  'module'=>'XML_TTLS_PAP',
507
                  'options'=>array(
508
                  'mime'=>'application/eap-config',
509
                  ),
510
                  ),
511
512
                  'xml-ttls-mschap2'=>array(
513
                  'group' => "generic",
514
                  'display'=>_("Generic profile TTLS-MSCHAPv2"),
515
                  'directory'=>'xml',
516
                  'module'=>'XML_TTLS_MSCHAP2',
517
                  'options'=>array(
518
                  'mime'=>'application/eap-config',
519
                  ),
520
                  ),
521
522
                  'xml-peap'=>array(
523
                  'group' => "generic",
524
                  'display'=>_("Generic profile PEAP"),
525
                  'directory'=>'xml',
526
                  'module'=>'XML_PEAP',
527
                  'options'=>array(
528
                  'mime'=>'application/eap-config',
529
                  ),
530
                  ),
531
532
                  'xml-tls'=>array(
533
                  'group' => "generic",
534
                  'display'=>_("Generic profile TLS"),
535
                  'directory'=>'xml',
536
                  'module'=>'XML_TLS',
537
                  'options'=>array(
538
                  'mime'=>'application/eap-config',
539
                  ),
540
                  ),
541
542
                  'xml-pwd'=>array(
543
                  'group' => "generic",
544
                  'display'=>_("Generic profile PWD"),
545
                  'directory'=>'xml',
546
                  'module'=>'XML_PWD',
547
                  'options'=>array(
548
                  'mime'=>'application/eap-config',
549
                  ),
550
                  ),
551
                  'xml-all'=>array(
552
                  'group' => "generic",
553
                  'display'=>_("Generic profile ALL EAPs"),
554
                  'directory'=>'xml',
555
                  'module'=>'XML_ALL',
556
                  'options'=>array(
557
                  'mime'=>'application/eap-config',
558
                  ),
559
                  ),
560
                 */
561
        ];
0 ignored issues
show
Bug introduced by
A parse error occurred: Syntax error, unexpected ']', expecting ',' or ')' on line 561 at column 8
Loading history...
562
        \core\common\Entity::outOfThePotatoes();
563
        return $retArray;
564
    }
565
566
}
567