/[drupal]/contributions/modules/user_display/user_display_ui.module
ViewVC logotype

Contents of /contributions/modules/user_display/user_display_ui.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Sat Jul 19 23:12:33 2008 UTC (16 months, 1 week ago) by sun
Branch: MAIN
CVS Tags: HEAD
Branch point for: DRUPAL-5
File MIME type: text/x-php
Initial commit of User Display API.
1 <?php
2 // $Id$
3
4 /**
5 * @file
6 * Administrative user interface for User Display.
7 */
8
9 /**
10 * Implementation of hook_help().
11 */
12 function user_display_ui_help($section) {
13 switch ($section) {
14 case 'admin/user/display':
15 $file = drupal_get_path('module', 'user_display_ui') .'/user_display_ui.txt';
16 if (file_exists($file)) {
17 return _filter_autop(file_get_contents($file));
18 }
19 break;
20 }
21 }
22
23 /**
24 * Implementation of hook_menu().
25 */
26 function user_display_ui_menu($may_cache) {
27 $items = array();
28 if ($may_cache) {
29 $items[] = array(
30 'path' => 'admin/user/display',
31 'title' => t('User display styles'),
32 'description' => t('Manage user display styles.'),
33 'callback' => 'user_display_ui_styles',
34 'access' => user_access('administer site configuration'),
35 );
36 $items[] = array(
37 'path' => 'admin/user/display/list',
38 'title' => t('List'),
39 'type' => MENU_DEFAULT_LOCAL_TASK,
40 'weight' => -10,
41 );
42 $items[] = array(
43 'path' => 'admin/user/display/add',
44 'title' => t('Add style'),
45 'callback' => 'drupal_get_form',
46 'callback arguments' => array('user_display_ui_style_form'),
47 'type' => MENU_LOCAL_TASK,
48 );
49 }
50 // Use dynamic menu items to get better breadcrumb trails by default.
51 elseif (strpos($_GET['q'], 'admin/user/display/style') === 0) {
52 $style = user_display_styles();
53 $id = arg(4);
54 if (!is_numeric($id) || !isset($style[$id])) {
55 return $items;
56 }
57 $items[] = array(
58 'path' => 'admin/user/display/style/'. $id,
59 'title' => t('Edit user display style'),
60 'callback' => 'drupal_get_form',
61 'callback arguments' => array('user_display_ui_style_form', $id),
62 'type' => MENU_CALLBACK,
63 );
64 $items[] = array(
65 'path' => 'admin/user/display/style/'. $id .'/delete',
66 'title' => t('Delete user display style'),
67 'callback' => 'drupal_get_form',
68 'callback arguments' => array('user_display_ui_style_delete_form', $id),
69 'type' => MENU_CALLBACK,
70 );
71 }
72 return $items;
73 }
74
75 /**
76 * Style overview page; menu callback.
77 */
78 function user_display_ui_styles() {
79 $header = array(t('Style'), t('Operations'));
80 $rows = array();
81 foreach (user_display_styles() as $id => $style) {
82 $row = array();
83 $row[] = l($style['name'], "admin/user/display/style/$id");
84 $links = array();
85 $links[] = l(t('edit'), "admin/user/display/style/$id");
86 $links[] = l(t('remove'), "admin/user/display/style/$id/delete");
87 $row[] = implode(' | ', $links);
88 $rows[] = $row;
89 }
90 return theme('table', $header, $rows);
91 }
92
93 /**
94 * Form builder function for style add/edit form.
95 *
96 * @param $id
97 * A user display style id.
98 */
99 function user_display_ui_style_form($id = NULL) {
100 if (isset($id) && !($style = user_display_style($id))) {
101 drupal_set_message(t('The specified style was not found.'), 'error');
102 drupal_goto('admin/user/display');
103 }
104 $form = array();
105 if (!isset($id)) {
106 drupal_set_title(t('Add user display style'));
107 }
108 else {
109 $form['id'] = array(
110 '#type' => 'value',
111 '#value' => $id,
112 );
113 }
114 $form['name'] = array(
115 '#type' => 'textfield',
116 '#title' => t('Name'),
117 '#default_value' => $style['name'],
118 '#description' => t('An internal title for this style. Only visible on User Display administration pages.'),
119 '#maxlength' => '128',
120 );
121
122 $form['submit'] = array(
123 '#type' => 'submit',
124 '#value' => isset($id) ? t('Update style') : t('Add style'),
125 );
126 return $form;
127 }
128
129 /**
130 * Form submit callback for style add/edit form.
131 */
132 function user_display_ui_style_form_submit($form_id, $form_values) {
133 // Remove unnecessary form elements.
134 unset($form_values['submit'], $form_values['reset'], $form_values['form_id'], $form_values['op'], $form_values['form_token']);
135
136 $style = user_display_style_save($form_values);
137 drupal_set_message(t('Style %name (ID: @id) was created.', array('%name' => $style['name'], '@id' => $style['id'])));
138 return 'admin/user/display';
139 }
140
141 /**
142 * Form builder function for style delete form.
143 *
144 * @param $id
145 * A user display style id.
146 */
147 function user_display_ui_style_delete_form($id) {
148 if (isset($id) && !($style = user_display_style($id))) {
149 drupal_set_message(t('The specified style was not found.'), 'error');
150 drupal_goto('admin/user/display');
151 }
152 $form = array();
153 $form['id'] = array('#type' => 'value', '#value' => $id);
154 return confirm_form(
155 $form,
156 t('Are you sure you want to delete the style %style?', array('%style' => $style['name'])),
157 'admin/user/display',
158 t('This action cannot be undone.'),
159 t('Delete'), t('Cancel')
160 );
161 }
162
163 /**
164 * Form submit callback for style delete form.
165 */
166 function user_display_ui_style_delete_form_submit($form_id, $form_values) {
167 $style = user_display_style($form_values['id']);
168 user_display_style_delete($style);
169 drupal_set_message(t('Style %name (ID: @id) was deleted.', array('%name' => $style['name'], '@id' => $style['id'])));
170 return 'admin/user/display';
171 }
172

  ViewVC Help
Powered by ViewVC 1.1.2