You are here

function imagepicker_form_alter in Image Picker 6.2

Same name and namespace in other branches
  1. 5.2 imagepicker.module \imagepicker_form_alter()
  2. 5 imagepicker.module \imagepicker_form_alter()
  3. 7 imagepicker.module \imagepicker_form_alter()

Implementation of hook_form_alter().

File

./imagepicker.module, line 684
Enables permitted roles to upload images for insertion into configured nodes.

Code

function imagepicker_form_alter(&$form, &$form_state, $form_id) {
  global $user;
  $node_type = FALSE;
  $comment = FALSE;
  $block = FALSE;
  $weight = 1;
  if (isset($form['#node'])) {
    $node = $form['#node'];
    $node_types = node_get_types('names');
    $node_type = in_array($node->type, variable_get('imagepicker_node_types_enabled', array_keys($node_types)), TRUE);
  }
  elseif (module_exists('comment') && variable_get('imagepicker_comment_enabled', 0) && preg_match('/comment_form$/i', $form_id)) {
    $comment = TRUE;
    $weight = 1;
  }
  elseif (($form_id == 'block_add_block_form' || $form_id == 'block_admin_configure') && variable_get('imagepicker_blocks_enabled', 0)) {
    $block = TRUE;
    $weight = 1;
  }
  if (user_access('use imagepicker')) {
    $width = variable_get('imagepicker_advanced_iframe_width', "100%");
    if (isset($user->imagepicker_advanced_iframe_width) && $user->imagepicker_advanced_iframe_width) {
      $width = $user->imagepicker_advanced_iframe_width;
    }
    if (!preg_match("/%\$/", $width)) {
      $width .= 'px';
    }
    $height = variable_get('imagepicker_advanced_iframe_height', 500);
    if (isset($user->imagepicker_advanced_iframe_height) && $user->imagepicker_advanced_iframe_height) {
      $height = $user->imagepicker_advanced_iframe_height;
    }
    $border = variable_get('imagepicker_advanced_iframe_border', "0");
    if (isset($user->imagepicker_advanced_iframe_border)) {
      $border = $user->imagepicker_advanced_iframe_border;
    }
    if (imagepicker_get_thickbox_perms()) {
      $iurl = l(t('Run imagepicker'), 'imagepicker');
    }
    elseif (imagepicker_get_colorbox_perms()) {
      $iurl = l(t('Run imagepicker'), 'imagepicker', array(
        'query' => array(
          'width' => $width,
          'height' => $height,
          'iframe' => 'true',
        ),
        'attributes' => array(
          'class' => 'colorbox-load',
        ),
      ));
    }
    else {
      $iurl = '<iframe id="imagepicker" style="width: ' . $width . '; height: ' . $height . 'px; border: ' . $border . ';" src="' . url('imagepicker') . '">Imagepicker requires iframe support.</iframe>';
    }
    if ($node_type && preg_match('/node_form$/i', $form_id) || $comment) {
      $form['body_field']['body_filter']['imagepicker_file_upload'] = array(
        '#type' => 'fieldset',
        '#title' => t('Image picker'),
        '#collapsible' => 1,
        '#collapsed' => variable_get('imagepicker_advanced_collapsed', 0),
        '#weight' => $weight,
      );
      $form['body_field']['body_filter']['#weight'] = 2;
      $form['body_field']['body_filter']['imagepicker_file_upload']['mpframe'] = array(
        '#type' => 'markup',
        '#value' => '<div id="imgp_tb">' . $iurl . '</div>',
      );
      $form['body_field']['#prefix'] = '<a name="body_hash"></a>' . $form['body_field']['#prefix'];
    }
    elseif ($block) {
      $form['block_settings']['imagepicker_file_upload'] = array(
        '#type' => 'fieldset',
        '#title' => t('Image picker'),
        '#collapsible' => TRUE,
        '#collapsed' => isset($user->imagepicker_advanced_collapsed) ? $user->imagepicker_advanced_collapsed : variable_get('imagepicker_advanced_collapsed', 0),
        '#weight' => $weight,
      );
      $form['block_settings']['imagepicker_file_upload']['mpframe'] = array(
        '#type' => 'markup',
        '#value' => '<div id="imgp_tb">' . $iurl . '</div>',
      );
      $form['block_settings']['#prefix'] = '<a name="body_hash"></a>' . $form['block_settings']['#prefix'];
    }
  }
}