Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
function csna_callback($provider) {
global $user;
$data = module_invoke($provider['module'], 'csna_provider_callback', $provider, $_REQUEST);
// Forcing array format because of Sina weibo will return an Object.
if (!is_array($data)) {
$data = (array) $data;
}
if (isset($data['access_token'])) {
$identity = $provider['provider_id'] . '_' . $data['uid'];
$account = user_external_load($identity);
if (!isset($account->uid)) {
$name = $data['name'];
$ac = user_load_by_name($name);
if ($ac) {
$separator = '_';
$i = 0;
do {
$i++;
$name = $data['name'] . $separator . $i;
} while (user_load_by_name($name));
}
//User avatar
if (isset($data['avatar_link'])) {
$avatar_directory = file_default_scheme() . '://' . variable_get('user_picture_path', 'pictures');
$avatar = system_retrieve_file($data['avatar_link'], $avatar_directory, TRUE, FILE_EXISTS_RENAME);
}
$edit = array(
'name' => $name,
'status' => 1,
'picture' => isset($avatar->fid) ? $avatar->fid : '',
);
$account = user_save(NULL, $edit);
user_set_authmaps($account, array('authname_csna' => $identity));
}
csna_execute_user_login($account);
if (variable_get('csna_require_email', TRUE) && empty($account->mail)) {
drupal_goto('csna/' . $account->uid . '/complete-register');
}
}
drupal_goto('user');
}
查看代码的时候发现 '$separator = '_';' 变量的定义没有必要,会引起微小的性能损失。
Comment | File | Size | Author |
---|---|---|---|
#2 | unnecessary_variable-2599504-2.patch | 497 bytes | edxxu |
Comments
Comment #2
edxxu CreditAttribution: edxxu at INsReady commentedHere's the patch, please review, thx.
Comment #3
edxxu CreditAttribution: edxxu at INsReady commented