You are here

function node_gallery_api_relationship_type_content_types_form_submit in Node Gallery 7

Submit handler for relationship settings form.

File

./node_gallery_api.admin.inc, line 193
Node Gallery API admin interface.

Code

function node_gallery_api_relationship_type_content_types_form_submit($form, &$form_state) {
  $r = $form['#relationship_type'];
  if (is_null($r)) {

    // New relationship.
    $r = new NodeGalleryRelationshipType();
    $r->settings = node_gallery_api_relationship_type_settings_defaults();
  }
  $send_to_settings_form = FALSE;
  $r->settings['relationship_type']['gallery_types'] = array_keys($form_state['values']['relationship_type']['gallery_types']);
  $r->settings['relationship_type']['item_types'] = array_keys($form_state['values']['relationship_type']['item_types']);
  $r->filefield_name = $form_state['values']['relationship_type']['filefield_name'];
  if ($r->filefield_name == 'node_gallery_create') {
    $r->filefield_name = NODE_GALLERY_MEDIA_FIELD;
  }
  if (!isset($r->id)) {
    $send_to_settings_form = TRUE;
    $r->label = $r->settings['relationship']['name'];
    drupal_set_message(t('Default settings applied. Please verify them below.'), 'warning');
  }
  else {
    drupal_set_message(t('Node Gallery relationship updated'));
  }
  $r
    ->save();
  variable_set('menu_rebuild_needed', TRUE);
  if ($send_to_settings_form) {
    $form_state['redirect'] = 'admin/config/content/node-gallery/relationship-type/settings/' . $r->id;
  }
  else {
    $form_state['redirect'] = 'admin/config/content/node-gallery';
  }
}