Passed
Push — master ( 30d070...476e2a )
by Tomasz
03:28
created
config/config-diagnostics-template.php 1 patch
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -59,12 +59,12 @@  discard block
 block discarded – undo
59 59
      */
60 60
 
61 61
         /**
62
-     * Various paths.
63
-     * eapol_test: absolute path to the eapol_test executable. If you just fill in "eapol_test" the one from the system $PATH will be taken.
64
-     * c_rehash: absolute path to the c_rehash executable. If you just fill in "c_rehash" the one from the system $PATH will be taken.
65
-     *   See also NSIS_VERSION further down
66
-     * @var array
67
-     */
62
+         * Various paths.
63
+         * eapol_test: absolute path to the eapol_test executable. If you just fill in "eapol_test" the one from the system $PATH will be taken.
64
+         * c_rehash: absolute path to the c_rehash executable. If you just fill in "c_rehash" the one from the system $PATH will be taken.
65
+         *   See also NSIS_VERSION further down
66
+         * @var array
67
+         */
68 68
     'PATHS' => [
69 69
         'c_rehash' => 'c_rehash',
70 70
         'eapol_test' => 'eapol_test',
@@ -101,45 +101,45 @@  discard block
 block discarded – undo
101 101
         ],
102 102
 
103 103
         'TLS-clientcerts' => [
104
-          'CA1' => [
104
+            'CA1' => [
105 105
             'status' => 'ACCREDITED',
106 106
             'issuerCA' => '/DC=org/DC=pki1/CN=PKI 1',
107 107
             'certificates' => [
108
-              [
108
+                [
109 109
                 'status' => 'CORRECT',
110 110
                 'public' => 'ca1-client-cert.pem',
111 111
                 'private' => 'ca1-client-key.pem',
112 112
                 'expected' => 'PASS'],
113
-              [
113
+                [
114 114
                 'status' => 'WRONGPOLICY',
115 115
                 'public' => 'ca1-nopolicy-cert.pem',
116 116
                 'private' => 'ca1-nopolicy-key.key',
117 117
                 'expected' => 'FAIL'],
118
-              [
118
+                [
119 119
                 'status' => 'EXPIRED',
120 120
                 'public' => 'ca1-exp.pem',
121 121
                 'private' => 'ca1-exp.key',
122 122
                 'expected' => 'FAIL'],
123
-              [
123
+                [
124 124
                 'status' => 'REVOKED',
125 125
                 'public' => 'ca1-revoked.pem',
126 126
                 'private' => 'ca1-revoked.key',
127 127
                 'expected' => 'FAIL'],
128 128
             ]
129
-          ],
130
-          'CA-N' => [
129
+            ],
130
+            'CA-N' => [
131 131
             'status' => 'NONACCREDITED',
132 132
             'issuerCA' => '/DC=org/DC=pkiN/CN=PKI N',
133 133
             'certificates' => [
134
-               [
134
+                [
135 135
                 'status' => 'CORRECT',
136 136
                 'public' => 'caN-client-cert.pem',
137 137
                 'private' => 'caN-client-cert.key',
138 138
                 'expected' => 'FAIL'],
139
-               ]
140
-          ]
141
-      ],
142
-      'accreditedCAsURL' => '',
139
+                ]
140
+            ]
141
+        ],
142
+        'accreditedCAsURL' => '',
143 143
     ],
144 144
     'eduGainResolver' => [
145 145
         'url' => 'https://technical.edugain.org/api.php',
Please login to merge, or discard this patch.
config/config-master-template.php 1 patch
Indentation   +27 added lines, -28 removed lines patch added patch discarded remove patch
@@ -104,13 +104,13 @@  discard block
 block discarded – undo
104 104
     ],
105 105
 
106 106
     /**
107
-      * Configuration for GeoIP2 
108
-      * Beware, the legacy version does not really work with IPv6 addresses
109
-      * version: set to 2 if you wish to use GeoIP2, to 1 for the legacy version or set to 0 to turn off geolocation service
110
-      * geoip2-path-to-autoloader: points to the GeoIP2 autoloader 
111
-      * geoip2-path-to-db: points to the GeoIP2 city database
112
-      * @var array
113
-      */
107
+     * Configuration for GeoIP2 
108
+     * Beware, the legacy version does not really work with IPv6 addresses
109
+     * version: set to 2 if you wish to use GeoIP2, to 1 for the legacy version or set to 0 to turn off geolocation service
110
+     * geoip2-path-to-autoloader: points to the GeoIP2 autoloader 
111
+     * geoip2-path-to-db: points to the GeoIP2 city database
112
+     * @var array
113
+     */
114 114
       
115 115
     'GEOIP' => [
116 116
         'version' => 0,
@@ -128,7 +128,6 @@  discard block
 block discarded – undo
128 128
      *    mails, just configure the signing cert with these parameters. All must
129 129
      *    be non-NULL for signing to happen. If you don't need a keypass, make 
130 130
      *    it an empty string instead.
131
-
132 131
      * @var array
133 132
      */
134 133
     'MAILSETTINGS' => [ // we always use Submission
@@ -147,25 +146,25 @@  discard block
 block discarded – undo
147 146
      * @var array
148 147
      */
149 148
     'LANGUAGES' => [
150
-      'bg' => ['display' => 'Български',   'locale' => 'bg_BG.utf8',    'latin_based' => FALSE],
151
-      'ca' => ['display' => 'Català',      'locale' => 'ca_ES.utf8',    'latin_based' => TRUE],
152
-      'cs' => ['display' => 'Čeština',     'locale' => 'cs_CZ.utf8',    'latin_based' => TRUE],
153
-      'de' => ['display' => 'Deutsch',     'locale' => 'de_DE.utf8',    'latin_based' => TRUE],
154
-      'el' => ['display' => 'Ελληνικά',    'locale' => 'el_GR.utf8',    'latin_based' => FALSE],
155
-      'en' => ['display' => 'English(GB)', 'locale' => 'en_GB.utf8',    'latin_based' => TRUE],
156
-      'es' => ['display' => 'Español',     'locale' => 'es_ES.utf8',    'latin_based' => TRUE],
157
-      'fr' => ['display' => 'Français',    'locale' => 'fr_FR.utf8',    'latin_based' => TRUE],
158
-      'gl' => ['display' => 'Galego',      'locale' => 'gl_ES.utf8',    'latin_based' => TRUE],
159
-      'hr' => ['display' => 'Hrvatski',    'locale' => 'hr_HR.utf8',    'latin_based' => TRUE],
160
-      'it' => ['display' => 'Italiano',    'locale' => 'it_IT.utf8',    'latin_based' => TRUE],
161
-      'lt' => ['display' => 'lietuvių',    'locale' => 'lt_LT.utf8',    'latin_based' => TRUE],
162
-      'nb' => ['display' => 'Norsk',       'locale' => 'nb_NO.utf8',    'latin_based' => TRUE],
163
-      'pl' => ['display' => 'Polski',      'locale' => 'pl_PL.utf8',    'latin_based' => TRUE],
164
-      'sl' => ['display' => 'Slovenščina', 'locale' => 'sl_SI.utf8',    'latin_based' => TRUE],
165
-      'sr' => ['display' => 'Srpski',      'locale' => 'sr_RS@latin',   'latin_based' => TRUE],
166
-      'fi' => ['display' => 'Suomi',       'locale' => 'fi_FI.utf8',    'latin_based' => TRUE],
167
-      'hu' => ['display' => 'Magyar',      'locale' => 'hu_HU.utf8',    'latin_based' => TRUE],
168
-      'pt' => ['display' => 'Português',   'locale' => 'pt_PT.utf8',    'latin_based' => TRUE],
149
+        'bg' => ['display' => 'Български',   'locale' => 'bg_BG.utf8',    'latin_based' => FALSE],
150
+        'ca' => ['display' => 'Català',      'locale' => 'ca_ES.utf8',    'latin_based' => TRUE],
151
+        'cs' => ['display' => 'Čeština',     'locale' => 'cs_CZ.utf8',    'latin_based' => TRUE],
152
+        'de' => ['display' => 'Deutsch',     'locale' => 'de_DE.utf8',    'latin_based' => TRUE],
153
+        'el' => ['display' => 'Ελληνικά',    'locale' => 'el_GR.utf8',    'latin_based' => FALSE],
154
+        'en' => ['display' => 'English(GB)', 'locale' => 'en_GB.utf8',    'latin_based' => TRUE],
155
+        'es' => ['display' => 'Español',     'locale' => 'es_ES.utf8',    'latin_based' => TRUE],
156
+        'fr' => ['display' => 'Français',    'locale' => 'fr_FR.utf8',    'latin_based' => TRUE],
157
+        'gl' => ['display' => 'Galego',      'locale' => 'gl_ES.utf8',    'latin_based' => TRUE],
158
+        'hr' => ['display' => 'Hrvatski',    'locale' => 'hr_HR.utf8',    'latin_based' => TRUE],
159
+        'it' => ['display' => 'Italiano',    'locale' => 'it_IT.utf8',    'latin_based' => TRUE],
160
+        'lt' => ['display' => 'lietuvių',    'locale' => 'lt_LT.utf8',    'latin_based' => TRUE],
161
+        'nb' => ['display' => 'Norsk',       'locale' => 'nb_NO.utf8',    'latin_based' => TRUE],
162
+        'pl' => ['display' => 'Polski',      'locale' => 'pl_PL.utf8',    'latin_based' => TRUE],
163
+        'sl' => ['display' => 'Slovenščina', 'locale' => 'sl_SI.utf8',    'latin_based' => TRUE],
164
+        'sr' => ['display' => 'Srpski',      'locale' => 'sr_RS@latin',   'latin_based' => TRUE],
165
+        'fi' => ['display' => 'Suomi',       'locale' => 'fi_FI.utf8',    'latin_based' => TRUE],
166
+        'hu' => ['display' => 'Magyar',      'locale' => 'hu_HU.utf8',    'latin_based' => TRUE],
167
+        'pt' => ['display' => 'Português',   'locale' => 'pt_PT.utf8',    'latin_based' => TRUE],
169 168
 
170 169
 // For the following languages, partial translations exist in Transifex, but
171 170
 // they are not complete enough for display. Their Transifex content is not
@@ -242,7 +241,7 @@  discard block
 block discarded – undo
242 241
             'user' => 'customerservice',
243 242
             'pass' => '2lame4u',
244 243
             'readonly' => TRUE, ],
245
-         'enforce-external-sync' => TRUE,
244
+            'enforce-external-sync' => TRUE,
246 245
     ],
247 246
 
248 247
     /**
Please login to merge, or discard this patch.
core/IdP.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -155,12 +155,12 @@
 block discarded – undo
155 155
      * @return bool TRUE if this user is an admin with FED-level blessing
156 156
      */
157 157
     public function isPrimaryOwner($user) {
158
-       foreach ($this->listOwners() as $oneOwner) {
159
-           if ($oneOwner['ID'] == $user && $oneOwner['LEVEL'] == "FED") {
160
-               return TRUE;
161
-           }
162
-       }
163
-       return FALSE;
158
+        foreach ($this->listOwners() as $oneOwner) {
159
+            if ($oneOwner['ID'] == $user && $oneOwner['LEVEL'] == "FED") {
160
+                return TRUE;
161
+            }
162
+        }
163
+        return FALSE;
164 164
     }
165 165
     
166 166
     /**
Please login to merge, or discard this patch.
web/user/faq.inc.php 1 patch
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -12,52 +12,52 @@
 block discarded – undo
12 12
     this is just an include file for Gui class definition
13 13
 */
14 14
     $Faq = [
15
-      [
15
+        [
16 16
         'id'=>'idp_not_listed',
17 17
         'title'=>sprintf(_("My %s is not listed. Can't I just use any of the other ones?"),$Gui->nomenclature_inst),
18 18
         'text'=>sprintf(_("No! The installers contain security settings which are specific to the %s. If you are not from that %s, your computer will detect that you are about to send your username and credential to an unauthorised server and will abort the login. Using a different %s installer is <i>guaranteed to not work</i>!"), $Gui->nomenclature_inst, $Gui->nomenclature_inst, $Gui->nomenclature_inst)
19
-         ],
20
-      [
19
+            ],
20
+        [
21 21
         'id'=>'idp_not_listed',
22 22
         'title'=>sprintf(_("What can I do to get my %s listed?"), $Gui->nomenclature_inst),
23 23
         'text'=>sprintf(_("Contact %s administrators at your %s and complain. It will take at most one hour of their time to get things done."),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'], $Gui->nomenclature_inst)
24 24
 ],
25
-      [
25
+        [
26 26
         'id'=>'device_not_listed',
27 27
         'title'=>sprintf(_("My device is not listed! Does that mean I can't do %s?"),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']),
28 28
         'text'=>sprintf(_("No. The CAT tool can only support Operating Systems which can be automatically configured in some way. Many other devices can still be used with %s, but must be configured manually. Please contact your %s Identity Provider to get help in setting up such a device."),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'])
29
-      ],
29
+        ],
30 30
 
31
-      [
31
+        [
32 32
         'title'=>sprintf(_("I can connect to %s simply by providing username and password, what is the point of using an installer?"),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']),
33 33
         'text'=>sprintf(_("When you are connecting from an unconfigured device your security is at risk. The very point of preconfiguration is to set up security, when this is done, your device will first confirm that it talks to the correct authentication server and will never send your password to an untrusted one."))
34 34
 ],
35
-      [
35
+        [
36 36
         'title'=>sprintf(_("Is it safe to use %s installers?"),CONFIG['APPEARANCE']['productname']),
37 37
         'text'=>sprintf(_("%s installers configure security settings on your device, therefore you should be sure that you are using genuine ones."),CONFIG['APPEARANCE']['productname']).' '.( isset(CONFIG_CONFASSISTANT['CONSORTIUM']['signer_name']) && CONFIG_CONFASSISTANT['CONSORTIUM']['signer_name'] != "" ? sprintf(_("This is why %s installers are digitally signed by %s. Watch out for a system message confirming this."),CONFIG['APPEARANCE']['productname'],CONFIG_CONFASSISTANT['CONSORTIUM']['signer_name']):""),
38 38
         
39 39
 ],
40
-      [
40
+        [
41 41
         'title'=>_("Windows 'SmartScreen' or 'Internet Explorer' tell me that the file is not commonly downloaded and possibly harmful. Should I be concerned?"),
42 42
         'text'=>_("Contrary to what the name suggests, 'SmartScreen' isn't actually very smart. The warning merely means that the file has not yet been downloaded by enough users to make Microsoft consider it popular (which would strangely enough make it be considered 'safe'). This message alone is not a security problem.")." ".(isset(CONFIG_CONFASSISTANT['CONSORTIUM']['signer_name']) && CONFIG_CONFASSISTANT['CONSORTIUM']['signer_name'] != "" ? sprintf(_("So long as the file is carrying a valid signature from %s, the download is safe."),CONFIG_CONFASSISTANT['CONSORTIUM']['signer_name'])." ":"").sprintf(_("Please see also Microsoft's FAQ regarding SmartScreen at %s."),"<a href='http://windows.microsoft.com/en-US/windows7/SmartScreen-Filter-frequently-asked-questions-IE9?SignedIn=1'>Microsoft FAQ</a>")
43 43
         
44 44
 ],
45
-      [
45
+        [
46 46
         'title'=>sprintf(_("I can see %s network and my device is configured but it does not connect, what can be the cause?"),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']),
47
-      'text'=>sprintf(_("There can be a number of different reasons. The network you see may not be a genuine %s one and your device silently drops the connection attempt; there may be something wrong with the configuration of the network; your account may have expired; there may be a connection problem with your home authentication server; you may have broken the regulations of the network you are using and have been refused access as a consequence. You should contact your %s and report the problem, the administrators should be able to trace your connections."),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'], $Gui->nomenclature_inst)
47
+        'text'=>sprintf(_("There can be a number of different reasons. The network you see may not be a genuine %s one and your device silently drops the connection attempt; there may be something wrong with the configuration of the network; your account may have expired; there may be a connection problem with your home authentication server; you may have broken the regulations of the network you are using and have been refused access as a consequence. You should contact your %s and report the problem, the administrators should be able to trace your connections."),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'], $Gui->nomenclature_inst)
48 48
 ],
49
-      [
49
+        [
50 50
         'id'=>'contact',
51 51
         'title'=>sprintf(_("I have a question about this web site. Whom should I contact?")),
52 52
         'text'=>sprintf(_("You should send a mail to %s."),CONFIG['APPEARANCE']['support-contact']['display'])
53
-      ],
53
+        ],
54 54
 ];
55 55
 
56 56
     if (CONFIG_CONFASSISTANT['CONSORTIUM']['name'] == "eduroam") {
57
-       array_push($Faq,
58
-         [
59
-           'id'=>'what_is_'.CONFIG_CONFASSISTANT['CONSORTIUM']['name'],
60
-           'title'=>sprintf(_("What is this %s thing anyway?"), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']),
61
-           'text'=>sprintf(_("%s is a global WiFi roaming consortium which gives members of education and research access to the internet <i>for free</i> on all %s hotspots on the planet. There are several million %s users already, enjoying free internet access on more than 6.000 hotspots! Visit <a href='http://www.eduroam.org'>the %s homepage</a> for more details."),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'])
62
-         ]);
57
+        array_push($Faq,
58
+            [
59
+            'id'=>'what_is_'.CONFIG_CONFASSISTANT['CONSORTIUM']['name'],
60
+            'title'=>sprintf(_("What is this %s thing anyway?"), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']),
61
+            'text'=>sprintf(_("%s is a global WiFi roaming consortium which gives members of education and research access to the internet <i>for free</i> on all %s hotspots on the planet. There are several million %s users already, enjoying free internet access on more than 6.000 hotspots! Visit <a href='http://www.eduroam.org'>the %s homepage</a> for more details."),CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'],CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'])
62
+            ]);
63 63
     }
Please login to merge, or discard this patch.
devices/xml/Device_XML.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -350,7 +350,7 @@
 block discarded – undo
350 350
     }
351 351
     
352 352
     private function getAuthMethod($eap) {
353
- //       $attr = $this->attributes;
353
+    //       $attr = $this->attributes;
354 354
         $authmethod = new AuthenticationMethod();
355 355
         $eapParams = $this->getAuthenticationMethodParams($eap);
356 356
         $eaptype = new Type();
Please login to merge, or discard this patch.
devices/ms/Device_W8_10.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@
 block discarded – undo
25 25
  * @author Tomasz Wolniewicz <[email protected]>
26 26
  * @package ModuleWriting
27 27
  */
28
- class Device_W8_10 extends WindowsCommon {
28
+    class Device_W8_10 extends WindowsCommon {
29 29
     final public function __construct() {
30 30
         parent::__construct();
31 31
         $this->setSupportedEapMethods(
Please login to merge, or discard this patch.
devices/Devices-template.php 1 patch
Indentation   +159 added lines, -159 removed lines patch added patch discarded remove patch
@@ -64,10 +64,10 @@  discard block
 block discarded – undo
64 64
  */
65 65
 
66 66
 public static $Options=[
67
-  'sign'=>0,
68
-  'no_cache'=>0,
69
-  'hidden'=>0,
70
-  'redirect'=>0,
67
+    'sign'=>0,
68
+    'no_cache'=>0,
69
+    'hidden'=>0,
70
+    'redirect'=>0,
71 71
 ];
72 72
 
73 73
 /**
@@ -105,76 +105,76 @@  discard block
 block discarded – undo
105 105
 
106 106
 public static function listDevices() {
107 107
     return [
108
- 'w10'=>[
109
-   'group' => "microsoft",
110
-   'display'=>_("MS Windows 10"),
111
-   'match'=>'Windows NT 10',
112
-   'directory'=>'ms',
113
-   'module'=>'W8_10',
114
-   'signer'=>'ms_windows_sign',
108
+    'w10'=>[
109
+    'group' => "microsoft",
110
+    'display'=>_("MS Windows 10"),
111
+    'match'=>'Windows NT 10',
112
+    'directory'=>'ms',
113
+    'module'=>'W8_10',
114
+    'signer'=>'ms_windows_sign',
115 115
     'options'=>[
116
-       'sign'=>1,
117
-       'device_id'=>'W10',
116
+        'sign'=>1,
117
+        'device_id'=>'W10',
118 118
         'args' => 'gl',
119
-       'mime'=>'application/x-dosexec',
120
-      ],
121
-   ],
119
+        'mime'=>'application/x-dosexec',
120
+        ],
121
+    ],
122 122
 	
123
- 'w8'=>[
124
-   'group' => "microsoft",
125
-   'display'=>_("MS Windows 8, 8.1"),
126
-   'match'=>'Windows NT 6[._][23]',
127
-   'directory'=>'ms',
128
-   'module'=>'W8_10',
129
-   'signer'=>'ms_windows_sign',
123
+    'w8'=>[
124
+    'group' => "microsoft",
125
+    'display'=>_("MS Windows 8, 8.1"),
126
+    'match'=>'Windows NT 6[._][23]',
127
+    'directory'=>'ms',
128
+    'module'=>'W8_10',
129
+    'signer'=>'ms_windows_sign',
130 130
     'options'=>[
131
-       'sign'=>1,
132
-       'device_id'=>'W8',
133
-       'mime'=>'application/x-dosexec',
134
-      ],
135
-   ],
131
+        'sign'=>1,
132
+        'device_id'=>'W8',
133
+        'mime'=>'application/x-dosexec',
134
+        ],
135
+    ],
136 136
 	
137
- 'w7'=>[
138
-   'group' => "microsoft",
139
-   'display'=>_("MS Windows 7"),
140
-   'match'=>'Windows NT 6[._]1',
141
-   'directory'=>'ms',
142
-   'module'=>'Vista7',
143
-   'signer'=>'ms_windows_sign',
137
+    'w7'=>[
138
+    'group' => "microsoft",
139
+    'display'=>_("MS Windows 7"),
140
+    'match'=>'Windows NT 6[._]1',
141
+    'directory'=>'ms',
142
+    'module'=>'Vista7',
143
+    'signer'=>'ms_windows_sign',
144 144
     'options'=>[
145
-       'sign'=>1,
146
-       'device_id'=>'W7',
147
-       'mime'=>'application/x-dosexec',
148
-      ],
149
-   ],
145
+        'sign'=>1,
146
+        'device_id'=>'W7',
147
+        'mime'=>'application/x-dosexec',
148
+        ],
149
+    ],
150 150
 	
151
- 'vista'=>[
152
-   'group' => "microsoft",
153
-   'display'=>_("MS Windows Vista"),
154
-   'match'=>'Windows NT 6[._]0',
155
-   'directory'=>'ms',
156
-   'module'=>'Vista7',
157
-   'signer'=>'ms_windows_sign',
151
+    'vista'=>[
152
+    'group' => "microsoft",
153
+    'display'=>_("MS Windows Vista"),
154
+    'match'=>'Windows NT 6[._]0',
155
+    'directory'=>'ms',
156
+    'module'=>'Vista7',
157
+    'signer'=>'ms_windows_sign',
158 158
     'options'=>[
159
-       'sign'=>1,
160
-       'device_id'=>'Vista',
161
-       'mime'=>'application/x-dosexec',
162
-      ],
163
-   ],
159
+        'sign'=>1,
160
+        'device_id'=>'Vista',
161
+        'mime'=>'application/x-dosexec',
162
+        ],
163
+    ],
164 164
 	
165
- 'win-rt'=>[
165
+    'win-rt'=>[
166 166
     'group' => "microsoft",
167 167
     'display'=>_("Windows RT"),
168 168
     'directory'=>'redirect_dev',
169 169
     'module'=>'RedirectDev',
170 170
     'options'=>[
171
-      'hidden'=>0,
172
-      'redirect'=>1,
173
-      ],
174
-   ],
171
+        'hidden'=>0,
172
+        'redirect'=>1,
173
+        ],
174
+    ],
175 175
     
176 176
      
177
- 'apple_hi_sierra'=>array(
177
+    'apple_hi_sierra'=>array(
178 178
     'group' => "apple",
179 179
     'display'=>_("Apple macOS High Sierra"),
180 180
     'match'=>'Mac OS X 10[._]13',
@@ -182,14 +182,14 @@  discard block
 block discarded – undo
182 182
     'module'=>'mobileconfig_os_x',
183 183
     'signer'=>'mobileconfig_sign',
184 184
     'options'=>array(
185
-       'sign'=>1,
186
-       'device_id'=>'OS_X',
187
-       'mime'=>'application/x-apple-aspen-config',
188
-      ),
185
+        'sign'=>1,
186
+        'device_id'=>'OS_X',
187
+        'mime'=>'application/x-apple-aspen-config',
188
+        ),
189 189
     ),
190 190
 	
191 191
    
192
- 'apple_sierra'=>array(
192
+    'apple_sierra'=>array(
193 193
     'group' => "apple",
194 194
     'display'=>_("Apple macOS Sierra"),
195 195
     'match'=>'Mac OS X 10[._]12',
@@ -197,14 +197,14 @@  discard block
 block discarded – undo
197 197
     'module'=>'mobileconfig_os_x',
198 198
     'signer'=>'mobileconfig_sign',
199 199
     'options'=>array(
200
-       'sign'=>1,
201
-       'device_id'=>'OS_X',
202
-       'mime'=>'application/x-apple-aspen-config',
203
-      ),
200
+        'sign'=>1,
201
+        'device_id'=>'OS_X',
202
+        'mime'=>'application/x-apple-aspen-config',
203
+        ),
204 204
     ),
205 205
 	
206 206
 
207
- 'apple_el_cap'=>[
207
+    'apple_el_cap'=>[
208 208
     'group' => "apple",
209 209
     'display'=>_("Apple OS X El Capitan"),
210 210
     'match'=>'Mac OS X 10[._]11',
@@ -212,13 +212,13 @@  discard block
 block discarded – undo
212 212
     'module'=>'mobileconfig_os_x',
213 213
     'signer'=>'mobileconfig_sign',
214 214
     'options'=>array(
215
-       'sign'=>1,
216
-       'device_id'=>'OS_X',
217
-       'mime'=>'application/x-apple-aspen-config',
218
-      ),
215
+        'sign'=>1,
216
+        'device_id'=>'OS_X',
217
+        'mime'=>'application/x-apple-aspen-config',
218
+        ),
219 219
     ],
220 220
 
221
- 'apple_yos'=>[
221
+    'apple_yos'=>[
222 222
     'group' => "apple",
223 223
     'display'=>_("Apple OS X Yosemite"),
224 224
     'match'=>'Mac OS X 10[._]10',
@@ -226,13 +226,13 @@  discard block
 block discarded – undo
226 226
     'module'=>'mobileconfig_os_x',
227 227
     'signer'=>'mobileconfig_sign',
228 228
     'options'=>[
229
-       'sign'=>1,
230
-       'device_id'=>'OS_X',
231
-       'mime'=>'application/x-apple-aspen-config',
232
-      ],
229
+        'sign'=>1,
230
+        'device_id'=>'OS_X',
231
+        'mime'=>'application/x-apple-aspen-config',
232
+        ],
233 233
     ],
234 234
 
235
- 'apple_mav'=>[
235
+    'apple_mav'=>[
236 236
     'group' => "apple",
237 237
     'display'=>_("Apple OS X Mavericks"),
238 238
     'match'=>'Mac OS X 10[._]9',
@@ -240,13 +240,13 @@  discard block
 block discarded – undo
240 240
     'module'=>'mobileconfig_os_x',
241 241
     'signer'=>'mobileconfig_sign',
242 242
     'options'=>[
243
-       'sign'=>1,
244
-       'device_id'=>'OS_X',
245
-       'mime'=>'application/x-apple-aspen-config',
246
-      ],
243
+        'sign'=>1,
244
+        'device_id'=>'OS_X',
245
+        'mime'=>'application/x-apple-aspen-config',
246
+        ],
247 247
     ],
248 248
 
249
- 'apple_m_lion'=>[
249
+    'apple_m_lion'=>[
250 250
     'group' => "apple",
251 251
     'display'=>_("Apple OS X Mountain Lion"),
252 252
     'match'=>'Mac OS X 10[._]8',
@@ -254,13 +254,13 @@  discard block
 block discarded – undo
254 254
     'module'=>'mobileconfig_os_x',
255 255
     'signer'=>'mobileconfig_sign',
256 256
     'options'=>[
257
-       'sign'=>1,
258
-       'device_id'=>'OS_X',
259
-       'mime'=>'application/x-apple-aspen-config',
260
-      ],
257
+        'sign'=>1,
258
+        'device_id'=>'OS_X',
259
+        'mime'=>'application/x-apple-aspen-config',
260
+        ],
261 261
     ],
262 262
 	
263
- 'apple_lion'=>[
263
+    'apple_lion'=>[
264 264
     'group' => "apple",
265 265
     'display'=>_("Apple OS X Lion"),
266 266
     'match'=>'Mac OS X 10[._]7',
@@ -268,13 +268,13 @@  discard block
 block discarded – undo
268 268
     'module'=>'mobileconfig_os_x',
269 269
     'signer'=>'mobileconfig_sign',
270 270
     'options'=>[
271
-       'sign'=>1,
272
-       'device_id'=>'OS_X',
273
-       'mime'=>'application/x-apple-aspen-config',
274
-      ],
271
+        'sign'=>1,
272
+        'device_id'=>'OS_X',
273
+        'mime'=>'application/x-apple-aspen-config',
274
+        ],
275 275
     ],
276 276
         
277
- 'mobileconfig'=>[
277
+    'mobileconfig'=>[
278 278
     'group' => "apple",     
279 279
     'display'=>_("Apple iOS mobile devices"),
280 280
     'match'=>'(iPad|iPhone|iPod);.*OS ([7-9]|1[0-5])_',
@@ -282,13 +282,13 @@  discard block
 block discarded – undo
282 282
     'module'=>'mobileconfig_ios',
283 283
     'signer'=>'mobileconfig_sign',
284 284
     'options'=>[
285
-       'sign'=>1,
286
-       'device_id'=>'iOS',
287
-       'mime'=>'application/x-apple-aspen-config',
288
-      ],
285
+        'sign'=>1,
286
+        'device_id'=>'iOS',
287
+        'mime'=>'application/x-apple-aspen-config',
288
+        ],
289 289
     ],
290 290
 
291
- 'mobileconfig-56'=>[
291
+    'mobileconfig-56'=>[
292 292
     'group' => "apple",
293 293
     'display'=>_("Apple iOS mobile devices (iOS 5 and 6)"),
294 294
     'match'=>'(iPad|iPhone|iPod);.*OS [56]_',
@@ -296,132 +296,132 @@  discard block
 block discarded – undo
296 296
     'module'=>'mobileconfig_ios_56',
297 297
     'signer'=>'mobileconfig_sign',
298 298
     'options'=>[
299
-       'sign'=>1,
300
-       'device_id'=>'iOS',
301
-       'mime'=>'application/x-apple-aspen-config',
302
-      ],
299
+        'sign'=>1,
300
+        'device_id'=>'iOS',
301
+        'mime'=>'application/x-apple-aspen-config',
302
+        ],
303 303
     ],
304 304
 
305 305
         
306
- 'linux'=>[
307
-     'group' => "linux",
308
-     'display'=>_("Linux"),
309
-     'match'=>'Linux(?!.*Android)',
310
-     'directory'=>'linux',
311
-     'module' => 'Linux',
312
-     'options'=>[
313
-       'mime'=>'application/x-sh',
314
-      ],
315
-   ],
306
+    'linux'=>[
307
+        'group' => "linux",
308
+        'display'=>_("Linux"),
309
+        'match'=>'Linux(?!.*Android)',
310
+        'directory'=>'linux',
311
+        'module' => 'Linux',
312
+        'options'=>[
313
+        'mime'=>'application/x-sh',
314
+        ],
315
+    ],
316 316
 
317
- 'chromeos'=>[
317
+    'chromeos'=>[
318 318
     'group' => "chrome",
319 319
     'display'=>_("Chrome OS"),
320 320
     'match'=>'CrOS',
321 321
     'directory'=>'chromebook',
322 322
     'module'=>'chromebook',
323 323
     'options'=>[
324
-       'mime'=>'application/x-onc',
325
-       '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.")),
326
-      ],
327
-   ],
324
+        'mime'=>'application/x-onc',
325
+        '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.")),
326
+        ],
327
+    ],
328 328
         
329
- 'android_marshmallow'=>[
329
+    'android_marshmallow'=>[
330 330
     'group' => "android",
331 331
     'display'=>_("Android 6.0 Marshmallow"),
332
-     'match'=>'Android 6\.[0-9]',
332
+        'match'=>'Android 6\.[0-9]',
333 333
     'directory'=>'xml',
334 334
     'module'=>'Lollipop',
335 335
     'options'=>[
336
-       'mime'=>'application/eap-config',
337
-       '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."),
336
+        'mime'=>'application/eap-config',
337
+        '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."),
338 338
                             "eduroamCAT",
339 339
                             "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
340 340
                             "<a target='_blank' href='unbeknownst'>Amazon Appstore</a>",
341 341
                             "<a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"),
342
-      ],
343
-   ],
342
+        ],
343
+    ],
344 344
 
345
- 'android_lollipop'=>[
345
+    'android_lollipop'=>[
346 346
     'group' => "android",
347 347
     'display'=>_("Android 5.0 Lollipop"),
348
-     'match'=>'Android 5\.[0-9]',
348
+        'match'=>'Android 5\.[0-9]',
349 349
     'directory'=>'xml',
350 350
     'module'=>'Lollipop',
351 351
     'options'=>[
352
-       'mime'=>'application/eap-config',
353
-       '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."),
352
+        'mime'=>'application/eap-config',
353
+        '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."),
354 354
                             "eduroamCAT",
355 355
                             "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
356 356
                             "<a target='_blank' href='unbeknownst'>Amazon Appstore</a>",
357 357
                             "<a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"),
358
-      ],
359
-   ],
358
+        ],
359
+    ],
360 360
 
361
- 'android_kitkat'=>[
361
+    'android_kitkat'=>[
362 362
     'group' => "android",
363 363
     'display'=>_("Android 4.4 KitKat"),
364
-     'match'=>'Android 4\.[4-9]',
364
+        'match'=>'Android 4\.[4-9]',
365 365
     'directory'=>'xml',
366 366
     'module'=>'KitKat',
367 367
     'options'=>[
368
-       'mime'=>'application/eap-config',
369
-       '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."),
368
+        'mime'=>'application/eap-config',
369
+        '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."),
370 370
                             "eduroamCAT",
371 371
                             "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
372 372
                             "<a target='_blank' href='unbeknownst'>Amazon Appstore</a>",
373 373
                             "<a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"),
374
-      ],
375
-   ],
374
+        ],
375
+    ],
376 376
 
377 377
 
378
- 'android_43'=>[
378
+    'android_43'=>[
379 379
     'group' => "android",
380 380
     'display'=>_("Android 4.3"),
381
-     'match'=>'Android 4\.3',
381
+        'match'=>'Android 4\.3',
382 382
     'directory'=>'xml',
383 383
     'module'=>'KitKat',
384 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."),
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 387
                             "eduroamCAT",
388 388
                             "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>",
389 389
                             "<a target='_blank' href='unbeknownst'>Amazon Appstore</a>",
390 390
                             "<a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"),
391
-      ],
392
-   ],
391
+        ],
392
+    ],
393 393
 
394
- 'android_legacy'=>[
395
-     'group' => "android",
396
-     'display'=>_("Android"),
397
-     'match'=>'Android',
398
-     'directory'=>'redirect_dev',
399
-     'module'=>'RedirectDev',
400
-     'options'=>[
401
-       'redirect'=>1,
402
-      ],
403
-   ],
394
+    'android_legacy'=>[
395
+        'group' => "android",
396
+        'display'=>_("Android"),
397
+        'match'=>'Android',
398
+        'directory'=>'redirect_dev',
399
+        'module'=>'RedirectDev',
400
+        'options'=>[
401
+        'redirect'=>1,
402
+        ],
403
+    ],
404 404
 
405
- 'eap-config'=>[
405
+    'eap-config'=>[
406 406
     'group' => "eap-config",
407 407
     'display'=>_("EAP config"),
408 408
     'directory'=>'xml',
409 409
     'module'=>'XML_ALL',
410 410
     'options'=>[
411
-       'mime'=>'application/eap-config',
412
-       '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.")),
413
-      ],
411
+        'mime'=>'application/eap-config',
412
+        '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.")),
413
+        ],
414 414
     ],
415 415
 
416
- 'test'=>[
416
+    'test'=>[
417 417
     'group' => "other",
418 418
     'display'=>_("Test"),
419 419
     'directory'=>'test_module',
420 420
     'module'=>'TestModule',
421 421
     'options'=>[
422
-       'hidden'=>1,
423
-      ],
424
-   ],
422
+        'hidden'=>1,
423
+        ],
424
+    ],
425 425
 
426 426
 
427 427
 /*    
Please login to merge, or discard this patch.