$ldap_server = ldap_servers_get_servers($sid, 'all'), 'action' => TRUE, 'type' => 'table', ); $html = theme('ldap_servers_list', $variables); return $html; } /** * Implements the LDAP server edit page. * * @param $form_state * A form state array. * @param $op * An operatin - add or edit. * @param $sid * A LDAP server ID. * * @return * The form structure. */ function ldap_servers_admin_form($form, &$form_state, $op = NULL, $sid = NULL) { ldap_server_module_load_include('php', 'ldap_servers', 'LdapServerAdmin.class'); $server = new LdapServerAdmin($sid); $form = $server->drupalForm($op); return $form; } /** * Validate hook for the LDAP server form. */ function ldap_servers_admin_form_validate($form, &$form_state) { $op = drupal_strtolower($form_state['clicked_button']['#value']); ldap_server_module_load_include('php', 'ldap_servers', 'LdapServerAdmin.class'); $server = new LdapServerAdmin($form_state['values']['sid']); $errors = $server->drupalFormValidate($op, $form_state['values']); foreach ($errors as $error_name => $error_text) { form_set_error($error_name, t($error_text)); } $warnings = $server->drupalFormWarnings($op, $form_state['values'], (boolean)(count($errors) > 0)); foreach ($warnings as $warning_name => $warning_text) { drupal_set_message($warning_text, 'warning'); } $form_state['ldap_warnings'] = (boolean)(count($warnings) > 0); } /** * Submit hook for the LDAP server form. */ function ldap_servers_admin_form_submit($form, &$form_state) { $button = drupal_strtolower($form_state['clicked_button']['#value']); $op = ($button == 'add') ? 'add' : 'edit'; $verb = ($op == 'edit') ? 'edited' : $op . 'ed'; ldap_server_module_load_include('php', 'ldap_servers', 'LdapServerAdmin.class'); $server = new LdapServerAdmin($form_state['values']['sid']); $server->drupalFormSubmit($op, $form_state['values']); // add form data to object and save or create if ($server->hasError() == FALSE) { drupal_set_message(t('LDAP Server %name !verb.', array('!verb' => $verb, '%name' => $server->name)), 'status'); ldap_servers_cache_clear(); if ($form_state['ldap_warnings'] && $op != 'add') { // do nothing, but don't redirect away from form. // if there are warnings, want them to see form even if its been saved } else { drupal_goto(LDAP_SERVERS_MENU_BASE_PATH . '/servers'); } } else { form_set_error($server->errorName(), $server->errorMsg()); $server->clearError(); } ldap_servers_cache_clear(); } /** * Implements the LDAP server delete page. * * @param $form_state * A form state array. * @param $sid * A LDAP server ID. * * @return * The form structure. */ function ldap_servers_admin_delete($form, &$form_state, $op = NULL, $sid = NULL) { if ($sid && ($ldap_server = ldap_servers_get_servers($sid, 'all', TRUE))) { // array() $variables = array( 'ldap_server' => $ldap_server, 'actions' => FALSE, 'type' => 'detail' ); $form['#prefix'] = '
' . t('Are you sure you want to delete the LDAP server named %name ?', array('%name' => $ldap_server->name)) . '
' . t('This action cannot be undone.') . '
', t('Delete'), t('Cancel') ); } } drupal_goto(LDAP_SERVERS_MENU_BASE_PATH . '/servers/list'); } /** * Submit handler for the LDAP server delete page. */ function ldap_servers_admin_delete_submit($form, &$form_state) { $values = $form_state['values']; $sid = $values['sid']; ldap_server_module_load_include('php', 'ldap_servers', 'LdapServerAdmin.class'); $ldap_server = new LdapServerAdmin($sid); if ($values['confirm'] && $sid) { if ($result = $ldap_server->delete($sid)) { $tokens = array('%name' => $ldap_server->name, '!sid' => $sid); drupal_set_message(t('LDAP Server %name (server id = !sid) has been deleted.', $tokens), 'status'); watchdog('ldap', 'LDAP Server deleted: %name (sid = !sid) ', $tokens); } else { drupal_set_message(t('LDAP Server delete failed.'), 'warning'); } } else { drupal_set_message(t('LDAP Server delete cancelled.'), 'status'); } ldap_servers_cache_clear(); drupal_goto(LDAP_SERVERS_MENU_BASE_PATH . '/servers/list'); } /** * Implements the LDAP server delete page. * * @param $form_state * A form state array. * @param $sid * A LDAP server ID. * * @return * The form structure. */ function ldap_servers_admin_enable_disable($form, &$form_state, $action = NULL, $sid = NULL) { if ($ldap_server = ldap_servers_get_servers($sid, 'all', TRUE)) { $variables = array( 'ldap_server' => $ldap_server, 'actions' => FALSE, 'type' => 'detail' ); $form['#prefix'] = "