Révision 32700c57
Ajouté par Assos Assos il y a environ 5 ans
drupal7/sites/all/modules/ldap/ldap_servers/ldap_servers.install | ||
---|---|---|
26 | 26 |
* Implements hook_requirements(). |
27 | 27 |
*/ |
28 | 28 |
function ldap_servers_requirements($phase) { |
29 |
$requirements = array();
|
|
29 |
$requirements = [];
|
|
30 | 30 |
$t = get_t(); |
31 | 31 |
|
32 | 32 |
if ($phase == 'install') { |
... | ... | |
54 | 54 |
LDAP Servers is not automatic. LDAP Servers will need to be configured by hand. |
55 | 55 |
See http://drupal.org/node/1023016. This message will go away when the ldapauth database table is removed.'); |
56 | 56 |
} |
57 |
// check that ldapauth not installed. |
|
58 |
|
|
57 |
// Check that ldapauth not installed. |
|
59 | 58 |
// Check enabled LDAP servers are configured and Drupal can connect to them. |
60 | 59 |
if ($phase == 'runtime') { |
61 |
$requirements['ldap_servers_enabled'] = array(
|
|
60 |
$requirements['ldap_servers_enabled'] = [
|
|
62 | 61 |
'title' => $t('LDAP Server status'), |
63 | 62 |
'value' => $t('Disabled'), |
64 | 63 |
'severity' => REQUIREMENT_WARNING, |
65 |
);
|
|
64 |
];
|
|
66 | 65 |
|
67 | 66 |
$servers = ldap_servers_get_servers(NULL, 'enabled'); |
68 | 67 |
if (!empty($servers)) { |
... | ... | |
70 | 69 |
|
71 | 70 |
foreach ($servers as $server) { |
72 | 71 |
$server_req_key = 'ldap_servers_sid_' . $server->sid; |
73 |
$server_tokens = array(
|
|
72 |
$server_tokens = [
|
|
74 | 73 |
'@host' => $server->address, |
75 | 74 |
'@sid' => $server->sid, |
76 |
);
|
|
77 |
$requirements[$server_req_key] = array(
|
|
75 |
];
|
|
76 |
$requirements[$server_req_key] = [
|
|
78 | 77 |
'title' => $t('LDAP Server status: @sid (@host)', $server_tokens), |
79 | 78 |
'value' => $t('Connection: Failed, check logs for details.', $server_tokens), |
80 | 79 |
'severity' => REQUIREMENT_ERROR, |
81 |
);
|
|
80 |
];
|
|
82 | 81 |
|
83 | 82 |
try { |
84 | 83 |
$connect_result = $server->connect(); |
... | ... | |
88 | 87 |
// The user has already logged in and so their is no dn or password |
89 | 88 |
// to check since LDAP doesn't store passwords. |
90 | 89 |
$bind_result = $server->bind(NULL, NULL, TRUE); |
91 |
} else { |
|
90 |
} |
|
91 |
else { |
|
92 | 92 |
$bind_result = $server->bind(); |
93 | 93 |
} |
94 | 94 |
if ($bind_result == LDAP_SUCCESS) { |
... | ... | |
112 | 112 |
*/ |
113 | 113 |
function ldap_servers_schema() { |
114 | 114 |
module_load_include('inc', 'ldap_servers', 'ldap_servers.functions'); |
115 |
module_load_include('module', 'ldap_servers', 'ldap_servers'); // to get the LDAP_SERVERS_ENC_TYPE_CLEARTEXT constants issue#1209576 |
|
115 |
// To get the LDAP_SERVERS_ENC_TYPE_CLEARTEXT constants issue#1209576. |
|
116 |
module_load_include('module', 'ldap_servers', 'ldap_servers'); |
|
116 | 117 |
module_load_include('php', 'ldap_servers', 'LdapServerAdmin.class'); |
117 | 118 |
|
118 |
$schema['ldap_servers'] = array(
|
|
119 |
'export' => array(
|
|
119 |
$schema['ldap_servers'] = [
|
|
120 |
'export' => [
|
|
120 | 121 |
'key' => 'sid', |
121 | 122 |
'key name' => 'Server ID', |
122 | 123 |
'primary key' => 'numeric_sid', |
123 | 124 |
'identifier' => 'ldap_servers_conf', |
124 |
'api' => array(
|
|
125 |
'api' => [
|
|
125 | 126 |
'owner' => 'ldap_servers', |
126 | 127 |
'api' => 'ldap_servers', |
127 | 128 |
'minimum_version' => 1, |
128 | 129 |
'current_version' => 1, |
129 |
),
|
|
130 |
),
|
|
131 |
'primary key' => array('numeric_sid'),
|
|
132 |
'unique keys' => array('name' => array('name')),
|
|
133 |
);
|
|
130 |
],
|
|
131 |
],
|
|
132 |
'primary key' => ['numeric_sid'],
|
|
133 |
'unique keys' => ['name' => ['name']],
|
|
134 |
];
|
|
134 | 135 |
|
135 | 136 |
$fields = LdapServerAdmin::fields(); |
136 | 137 |
foreach ($fields as $name => $props) { |
... | ... | |
144 | 145 |
} |
145 | 146 |
|
146 | 147 |
/** |
147 |
* rename ldap_servers type field to ldap_type
|
|
148 |
* Rename ldap_servers type field to ldap_type.
|
|
148 | 149 |
*/ |
149 |
|
|
150 | 150 |
function ldap_servers_update_7100() { |
151 | 151 |
if (!ldap_servers_db_field_exists('ldap_servers', 'ldap_type') && ldap_servers_db_field_exists('ldap_servers', 'type')) { |
152 |
db_change_field('ldap_servers', 'type', 'ldap_type', array(
|
|
152 |
db_change_field('ldap_servers', 'type', 'ldap_type', [
|
|
153 | 153 |
'type' => 'varchar', |
154 | 154 |
'length' => 20, |
155 |
'not null' => FALSE |
|
156 |
));
|
|
155 |
'not null' => FALSE,
|
|
156 |
]);
|
|
157 | 157 |
} |
158 | 158 |
|
159 | 159 |
return t('ldap_servers table field "type" renamed to "ldap_type"'); |
... | ... | |
161 | 161 |
} |
162 | 162 |
|
163 | 163 |
/** |
164 |
* ldap_server table field changes
|
|
164 |
* Ldap_server table field changes.
|
|
165 | 165 |
*/ |
166 |
|
|
167 | 166 |
function ldap_servers_update_7101() { |
168 | 167 |
|
169 | 168 |
db_add_field( |
170 | 169 |
'ldap_servers', |
171 | 170 |
'allow_conflicting_drupal_accts', |
172 |
array(
|
|
171 |
[
|
|
173 | 172 |
'type' => 'int', |
174 | 173 |
'size' => 'tiny', |
175 | 174 |
'not null' => FALSE, |
176 | 175 |
'default' => 0, |
177 |
)
|
|
176 |
]
|
|
178 | 177 |
); |
179 | 178 |
|
180 | 179 |
db_add_field( |
181 | 180 |
'ldap_servers', |
182 | 181 |
'unique_persistent_attr', |
183 |
array(
|
|
182 |
[
|
|
184 | 183 |
'type' => 'varchar', |
185 | 184 |
'length' => '64', |
186 | 185 |
'not null' => FALSE, |
187 |
)
|
|
186 |
]
|
|
188 | 187 |
); |
189 | 188 |
|
190 | 189 |
db_add_field( |
191 | 190 |
'ldap_servers', |
192 | 191 |
'mail_template', |
193 |
array(
|
|
192 |
[
|
|
194 | 193 |
'type' => 'varchar', |
195 | 194 |
'length' => '255', |
196 | 195 |
'not null' => FALSE, |
197 |
)
|
|
196 |
]
|
|
198 | 197 |
); |
199 | 198 |
|
200 |
db_change_field('ldap_servers', 'ldap_to_drupal_user', 'ldap_to_drupal_user', array(
|
|
199 |
db_change_field('ldap_servers', 'ldap_to_drupal_user', 'ldap_to_drupal_user', [
|
|
201 | 200 |
'type' => 'varchar', |
202 | 201 |
'length' => 1024, |
203 |
'not null' => FALSE |
|
204 |
));
|
|
202 |
'not null' => FALSE,
|
|
203 |
]);
|
|
205 | 204 |
|
206 |
db_change_field('ldap_servers', 'binddn', 'binddn', array(
|
|
205 |
db_change_field('ldap_servers', 'binddn', 'binddn', [
|
|
207 | 206 |
'type' => 'varchar', |
208 | 207 |
'length' => 511, |
209 |
)); |
|
210 |
|
|
208 |
]); |
|
211 | 209 |
|
212 | 210 |
return t('Updated LDAP Server to include "allow_conflicting_drupal_accts" and "unique_persistent_attr" fields.'); |
213 | 211 |
} |
214 | 212 |
|
215 |
|
|
216 | 213 |
/** |
217 |
* add bind_method field to ldap_servers table
|
|
214 |
* Add bind_method field to ldap_servers table.
|
|
218 | 215 |
*/ |
219 | 216 |
function ldap_servers_update_7102() { |
220 | 217 |
|
221 | 218 |
if (!ldap_servers_db_field_exists('ldap_servers', 'bind_method')) { |
222 |
db_add_field('ldap_servers', 'bind_method', array(
|
|
219 |
db_add_field('ldap_servers', 'bind_method', [
|
|
223 | 220 |
'type' => 'int', |
224 | 221 |
'size' => 'tiny', |
225 | 222 |
'not null' => TRUE, |
226 | 223 |
'default' => 0, |
227 |
));
|
|
224 |
]);
|
|
228 | 225 |
$msg = t('"bind_method" field added to ldap_servers table'); |
229 | 226 |
} |
230 | 227 |
|
... | ... | |
232 | 229 |
} |
233 | 230 |
|
234 | 231 |
/** |
235 |
* add group_object_category field to ldap_servers table
|
|
232 |
* Add group_object_category field to ldap_servers table.
|
|
236 | 233 |
*/ |
237 | 234 |
function ldap_servers_update_7103() { |
238 | 235 |
|
239 | 236 |
if (!ldap_servers_db_field_exists('ldap_servers', 'group_object_category')) { |
240 |
db_add_field('ldap_servers', 'group_object_category', array(
|
|
237 |
db_add_field('ldap_servers', 'group_object_category', [
|
|
241 | 238 |
'type' => 'varchar', |
242 | 239 |
'length' => 64, |
243 | 240 |
'not null' => FALSE, |
244 |
));
|
|
241 |
]);
|
|
245 | 242 |
$msg = t('"group_object_category" field added to ldap_servers table'); |
246 | 243 |
} |
247 | 244 |
|
248 | 245 |
return ($msg) ? $msg : t('No database changes made.'); |
249 | 246 |
} |
250 | 247 |
|
251 |
|
|
252 | 248 |
/** |
253 |
* add pagination fields to ldap_servers table
|
|
249 |
* Add pagination fields to ldap_servers table.
|
|
254 | 250 |
*/ |
255 | 251 |
function ldap_servers_update_7104() { |
256 | 252 |
|
257 | 253 |
if (!ldap_servers_db_field_exists('ldap_servers', 'search_pagination')) { |
258 |
db_add_field('ldap_servers', 'search_pagination', array(
|
|
254 |
db_add_field('ldap_servers', 'search_pagination', [
|
|
259 | 255 |
'type' => 'int', |
260 | 256 |
'size' => 'tiny', |
261 | 257 |
'not null' => FALSE, |
262 | 258 |
'default' => 0, |
263 |
));
|
|
259 |
]);
|
|
264 | 260 |
$msg = t('"search_pagination" field added to ldap_servers table'); |
265 | 261 |
} |
266 | 262 |
|
267 | 263 |
if (!ldap_servers_db_field_exists('ldap_servers', 'search_page_size')) { |
268 |
db_add_field('ldap_servers', 'search_page_size', array(
|
|
264 |
db_add_field('ldap_servers', 'search_page_size', [
|
|
269 | 265 |
'type' => 'int', |
270 | 266 |
'size' => 'medium', |
271 | 267 |
'not null' => FALSE, |
272 | 268 |
'default' => 1000, |
273 |
));
|
|
269 |
]);
|
|
274 | 270 |
$msg .= '<br/>' . t('"search_page_size" field added to ldap_servers table'); |
275 | 271 |
} |
276 | 272 |
|
277 | 273 |
if (!ldap_servers_db_field_exists('ldap_servers', 'unique_persistent_attr_binary')) { |
278 |
db_add_field('ldap_servers', 'unique_persistent_attr_binary', array(
|
|
274 |
db_add_field('ldap_servers', 'unique_persistent_attr_binary', [
|
|
279 | 275 |
'type' => 'int', |
280 | 276 |
'size' => 'tiny', |
281 | 277 |
'not null' => FALSE, |
282 | 278 |
'default' => 0, |
283 |
));
|
|
279 |
]);
|
|
284 | 280 |
$msg = t('"unique_persistent_attr_binary" field added to ldap_servers table'); |
285 | 281 |
} |
286 | 282 |
|
287 |
|
|
288 |
|
|
289 | 283 |
return ($msg) ? $msg : t('No database changes made.'); |
290 | 284 |
} |
291 | 285 |
|
292 | 286 |
/** |
293 |
* enable ldap_user module
|
|
287 |
* Enable ldap_user module.
|
|
294 | 288 |
*/ |
295 | 289 |
function ldap_servers_update_7105() { |
296 | 290 |
|
297 | 291 |
if (!module_exists('ldap_user')) { |
298 |
module_enable(array('ldap_user'));
|
|
292 |
module_enable(['ldap_user']);
|
|
299 | 293 |
$msg = t('LDAP User module enabled. Some authentication and authorization functionality shifted to LDAP User module.'); |
300 | 294 |
} |
301 | 295 |
|
302 | 296 |
return ($msg) ? $msg : t('LDAP User module was already enabled. No action taken.'); |
303 | 297 |
} |
304 | 298 |
|
305 |
|
|
306 |
|
|
307 | 299 |
/** |
308 |
* add account_name_attr field to ldap_servers table
|
|
300 |
* Add account_name_attr field to ldap_servers table.
|
|
309 | 301 |
*/ |
310 | 302 |
function ldap_servers_update_7106() { |
311 | 303 |
if (!ldap_servers_db_field_exists('ldap_servers', 'account_name_attr')) { |
312 |
db_add_field('ldap_servers', 'account_name_attr', array(
|
|
313 |
'description' => 'The attribute to be used as the account name if not the user_attr', |
|
314 |
'type' => 'varchar', |
|
315 |
'length' => 255, |
|
316 |
'not null' => FALSE, |
|
317 |
'default' => '', |
|
318 |
));
|
|
304 |
db_add_field('ldap_servers', 'account_name_attr', [
|
|
305 |
'description' => 'The attribute to be used as the account name if not the user_attr',
|
|
306 |
'type' => 'varchar',
|
|
307 |
'length' => 255,
|
|
308 |
'not null' => FALSE,
|
|
309 |
'default' => '',
|
|
310 |
]);
|
|
319 | 311 |
$msg = t('"account_name_attr" field added to ldap_servers table'); |
320 | 312 |
} |
321 | 313 |
|
... | ... | |
323 | 315 |
} |
324 | 316 |
|
325 | 317 |
/** |
326 |
* remove allow_conflicting_drupal_accts from ldap_servers table
|
|
318 |
* Remove allow_conflicting_drupal_accts from ldap_servers table.
|
|
327 | 319 |
*/ |
328 | 320 |
function ldap_servers_update_7107() { |
329 | 321 |
if (ldap_servers_db_field_exists('ldap_servers', 'allow_conflicting_drupal_accts')) { |
... | ... | |
333 | 325 |
return ($msg) ? $msg : t('No database changes made.'); |
334 | 326 |
} |
335 | 327 |
|
336 |
|
|
337 |
|
|
328 |
/** |
|
329 |
* |
|
330 |
*/ |
|
338 | 331 |
function ldap_servers_db_field_exists($table, $field_name) { |
339 |
if (!db_field_exists($table, $field_name) && !db_field_exists($table, drupal_strtolower($field_name)) ) {
|
|
340 |
return false;
|
|
332 |
if (!db_field_exists($table, $field_name) && !db_field_exists($table, drupal_strtolower($field_name))) { |
|
333 |
return FALSE;
|
|
341 | 334 |
} |
342 | 335 |
else { |
343 |
return true;
|
|
336 |
return TRUE;
|
|
344 | 337 |
} |
345 | 338 |
} |
339 |
|
|
346 | 340 |
/** |
347 |
* add group related fields to ldap_servers table
|
|
341 |
* Add group related fields to ldap_servers table.
|
|
348 | 342 |
*/ |
349 | 343 |
function ldap_servers_update_7108() { |
350 | 344 |
|
351 |
foreach (array('groupFunctionalityUnused', 'groupNested', 'groupSearchAll', 'groupUserMembershipsAttrExists', 'groupDeriveFromDn', 'groupUserMembershipsAttrExists') as $tinyint_field_name) {
|
|
352 |
if (!ldap_servers_db_field_exists('ldap_servers', $tinyint_field_name)) {
|
|
353 |
db_add_field('ldap_servers', $tinyint_field_name, array(
|
|
345 |
foreach (['groupFunctionalityUnused', 'groupNested', 'groupSearchAll', 'groupUserMembershipsAttrExists', 'groupDeriveFromDn', 'groupUserMembershipsAttrExists'] as $tinyint_field_name) {
|
|
346 |
if (!ldap_servers_db_field_exists('ldap_servers', $tinyint_field_name)) { |
|
347 |
db_add_field('ldap_servers', $tinyint_field_name, [
|
|
354 | 348 |
'type' => 'int', |
355 | 349 |
'size' => 'tiny', |
356 | 350 |
'not null' => FALSE, |
357 | 351 |
'default' => 0, |
358 |
));
|
|
359 |
$msg = t('"!name" field added to ldap_servers table', array('!name' => $tinyint_field_name));
|
|
352 |
]);
|
|
353 |
$msg = t('"!name" field added to ldap_servers table', ['!name' => $tinyint_field_name]);
|
|
360 | 354 |
} |
361 | 355 |
} |
362 |
foreach (array('groupUserMembershipsAttr', 'groupMembershipsAttr', 'groupTestGroupDn', 'groupUserMembershipsAttr', 'groupMembershipsAttrMatchingUserAttr') as $varchar255field_name) {
|
|
356 |
foreach (['groupUserMembershipsAttr', 'groupMembershipsAttr', 'groupTestGroupDn', 'groupUserMembershipsAttr', 'groupMembershipsAttrMatchingUserAttr'] as $varchar255field_name) {
|
|
363 | 357 |
if (!ldap_servers_db_field_exists('ldap_servers', $varchar255field_name) && !ldap_servers_db_field_exists('ldap_servers', drupal_strtolower($varchar255field_name))) { |
364 |
db_add_field('ldap_servers', $varchar255field_name, array(
|
|
358 |
db_add_field('ldap_servers', $varchar255field_name, [
|
|
365 | 359 |
'type' => 'varchar', |
366 | 360 |
'length' => '255', |
367 | 361 |
'not null' => FALSE, |
368 |
));
|
|
369 |
$msg = t('"!name" field added to ldap_servers table', array('!name' => $varchar255field_name));
|
|
362 |
]);
|
|
363 |
$msg = t('"!name" field added to ldap_servers table', ['!name' => $varchar255field_name]);
|
|
370 | 364 |
} |
371 | 365 |
} |
372 | 366 |
} |
373 | 367 |
|
374 |
|
|
375 | 368 |
/** |
376 |
* adjust group related fields to ldap_servers table
|
|
369 |
* Adjust group related fields to ldap_servers table.
|
|
377 | 370 |
*/ |
378 | 371 |
function ldap_servers_update_7109() { |
379 | 372 |
|
380 | 373 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupNested')) { |
381 |
db_add_field('ldap_servers', 'groupNested', array(
|
|
374 |
db_add_field('ldap_servers', 'groupNested', [
|
|
382 | 375 |
'type' => 'int', |
383 | 376 |
'size' => 'tiny', |
384 | 377 |
'not null' => FALSE, |
385 | 378 |
'default' => 0, |
386 |
));
|
|
379 |
]);
|
|
387 | 380 |
$msg = t('"groupNested" field added to ldap_servers table'); |
388 | 381 |
} |
389 | 382 |
|
390 | 383 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupUseFirstAttr')) { |
391 |
db_add_field('ldap_servers', 'groupUseFirstAttr', array(
|
|
384 |
db_add_field('ldap_servers', 'groupUseFirstAttr', [
|
|
392 | 385 |
'type' => 'int', |
393 | 386 |
'size' => 'tiny', |
394 | 387 |
'not null' => FALSE, |
395 | 388 |
'default' => 0, |
396 |
));
|
|
389 |
]);
|
|
397 | 390 |
$msg .= '<br/>' . t('"groupUseFirstAttr" field added to ldap_servers table'); |
398 | 391 |
} |
399 | 392 |
|
400 | 393 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupSearchAll')) { |
401 |
db_add_field('ldap_servers', 'groupSearchAll', array(
|
|
394 |
db_add_field('ldap_servers', 'groupSearchAll', [
|
|
402 | 395 |
'type' => 'int', |
403 | 396 |
'size' => 'tiny', |
404 | 397 |
'not null' => FALSE, |
405 | 398 |
'default' => 0, |
406 |
));
|
|
399 |
]);
|
|
407 | 400 |
$msg = t('"groupSearchAll" field added to ldap_servers table'); |
408 | 401 |
} |
409 | 402 |
|
410 | 403 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupUserMembershipsAttrExists')) { |
411 |
db_add_field('ldap_servers', 'groupUserMembershipsAttrExists', array(
|
|
404 |
db_add_field('ldap_servers', 'groupUserMembershipsAttrExists', [
|
|
412 | 405 |
'type' => 'int', |
413 | 406 |
'size' => 'tiny', |
414 | 407 |
'not null' => FALSE, |
415 | 408 |
'default' => 0, |
416 |
));
|
|
409 |
]);
|
|
417 | 410 |
$msg = t('"groupUserMembershipsAttrExists" field added to ldap_servers table'); |
418 | 411 |
} |
419 | 412 |
|
420 | 413 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupUserMembershipsAttr')) { |
421 |
db_add_field('ldap_servers', 'groupUserMembershipsAttr', array(
|
|
414 |
db_add_field('ldap_servers', 'groupUserMembershipsAttr', [
|
|
422 | 415 |
'type' => 'varchar', |
423 | 416 |
'length' => '255', |
424 | 417 |
'not null' => FALSE, |
425 |
));
|
|
418 |
]);
|
|
426 | 419 |
$msg = t('"groupUserMembershipsAttr" field added to ldap_servers table'); |
427 | 420 |
} |
428 | 421 |
|
429 | 422 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupMembershipsAttr')) { |
430 |
db_add_field('ldap_servers', 'groupMembershipsAttr', array(
|
|
423 |
db_add_field('ldap_servers', 'groupMembershipsAttr', [
|
|
431 | 424 |
'type' => 'varchar', |
432 | 425 |
'length' => '255', |
433 | 426 |
'not null' => FALSE, |
434 |
));
|
|
427 |
]);
|
|
435 | 428 |
$msg = t('"groupMembershipsAttr" field added to ldap_servers table'); |
436 | 429 |
} |
437 | 430 |
|
438 | 431 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupMembershipsAttrMatchingUserAttr')) { |
439 |
db_add_field('ldap_servers', 'groupMembershipsAttrMatchingUserAttr', array(
|
|
432 |
db_add_field('ldap_servers', 'groupMembershipsAttrMatchingUserAttr', [
|
|
440 | 433 |
'type' => 'varchar', |
441 | 434 |
'length' => '255', |
442 | 435 |
'not null' => FALSE, |
443 |
));
|
|
436 |
]);
|
|
444 | 437 |
$msg = t('"groupMembershipsAttrMatchingUserAttr" field added to ldap_servers table'); |
445 | 438 |
} |
446 | 439 |
|
447 | 440 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupUserMembershipsAttrExists')) { |
448 |
db_add_field('ldap_servers', 'groupUserMembershipsAttrExists', array(
|
|
441 |
db_add_field('ldap_servers', 'groupUserMembershipsAttrExists', [
|
|
449 | 442 |
'type' => 'int', |
450 | 443 |
'size' => 'tiny', |
451 | 444 |
'not null' => FALSE, |
452 | 445 |
'default' => 0, |
453 |
));
|
|
446 |
]);
|
|
454 | 447 |
$msg = t('"groupUserMembershipsAttrExists" field added to ldap_servers table'); |
455 | 448 |
} |
456 | 449 |
|
457 | 450 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupUserMembershipsAttr')) { |
458 |
db_add_field('ldap_servers', 'groupUserMembershipsAttr', array(
|
|
451 |
db_add_field('ldap_servers', 'groupUserMembershipsAttr', [
|
|
459 | 452 |
'type' => 'varchar', |
460 | 453 |
'length' => '255', |
461 | 454 |
'not null' => FALSE, |
462 |
));
|
|
455 |
]);
|
|
463 | 456 |
$msg = t('"groupUserMembershipsAttr" field added to ldap_servers table'); |
464 | 457 |
} |
465 | 458 |
|
466 | 459 |
} |
467 | 460 |
|
468 | 461 |
/** |
469 |
* adjust group related fields to ldap_servers table
|
|
462 |
* Adjust group related fields to ldap_servers table.
|
|
470 | 463 |
*/ |
471 | 464 |
function ldap_servers_update_7110() { |
472 | 465 |
|
473 | 466 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupFunctionalityUnused')) { |
474 |
db_add_field('ldap_servers', 'groupFunctionalityUnused', array(
|
|
467 |
db_add_field('ldap_servers', 'groupFunctionalityUnused', [
|
|
475 | 468 |
'type' => 'int', |
476 | 469 |
'size' => 'tiny', |
477 | 470 |
'not null' => FALSE, |
478 | 471 |
'default' => 0, |
479 |
));
|
|
472 |
]);
|
|
480 | 473 |
$msg = t('"groupFunctionalityUnused" field added to ldap_servers table'); |
481 | 474 |
} |
482 | 475 |
|
483 | 476 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupTestGroupDn')) { |
484 |
db_add_field('ldap_servers', 'groupTestGroupDn', array(
|
|
477 |
db_add_field('ldap_servers', 'groupTestGroupDn', [
|
|
485 | 478 |
'type' => 'varchar', |
486 | 479 |
'length' => '255', |
487 | 480 |
'not null' => FALSE, |
488 |
));
|
|
481 |
]);
|
|
489 | 482 |
$msg = t('"groupTestGroupDn" field added to ldap_servers table'); |
490 | 483 |
} |
491 | 484 |
|
492 | 485 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupTestGroupDnWriteable')) { |
493 |
db_add_field('ldap_servers', 'groupTestGroupDnWriteable', array(
|
|
486 |
db_add_field('ldap_servers', 'groupTestGroupDnWriteable', [
|
|
494 | 487 |
'type' => 'varchar', |
495 | 488 |
'length' => '255', |
496 | 489 |
'not null' => FALSE, |
497 |
));
|
|
490 |
]);
|
|
498 | 491 |
$msg = t('"groupTestGroupDnWriteable" field added to ldap_servers table'); |
499 | 492 |
} |
500 | 493 |
|
501 | 494 |
} |
502 | 495 |
|
503 | 496 |
/** |
504 |
* add field groupTestGroupDnWriteable to ldap_servers table
|
|
497 |
* Add field groupTestGroupDnWriteable to ldap_servers table.
|
|
505 | 498 |
*/ |
506 | 499 |
function ldap_servers_update_7111() { |
507 | 500 |
|
508 | 501 |
if (!ldap_servers_db_field_exists('ldap_servers', 'groupTestGroupDnWriteable')) { |
509 |
db_add_field('ldap_servers', 'groupTestGroupDnWriteable', array(
|
|
502 |
db_add_field('ldap_servers', 'groupTestGroupDnWriteable', [
|
|
510 | 503 |
'type' => 'varchar', |
511 | 504 |
'length' => '255', |
512 | 505 |
'not null' => FALSE, |
513 |
));
|
|
506 |
]);
|
|
514 | 507 |
$msg = t('"groupTestGroupDnWriteable" field added to ldap_servers table'); |
515 | 508 |
} |
516 | 509 |
|
517 | 510 |
} |
518 | 511 |
|
519 | 512 |
/** |
520 |
* add field testingDrupalUserDn to ldap_servers table
|
|
513 |
* Add field testingDrupalUserDn to ldap_servers table.
|
|
521 | 514 |
*/ |
522 | 515 |
function ldap_servers_update_7112() { |
523 | 516 |
|
524 | 517 |
if (!ldap_servers_db_field_exists('ldap_servers', 'testingDrupalUserDn')) { |
525 |
db_add_field('ldap_servers', 'testingDrupalUserDn', array(
|
|
518 |
db_add_field('ldap_servers', 'testingDrupalUserDn', [
|
|
526 | 519 |
'type' => 'varchar', |
527 | 520 |
'length' => '255', |
528 | 521 |
'not null' => FALSE, |
529 |
));
|
|
522 |
]);
|
|
530 | 523 |
$msg = t('"testingDrupalUserDn" field added to ldap_servers table'); |
531 | 524 |
} |
532 | 525 |
|
533 | 526 |
} |
534 | 527 |
|
535 |
|
|
536 | 528 |
/** |
537 |
* upgrade as much as feasible for 7.1 to 7.2 branch
|
|
529 |
* Upgrade as much as feasible for 7.1 to 7.2 branch.
|
|
538 | 530 |
*/ |
539 | 531 |
function ldap_servers_update_7201() { |
540 | 532 |
|
541 |
$change_log = array();
|
|
533 |
$change_log = [];
|
|
542 | 534 |
|
543 |
// 1. ldap_user is now required for ldap_authentication and ldap_authorization |
|
535 |
// 1. ldap_user is now required for ldap_authentication and ldap_authorization.
|
|
544 | 536 |
if (module_exists('ldap_authentication') || module_exists('ldap_authorization')) { |
545 |
module_enable(array('ldap_user'), TRUE);
|
|
537 |
module_enable(['ldap_user'], TRUE);
|
|
546 | 538 |
$change_log[] = t('LDAP User Module Enabled'); |
547 | 539 |
} |
548 | 540 |
|
... | ... | |
592 | 584 |
* |
593 | 585 |
*/ |
594 | 586 |
|
595 |
|
|
596 |
// 2. add any missing fields from schema |
|
587 |
// 2. add any missing fields from schema. |
|
597 | 588 |
ldap_servers_install_update_schema(ldap_servers_schema(), $change_log); |
598 | 589 |
if (module_exists('ldap_authorization')) { |
599 | 590 |
ldap_servers_install_update_schema(ldap_authorization_schema(), $change_log); |
... | ... | |
602 | 593 |
ldap_servers_install_update_schema(ldap_query_schema(), $change_log); |
603 | 594 |
} |
604 | 595 |
|
605 |
// 3. move configuration data that has changed location within ldap modules |
|
606 |
$field_changes = array();
|
|
607 |
$ldap_server_records = array();
|
|
596 |
// 3. move configuration data that has changed location within ldap modules.
|
|
597 |
$field_changes = [];
|
|
598 |
$ldap_server_records = [];
|
|
608 | 599 |
$select = db_select('ldap_servers') |
609 | 600 |
->fields('ldap_servers') |
610 | 601 |
->execute(); |
... | ... | |
617 | 608 |
$select = db_select('ldap_authorization', 'authz') |
618 | 609 |
->fields('authz') |
619 | 610 |
->execute(); |
620 |
// pick best ldap authorization conf to use to configure ldap server
|
|
611 |
// Pick best ldap authorization conf to use to configure ldap server.
|
|
621 | 612 |
$max_weight = -1; |
622 | 613 |
foreach ($select as $record) { |
623 |
$weight = (int)($record->status) + (int)($record->consumer_type == 'drupal_role');
|
|
614 |
$weight = (int) ($record->status) + (int) ($record->consumer_type == 'drupal_role');
|
|
624 | 615 |
if ($weight > $max_weight) { |
625 | 616 |
$max_weight = $weight; |
626 | 617 |
$ldap_authorization_record = $record; |
... | ... | |
640 | 631 |
$field_changes['ldap_servers'][$sid]['groupUserMembershipsAttr'] = $ldap_authorization_record->derive_from_attr_attr; |
641 | 632 |
} |
642 | 633 |
if ($ldap_authorization_record->derive_from_entry) { |
643 |
$field_changes['ldap_servers'][$sid]['groupMembershipsAttr'] = $ldap_authorization_record->derive_from_entry_attr; // eg members |
|
644 |
$field_changes['ldap_servers'][$sid]['groupMembershipsAttrMatchingUserAttr'] = $ldap_authorization_record->derive_from_entry_entries_attr; // eg dn |
|
634 |
// Eg members. |
|
635 |
$field_changes['ldap_servers'][$sid]['groupMembershipsAttr'] = $ldap_authorization_record->derive_from_entry_attr; |
|
636 |
// Eg dn. |
|
637 |
$field_changes['ldap_servers'][$sid]['groupMembershipsAttrMatchingUserAttr'] = $ldap_authorization_record->derive_from_entry_entries_attr; |
|
645 | 638 |
} |
646 | 639 |
if ($ldap_authorization_record->derive_from_entry_nested) { |
647 | 640 |
$field_changes['ldap_servers'][$sid]['groupNested'] = 1; |
... | ... | |
665 | 658 |
continue; |
666 | 659 |
} |
667 | 660 |
if (count($field_data)) { |
668 |
$change_log[] = t("!table_name where !id_field_name = !id values updated", array(
|
|
661 |
$change_log[] = t("!table_name where !id_field_name = !id values updated", [
|
|
669 | 662 |
'!table_name' => $table_name, |
670 | 663 |
'!id_field_name' => $id_field_name, |
671 | 664 |
'!id' => $id, |
672 |
));
|
|
665 |
]);
|
|
673 | 666 |
$num_updated = db_update($table_name) |
674 | 667 |
->fields($field_data) |
675 | 668 |
->condition($id_field_name, $id, '=') |
... | ... | |
678 | 671 |
} |
679 | 672 |
} |
680 | 673 |
|
681 |
// 4. remove ldap_authorization fields that are unused |
|
682 |
$ldap_authorization_fields_to_remove = array(
|
|
674 |
// 4. remove ldap_authorization fields that are unused.
|
|
675 |
$ldap_authorization_fields_to_remove = [
|
|
683 | 676 |
'derive_from_dn', |
684 | 677 |
'derive_from_dn_attr', |
685 | 678 |
'derive_from_attr', |
... | ... | |
691 | 684 |
'derive_from_entry_search_all', |
692 | 685 |
'derive_from_entry_use_first_attr', |
693 | 686 |
'derive_from_attr_use_first_attr', |
694 |
);
|
|
687 |
];
|
|
695 | 688 |
|
696 | 689 |
foreach ($ldap_authorization_fields_to_remove as $ldap_authorization_field) { |
697 | 690 |
db_drop_field('ldap_authorization', $ldap_authorization_field); |
698 | 691 |
} |
699 |
$change_log[] = t("ldap_authorization table fields removed: !fields_removed", array('!fields_removed' => join(', ', $ldap_authorization_fields_to_remove))); |
|
700 |
|
|
692 |
$change_log[] = t("ldap_authorization table fields removed: !fields_removed", ['!fields_removed' => join(', ', $ldap_authorization_fields_to_remove)]); |
|
701 | 693 |
|
702 |
//5. ldap_authentication and ldap_user changes are in variables, not tables |
|
703 |
|
|
704 |
$ldap_authentication_conf_data = variable_get('ldap_authentication_conf', array()); |
|
694 |
// 5. ldap_authentication and ldap_user changes are in variables, not tables. |
|
695 |
$ldap_authentication_conf_data = variable_get('ldap_authentication_conf', []); |
|
705 | 696 |
if (!is_array($ldap_authentication_conf_data['sids'])) { |
706 |
$ldap_authentication_conf_data['sids'] = array();
|
|
697 |
$ldap_authentication_conf_data['sids'] = [];
|
|
707 | 698 |
} |
708 | 699 |
|
709 |
$ldap_user_conf_data = variable_get('ldap_user_conf', array());
|
|
700 |
$ldap_user_conf_data = variable_get('ldap_user_conf', []);
|
|
710 | 701 |
|
711 | 702 |
$ldap_authentication_sids = array_keys($ldap_authentication_conf_data['sids']); |
712 | 703 |
if (count($ldap_authentication_sids) == 1) { |
713 | 704 |
$ldap_user_conf_data['drupalAcctProvisionServer'] = $ldap_authentication_sids[0]; |
714 | 705 |
} |
715 | 706 |
|
716 |
// conflict log vs resolve moved from ldap_authentication to ldap_user
|
|
707 |
// Conflict log vs resolve moved from ldap_authentication to ldap_user.
|
|
717 | 708 |
if (!empty($ldap_authentication_conf_data['authenticationMode'])) { |
718 | 709 |
if ($ldap_authentication_conf_data['loginConflictResolve'] == LDAP_AUTHENTICATION_CONFLICT_LOG) { |
719 | 710 |
$ldap_user_conf_data['userConflictResolve'] = LDAP_USER_CONFLICT_LOG; |
... | ... | |
731 | 722 |
$change_log[] = t('ldap_authentication_conf -> userConflictResolve set to') . LDAP_USER_CONFLICT_RESOLVE_DEFAULT; |
732 | 723 |
} |
733 | 724 |
|
734 |
|
|
735 | 725 |
if (isset($ldap_authentication_conf_data['acctCreation'])) { |
736 | 726 |
$ldap_user_conf_data['acctCreation'] = $ldap_authentication_conf_data['acctCreation']; |
737 | 727 |
$change_log[] = t('ldap_user_conf -> acctCreation set to value in ldap_authentication_conf -> acctCreation'); |
... | ... | |
754 | 744 |
$summary = '<h2>' . t('Please check through all the LDAP module configuration pages. |
755 | 745 |
The update from 7.x-1.x to 7.x-2.x is not automatable! The configuration pages |
756 | 746 |
must be read through and configured.') . '</h2>' . |
757 |
theme('item_list', array(
|
|
747 |
theme('item_list', [
|
|
758 | 748 |
'items' => $change_log, |
759 | 749 |
'type' => 'ul', |
760 |
'title' => 'Changes in 7.x-1.x to 7.x-2.x update') |
|
750 |
'title' => 'Changes in 7.x-1.x to 7.x-2.x update', |
|
751 |
] |
|
761 | 752 |
); |
762 | 753 |
|
763 |
watchdog('ldap_servers', $summary, array(), WATCHDOG_INFO);
|
|
754 |
watchdog('ldap_servers', $summary, [], WATCHDOG_INFO);
|
|
764 | 755 |
return $summary; |
765 | 756 |
|
766 |
|
|
767 | 757 |
} |
768 | 758 |
|
769 | 759 |
/** |
770 |
* make ldap_servers.bind_method field small int instead of tiny int for ctools bug
|
|
760 |
* Make ldap_servers.bind_method field small int instead of tiny int for ctools bug.
|
|
771 | 761 |
*/ |
772 | 762 |
function ldap_servers_update_7202() { |
773 | 763 |
|
774 |
db_change_field('ldap_servers', 'bind_method', 'bind_method', array(
|
|
764 |
db_change_field('ldap_servers', 'bind_method', 'bind_method', [
|
|
775 | 765 |
'type' => 'int', |
776 | 766 |
'size' => 'small', |
777 | 767 |
'not null' => TRUE, |
778 | 768 |
'default' => 0, |
779 |
));
|
|
769 |
]);
|
|
780 | 770 |
|
781 | 771 |
} |
782 | 772 |
|
783 | 773 |
/** |
784 |
* make all schema field names lowercase in ldap server to deal with cronic case sensitivity issues
|
|
774 |
* Make all schema field names lowercase in ldap server to deal with cronic case sensitivity issues.
|
|
785 | 775 |
*/ |
786 | 776 |
function ldap_servers_update_7203() { |
787 | 777 |
$schema = ldap_servers_schema(); |
788 |
$changes = array(
|
|
778 |
$changes = [
|
|
789 | 779 |
'testingDrupalUserDn' => 'testing_drupal_user_dn', |
790 | 780 |
'group_object_category' => 'grp_object_cat', |
791 | 781 |
'groupFunctionalityUnused' => 'grp_unused', |
... | ... | |
797 | 787 |
'groupDeriveFromDn' => 'grp_derive_from_dn', |
798 | 788 |
'groupDeriveFromDnAttr' => 'grp_derive_from_dn_attr', |
799 | 789 |
'groupTestGroupDn' => 'grp_test_grp_dn', |
800 |
'groupTestGroupDnWriteable' => 'grp_test_grp_dn_writeable' |
|
801 |
);
|
|
790 |
'groupTestGroupDnWriteable' => 'grp_test_grp_dn_writeable',
|
|
791 |
];
|
|
802 | 792 |
foreach ($changes as $old_field_name => $new_field_name) { |
803 | 793 |
$field_schema = $schema['ldap_servers']['fields'][$new_field_name]; |
804 | 794 |
if (ldap_servers_db_field_exists('ldap_servers', $old_field_name)) { |
... | ... | |
814 | 804 |
} |
815 | 805 |
|
816 | 806 |
/** |
817 |
* Add picture_attr field in schema |
|
807 |
* Add picture_attr field in schema.
|
|
818 | 808 |
*/ |
819 | 809 |
function ldap_servers_update_7204() { |
820 | 810 |
if (!ldap_servers_db_field_exists('ldap_servers', 'picture_attr')) { |
821 | 811 |
db_add_field( |
822 | 812 |
'ldap_servers', |
823 | 813 |
'picture_attr', |
824 |
array(
|
|
814 |
[
|
|
825 | 815 |
'type' => 'varchar', |
826 | 816 |
'length' => 255, |
827 | 817 |
'not null' => FALSE, |
828 |
)
|
|
818 |
]
|
|
829 | 819 |
); |
830 | 820 |
} |
831 | 821 |
} |
832 | 822 |
|
833 |
|
|
834 | 823 |
/** |
835 |
* fix any double serialized ldap server basedns
|
|
824 |
* Fix any double serialized ldap server basedns.
|
|
836 | 825 |
*/ |
837 | 826 |
function ldap_servers_update_7205() { |
838 | 827 |
|
... | ... | |
840 | 829 |
$ldap_servers = ldap_servers_get_servers(); |
841 | 830 |
foreach ($ldap_servers as $sid => $ldap_server) { |
842 | 831 |
if ($ldap_server->basedn && is_scalar($ldap_server->basedn)) { |
843 |
// these are still serialized after being loaded from db/ctools so were double serialized
|
|
832 |
// These are still serialized after being loaded from db/ctools so were double serialized.
|
|
844 | 833 |
$ldap_server->basedn = unserialize($ldap_server->basedn); |
845 | 834 |
$ldap_server->save(); |
846 | 835 |
} |
... | ... | |
848 | 837 |
|
849 | 838 |
} |
850 | 839 |
|
851 |
|
|
852 | 840 |
/** |
853 |
* Add LDAP Referrals fields in schema |
|
841 |
* Add LDAP Referrals fields in schema.
|
|
854 | 842 |
*/ |
855 | 843 |
function ldap_servers_update_7206() { |
856 | 844 |
if (!ldap_servers_db_field_exists('ldap_servers', 'followrefs')) { |
857 | 845 |
db_add_field( |
858 | 846 |
'ldap_servers', |
859 | 847 |
'followrefs', |
860 |
array(
|
|
848 |
[
|
|
861 | 849 |
'type' => 'int', |
862 | 850 |
'size' => 'tiny', |
863 | 851 |
'not null' => FALSE, |
864 | 852 |
'default' => 0, |
865 |
)
|
|
853 |
]
|
|
866 | 854 |
); |
867 | 855 |
} |
868 | 856 |
} |
... | ... | |
871 | 859 |
* Fixes a typo in an LDAP variable name. |
872 | 860 |
*/ |
873 | 861 |
function ldap_servers_update_7207() { |
874 |
if (!is_null($old_var = variable_get('ldap_servers_require_ssl_for_credentails'))) {
|
|
875 |
variable_set('ldap_servers_require_ssl_for_credentials', $old_var);
|
|
876 |
variable_del('ldap_servers_require_ssl_for_credentails');
|
|
877 |
}
|
|
862 |
if (!is_null($old_var = variable_get('ldap_servers_require_ssl_for_credentails'))) { |
|
863 |
variable_set('ldap_servers_require_ssl_for_credentials', $old_var); |
|
864 |
variable_del('ldap_servers_require_ssl_for_credentails'); |
|
865 |
} |
|
878 | 866 |
} |
879 | 867 |
|
880 | 868 |
/** |
... | ... | |
886 | 874 |
|
887 | 875 |
} |
888 | 876 |
|
877 |
/** |
|
878 |
* |
|
879 |
*/ |
|
889 | 880 |
function ldap_servers_install_update_schema($schema, &$change_log) { |
890 | 881 |
foreach ($schema as $table_name => $table_schema) { |
891 | 882 |
foreach ($table_schema['fields'] as $field_name => $field_schema) { |
892 | 883 |
if (!ldap_servers_db_field_exists($table_name, $field_name)) { |
893 | 884 |
db_add_field($table_name, $field_name, $field_schema); |
894 |
$change_log[] = t("!field_name field added to !table_name table", array('!field_name' => $field_name, '!table_name' => $table_name));
|
|
885 |
$change_log[] = t("!field_name field added to !table_name table", ['!field_name' => $field_name, '!table_name' => $table_name]);
|
|
895 | 886 |
} |
896 | 887 |
} |
897 | 888 |
} |
898 | 889 |
} |
890 |
|
|
891 |
/** |
|
892 |
* Change mcrypt to openssl. |
|
893 |
*/ |
|
894 |
function ldap_servers_update_7209() { |
|
895 |
if (variable_get('ldap_servers_encryption') != LDAP_SERVERS_ENC_TYPE_CLEARTEXT) { |
|
896 |
variable_set('ldap_servers_encryption', LDAP_SERVERS_ENC_TYPE_OPENSSL); |
|
897 |
if (!extension_loaded('openssl')) { |
|
898 |
watchdog('ldap', 'Warning: OpenSSL missing, no alternative for encryption.'); |
|
899 |
} |
|
900 |
return t('Encryption backend has changed, please re-enter your service account credentials.'); |
|
901 |
} |
|
902 |
} |
Formats disponibles : Unified diff
Weekly update of contrib modules