answers_notifications.install in Answers 7.4
Notifications support for Answers.
File
answers_notifications/answers_notifications.installView source
<?php
/**
* @file
* Notifications support for Answers.
*/
/**
* Implements hook_install().
*/
function answers_notifications_install() {
// Install fields.
$fields = answers_notifications_default_fields();
foreach ($fields as $field) {
// Check if our field is not already created.
if (!field_info_field($field['field_config']['field_name'])) {
field_create_field($field['field_config']);
}
// Check if our field instance is not already created.
if (!field_info_instance($field['field_instance']['entity_type'], $field['field_instance']['field_name'], $field['field_instance']['bundle'])) {
field_create_instance($field['field_instance']);
}
}
}
/**
* Implements hook_uninstall().
*/
function answers_notifications_uninstall() {
$fields = answers_notifications_default_fields();
foreach ($fields as $field) {
// Check if our field exists.
if (field_info_field($field['field_config']['field_name'])) {
field_delete_field($field['field_config']['field_name']);
}
}
field_purge_batch(10);
}
/**
* Provide the structure for the fields required by answers_notifications.
*/
function answers_notifications_default_fields() {
$fields = array();
// Exported field:
// 'message-new_answer-field_answers_notifications_message_answer'.
$fields['message-new_answer-field_answers_notifications_message_answer'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
'field_name' => 'answers_notifications_answer',
'foreign keys' => array(
'node' => array(
'columns' => array(
'target_id' => 'nid',
),
'table' => 'node',
),
),
'indexes' => array(
'target_id' => array(
0 => 'target_id',
),
),
'locked' => '0',
'module' => 'entityreference',
'settings' => array(
'handler' => 'base',
'handler_settings' => array(
'behaviors' => array(
'views-select-list' => array(
'status' => 0,
),
),
'sort' => array(
'type' => 'none',
),
'target_bundles' => array(
'answers_answer' => 'answers_answer',
),
),
'target_type' => 'node',
),
'translatable' => '0',
'type' => 'entityreference',
),
'field_instance' => array(
'bundle' => 'answers_notifications_new_answer',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
'display' => array(
'default' => array(
'label' => 'hidden',
'settings' => array(),
'type' => 'hidden',
'weight' => '0',
),
'message_notify_email_body' => array(
'label' => 'above',
'settings' => array(),
'type' => 'hidden',
'weight' => 0,
),
'message_notify_email_subject' => array(
'label' => 'above',
'settings' => array(),
'type' => 'hidden',
'weight' => 0,
),
),
'entity_type' => 'message',
'field_name' => 'answers_notifications_answer',
'label' => 'message_answer',
'required' => 1,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(),
'type' => 'options_select',
'weight' => '1',
),
),
);
// Exported field:
// 'message-new_answer-field_answers_notifications_message_question'.
$fields['message-new_answer-field_answers_notifications_message_question'] = array(
'field_config' => array(
'active' => '1',
'cardinality' => '1',
'deleted' => '0',
'entity_types' => array(),
'field_name' => 'answers_notifications_question',
'foreign keys' => array(
'node' => array(
'columns' => array(
'target_id' => 'nid',
),
'table' => 'node',
),
),
'indexes' => array(
'target_id' => array(
0 => 'target_id',
),
),
'locked' => '0',
'module' => 'entityreference',
'settings' => array(
'handler' => 'base',
'handler_settings' => array(
'behaviors' => array(
'views-select-list' => array(
'status' => 0,
),
),
'sort' => array(
'type' => 'none',
),
'target_bundles' => array(
'answers_question' => 'answers_question',
),
),
'target_type' => 'node',
),
'translatable' => '0',
'type' => 'entityreference',
),
'field_instance' => array(
'bundle' => 'answers_notifications_new_answer',
'default_value' => NULL,
'deleted' => '0',
'description' => '',
'display' => array(
'default' => array(
'label' => 'hidden',
'settings' => array(),
'type' => 'hidden',
'weight' => '1',
),
'message_notify_email_body' => array(
'label' => 'above',
'settings' => array(),
'type' => 'hidden',
'weight' => 0,
),
'message_notify_email_subject' => array(
'label' => 'above',
'settings' => array(),
'type' => 'hidden',
'weight' => 0,
),
),
'entity_type' => 'message',
'field_name' => 'answers_notifications_question',
'label' => 'message_question',
'required' => 1,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(),
'type' => 'options_select',
'weight' => '2',
),
),
);
// Translatables
// Included for use with string extractors like potx.
t('message_answer');
t('message_question');
return $fields;
}
Functions
Name | Description |
---|---|
answers_notifications_default_fields | Provide the structure for the fields required by answers_notifications. |
answers_notifications_install | Implements hook_install(). |
answers_notifications_uninstall | Implements hook_uninstall(). |