Moodle 2.7 용 사용자 정의 Moodle 인증 플러그인을 개발 중입니다.Moodle cohort_add_cohort error
사용자가 인증되면 특정 집단에 추가되기를 원합니다. 그 코호트가 존재하지 않으면 자동으로 만들어야합니다. 이를 달성하기 위해 인증 플러그 인에서 user_authenticated_hook() 함수를 사용합니다.
코호트를 만드는 내 코드는 auth.php 파일이
$data = new stdClass();
$data->name = 'Name string';
$data->idnumber = 'ID string';
$data->description = 'Description string';
$cohortId = cohort_add_cohort($data);
내가 포함 한 코호트/lib.php 내가 상기 전역 변수 $ DB, $ CFG와 $ SESSION을 선언 한 user_authenticated_hook() 함수의 첫 번째 행.
인증은 코호트에 대한 부분없이 작동합니다. 그러나 일대일 코호트 부분은 인증에 실패하고 로그인 페이지로 리디렉션됩니다.
페이지 제목이 "오류"로 변경되었지만 오류 메시지가 유일한 것입니다.
무엇이 잘못 되었나요? 나는 누군가가 내가 코호트를 만들고 회원을 추가하는 것을 도울 수 있기를 바란다.
디버깅이 활성화되었습니다. 그러나 디버깅 메시지는 사용자가 로그인 할 때만 표시되며 코호트 오류로 인해 전체 인증 프로세스가 실패하기 때문에 로그인 한 적이 없으므로 디버그 메시지를 볼 수 없습니다. – Regicollis
$ USER- 개체가 채워지지 않는다는 것에 대해 당신이 맞다고 생각합니다. 내가 코호트를 만들려고 시도하기 전에 $ USER 객체를 버리고 다음과 같은 결과를 얻는다면 : object (stdClass) # 83 (4) { [ "id"] => int (0) [ "mnethostid "] => 캐릭터 (1)"1 " ["선호도 "] => 배열 (0) { } 는 ["sesskey "] => 문자열 (10)"z7tcT7Ev8k " } – Regicollis
는 감사 귀하의 회신.그것은 올바른 방향으로 나를 이끌었고 나는 또한 컨텍스트를 지정할 필요가 있다는 것을 알게되었습니다. – Regicollis