View source
<?php
function tfa_basic_schema() {
$schema['tfa_user_settings'] = array(
'fields' => array(
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'saved' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'status' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'data' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array(
'uid',
),
);
$schema['tfa_totp_seed'] = array(
'fields' => array(
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'seed' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'Base 64 encoded encrypted seed',
),
'created' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'uid',
),
);
$schema['tfa_trusted_browser'] = array(
'fields' => array(
'did' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'value' => array(
'type' => 'varchar',
'length' => 160,
'not null' => TRUE,
'default' => '',
),
'created' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'last_used' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'ip' => array(
'type' => 'varchar',
'length' => 60,
'not null' => TRUE,
'default' => '',
),
'name' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
),
),
'primary key' => array(
'did',
),
'indexes' => array(
'browser' => array(
'uid',
'value',
),
),
);
$schema['tfa_recovery_code'] = array(
'fields' => array(
'id' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'code' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'Base 64 encoded encrypted code',
),
'created' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'used' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'id',
),
'indexes' => array(
'uid' => array(
'uid',
),
),
);
$schema['tfa_accepted_code'] = array(
'fields' => array(
'cid' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'code_hash' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => '',
),
'time_accepted' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'cid',
),
'indexes' => array(
'uid_code' => array(
'uid',
'code_hash',
),
'time_accepted' => array(
'time_accepted',
),
),
);
return $schema;
}
function tfa_basic_update_7001() {
$schema['tfa_recovery_code'] = array(
'fields' => array(
'id' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'code' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'Base 64 encoded encrypted code',
),
'created' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
'used' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'id',
),
'indexes' => array(
'uid' => array(
'uid',
),
),
);
db_create_table('tfa_recovery_code', $schema['tfa_recovery_code']);
}
function tfa_basic_update_7002() {
db_rename_table('tfa_trusted_device', 'tfa_trusted_browser');
$plugins = variable_get('tfa_login_plugins');
if (!empty($plugins)) {
foreach ($plugins as $k => $plugin) {
if ($plugin == 'tfa_basic_trusted_device') {
$plugins[$k] = 'tfa_basic_trusted_browser';
variable_set('tfa_basic_cookie_name', 'TD');
}
}
variable_set('tfa_login_plugins', $plugins);
}
}
function tfa_basic_update_7003() {
$schema['tfa_accepted_code'] = array(
'fields' => array(
'cid' => array(
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'uid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'code_hash' => array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => '',
),
'time_accepted' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
),
),
'primary key' => array(
'cid',
),
'indexes' => array(
'uid_code' => array(
'uid',
'code_hash',
),
'time_accepted' => array(
'time_accepted',
),
),
);
db_create_table('tfa_accepted_code', $schema['tfa_accepted_code']);
}
function tfa_basic_uninstall() {
variable_del('tfa_basic_secret_key');
variable_del('tfa_basic_time_skew');
variable_del('tfa_recovery_codes_amount');
variable_del('tfa_basic_trust_cookie_expiration');
variable_del('tfa_basic_name_prefix');
variable_del('tfa_basic_cookie_name');
variable_del('tfa_basic_twilio_account_sid');
variable_del('tfa_basic_twilio_account_token');
variable_del('tfa_basic_sms_nanp_validate');
}