You are here

field_kaltura.install in Kaltura 7.3

Installation process for kaltura CCK field module.

File

plugins/field_kaltura/field_kaltura.install
View source
<?php

/**
 * @file
 * Installation process for kaltura CCK field module.
 */

/**
 * Implements hook_field_schema().
 */
function field_kaltura_field_schema($field) {
  $columns = array(
    'entryid' => array(
      'description' => 'Kaltura entry id',
      'type' => 'varchar',
      'length' => 20,
      'default' => '',
      'not null' => TRUE,
    ),
    'mediatype' => array(
      'type' => 'int',
      'size' => 'tiny',
    ),
    'settings' => array(
      'type' => 'blob',
      'size' => 'big',
      'not null' => FALSE,
    ),
  );
  $foreign_keys = array(
    'entryid' => array(
      'table' => 'node_kaltura',
      'columns' => array(
        'entryid' => 'kaltura_entryid',
      ),
    ),
  );
  return array(
    'columns' => $columns,
    'foreign keys' => $foreign_keys,
  );
}

/**
 * Implements hook_uninstall().
 */
function field_kaltura_uninstall() {
  variable_del('kaltura_video_entry_height');
  variable_del('kaltura_video_entry_thumb_height');
  variable_del('kaltura_video_entry_thumb_width');
  variable_del('kaltura_video_entry_width');
}

/**
 * Update Kaltura Media field's schema - add 'settings' column.
 */
function field_kaltura_update_7300() {
  $spec = array(
    'type' => 'blob',
    'size' => 'big',
    'not null' => FALSE,
  );
  foreach (field_read_fields(array(
    'type' => 'field_kaltura_entryid',
  )) as $field_name => $field) {

    // Field SQL Storage does not add columns to the field tables if the field
    // has data. So do it explicitly.
    if ($field['storage']['type'] == 'field_sql_storage') {
      db_add_field(_field_sql_storage_tablename($field), _field_sql_storage_columnname($field_name, 'settings'), $spec);
      db_add_field(_field_sql_storage_revision_tablename($field), _field_sql_storage_columnname($field_name, 'settings'), $spec);
    }

    // Update field configuration.
    field_update_field($field);
  }
}

Functions

Namesort descending Description
field_kaltura_field_schema Implements hook_field_schema().
field_kaltura_uninstall Implements hook_uninstall().
field_kaltura_update_7300 Update Kaltura Media field's schema - add 'settings' column.