View source
<?php
function ulogin_uninstall() {
variable_del('ulogin_display');
variable_del('ulogin_widget_id');
variable_del('ulogin_icons_path');
variable_del('ulogin_widget_title');
variable_del('ulogin_widget_weight');
variable_del('ulogin_fields_required');
variable_del('ulogin_fields_optional');
variable_del('ulogin_providers_enabled');
variable_del('ulogin_providers_main');
variable_del('ulogin_destination');
variable_del('ulogin_forms');
variable_del('ulogin_duplicate_emails');
variable_del('ulogin_redirect');
variable_del('ulogin_pictures');
variable_del('ulogin_email_confirm');
variable_del('ulogin_disable_username_change');
variable_del('ulogin_remove_password_fields');
variable_del('ulogin_username');
variable_del('ulogin_display_name');
variable_del('ulogin_override_realname');
variable_del('ulogin_load_type');
variable_del('ulogin_fields');
variable_del('ulogin_optional');
variable_del('ulogin_providers');
variable_del('ulogin_hidden');
variable_del('ulogin_adv_providers');
variable_del('ulogin_adv_hidden');
}
function ulogin_schema() {
$schema = array();
$schema['ulogin_identity'] = array(
'description' => 'Holds identities from uLogin service.',
'fields' => array(
'id' => array(
'description' => 'Unique id of uLogin identity.',
'type' => 'serial',
'unsigned' => TRUE,
'not null' => TRUE,
),
'uid' => array(
'description' => 'The {users}.uid that owns this uLogin identity.',
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'network' => array(
'description' => 'The authentication provider for this uLogin identity.',
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
),
'ulogin_uid' => array(
'description' => 'The uLogin uid for this uLogin identity.',
'type' => 'varchar',
'length' => 32,
'not null' => TRUE,
'default' => '',
),
'data' => array(
'description' => 'A serialized array containing information from uLogin service.',
'type' => 'blob',
'not null' => TRUE,
'size' => 'normal',
),
),
'indexes' => array(
'uid' => array(
'uid',
),
),
'unique keys' => array(
'network_ulogin_uid' => array(
'network',
'ulogin_uid',
),
),
'foreign keys' => array(
'ulogin_identity_user' => array(
'table' => 'users',
'columns' => array(
'uid' => 'uid',
),
),
),
'primary key' => array(
'id',
),
);
return $schema;
}
function ulogin_update_7004(&$sandbox) {
$enabled_providers = array();
$main_providers = array();
if (variable_get('ulogin_adv_providers', '') != '') {
foreach (explode(',', variable_get('ulogin_adv_providers', '')) as $provider_id) {
$enabled_providers[$provider_id] = $provider_id;
$main_providers[$provider_id] = $provider_id;
}
}
if (variable_get('ulogin_adv_hidden', '') != '') {
foreach (explode(',', variable_get('ulogin_adv_hidden', '')) as $provider_id) {
$enabled_providers[$provider_id] = $provider_id;
}
}
if (empty($enabled_providers)) {
foreach (variable_get('ulogin_providers', array(
'vkontakte',
'odnoklassniki',
'mailru',
'facebook',
)) as $provider_id) {
$enabled_providers[$provider_id] = $provider_id;
$main_providers[$provider_id] = $provider_id;
}
foreach (variable_get('ulogin_hidden', array(
'twitter',
'google',
'yandex',
'livejournal',
'openid',
)) as $provider_id) {
$enabled_providers[$provider_id] = $provider_id;
}
}
variable_set('ulogin_providers_enabled', $enabled_providers);
variable_set('ulogin_providers_main', $main_providers);
}
function ulogin_update_7003(&$sandbox) {
variable_set('ulogin_fields_required', variable_get('ulogin_fields', array(
'first_name',
'last_name',
'email',
'nickname',
'bdate',
'sex',
'photo',
'photo_big',
'country',
'city',
)));
}
function ulogin_update_7002(&$sandbox) {
if (module_exists('ulogin_username')) {
module_disable(array(
'ulogin_username',
), FALSE);
drupal_uninstall_modules(array(
'ulogin_username',
), FALSE);
variable_set('ulogin_username', '[user:ulogin:first_name] [user:ulogin:last_name]');
}
}
function ulogin_update_7001(&$sandbox) {
if (!db_table_exists('ulogin_identity')) {
$schema = ulogin_schema();
db_create_table('ulogin_identity', $schema['ulogin_identity']);
}
}