曾经问过moodle的开发者,为什么用户资料中的学号(idnumber)在整套系统中都几乎被忽略。得到的回答是,学号在西方高校属于个人隐私,通过它可以获得一些秘密信息,所以不能随便公开。但中国不是这样,很多的管理都需要通过学号进行。所以,我在cms.hit.edu.cn上设定了注册时强制输入学号。但这个信息只有在看用户资料的时候才能看到,很多时候挺不方便。于是有了这个补丁,它会在学生全名的前面加上学号,例如:(96510103)张三。
Index: lib/moodlelib.php =================================================================== RCS file: /cvsroot/moodle/moodle/lib/moodlelib.php,v retrieving revision 1.960.2.137 diff -r1.960.2.137 moodlelib.php 2686c2686 < return $user->firstname .' '. $user->lastname; --- > $fullname = $user->firstname .' '. $user->lastname; 2689c2689 < return $user->lastname .' '. $user->firstname; --- > $fullname = $user->lastname .' '. $user->firstname; 2693c2693 < return get_string('fullnamedisplay', '', $user); --- > $fullname = get_string('fullnamedisplay', '', $user); 2695c2695 < return $user->firstname; --- > $fullname = $user->firstname; 2699c2699,2705 < return get_string('fullnamedisplay', '', $user); --- > $fullname = get_string('fullnamedisplay', '', $user); > > if (!empty($user->idnumber)) { > $fullname = "($user->idnumber)" . $fullname; > } > > return $fullname; |
不过,并不是所有显示姓名的地方都会把idnumber从数据库查询出来。所以如果想在某个特定地方看到学号,就必须得修改相关代码,select的时候包含上idnumber。