| 1 |
<?php |
<?php |
| 2 |
// $Id$ |
// $Id: ldapgroups.module,v 1.1.4.6.2.6 2008/05/10 02:19:53 scafmac Exp $ |
| 3 |
|
|
| 4 |
include_once('ldap_integration/ldapgroups.conf.php'); |
include_once('ldap_integration/ldapgroups.conf.php'); |
| 5 |
include_once('ldap_integration/libdebug.php'); |
include_once('ldap_integration/libdebug.php'); |
| 89 |
$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); |
| 90 |
$rows = array(); |
$rows = array(); |
| 91 |
while ($row = db_fetch_object($result)) { |
while ($row = db_fetch_object($result)) { |
| 92 |
$rows[] = array($row->name, l(t('edit'), 'admin/settings/ldapgroups/edit/'.$row->name), l(t('reset'), 'admin/settings/ldapgroups/reset/'.$row->name)); |
$rows[] = array(check_plain($row->name), l(t('edit'), 'admin/settings/ldapgroups/edit/'.$row->sid), l(t('reset'), 'admin/settings/ldapgroups/reset/'.$row->sid)); |
| 93 |
} |
} |
| 94 |
|
|
| 95 |
$header = array( |
$header = array( |
| 102 |
return theme('table', $header, $rows); |
return theme('table', $header, $rows); |
| 103 |
} |
} |
| 104 |
|
|
| 105 |
function ldapgroups_admin_edit($ldap_name) { |
function ldapgroups_admin_edit() { |
| 106 |
if ((arg(3) == 'reset') && ($ldap_name != NULL)) { |
$sid = arg(4); |
| 107 |
$form['reset_ldap'] = array( |
if ((arg(3) == 'reset') && is_numeric($sid)) { |
| 108 |
|
$form['sid'] = array( |
| 109 |
'#type' => 'value', |
'#type' => 'value', |
| 110 |
'#value' => $ldap_name, |
'#value' => $sid, |
| 111 |
); |
); |
| 112 |
return confirm_form( |
return confirm_form( |
| 113 |
$form, |
$form, |
| 118 |
t('Cancel') |
t('Cancel') |
| 119 |
); |
); |
| 120 |
} |
} |
| 121 |
elseif ((arg(3) == 'edit') && ($ldap_name != NULL)) { |
elseif ((arg(3) == 'edit') && ($sid)) { |
| 122 |
$edit = db_fetch_array(db_query("SELECT ldap_groups_in_dn, ldap_groups_in_dn_desc, ldap_group_dn_attribute, ldap_groups_in_attr, ldap_group_attr, ldap_groups_as_entries, ldap_group_entries, ldap_group_entries_attribute FROM {ldapauth} WHERE name = '%s'", $ldap_name)); |
$edit = db_fetch_array(db_query("SELECT ldap_groups_in_dn, ldap_groups_in_dn_desc, ldap_group_dn_attribute, ldap_groups_in_attr, ldap_group_attr, ldap_groups_as_entries, ldap_group_entries, ldap_group_entries_attribute FROM {ldapauth} WHERE sid = %d", $sid)); |
| 123 |
$form['server-settings']['ldap_groups_in_dn'] = array( |
$form['server-settings']['ldap_groups_in_dn'] = array( |
| 124 |
'#type' => 'checkbox', |
'#type' => 'checkbox', |
| 125 |
'#title' => t('Group is specified in user\'s DN'), |
'#title' => t('Group is specified in user\'s DN'), |
| 186 |
'#description' => t('Name of the multivalued attribute which holds the CNs of group members, for example: !attr', array('!attr' => theme('placeholder', LDAP_DEFAULT_GROUP_ENTRIES_ATTRIBUTE))), |
'#description' => t('Name of the multivalued attribute which holds the CNs of group members, for example: !attr', array('!attr' => theme('placeholder', LDAP_DEFAULT_GROUP_ENTRIES_ATTRIBUTE))), |
| 187 |
); |
); |
| 188 |
|
|
| 189 |
$form['config_name'] = array( |
$form['sid'] = array( |
| 190 |
'#type' => 'hidden', |
'#type' => 'hidden', |
| 191 |
'#value' => $ldap_name, |
'#value' => $sid, |
| 192 |
); |
); |
| 193 |
|
|
| 194 |
$form['submit'] = array( |
$form['submit'] = array( |
| 200 |
} |
} |
| 201 |
|
|
| 202 |
function ldapgroups_admin_edit_submit($form_id, $form_values) { |
function ldapgroups_admin_edit_submit($form_id, $form_values) { |
| 203 |
|
$sid = $form_values['sid']; |
| 204 |
if ($form_values['confirm']) { |
if ($form_values['confirm']) { |
| 205 |
// reset the ldapgroups config to default values - in effect, deactivate this config |
// reset the ldapgroups config to default values - in effect, deactivate this config |
| 206 |
db_query("UPDATE {ldapauth} SET ldap_groups_in_dn = '%d', ldap_groups_in_dn_desc = '%d', ldap_group_dn_attribute = '%s', ldap_groups_in_attr = '%d', ldap_group_attr = '%s', ldap_groups_as_entries = '%d', ldap_group_entries = '%s', ldap_group_entries_attribute = '%s' WHERE name = '%s'", '0', '0', '', '0', '', '0', '', '', $form_values['reset_ldap']); |
db_query("UPDATE {ldapauth} SET ldap_groups_in_dn = '%d', ldap_groups_in_dn_desc = '%d', ldap_group_dn_attribute = '%s', ldap_groups_in_attr = '%d', ldap_group_attr = '%s', ldap_groups_as_entries = '%d', ldap_group_entries = '%s', ldap_group_entries_attribute = '%s' WHERE sid = %d", '0', '0', '', '0', '', '0', '', '', $sid); |
| 207 |
watchdog('ldap', t('ldapgroups: ldap config %config updated.' ,array('%config' => $form_values['reset_ldap']))); |
watchdog('ldap', t('ldapgroups: ldap config %config updated.' ,array('%config' => $sid))); |
| 208 |
} |
} |
| 209 |
else { |
else { |
| 210 |
// update the ldapgroups configuration |
// update the ldapgroups configuration |
| 211 |
db_query("UPDATE {ldapauth} SET ldap_groups_in_dn = '%d', ldap_groups_in_dn_desc = '%d', ldap_group_dn_attribute = '%s', ldap_groups_in_attr = '%d', ldap_group_attr = '%s', ldap_groups_as_entries = '%d', ldap_group_entries = '%s', ldap_group_entries_attribute = '%s' WHERE name = '%s'", $form_values['ldap_groups_in_dn'], $form_values['ldap_groups_in_dn_desc'], $form_values['ldap_group_dn_attribute'], $form_values['ldap_groups_in_attr'], $form_values['ldap_group_attr'], $form_values['ldap_groups_as_entries'], $form_values['ldap_group_entries'], $form_values['ldap_group_entries_attribute'], $form_values['config_name']); |
db_query("UPDATE {ldapauth} SET ldap_groups_in_dn = '%d', ldap_groups_in_dn_desc = '%d', ldap_group_dn_attribute = '%s', ldap_groups_in_attr = '%d', ldap_group_attr = '%s', ldap_groups_as_entries = '%d', ldap_group_entries = '%s', ldap_group_entries_attribute = '%s' WHERE sid = %d", $form_values['ldap_groups_in_dn'], $form_values['ldap_groups_in_dn_desc'], $form_values['ldap_group_dn_attribute'], $form_values['ldap_groups_in_attr'], $form_values['ldap_group_attr'], $form_values['ldap_groups_as_entries'], $form_values['ldap_group_entries'], $form_values['ldap_group_entries_attribute'], $sid); |
| 212 |
watchdog('ldap', t('ldapgroups: ldap config %config updated.' ,array('%config' => $form_values['config_name']))); |
watchdog('ldap', t('ldapgroups: ldap config %config updated.' ,array('%config' => $sid))); |
| 213 |
} |
} |
| 214 |
return 'admin/settings/ldapgroups'; |
return 'admin/settings/ldapgroups'; |
| 215 |
|
|