diff --git a/web/app/controllers/user_info_edit.php b/web/app/controllers/user_info_edit.php index aed14b2..353b002 100644 --- a/web/app/controllers/user_info_edit.php +++ b/web/app/controllers/user_info_edit.php @@ -51,6 +51,23 @@
用户名不能被修改。
EOD); + if (isSuperUser($myUser)) { + $update_profile_form->addVInput('realname', 'text', UOJLocale::get('user::real name'), $user['realname'], + function($realname, &$vdata) { + $vdata['realname'] = $realname; + + return ''; + }, null); + } else { + $real_name = UOJLocale::get('user::real name'); + $update_profile_form->appendHTML(<< + + +
只有管理员才能修改用户的真实姓名。
+ +EOD); + } $update_profile_form->addVCheckboxes('avatar_source', [ 'gravatar' => 'Gravatar', 'qq' => 'QQ', @@ -154,9 +171,10 @@ EOD); $esc_avatar_source = DB::escape($_POST['avatar_source']); if (isSuperUser($myUser)) { + $esc_realname = DB::escape($vdata['realname']); $esc_school = DB::escape($vdata['school']); - DB::update("UPDATE user_info SET school = '$esc_school' WHERE username = '{$user['username']}'"); + DB::update("UPDATE user_info SET realname = '$esc_realname', school = '$esc_school' WHERE username = '{$user['username']}'"); } DB::update("UPDATE user_info SET email = '$esc_email', qq = '$esc_qq', sex = '$esc_sex', motto = '$esc_motto', codeforces_handle = '$esc_codeforces_handle', github = '$esc_github', website = '$esc_website', avatar_source = '$esc_avatar_source' WHERE username = '{$user['username']}'"); diff --git a/web/app/locale/user/en.php b/web/app/locale/user/en.php index df24ebc..95a9e2f 100644 --- a/web/app/locale/user/en.php +++ b/web/app/locale/user/en.php @@ -1,5 +1,6 @@ 'Real name', 'belongs to these groups' => 'Belongs to these groups:', 'avatar source' => 'Avatar source', 'website' => 'Website', diff --git a/web/app/locale/user/zh-cn.php b/web/app/locale/user/zh-cn.php index 710cdce..e956cda 100644 --- a/web/app/locale/user/zh-cn.php +++ b/web/app/locale/user/zh-cn.php @@ -1,5 +1,6 @@ '真实姓名', 'belongs to these groups' => '属于这些小组:', 'avatar source' => '头像来源', 'website' => '网址',