diff options
Diffstat (limited to 'jquery_gallery_view.admin.inc')
-rw-r--r-- | jquery_gallery_view.admin.inc | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/jquery_gallery_view.admin.inc b/jquery_gallery_view.admin.inc new file mode 100644 index 0000000..5388509 --- /dev/null +++ b/jquery_gallery_view.admin.inc @@ -0,0 +1,69 @@ +<?php + +/** + * @file + * Admin callbacks. + */ + +/** + * Menu callback. + */ +function jquery_gallery_view() { + $output = t('jQuery Gallery View.'); + $output .= drupal_get_form('jquery_gallery_view_form'); + return $output; +} + +/** + * Mass import form. + */ +function jquery_gallery_view_form(&$form_state) { + $form['node_type'] = array( + '#type' => 'select', + '#title' => t('Node type'), + '#options' => jquery_gallery_view_types(), + '#default_value' => variable_get('jquery_gallery_view_node_type', array()), + '#description' => t('Select node type to import images. For CCK, if node type contains more than one filefield, make sure that the imagefield is the first one.'), + ); + + $form['submit'] = array( + '#type' => 'submit', + '#value' => t('Save'), + ); + + return $form; +} + +/** + * Return the existing content types. + * + * @return + * Content types. + */ +function jquery_gallery_view_types() { + $node_types = node_get_types(); + $node_codes = array(); + + foreach ($node_types as $item) { + $node_codes[$item->type] = $item->name; + } + + return $node_codes; +} + +/** + * Implementation of hook_validate(). + */ +function jquery_gallery_view_form_validate($form, $form_state) { + if (!isset($form_state['values']['node_type'])) { + form_set_error('node_type', t('Please choose a content type')); + } + else { + $type = $form_state['values']['node_type']; + $types = node_get_types(); + + if (!isset($types[$type])) { + form_set_error('node_type', t('Invalid content type')); + } + } +} |