You are here

contextual_view_modes.install in Contextual View Modes 7

Same filename and directory in other branches
  1. 7.3 contextual_view_modes.install
  2. 7.2 contextual_view_modes.install

File

contextual_view_modes.install
View source
<?php

/**
 * Implements hook_enable().
 * Create a field for use later
 */
function contextual_view_modes_install() {
}

/**
 * Implements hook_disable().
 */
function contextual_view_modes_disable() {
  drupal_set_message('contextual view modes has been disabled. ' . l('Uninstall', 'admin/modules/uninstall') . ' module to remove all field data then disable and uninstall contextual view modes field module.');
}

/**
 * Implements hook_uninstall().
 */
function contextual_view_modes_uninstall() {
  $node_types = variable_get('cvm_global_content_type_modes', array());
  foreach ($node_types as $k => $v) {
    $instance = field_read_instance('node', CVM_FIELD_NAME, $k);
    field_delete_instance($instance, TRUE);
  }
  field_delete_field(CVM_FIELD_NAME);
  field_purge_batch(10);
}

/**
 * Implements hook_update().
 */
function contextual_view_modes_update_7101(&$sandbox) {
  db_update('system')
    ->fields(array(
    'weight' => 100,
  ))
    ->condition('name', 'contextual_view_modes')
    ->execute();
}

/**
 * Please back up your database before running as this does some pretty shady stuff.
 */
function contextual_view_modes_update_7102(&$sandbox) {
  if (!module_exists('cvm_field')) {
    if (!module_enable(array(
      'cvm_field',
    ))) {
      drupal_set_message(t('could not enable cvm_module'), 'error');
      throw new Exception("Could Not Enable cvm_field Module");
    }
  }

  // CVM field moved to sub module. We need to fix that for existing content.
  db_update('field_config')
    ->fields(array(
    'module' => 'cvm_field',
    'type' => 'cvm_field_cvm',
  ))
    ->condition('field_name', 'field_cvm_cvm')
    ->execute();
  $instances = db_select('field_config_instance', 'fci')
    ->fields("fci")
    ->condition('field_name', 'field_cvm_cvm')
    ->execute();
  while ($result = $instances
    ->fetchAssoc()) {
    $data = unserialize($result['data']);
    $data['widget']['type'] = "cvm_field_picker";
    $data['widget']['module'] = 'cvm_field';
    db_update('field_config_instance')
      ->fields(array(
      'data' => serialize($data),
    ))
      ->condition('id', $result['id'])
      ->execute();
  }
}

/**
 * Implements hook_requirements().
 */
function contextual_view_modes_requirements($phase) {
  $requirements = array();
  if ($phase == 'runtime') {
    if (!module_exists('cvm_field')) {
      if (!module_enable(array(
        'cvm_field',
      ))) {
        $requirements['cvm_field'] = array(
          'title' => t('CVM Field Module Missing'),
          'value' => 'Please find and enable the cvm_field module',
          'severity' => REQUIREMENT_ERROR,
        );
      }
    }
  }
  return $requirements;
}

Functions

Namesort descending Description
contextual_view_modes_disable Implements hook_disable().
contextual_view_modes_install Implements hook_enable(). Create a field for use later
contextual_view_modes_requirements Implements hook_requirements().
contextual_view_modes_uninstall Implements hook_uninstall().
contextual_view_modes_update_7101 Implements hook_update().
contextual_view_modes_update_7102 Please back up your database before running as this does some pretty shady stuff.