5 * User page callbacks for the cas module.
9 * Menu callback; Manage CAS identities for the specified user.
11 function cas_user_identities($account) {
12 drupal_set_title(check_plain(format_username($account)));
14 $header = array(t('CAS username'), t('Operations'));
16 foreach ($account->cas_names as $aid => $cas_name) {
17 $rows[] = array(check_plain($cas_name), l(t('Delete'), 'user/' . $account->uid . '/cas/delete/' . $aid));
20 $build['cas_table'] = array(
25 $build['cas_user_add'] = drupal_get_form('cas_user_add', $account);
31 * Form builder; Add a CAS identity.
34 * @see cas_user_add_validate()
36 function cas_user_add($form, &$form_state, $account) {
37 $form['cas_name'] = array(
38 '#type' => 'textfield',
39 '#title' => t('CAS username'),
40 '#element_validate' => array('_cas_name_element_validate'),
42 $form['actions'] = array('#type' => 'actions');
43 $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Add a CAS username'));
47 function cas_user_add_submit($form, &$form_state) {
48 $query = db_insert('cas_user')
50 'uid' => $form_state['build_info']['args'][0]->uid,
51 'cas_name' => $form_state['values']['cas_name'],
54 drupal_set_message(t('CAS username %cas_name added.', array('%cas_name' => $form_state['values']['cas_name'])));
58 * Menu callback; Delete the specified CAS username from the system.
60 function cas_user_delete_form($form, $form_state, $account, $aid = 0) {
61 return confirm_form(array(), t('Are you sure you want to delete the CAS username %cas_name for %user?', array('%cas_name' => $account->cas_names[$aid], '%user' => $account->name)), 'user/' . $account->uid . '/cas');
64 function cas_user_delete_form_submit($form, &$form_state) {
65 $query = db_delete('cas_user')
66 ->condition('uid', $form_state['build_info']['args'][0]->uid)
67 ->condition('aid', $form_state['build_info']['args'][1])
70 drupal_set_message(t('CAS username deleted.'));
72 $form_state['redirect'] = 'user/' . $form_state['build_info']['args'][0]->uid . '/cas';