You are here

function colorized_gmap_block_save in Colorized google maps block 7

Implements hook_block_save().

1 call to colorized_gmap_block_save()
colorized_gmap_form_submit in ./colorized_gmap.admin.inc
Submit callback.

File

./colorized_gmap.module, line 176
Colorized gmap module.

Code

function colorized_gmap_block_save($delta = '', $edit = array()) {

  // Array of block settings such as region, visibility, etc.
  $block_settings = array(
    'region' => $edit['regions'],
    'custom' => $edit['custom'],
    'visibility' => $edit['visibility'],
    'pages' => $edit['pages'],
    'title' => $edit['title'],
  );
  if (!empty($delta)) {
    $entity = entity_load_single('colorized_gmap', $delta);
    if ($entity) {

      // If marker was uploaded - update its info.
      $marker = $edit['colorized_map_addtional_settings']['marker_settings']['marker'];
      if (!is_array($marker) && !empty($marker)) {
        $marker = _colorized_gmap_marker_info($marker, $delta);
        $edit['colorized_map_addtional_settings']['marker_settings']['marker'] = $marker;
      }
      $entity->latitude = $edit['latitude'];
      $entity->longitude = $edit['longitude'];
      $entity->additional_settings = $edit['colorized_map_addtional_settings'];
      $entity->style = $edit['settings'];
      $entity->block_settings = $block_settings;
      $entity
        ->save();
    }
  }
  else {
    $options = array(
      'name' => $edit['machine-name'],
      'module' => 'colorized_gmap',
      'latitude' => $edit['latitude'],
      'longitude' => $edit['longitude'],
      'additional_settings' => $edit['colorized_map_addtional_settings'],
      'style' => $edit['settings'],
      'block_settings' => $block_settings,
    );
    $entity = entity_create('colorized_gmap', $options);
    $entity
      ->save();
  }
}