You are here

function gallery_assist_node_insert in Gallery Assist 7

Implements hook_node_insert().

File

./gallery_assist.module, line 1091
Extend drupal with gallery functionalities. Manage galleries.

Code

function gallery_assist_node_insert($node) {
  if (variable_get("gallery_assist_{$node->type}", 0) == 1) {

    // Check entries to avoid duplicates.
    $result = db_query("SELECT count(gid) count FROM {gallery_assist} WHERE nid = :nid", array(
      ':nid' => $node->nid,
    ));
    $result = $result
      ->fetchAssoc();
    if ($result['count'] > 0) {
      return;
    }

    // Article settings.
    $settings = variable_get("gallery_assist_{$node->type}_data", array());
    $allowed = variable_get("gallery_assist_{$node->type}_allowed", array());
    $settings = array(
      'teaser_container_align' => $settings['teaser_container_align'],
      'teaser_container_float' => $settings['teaser_container_float'],
      'page_container_align' => $settings['page_container_align'],
      'page_container_float' => $settings['page_container_float'],
      'display_download_link' => $settings['display_download_link'],
      'db_order_field' => $settings['db_order_field'],
      'db_order_direction' => $settings['db_order_direction'],
      'thm_linked_to' => $settings['thm_linked_to'],
      'thm_link_type' => $settings['thm_link_type'],
      'display_option' => $settings['display_option'],
      'ga_shadow' => $settings['ga_shadow'],
    );
    $new_settings = serialize($settings);

    // Insert.
    $gid = db_insert('gallery_assist')
      ->fields(array(
      'ref' => $node->nid,
      'gref' => (int) 0,
      'lang' => $node->language,
      'nid' => $node->nid,
      'uid' => $node->uid,
      'ganame' => 'gallery_assist' . $node->nid,
      'in_profile' => isset($settings['in_profile']) ? $settings['in_profile'] : 0,
      'show_title' => isset($settings['show_title']) ? $settings['show_title'] : 0,
      'show_in_homepage_block' => isset($settings['show_in_homepage_block']) ? $settings['show_in_homepage_block'] : 0,
      'gallery_assist_weight' => isset($settings['gallery_assist_weight']) ? $settings['gallery_assist_weight'] : 0,
      'data' => $new_settings,
    ))
      ->execute();
    db_update('gallery_assist')
      ->fields(array(
      'gref' => $gid,
    ))
      ->condition('gid', $gid)
      ->execute();
  }
}