function checkename() { $checkuser = uc_check_username($this->username); if ($checkuser == 1) { return 1; } elseif ($checkuser == -1) { return -1; } else { return -3; } }
} elseif (is_bad_chars($username)) { $error = true; $sysmsg[] = __('username_has_bad_chars'); } else { $rs = $db->fetch_one_array("select username from {$tpf}users where username='******' limit 1"); if ($rs) { if (strcasecmp($username, $rs['username']) == 0) { $error = true; $sysmsg[] = __('username_already_exists'); } } unset($rs); } if (display_plugin('api', 'open_uc_plugin', $settings['connect_uc'], 0)) { if ($settings['connect_uc_type'] == 'phpwind') { $checkuser = uc_check_username($username); if ($checkuser != 1) { $error = true; $sysmsg[] = 'UC:' . __('username_already_exists'); } } else { $ucresult = uc_user_checkname($username); if ($ucresult < 0) { $error = true; $sysmsg[] = 'UC:' . __('username_already_exists'); } } } if (checklength($password, 6, 20)) { $error = true; $sysmsg[] = __('password_error');
function checkname($username, $is_nickname = 0, $ucuid = 0, $check_exists = -1) { $username = trim(strip_tags($username)); $username_len = jstrlen($username); $ulmax = $is_nickname && true !== UCENTER ? 50 : 15; $nickname_length = (int) $GLOBALS['_J']['config']['nickname_length']; $is_nickname && ($ulmax = !$nickname_length ? $ulmax : ($nickname_length > $ulmax ? $ulmax : $nickname_length)); if ($username_len < 3 || $username_len > $ulmax) { return -1; } if ($ucuid < 1) { if (is_numeric($username)) { return -1; } if ($is_nickname) { if (false != preg_match('~[\\<\\>\\?\\@\\$\\#\\[\\]\\{\\}\\s\\*\\"\'\\,\\`\\=\\/]+~', $username)) { return -1; } } else { if (false == preg_match('~^[\\w\\d\\_]+$~', $username)) { return -1; } } } $f_rets = filter($username); if ($f_rets && $f_rets['error']) { return -2; } if (isset($GLOBALS['_J']['config']['modules'][strtolower($username)])) { return -2; } $censoruser = jconf::get('user', 'forbid'); if ($censoruser) { $censorexp = '/^(' . trim(str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(trim($censoruser), '/')), '| ') . ')$/i'; if (preg_match($censorexp, $username)) { return -2; } } if (true === UCENTER && $ucuid < 1) { $uc_result = uc_user_checkname($username); if ($uc_result < 1) { return $uc_result; } } if (true === PWUCENTER && $ucuid < 1) { define('P_W', 'admincp'); include_once ROOT_PATH . 'api/pw_api/security.php'; include_once ROOT_PATH . 'api/pw_api/pw_common.php'; include_once ROOT_PATH . './api/pw_client/uc_client.php'; $uc_result = uc_check_username($username); if ($uc_result < 1) { return $uc_result; } } if ($check_exists) { $username = addslashes($username); $row1 = DB::fetch_first("select `uid`, `username`, `nickname` from " . DB::table('members') . " where `username`='{$username}' limit 1"); $row2 = DB::fetch_first("select `uid`, `username`, `nickname` from " . DB::table('members') . " where `nickname`='{$username}' limit 1"); if ($row1 || $row2) { if (($check_uid = (int) $check_exists) > 0) { if ($row1 && $check_uid != $row1['uid'] || $row2 && $check_uid != $row2['uid']) { return -3; } else { return 1; } } return -3; } } return 1; }