'Computed Real Names to reduce overhead.', 'fields' => array( 'uid' => array( 'description' => 'User ID, links to User table.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ), 'realname' => array( 'description' => 'The generated real name of the user.', 'type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '', ), 'created' => array( 'description' => 'The UNIX timestamp of when the real name was created.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ), ), 'primary key' => array('uid'), 'indexes' => array( 'realname' => array('realname'), ), 'foreign keys' => array( 'users' => array( 'table' => 'users', 'columns' => array('uid' => 'uid'), ), ), ); return $schema; } /** * Implements hook_requirements(). */ function realname_requirements($phase) { $requirements = array(); $t = get_t(); if ($phase == 'runtime') { if (!variable_get('realname_suppress_user_name_mail_validation', FALSE) && strpos(variable_get('user_mail_register_admin_created_body', FALSE), '[user:name-raw]') === FALSE) { $requirements['user_mail_register_admin_created_body'] = array( 'title' => $t('E-mail: "Welcome (new user created by administrator)" template'), 'value' => $t('Not configured'), 'severity' => REQUIREMENT_WARNING, 'description' => $t('Replace the token [user:name] with [user:name-raw] in e-mail template, if using username for login.', array('@people' => url('admin/config/people/accounts', array('fragment' => 'edit-email-admin-created')))), ); } if (!variable_get('realname_suppress_user_name_mail_validation', FALSE) && strpos(variable_get('user_mail_register_no_approval_required_body', FALSE), '[user:name-raw]') === FALSE) { $requirements['user_mail_register_no_approval_required_body'] = array( 'title' => $t('E-mail: "Welcome (no approval required)" template'), 'value' => $t('Not configured'), 'severity' => REQUIREMENT_WARNING, 'description' => $t('Replace the token [user:name] with [user:name-raw] in e-mail template, if using username for login.', array('@people' => url('admin/config/people/accounts', array('fragment' => 'edit-email-no-approval-required')))), ); } if (!variable_get('realname_suppress_user_name_mail_validation', FALSE) && strpos(variable_get('user_mail_status_activated_body', FALSE), '[user:name-raw]') === FALSE) { $requirements['user_mail_status_activated_body'] = array( 'title' => $t('E-mail: "Account activation" template'), 'value' => $t('Not configured'), 'severity' => REQUIREMENT_WARNING, 'description' => $t('Replace the token [user:name] with [user:name-raw] in e-mail template, if using username for login.', array('@people' => url('admin/config/people/accounts', array('fragment' => 'edit-email-activated')))), ); } } return $requirements; } /** * Implements hook_disable(). */ function realname_disable() { drupal_set_message(t('You need to replace the token [user:name-raw] with [user:name] in e-mail templates.'), 'warning'); } /** * Implements hook_uninstall(). */ function realname_uninstall() { variable_del('realname_pattern'); variable_del('realname_suppress_user_name_mail_validation'); } /** * Update the {realname} table for Drupal 7. */ function realname_update_7000() { // Add the {realname}.created field if it doesn't already exist. if (!db_field_exists('realname', 'created')) { $fields['created'] = array( 'description' => 'The UNIX timestamp of when the real name was created.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ); db_add_field('realname', 'created', $fields['created']); } $fields['realname'] = array( 'description' => 'The generated real name of the user.', 'type' => 'varchar', 'length' => '255', 'not null' => TRUE, 'default' => '', ); db_change_field('realname', 'realname', 'realname', $fields['realname']); } /** * Remove variables from D6 that are no longer needed. */ function realname_update_7001() { variable_del('realname_fields'); variable_del('realname_homepage'); variable_del('realname_max_username'); variable_del('realname_myacct'); variable_del('realname_nodeapi'); variable_del('realname_nofollow'); variable_del('realname_notver'); variable_del('realname_profile_module'); variable_del('realname_recalculate'); variable_del('realname_search_enable'); variable_del('realname_search_login'); variable_del('realname_theme'); variable_del('realname_user_disable'); variable_del('realname_use_title'); variable_del('realname_view'); }