| 1 |
<?php |
<?php |
| 2 |
|
|
| 3 |
// $Id: ldapdata.module,v 1.15 2007/07/22 20:04:25 kreaper Exp $ |
// $Id: ldapdata.module,v 1.1.4.10.2.2 2008/04/17 04:32:12 scafmac Exp $ |
| 4 |
include_once('ldap_integration/ldapdata.conf.php'); |
include_once('ldap_integration/ldapdata.conf.php'); |
| 5 |
include_once('ldap_integration/libdebug.php'); |
include_once('ldap_integration/libdebug.php'); |
| 6 |
include_once('ldap_integration/LDAPInterface.php'); |
include_once('ldap_integration/LDAPInterface.php'); |
| 118 |
$result = db_query("SELECT sid, name FROM {ldapauth} WHERE status = '%s' ORDER BY sid", 1); |
$result = db_query("SELECT sid, name FROM {ldapauth} WHERE status = '%s' ORDER BY sid", 1); |
| 119 |
$rows = array(); |
$rows = array(); |
| 120 |
while ($row = db_fetch_object($result)) { |
while ($row = db_fetch_object($result)) { |
| 121 |
$rows[] = array($row->name, l(t('edit'), 'admin/settings/ldapdata/edit/'.$row->name), l(t('reset'), 'admin/settings/ldapdata/reset/'.$row->name)); |
$rows[] = array(check_plain($row->name), l(t('edit'), 'admin/settings/ldapdata/edit/'.$row->sid), l(t('reset'), 'admin/settings/ldapdata/reset/'.$row->sid)); |
| 122 |
} |
} |
| 123 |
|
|
| 124 |
$header = array( |
$header = array( |
| 131 |
return theme('table', $header, $rows); |
return theme('table', $header, $rows); |
| 132 |
} |
} |
| 133 |
|
|
| 134 |
function ldapdata_admin_edit($ldap_name) { |
function ldapdata_admin_edit() { |
| 135 |
global $ldap_attributes; |
global $ldap_attributes; |
| 136 |
|
$sid = arg(4); |
| 137 |
if ((arg(3) == "reset") && ($ldap_name)) { |
if ((arg(3) == "reset") && is_numeric($sid)) { |
| 138 |
$form['reset_ldap'] = array( |
$form['sid'] = array( |
| 139 |
'#type' => 'value', |
'#type' => 'value', |
| 140 |
'#value' => $ldap_name, |
'#value' => $sid, |
| 141 |
); |
); |
| 142 |
return confirm_form( |
return confirm_form( |
| 143 |
$form, |
$form, |
| 148 |
t('Cancel') |
t('Cancel') |
| 149 |
); |
); |
| 150 |
} |
} |
| 151 |
elseif ((arg(3) == "edit") && ($ldap_name)) { |
elseif ((arg(3) == "edit") && ($sid)) { |
| 152 |
|
|
| 153 |
$result = db_fetch_array(db_query("SELECT ldapdata_mappings, ldapdata_roattrs, ldapdata_rwattrs, ldapdata_binddn, ldapdata_bindpw, ldapdata_bindpw_clear FROM {ldapauth} WHERE name = '%s'", $ldap_name)); |
$result = db_fetch_array(db_query("SELECT sid, name, ldapdata_mappings, ldapdata_roattrs, ldapdata_rwattrs, ldapdata_binddn, ldapdata_bindpw, ldapdata_bindpw_clear FROM {ldapauth} WHERE sid = %d", $sid)); |
| 154 |
|
|
| 155 |
$mappings = unserialize($result['ldapdata_mappings']); |
$mappings = unserialize($result['ldapdata_mappings']); |
| 156 |
$roattrs = unserialize($result['ldapdata_roattrs']); |
$roattrs = unserialize($result['ldapdata_roattrs']); |
| 190 |
'#value' => t('<div class="form-item"><label>If you selected the first or the second option above, please specify here: </label><table><thead><tr><th> Drupal field</th><th>LDAP attribute</th></tr></thead><tbody>'), |
'#value' => t('<div class="form-item"><label>If you selected the first or the second option above, please specify here: </label><table><thead><tr><th> Drupal field</th><th>LDAP attribute</th></tr></thead><tbody>'), |
| 191 |
); |
); |
| 192 |
|
|
| 193 |
$ldap_drupal_reverse_mappings = _ldapdata_reverse_mappings($ldap_name); |
$ldap_drupal_reverse_mappings = _ldapdata_reverse_mappings($result['name']); |
| 194 |
foreach ($drupal_fields as $key => $field) { |
foreach ($drupal_fields as $key => $field) { |
| 195 |
$field_tmp = "ldap_amap-".$key; |
$field_tmp = "ldap_amap-".$key; |
| 196 |
$_prefix = "<tr><td><label for=\"edit[$field_tmp]\">$field</label></td><td>"; |
$_prefix = "<tr><td><label for=\"edit[$field_tmp]\">$field</label></td><td>"; |
| 304 |
} |
} |
| 305 |
|
|
| 306 |
// SUBMIT |
// SUBMIT |
| 307 |
$form['config_name'] = array( |
$form['sid'] = array( |
| 308 |
'#type' => 'hidden', |
'#type' => 'hidden', |
| 309 |
'#value' => $ldap_name, |
'#value' => $sid, |
| 310 |
); |
); |
| 311 |
|
|
| 312 |
$form['buttons']['submit'] = array( |
$form['buttons']['submit'] = array( |
| 350 |
} |
} |
| 351 |
|
|
| 352 |
function ldapdata_admin_edit_submit($form_id, $form_values) { |
function ldapdata_admin_edit_submit($form_id, $form_values) { |
| 353 |
|
$sid = $form_values['sid']; |
|
$config_name = $form_values['config_name']; |
|
| 354 |
// Attribute Mapping |
// Attribute Mapping |
| 355 |
$attr_mapping_access = $form_values['ldap_attr_mapping']; |
$attr_mapping_access = $form_values['ldap_attr_mapping']; |
| 356 |
|
|
| 384 |
} |
} |
| 385 |
|
|
| 386 |
if ( !$form_values['ldapdata_bindpw_clear'] && $form_values['ldapdata_bindpw']) { |
if ( !$form_values['ldapdata_bindpw_clear'] && $form_values['ldapdata_bindpw']) { |
| 387 |
db_query("UPDATE {ldapauth} SET ldapdata_mappings = '%s', ldapdata_roattrs = '%s', ldapdata_rwattrs = '%s', ldapdata_binddn = '%s', ldapdata_bindpw = '%s', ldapdata_bindpw_clear = '%d' WHERE name = '%s'", $serialized_data, $serialized_ro_attrs, $serialized_rw_attrs, $form_values['ldapdata_binddn'], $form_values['ldapdata_bindpw'], $form_values['ldapdata_bindpw_clear'], $config_name); |
db_query("UPDATE {ldapauth} SET ldapdata_mappings = '%s', ldapdata_roattrs = '%s', ldapdata_rwattrs = '%s', ldapdata_binddn = '%s', ldapdata_bindpw = '%s', ldapdata_bindpw_clear = '%d' WHERE sid = %d", $serialized_data, $serialized_ro_attrs, $serialized_rw_attrs, $form_values['ldapdata_binddn'], $form_values['ldapdata_bindpw'], $form_values['ldapdata_bindpw_clear'], $sid); |
| 388 |
} |
} |
| 389 |
else { |
else { |
| 390 |
// set the clear password switch |
// set the clear password switch |
| 391 |
db_query("UPDATE {ldapauth} SET ldapdata_mappings = '%s', ldapdata_roattrs = '%s', ldapdata_rwattrs = '%s', ldapdata_binddn = '%s', ldapdata_bindpw_clear = '%d' WHERE name = '%s'", $serialized_data, $serialized_ro_attrs, $serialized_rw_attrs, $form_values['ldapdata_binddn'], $form_values['ldapdata_bindpw_clear'], $config_name); |
db_query("UPDATE {ldapauth} SET ldapdata_mappings = '%s', ldapdata_roattrs = '%s', ldapdata_rwattrs = '%s', ldapdata_binddn = '%s', ldapdata_bindpw_clear = '%d' WHERE sid = %d", $serialized_data, $serialized_ro_attrs, $serialized_rw_attrs, $form_values['ldapdata_binddn'], $form_values['ldapdata_bindpw_clear'], $sid); |
| 392 |
} |
} |
| 393 |
|
|
| 394 |
return 'admin/settings/ldapdata/edit/'.$config_name; |
return 'admin/settings/ldapdata/edit/'.$config_name; |