votingapi.install in Voting API 7.3
Same filename and directory in other branches
Installation file for VotingAPI module.
File
votingapi.installView source
<?php
/**
* @file
* Installation file for VotingAPI module.
*/
function votingapi_schema() {
$schema['votingapi_vote'] = array(
'fields' => array(
'vote_id' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'entity_type' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => 'node',
),
'entity_id' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'value' => array(
'type' => 'float',
'not null' => TRUE,
'default' => 0,
),
'value_type' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => 'percent',
),
'tag' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => 'vote',
),
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'timestamp' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'vote_source' => array(
'type' => 'varchar',
'length' => 255,
),
),
'primary key' => array(
'vote_id',
),
'indexes' => array(
'content_uid' => array(
'entity_type',
'entity_id',
'uid',
),
'content_uid_2' => array(
'entity_type',
'uid',
),
'content_source' => array(
'entity_type',
'entity_id',
'vote_source',
),
'content_value_tag' => array(
'entity_type',
'entity_id',
'value_type',
'tag',
),
),
);
$schema['votingapi_cache'] = array(
'fields' => array(
'vote_cache_id' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'entity_type' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => 'node',
),
'entity_id' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'value' => array(
'type' => 'float',
'not null' => TRUE,
'default' => 0,
),
'value_type' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => 'percent',
),
'tag' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => 'vote',
),
'function' => array(
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
'default' => '',
),
'timestamp' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'vote_cache_id',
),
'indexes' => array(
'content' => array(
'entity_type',
'entity_id',
),
'content_function' => array(
'entity_type',
'entity_id',
'function',
),
'content_tag_func' => array(
'entity_type',
'entity_id',
'tag',
'function',
),
'content_vtype_tag' => array(
'entity_type',
'entity_id',
'value_type',
'tag',
),
'content_vtype_tag_func' => array(
'entity_type',
'entity_id',
'value_type',
'tag',
'function',
),
),
);
return $schema;
}
/**
* The most recent update removed for version-to-version compatibility.
*/
function votingapi_update_last_removed() {
return 7203;
}
/**
* Delete VotingAPIOrphaned queue for the cleanup tasks.
*/
function votingapi_update_7301() {
DrupalQueue::get('VotingAPIOrphaned', TRUE)
->deleteQueue();
}
/**
* Implements hook_uninstall().
*/
function votingapi_uninstall() {
// Delete variables created by voteapi module.
$variables = array(
'votingapi_last_cron',
'votingapi_anonymous_window',
'votingapi_user_window',
'votingapi_calculation_schedule',
);
foreach ($variables as $variable) {
variable_del($variable);
}
DrupalQueue::get('VotingAPIOrphaned', TRUE)
->deleteQueue();
}
Functions
Name | Description |
---|---|
votingapi_schema | @file Installation file for VotingAPI module. |
votingapi_uninstall | Implements hook_uninstall(). |
votingapi_update_7301 | Delete VotingAPIOrphaned queue for the cleanup tasks. |
votingapi_update_last_removed | The most recent update removed for version-to-version compatibility. |