You are here

photos.form.inc in Album Photos 6.2

Same filename and directory in other branches
  1. 7.3 inc/photos.form.inc

File

inc/photos.form.inc
View source
<?php

function _photos_form($node) {
  global $user;
  drupal_add_js(<<<EOT
\$(function(){
  select_hide(\$("input[@name='album[page_display]'][@checked]").val(), '#photos-form-page');
  \$("input[@name='album[page_display]']").click(function(){
    select_hide(\$(this).val(), '#photos-form-page');
  });
  select_hide(\$("input[@name='album[teaser_display]'][@checked]").val(), '#photos-form-teaser');
  \$("input[@name='album[teaser_display]']").click(function(){
    select_hide(\$(this).val(), '#photos-form-teaser');
  });
})
EOT
, 'inline');
  if ($user->uid != 1) {
    $t = photos_user_count();
    $msg = t('You may create %a albums, now you have created %b albums, you can still create %aa albums.', array(
      '%a' => $t['total'],
      '%b' => $t['create'],
      '%aa' => $t['remain'],
    ));
    if ($t['rest']) {
      drupal_set_message($msg);
      return drupal_goto('node/add');
    }
    $form['help'] = array(
      '#value' => $msg,
      '#weight' => -10,
    );
  }
  $type = node_get_types('type', $node);
  $form['title'] = array(
    '#type' => 'textfield',
    '#title' => check_plain($type->title_label),
    '#required' => TRUE,
    '#default_value' => !empty($node->title) ? $node->title : NULL,
    '#weight' => -5,
  );
  $form['body_field'] = node_body_field($node, $type->body_label, $type->min_word_count);
  $form['photos'] = array(
    '#type' => 'fieldset',
    '#title' => t('Album settings'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
    '#weight' => -3,
  );
  $opt = array(
    t('Do not display'),
    t('Display cover'),
    t('Display thumbnails'),
  );
  if (variable_get('photos_display_user', 1)) {
    $form['photos']['global']['album'] = array(
      '#type' => 'fieldset',
      '#title' => t('Global Settings'),
      '#collapsible' => TRUE,
      '#tree' => true,
    );
    $form['photos']['global']['album']['viewpager'] = array(
      '#type' => 'select',
      '#default_value' => !empty($node->album['viewpager']) ? $node->album['viewpager'] : variable_get('photos_display_viewpager', 10),
      '#title' => t('How many images show in each page?'),
      '#required' => TRUE,
      '#options' => drupal_map_assoc(array(
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        15,
        20,
        25,
        30,
        35,
        40,
        45,
        50,
      )),
    );
    $form['photos']['global']['album']['imageorder'] = array(
      '#type' => 'select',
      '#title' => t('Image display order'),
      '#required' => TRUE,
      '#default_value' => !empty($node->album['imageorder']) ? $node->album['imageorder'] : variable_get('photos_display_imageorder', 'timestamp|desc'),
      '#options' => _photos_order_label(),
    );
    $size = photos_upload_info(0);
    switch ($size['count']) {
      case 1:
        $list_imagesize = variable_get('photos_title_0', false);
        $view_imagesize = variable_get('photos_title_0', false);
        break;
      case 2:
      case 3:
        $list_imagesize = variable_get('photos_title_1', false);
        $view_imagesize = variable_get('photos_title_1', false);
        break;
      default:
        $list_imagesize = variable_get('photos_title_2', false);
        $view_imagesize = variable_get('photos_title_2', false);
        break;
    }
    $form['photos']['global']['album']['list_imagesize'] = array(
      '#type' => 'select',
      '#title' => t('Image display size(by list)'),
      '#required' => TRUE,
      '#default_value' => !empty($node->album['list_imagesize']) ? $node->album['list_imagesize'] : variable_get('photos_display_list_imagesize', $list_imagesize),
      '#description' => t('Displayed in the list(e.g: photos/album/[nid]) of image size.'),
      '#options' => _photos_select_size(),
    );
    $form['photos']['global']['album']['view_imagesize'] = array(
      '#type' => 'select',
      '#title' => t('Image display size(by page)'),
      '#required' => TRUE,
      '#default_value' => !empty($node->album['view_imagesize']) ? $node->album['view_imagesize'] : variable_get('photos_display_view_imagesize', $view_imagesize),
      '#description' => t('Displayed in the page(e.g: photos/image/[fid]) of image size.'),
      '#options' => _photos_select_size(),
    );
    if (variable_get('photos_slide', 0)) {
      $form['photos']['global']['album']['slide'] = array(
        '#type' => 'textfield',
        '#default_value' => !empty($node->album['slide']) ? $node->album['slide'] : variable_get('photos_display_slide', '640x480'),
        '#title' => t('Slide width and height'),
        '#required' => TRUE,
        '#description' => t('The width and height of flash, e.g: 640x480.'),
      );
      $form['photos']['global']['album']['slide_music'] = array(
        '#type' => 'textfield',
        '#default_value' => !empty($node->album['slide_music']) ? $node->album['slide_music'] : '',
        '#title' => t('Slide Music'),
        '#description' => t('e.g: http://mysite/music.mp3'),
      );
      $opt[] = t('Slide show');
    }
  }
  if (variable_get('photos_display_page_user', 1)) {
    $form['photos']['page']['album'] = array(
      '#type' => 'fieldset',
      '#title' => t('Page Settings'),
      '#collapsible' => TRUE,
      '#tree' => true,
      '#prefix' => '<div id="photos-form-page">',
      '#suffix' => '</div>',
    );
    $form['photos']['page']['album']['page_display'] = array(
      '#type' => 'radios',
      '#default_value' => !empty($node->album['page_display']) ? $node->album['page_display'] : variable_get('photos_display_page_display', 1),
      '#title' => t('Display setting'),
      '#required' => TRUE,
      '#options' => $opt,
    );
    $form['photos']['page']['album']['page_viewnum'] = array(
      '#type' => 'select',
      '#default_value' => !empty($node->album['page_viewnum']) ? $node->album['page_viewnum'] : variable_get('photos_display_page_viewnum', 10),
      '#title' => t('Display quantity'),
      '#required' => TRUE,
      '#options' => drupal_map_assoc(array(
        5,
        10,
        15,
        20,
        25,
        30,
        35,
        40,
        45,
        50,
      )),
      '#prefix' => '<div class="photos-form-count">',
    );
    $form['photos']['page']['album']['page_imagesize'] = array(
      '#type' => 'select',
      '#title' => t('Image display size'),
      '#required' => TRUE,
      '#default_value' => !empty($node->album['page_imagesize']) ? $node->album['page_imagesize'] : variable_get('photos_display_page_imagesize', variable_get('photos_title_0', 'thumb')),
      '#options' => _photos_select_size(),
      '#suffix' => '</div>',
    );
    $form['photos']['page']['album']['page_slide'] = array(
      '#type' => 'textfield',
      '#default_value' => !empty($node->album['page_slide']) ? $node->album['page_slide'] : variable_get('photos_display_page_slide', '640x480'),
      '#title' => t('Slide width and height'),
      '#required' => TRUE,
      '#description' => t('The width and height of flash, e.g: 640x480.'),
      '#prefix' => '<div class="photos-form-slide">',
      '#suffix' => '</div>',
    );
  }
  if (variable_get('photos_display_teaser_user', 1)) {
    $form['photos']['teaser']['album'] = array(
      '#type' => 'fieldset',
      '#title' => t('Teaser Settings'),
      '#collapsible' => TRUE,
      '#tree' => true,
      '#prefix' => '<div id="photos-form-teaser">',
      '#suffix' => '</div>',
    );
    $form['photos']['teaser']['album']['teaser_display'] = array(
      '#type' => 'radios',
      '#default_value' => !empty($node->album['teaser_display']) ? $node->album['teaser_display'] : variable_get('photos_display_teaser_display', 1),
      '#title' => t('Display setting'),
      '#required' => TRUE,
      '#options' => $opt,
    );
    $form['photos']['teaser']['album']['teaser_viewnum'] = array(
      '#type' => 'select',
      '#default_value' => !empty($node->album['teaser_viewnum']) ? $node->album['teaser_viewnum'] : variable_get('photos_display_teaser_viewnum', 5),
      '#title' => t('Display quantity'),
      '#required' => TRUE,
      '#options' => drupal_map_assoc(array(
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
      )),
      '#prefix' => '<div class="photos-form-count">',
    );
    $form['photos']['teaser']['album']['teaser_imagesize'] = array(
      '#type' => 'select',
      '#title' => t('Image display size'),
      '#required' => TRUE,
      '#default_value' => !empty($node->album['teaser_imagesize']) ? $node->album['teaser_imagesize'] : variable_get('photos_display_teaser_imagesize', variable_get('photos_title_0', 'thumb')),
      '#options' => _photos_select_size(),
      '#suffix' => '</div>',
    );
    $form['photos']['teaser']['album']['teaser_slide'] = array(
      '#type' => 'textfield',
      '#default_value' => !empty($node->album['teaser_slide']) ? $node->album['teaser_slide'] : variable_get('photos_display_teaser_slide', '640x480'),
      '#title' => t('Slide width and height'),
      '#required' => TRUE,
      '#description' => t('The width and height of flash, e.g: 640x480.'),
      '#prefix' => '<div class="photos-form-slide">',
      '#suffix' => '</div>',
    );
  }
  $form['photos']['page']['album']['pid'] = array(
    '#type' => 'value',
    '#value' => !empty($node->album['pid']) ? $node->album['pid'] : NULL,
  );
  return $form;
}

Functions

Namesort descending Description
_photos_form