Projet

Général

Profil

Paste
Télécharger (2,24 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / cas / cas.pages.inc @ a2baadd1

1
<?php
2

    
3
/**
4
 * @file
5
 * User page callbacks for the cas module.
6
 */
7

    
8
/**
9
 * Menu callback; Manage CAS identities for the specified user.
10
 */
11
function cas_user_identities($account) {
12
  drupal_set_title(check_plain(format_username($account)));
13

    
14
  $header = array(t('CAS username'), t('Operations'));
15
  $rows = array();
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));
18
  }
19

    
20
  $build['cas_table'] = array(
21
    '#theme' => 'table',
22
    '#header' => $header,
23
    '#rows' => $rows,
24
  );
25
  $build['cas_user_add'] = drupal_get_form('cas_user_add', $account);
26

    
27
  return $build;
28
}
29

    
30
/**
31
 * Form builder; Add a CAS identity.
32
 *
33
 * @ingroup forms
34
 * @see cas_user_add_validate()
35
 */
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'),
41
  );
42
  $form['actions'] = array('#type' => 'actions');
43
  $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Add a CAS username'));
44
  return $form;
45
}
46

    
47
function cas_user_add_submit($form, &$form_state) {
48
  $query = db_insert('cas_user')
49
    ->fields(array(
50
      'uid' => $form_state['build_info']['args'][0]->uid,
51
      'cas_name' => $form_state['values']['cas_name'],
52
    ))
53
    ->execute();
54
  drupal_set_message(t('CAS username %cas_name added.', array('%cas_name' => $form_state['values']['cas_name'])));
55
}
56

    
57
/**
58
 * Menu callback; Delete the specified CAS username from the system.
59
 */
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');
62
}
63

    
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])
68
    ->execute();
69
  if ($query) {
70
    drupal_set_message(t('CAS username deleted.'));
71
  }
72
  $form_state['redirect'] = 'user/' . $form_state['build_info']['args'][0]->uid . '/cas';
73
}