/[drupal]/contributions/modules/transformer/transformer_ui.module
ViewVC logotype

Contents of /contributions/modules/transformer/transformer_ui.module

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


Revision 1.5 - (show annotations) (download) (as text)
Sun Jan 11 09:52:31 2009 UTC (10 months, 2 weeks ago) by dopry
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +18 -23 lines
File MIME type: text/x-php
most recent update to transformer to support video transcoding. it's been a while since
I looked at this... but I know its functioning for some people...
1 <?php
2 // $Id: transformer_ui.module,v 1.4 2008/03/04 15:24:17 dopry Exp $
3
4 /**
5 * Administrative interface to transformer.
6 * @todo: hook_transform/macro($op = new / update / delete)
7 * so modules can react to transform and macro changes.
8 */
9
10 function transformer_ui_help($section) {
11 switch($section) {
12 case 'admin/build/transformer': return t('Manage transform macros.');
13 }
14 }
15
16 function transformer_ui_perm() {
17 return array('administer transformer');
18 }
19
20
21 function transformer_ui_menu($may_cache) {
22 $items = array();
23 if ($may_cache) {
24 $items[] = array( 'path' => 'admin/build/transformer',
25 'title' => t('Transformer'),
26 'description' => t('Administer transformer macros and transforms.'),
27 'access' => user_access('administer transformer'),
28 'callback' => 'transformer_ui_admin_macro',
29 );
30 $items[] = array( 'path' => 'admin/build/transformer/add',
31 'access' => user_access('administer transformer'),
32 'type' => MENU_CALLBACK,
33 'callback' => 'transformer_ui_admin_macro_add',
34 );
35 $items[] = array( 'path' => 'admin/build/transformer/delete',
36 'access' => user_access('administer transformer'),
37 'type' => MENU_CALLBACK,
38 'callback' => 'drupal_get_form',
39 'callback arguments' => array('transformer_ui_macro_delete_form'),
40 );
41
42 $items[] = array( 'path' => 'admin/build/transformer/transform/add',
43 'access' => user_access('administer transformer'),
44 'type' => MENU_CALLBACK,
45 'callback' => 'drupal_get_form',
46 'callback arguments' => array('transformer_ui_transform_add_form'),
47 );
48 $items[] = array( 'path' => 'admin/build/transformer/transform/delete',
49 'access' => user_access('administer transformer'),
50 'type' => MENU_CALLBACK,
51 'callback' => 'drupal_get_form',
52 'callback arguments' => array('transformer_ui_transform_delete_form'),
53 );
54 }
55 return $items;
56 }
57
58 /**
59 * Macro Admin callbacks and required functions.
60 */
61
62 function transformer_ui_admin_macro($macro_id = 0) {
63 if (intval($macro_id) > 0) {
64 // transform_admin_macro
65 $macro = transformer_macro($macro_id);
66 drupal_set_title('Editing Macro');
67 return drupal_get_form('transformer_ui_admin_macro_form', $macro);
68 }
69
70 $macros = transformer_macros();
71 $header = array(t('Macro Name'), '');
72 //debug_msg($macros);
73 $rows = array();
74 if (count($macros)) {
75 foreach($macros as $macro_id => $macro_title) {
76 $row = array();
77 $row[] = l($macro_title,'admin/build/transformer/'. $macro_id).'<br />';
78 $row[] = l(t('remove'),'admin/build/transformer/delete/'. $macro_id).'<br />';
79 $rows[] = $row;
80 }
81 }
82 $output = theme('table', $header, $rows);
83 $output .= '<p>'.l(t('New Macro'),'admin/build/transformer/add').'</p>';
84 return $output;
85 }
86
87 function transformer_ui_admin_macro_add() {
88 drupal_set_title('New Macro');
89 return drupal_get_form('transformer_ui_admin_macro_add_form', array());
90 }
91
92 function transformer_ui_admin_macro_add_form($macro) {
93 $form = array();
94 $form['macro_name'] = array(
95 '#type' => 'textfield',
96 '#title' => t('Macro Name'),
97 '#size' => 50,'#maxlength' => 50,
98 '#default_value' => '',
99 '#prefix' => '<div style="clear:right">',
100 '#suffix' => '</div>',
101 '#description' => t('Human Readable string to identify this macro'),
102 );
103 $form['op']['create'] = array(
104 '#type' => 'submit',
105 '#value' => t('Create Macro'),
106 );
107 $form['op']['cancel'] = array(
108 '#type' => 'submit',
109 '#value' => t('Cancel'),
110 );
111 $form[] = array(
112 '#prefix'=>'<div>',
113 '#value'=>l(t('Back to Macro Listing'),'admin/transformer'),
114 '#suffix'=>'</div>',
115 );
116 return $form;
117 }
118
119 function transformer_ui_admin_macro_add_form_validate() {
120 }
121
122 function transformer_ui_admin_macro_add_form_submit($form_id, $form_values) {
123 //drupal_set_message('transformer_ui_admin_macro_new_form_submit');
124 //debug_msg($form_values);
125 $macro_id = transformer_macro_create(check_plain($form_values['macro_name']));
126 if ($macro_id) {
127 return 'admin/build/transformer/'.$macro_id;
128 }
129 }
130
131 function transformer_ui_admin_macro_form($macro) {
132 $form = array();
133
134 $form['macro_name'] = array(
135 '#type' => 'textfield',
136 '#title' => t('Macro Name'),
137 '#size' => 50,'#maxlength' => 50,
138 '#default_value' => $macro['macro_name'],
139 '#prefix' => '<div style="clear:right">',
140 '#suffix' => '</div>',
141 '#description' => t('Human Readable string to identify this macro'),
142 );
143 $form['macro_id'] = array(
144 '#type' => 'hidden',
145 '#value' => $macro['macro_id'],
146 );
147
148 $info = transformer_macro_info($macro);
149
150 $mimes = (count($info['mimes'])) ? implode(', ', $info['mimes']) : 'none';
151 $form['mimes'] = array(
152 '#type' => 'markup',
153 '#value' => 'supported mimes: '. $mimes,
154 '#prefix' => '<div>',
155 '#suffix' => '</div>',
156 );
157
158 $form['transform'] = transformer_ui_transform_form($macro['macro_id']);
159 $form['transform']['#tree'] = TRUE;
160
161 $form['op']['update'] = array (
162 '#type' => 'submit',
163 '#value' => t('Update Macro')
164 );
165
166 $form[] = array(
167 '#prefix'=>'<br /><br /><div>',
168 '#value'=>l(t('Back to Macro Listing'),'admin/build/transformer/macro'),
169 '#suffix'=>'</div>',
170 );
171 //debug_msg($form);
172 return $form;
173 }
174
175 function transformer_ui_admin_macro_form_validate() {
176 }
177
178 function transformer_ui_admin_macro_form_submit($form_id,$form_values) {
179 transformer_macro_update($form_values);
180 if (count($form_values['transform'])) {
181 foreach($form_values['transform'] as $transform_id => $transform) {
182 transformer_transform_update($transform);
183 }
184 }
185 }
186
187 function transformer_ui_macro_delete_form($macro_id) {
188 $macro = transformer_macro($macro_id);
189
190 $form = array();
191 $form['macro_id'] = array('#type' => 'value', '#value' => $macro['macro_id']);
192 return confirm_form(
193 $form,
194 t('Are you sure you want to delete %macro?',
195 array('%macro' => $macro['macro_name'])
196 ),
197 'admin/build/transformer/macro',
198 t('This action cannot be undone.'),
199 t('Delete'), t('Cancel')
200 );
201 }
202
203 function transformer_ui_macro_delete_form_validate() {
204 }
205
206 function transformer_ui_macro_delete_form_submit($form_id, $form_values) {
207 $macro = transformer_macro($form_values['macro_id']);
208 transformer_macro_delete($macro['macro_id']);
209 return 'admin/build/transformer/macro';
210 }
211
212 /**
213 * End Transformer Admin Macro Delete UI
214 */
215
216
217 function transformer_ui_transform_add_form($transform, $macro_id) {
218 $form['data'] = call_user_func($transform .'_form', array());
219 $form['data']['#tree'] = TRUE;
220 $form['macro_id'] = array(
221 '#type' => 'hidden',
222 '#value' => $macro_id,
223 );
224 $form['base'] = array(
225 '#type' => 'hidden',
226 '#value' => $transform
227 );
228 $form['submit'] = array(
229 '#type' => 'submit',
230 '#value' => t('Add Transform'),
231 );
232 return $form;
233 }
234
235 function transformer_ui_transform_add_form_submit($form_id, $form_values) {
236 //drupal_set_message('transformer_ui_admin_macro_transform_add_form_submit');
237 //debug_msg($form_values);
238 transformer_transform_create($form_values);
239 return 'admin/build/transformer/'. $form_values['macro_id'];
240 }
241
242 function transformer_ui_transform_delete_form($transform_id) {
243 $transform = transformer_transform($transform_id);
244 $form = array();
245 $form['transform_id'] = array('#type' => 'value', '#value' => $transform['transform_id']);
246 return confirm_form(
247 $form,
248 t('Are you sure you want to delete the %base transform?',
249 array('%base' => t($transform['base']))
250 ),
251 'admin/build/transformer/'. $transform['macro_id'],
252 t('This action cannot be undone.'),
253 t('Delete'), t('Cancel')
254 );
255 }
256
257 function transformer_ui_transform_delete_form_submit($form_id, $form_values) {
258 $transform = transformer_transform($form_values['transform_id']);
259 transformer_transform_delete($transform);
260 return 'admin/build/transformer/'. $transform['macro_id'];
261 }
262
263 /**
264 * Begin Transform Section
265 */
266 function transformer_ui_transform_form($macro_id) {
267 $available_transforms = transformer_transforms();
268 $transforms = transformer_macro_transforms($macro_id);
269 //debug_msg($transforms);
270 if (count($transforms)) {
271 foreach($transforms as $transform_id => $transform) {
272
273 $transformname = $transform['base'];
274 $form[$transform_id] = array(
275 '#type' => 'fieldset',
276 '#title' => t($transformname),
277 );
278
279 $form[$transform_id]['base'] = array(
280 '#type' => 'hidden',
281 '#value' => $transformname
282 );
283
284 $form[$transform_id]['transform_id'] = array(
285 '#type' => 'hidden',
286 '#value' => $transform_id
287 );
288
289
290 $form[$transform_id]['weight'] = array(
291 '#type' => 'select',
292 '#options' => array(0,1,2,3,4,5,6,7,8,9,10),
293 '#default_value' => $transform['weight'] ? $transform['weight'] : 0,
294 '#title' => t('Weight'),
295 '#prefix' => "<div class='transform-controls'>",
296 );
297
298 $form[$transform_id]['remove'] = array(
299 '#type' => 'markup',
300 '#value' => l('remove', 'admin/build/transformer/transform/delete/'. $transform_id),
301 '#suffix' => "</div>",
302 );
303
304 $form[$transform_id]['data'] = call_user_func($transform['base'] .'_form', $transform['data']); // get the _form
305 $form[$transform_id]['data']['#prefix'] = '<div class="transform-data">';
306 $form[$transform_id]['data']['#suffix'] = '</div>';
307 }
308 }
309
310 /// Fieldset with the 'create new transform' buttons
311 $form['newtransform'] = array(
312 '#type' => 'fieldset',
313 '#title' => t('Add a New Transform'),
314 );
315
316 // @todo: expand to be more decriptive about transforms. help text with links.
317 $links = array();
318
319 foreach ($available_transforms as $base => $transform) {
320 $links[] = array(
321 'title' => t($transform['title']),
322 'href' => 'admin/build/transformer/transform/add/'. $base .'/'. $macro_id,
323 );
324 }
325
326 $form['newtransform']['links'] = array(
327 '#type' => 'markup',
328 '#value' => theme('links', $links),
329 );
330
331 return $form;
332 }
333
334 function transformer_ui_transform_form_validate() {
335 }
336
337 function transformer_ui_transform_form_submit($form_id, $form_values) {
338 }
339
340 function theme_transformer_admin_title($element) {
341 return '<h2>'.$element['value'].'</h2>';
342 }

  ViewVC Help
Powered by ViewVC 1.1.2