You are here

function ddblock_set_configuration_settings in Dynamic display block 6

Same name and namespace in other branches
  1. 7 ddblock.module \ddblock_set_configuration_settings()

Set the configuration settings of a block.

Parameters

$origin: Origin of the block.

$delta: Blocknumber of the block.

$edit: An associative array containing the configuration settings of the block.

Return value

none.

2 calls to ddblock_set_configuration_settings()
ddblock_block in ./ddblock.module
Implementation of hook_block().
ddblock_form_alter_submit in ./ddblock.module
Submit block configuration settings.

File

./ddblock.module, line 1918
Enables your site to display dynamic content in a block.

Code

function ddblock_set_configuration_settings($origin, $delta, $edit) {

  // to prevent setting invalid numbers, number fields are tranformed to integers (non number values will become 0).
  // for numbers values used in javascript this must be converted to an integer.
  $configuration_settings = array();
  $configuration_settings['advanced'] = (int) $edit['advanced'];

  //basic settings
  $configuration_settings['container'] = $edit['container'];
  $configuration_settings['content_type'] = $edit['content_type'];
  $configuration_settings['custom_jquery'] = $edit['custom_jquery'];
  $configuration_settings['folder'] = $edit['folder'];
  $configuration_settings['ignore_files'] = $edit['ignore_files'];
  $configuration_settings['fx'] = $edit['fx'];
  $configuration_settings['height'] = (int) $edit['height'];
  $configuration_settings['image_height'] = (int) $edit['image_height'];
  $configuration_settings['image_width'] = (int) $edit['image_width'];
  $configuration_settings['imgcache_toggle'] = (int) $edit['imgcache_toggle'];
  if (!empty($configuration_settings['imgcache_toggle'])) {
    $configuration_settings['imgcache_slide'] = $edit['imgcache_slide'];
    $configuration_settings['imgcache_pager_item'] = $edit['imgcache_pager_item'];
  }
  $configuration_settings['input_type'] = $edit['input_type'];
  $configuration_settings['max_image'] = (int) $edit['max_image'];
  $configuration_settings['next'] = (int) $edit['next'];
  $configuration_settings['nodes'] = $edit['nodes'];
  $configuration_settings['node_body_teaser'] = $edit['node_body_teaser'];
  $configuration_settings['order'] = $edit['order'];
  $configuration_settings['origin'] = $origin;
  $configuration_settings['output'] = $edit['output'];
  $configuration_settings['overflow'] = (int) $edit['overflow'];
  $configuration_settings['pause'] = (int) $edit['pause'];
  $configuration_settings['pager_toggle'] = (int) $edit['pager_toggle'];
  if (!empty($configuration_settings['pager_toggle'])) {
    $configuration_settings['pager'] = $edit['pager'];
    $configuration_settings['pager_prev_next_loop'] = (int) $edit['pager_prev_next_loop'];
    $configuration_settings['pager_scrollable_loop'] = (int) $edit['pager_scrollable_loop'];
    $configuration_settings['nr_of_pager_items'] = (int) $edit['nr_of_pager_items'];
    $configuration_settings['pager_container'] = $edit['pager_container'];
    $configuration_settings['pager_event'] = $edit['pager_event'];
    $configuration_settings['pager_disable_click'] = $edit['pager_disable_click'];
    $configuration_settings['pager_fast'] = (int) $edit['pager_fast'];
    $configuration_settings['pager_pause'] = (int) $edit['pager_pause'];
    $configuration_settings['pager_height'] = (int) $edit['pager_height'];
    $configuration_settings['pager_width'] = (int) $edit['pager_width'];
    $configuration_settings['pager_position'] = $edit['pager_position'];
  }
  $configuration_settings['speed'] = (int) $edit['speed'];
  $configuration_settings['timeout'] = (int) $edit['timeout'];
  $configuration_settings['widget'] = $edit['widget'];
  $configuration_settings['width'] = (int) $edit['width'];

  //advanced settings
  if (!empty($configuration_settings['advanced'])) {
    $configuration_settings['slide_text'] = (int) $edit['slide_text'];
    $configuration_settings['slide_text_jquery'] = (int) $edit['slide_text_jquery'];
    $configuration_settings['slide_text_after_effect'] = $edit['slide_text_after_effect'];
    $configuration_settings['slide_text_after_speed'] = (int) $edit['slide_text_after_speed'];
    $configuration_settings['slide_text_before_effect'] = $edit['slide_text_before_effect'];
    $configuration_settings['slide_text_before_speed'] = (int) $edit['slide_text_before_speed'];
    $configuration_settings['slide_text_container'] = $edit['slide_text_container'];
    $configuration_settings['slide_text_position'] = $edit['slide_text_position'];
    $configuration_settings['template'] = $edit['template'];
    if ($configuration_settings['template'] == 'custom') {
      $configuration_settings['custom_template'] = $edit['custom_template'];
    }
  }

  // set pager to number_pager if input type is not images and image pager.
  if ($configuration_settings['input_type'] != 'images' && $configuration_settings['pager'] == 'image-pager') {
    $configuration_settings['pager'] = 'number-pager';
  }

  // set ouput to view_fields for advanced blocks otherwise output becomes view_content
  if (!empty($configuration_settings['advanced'])) {
    $configuration_settings['output'] = 'view_fields';
  }
  else {
    $configuration_settings['output'] = 'view_content';
  }
  variable_set('ddblock_block_' . $origin . '_' . $delta . '_cycle_settings', serialize($configuration_settings));
}