/[drupal]/contributions/modules/virtual_site/virtual_site.admin.inc
ViewVC logotype

Contents of /contributions/modules/virtual_site/virtual_site.admin.inc

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


Revision 1.4 - (show annotations) (download) (as text)
Sat Mar 8 16:46:38 2008 UTC (20 months, 3 weeks ago) by fokke
Branch: MAIN
CVS Tags: DRUPAL-6--1-1, DRUPAL-6--1-2, DRUPAL-6--1-3, HEAD
Changes since 1.3: +8 -1 lines
File MIME type: text/x-php
*** empty log message ***
1 <?php
2 // $Id: virtual_site.admin.inc,v 1.2 2008/03/05 15:09:45 fokke Exp $
3
4 /***********************************************************************************
5 * List all virtual sites and perform group operations.
6 */
7 function virtual_site_list_form(&$form_state) {
8 $sites = virtual_site_load();
9
10 if (count($sites)) {
11
12 foreach ($sites as $site) {
13 $form['sites'][$site->sid] = array(
14 '#tree' => TRUE,
15 );
16 $form['sites'][$site->sid]['#item'] = $site;
17 $form['sites'][$site->sid]['name'] = array(
18 '#value' => $site->name,
19 );
20 $form['sites'][$site->sid]['status'] = array(
21 '#type' => 'checkbox',
22 '#default_value' => (bool) (isset($form_state['sites'][$site->sid]['status']) ? $form_state['sites'][$site->sid]['status'] : $site->status),
23 );
24 $form['sites'][$site->sid]['weight'] = array(
25 '#type' => 'weight',
26 '#default_value' => isset($form_state['sites'][$site->sid]['weight']) ? $form_state['sites'][$site->sid]['weight'] : $site->weight,
27 );
28 $form['sites'][$site->sid]['edit'] = array(
29 '#value' => l(t('edit'), 'admin/build/sites/'.$site->sid.'/edit')
30 );
31 $form['sites'][$site->sid]['delete'] = array(
32 '#value' => l(t('delete'), 'admin/build/sites/'.$site->sid.'/delete'),
33 );
34 }
35
36 $form['submit'] = array(
37 '#type' => 'submit',
38 '#value' => t('Save configuration'),
39 );
40
41 } else {
42 $form['empty'] = array('#value' => t('There are no virtual sites yet. !Add a site first.', array('!Add' => l(t('Add'), 'admin/build/sites/add'))));
43 }
44
45 return $form;
46 }
47
48 /**
49 * Theme: List all virtual sites and perform group operations.
50 */
51 function theme_virtual_site_list_form($form) {
52 drupal_add_tabledrag('order-sites', 'order', 'sibling', 'site-weight');
53
54 $header = array(
55 t('Site'),
56 array('data' => t('Enabled'), 'class' => 'checkbox'),
57 t('Weight'),
58 array('data' => t('Operations'), 'colspan' => '2'),
59 );
60
61 $sites = array();
62
63 foreach (element_children($form['sites']) as $sid) {
64 $form['sites'][$sid]['weight']['#attributes']['class'] = 'site-weight';
65
66 $sites[] = array(
67 'data' => array(
68 drupal_render($form['sites'][$sid]['name']),
69 array(
70 'data' => drupal_render($form['sites'][$sid]['status']),
71 'class' => 'checkbox'
72 ),
73 drupal_render($form['sites'][$sid]['weight']),
74 drupal_render($form['sites'][$sid]['edit']),
75 drupal_render($form['sites'][$sid]['delete']),
76 ),
77 'class' => 'draggable',
78 );
79 }
80
81 $output = '';
82
83 if (count($sites)) {
84 $output .= theme('table', $header, $sites, array('id' => 'order-sites'));
85 }
86
87 $output .= drupal_render($form);
88
89 return $output;
90 }
91
92 /**
93 * Submit: List all virtual sites and perform group operations.
94 */
95 function virtual_site_list_form_submit($form, &$form_state) {
96
97 foreach (element_children($form['sites']) as $sid) {
98 $site = $form['sites'][$sid]['#item'];
99 $site->weight = $form['sites'][$sid]['weight']['#value'];
100 $site->status = $form['sites'][$sid]['status']['#value'];
101
102 virtual_site_save($site);
103 }
104 }
105
106 /***********************************************************************************
107 * Add or edit a virtual site.
108 */
109 function virtual_site_edit_form(&$form_state, $site = NULL) {
110
111 if (is_object($site)) {
112 $form['#item'] = $site;
113 }
114
115 $form['name'] = array(
116 '#type' => 'textfield',
117 '#title' => t('Name'),
118 '#description' => t('Name to indentify the virtual site.'),
119 '#required' => TRUE,
120 '#maxlength' => 255,
121 '#default_value' => $site->name,
122 );
123
124 $form = array_merge($form, module_invoke('condition', 'selection_form', $site->conditions));
125
126 $form['submit'] = array(
127 '#type' => 'submit',
128 '#value' => t('Save configuration'),
129 );
130
131 return $form;
132 }
133
134 /**
135 * Theme: Add or edit a virtual site.
136 */
137 function theme_virtual_site_edit_form($form) {
138 drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Administer'), 'admin'), l(t('Site building'), 'admin/build'), l(t('Virtual sites'), 'admin/build/sites')));
139
140 if ($form['#item']) {
141 drupal_set_title(t('Edit site %name', array('%name' => $form['#item']->name)));
142
143 } else {
144 drupal_set_title(t('Add site'));
145 }
146
147 return drupal_render($form);
148 }
149
150 /**
151 * Submit: Add or edit a virtual site.
152 */
153 function virtual_site_edit_form_submit($form, &$form_state) {
154 $site = $form['#item'] ? $form['#item'] : new StdClass();
155 $site->name = $form_state['values']['name'];
156 $site->conditions = module_invoke('condition', 'selection_submit', $form, $form_state);
157
158 virtual_site_save($site);
159 drupal_set_message(t('The site %name has been saved.', array('%name' => $site->name)));
160
161 if (!$form['#item']) {
162 $form_state['redirect'] = 'admin/build/sites';
163 }
164 }
165
166 /***********************************************************************************
167 * Edit a feature for a virtual site.
168 */
169 function virtual_site_edit_feature_form(&$form_state, $site, $feature) {
170 $form['#item'] = $site;
171
172 $features = virtual_site_features();
173 $form['#feature'] = $features[$feature];
174
175 if (isset($features[$feature]['description'])) {
176 $form['info'] = array(
177 '#value' => '<p>'.$features[$feature]['description'].'</p>',
178 );
179 }
180
181 $form = array_merge($form, (array) $form['#feature']['form'](array_merge(array('sid' => $site->sid), (array) $site->features[$feature])));
182
183 $form['submit'] = array(
184 '#type' => 'submit',
185 '#value' => t('Save configuration'),
186 );
187
188 return $form;
189 }
190
191 /**
192 * Theme: Edit a feature for a virtual site.
193 */
194 function theme_virtual_site_edit_feature_form($form) {
195 drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Administer'), 'admin'), l(t('Site building'), 'admin/build'), l(t('Virtual sites'), 'admin/build/sites'), l($form['#item']->name, 'admin/build/sites/'.$form['#item']->sid.'/edit')));
196 drupal_set_title($form['#feature']['name']);
197
198 return drupal_render($form);
199 }
200
201 /**
202 * Submit: Edit a feature for a virtual site.
203 */
204 function virtual_site_edit_feature_form_submit($form, &$form_state) {
205 $site = $form['#item'];
206 $site->features[$form['#feature']['callback']] = $form['#feature']['submit']($form, $form_state);
207
208 virtual_site_save($site);
209 drupal_set_message(t('The virtual site %name has been saved.', array('%name' => $site->name)));
210 }
211
212 /***********************************************************************************
213 * Delete a virtual site.
214 */
215 function virtual_site_delete_form(&$form_state, $site) {
216 $form['#item'] = $site;
217
218 return confirm_form($form, t('Are you sure you wan to delete the virtual site %name?', array('%name' => $site->name)), 'admin/build/sites');
219 }
220
221 /**
222 * Submit: Delete a virtual site.
223 */
224 function virtual_site_delete_form_submit($form, &$form_state) {
225 $form['#item'];
226 virtual_site_delete($form['#item']);
227 drupal_set_message(t('The virtual site %name has been deleted.', array('%name' => $form['#item']->name)));
228 $form_state['redirect'] = 'admin/build/sites';
229 }
230
231 ?>

  ViewVC Help
Powered by ViewVC 1.1.2