You are here

function smart_paging_entity_insert in Smart Paging 7.2

Same name and namespace in other branches
  1. 7 smart_paging.module \smart_paging_entity_insert()

Implements hook_entity_insert().

File

./smart_paging.module, line 451
Provides smart paging capability to Drupal contents.

Code

function smart_paging_entity_insert($entity, $entity_type) {
  if (isset($entity->smart_paging_use_default)) {
    $entity_info = entity_get_info($entity_type);
    $entity_id = $entity->{$entity_info['entity keys']['id']};
    $config = array(
      'use_default' => $entity->smart_paging_use_default,
      'method' => !$entity->smart_paging_use_default ? $entity->smart_paging_method : variable_get('smart_paging_method', SMART_PAGING_PLACEHOLDER_METHOD),
      'pagebreak' => !$entity->smart_paging_use_default ? $entity->smart_paging_pagebreak : variable_get('smart_paging_pagebreak', '<!--pagebreak-->'),
      'character_count' => !$entity->smart_paging_use_default ? $entity->smart_paging_character_count : variable_get('smart_paging_character_count', SMART_PAGING_MAX_CHAR_LIMIT),
      'word_count' => !$entity->smart_paging_use_default ? $entity->smart_paging_word_count : variable_get('smart_paging_word_count', SMART_PAGING_MAX_WORD_LIMIT),
      'title_suffix' => !$entity->smart_paging_use_default ? $entity->smart_paging_title_suffix : variable_get('smart_paging_title_suffix', t(': Page ')),
      'title_display_suffix' => !$entity->smart_paging_use_default ? $entity->smart_paging_title_display_suffix : variable_get('smart_paging_title_display_suffix', FALSE),
    );
    try {
      db_insert('smart_paging')
        ->fields(array(
        'entity_id',
        'entity_type',
        'configuration',
      ))
        ->values(array(
        'entity_id' => $entity_id,
        'entity_type' => $entity_type,
        'configuration' => serialize($config),
      ))
        ->execute();
    } catch (Exception $error) {
      db_update('smart_paging')
        ->fields(array(
        'configuration' => serialize($config),
      ))
        ->condition('entity_id', $entity_id)
        ->condition('entity_type', $entity_type)
        ->execute();
    }
  }
}