お久し振りです.
ようやく戻って来ました^^;
さて,本改良,ユーザー登録時期の4月には結構,便利な機能だったと思いますが,Moodle1.9の頃のコードではダメです.Moodle2.8のみの検証ですが,以下のように改良することで,再び使えるようになりました.
http://www.suzuka-ct.ac.jp/mech/moodle2/mod/wiki/view.php?pageid=3000
user/filters/lib..php に以下の改造を行い,更にuser/filtersフォルダに添付のuser_preferences_yesno.phpを追加して下さい.
(1) 冒頭
require_once($CFG->dirroot.'/user/filters/cohort.php');
require_once($CFG->dirroot.'/user/filters/user_filter_forms.php');
require_once($CFG->dirroot.'/user/filters/checkbox.php');
// (Shirai025): パスワード変更の強制がOnのままのユーザを発見するためのフィルタをユーザリストの表示に追加 (2009/05/08)(2015/05/09)
// (Shirai025): ここから追加
require_once($CFG->dirroot.'/user/filters/user_preferences_yesno.php');
// (Shirai025): ここまで追加
/**
* User filtering wrapper class.
(2) function user_filtering()
if (empty($fieldnames)) {
$fieldnames = array('realname' => 0, 'lastname' => 1, 'firstname'
=> 1, 'username' => 1, 'email' => 1, 'city' => 1, 'country'
=> 1,
'confirmed' => 1,
'suspended' => 1, 'profile' => 1, 'courserole' => 1,
'systemrole' => 1,
'cohort' =>
1, 'firstaccess' => 1, 'lastaccess' => 1, 'neveraccessed' => 1,
'timemodified' => 1,
'nevermodified' => 1, 'auth' => 1, 'mnethostid' => 1);
// (Shirai132): パスワード変更の強制がOnのままのユーザを発見するためのフィルタをユーザリストの表示に追加 (2009/05/08)
// (Shirai132): ここから追加
$fieldnames['forcepasswordchange'] = 1;
// (Shirai132): ここまで追加
}
(3) function get_field()
case 'confirmed': return new user_filter_yesno('confirmed',
get_string('confirmed', 'admin'), $advanced, 'confirmed');
case 'suspended': return new user_filter_yesno('suspended',
get_string('suspended', 'auth'), $advanced, 'suspended');
// (Shirai025): パスワード変更の強制がOnのままのユーザを発見するためのフィルタをユーザリストの表示に追加 (2009/05/08)
// (Shirai025): ここから追加
case 'forcepasswordchange': return new
user_filter_user_preferences_yesno('forcepasswordchange',
get_string('forcepasswordchange'), $advanced,
'auth_forcepasswordchange');
// (Shirai025): ここまで追加
case 'profile': return new user_filter_profilefield('profile', get_string('profilefields', 'admin'), $advanced);