A PHP Error was encountered
Severity: 8192
Message: Function create_function() is deprecated
Filename: geshi/geshi.php
Line Number: 4698
Backtrace:
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4698
Function: _error_handler
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4621
Function: _optimize_regexp_list_tokens_to_string
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 1655
Function: optimize_regexp_list
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2029
Function: optimize_keyword_group
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2168
Function: build_parse_cache
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/Process.php
Line: 45
Function: parse_code
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/models/Pastes.php
Line: 517
Function: syntax
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 624
Function: getPaste
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/system/core/Exceptions.php:271)
Filename: view/download.php
Line Number: 2
Backtrace:
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/themes/geocities/views/view/download.php
Line: 2
Function: header
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 173
Function: include
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 43
Function: _ci_load
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 625
Function: view
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/system/core/Exceptions.php:271)
Filename: view/download.php
Line Number: 3
Backtrace:
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/themes/geocities/views/view/download.php
Line: 3
Function: header
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 173
Function: include
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 43
Function: _ci_load
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 625
Function: view
File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once
private Mono provisionClass(List namesRoleMembers, ProvisioningPojo provisioningPojo) {
return this.checkIfClassExists(provisioningPojo).flatMap(isClassPresent -> {
if (isClassPresent) {
// These will go into a private method
if (isTeacher(provisioningPojo, provisioningPojo.getToolUserId())) {
List existingTeacher = provisioningPojo.getRoster().getExistingTeacherIds()
.stream()
.filter(staff -> staff.getStaffPiId().equalsIgnoreCase(provisioningPojo.getToolUserId()))
.collect(Collectors.toList());
if(existingTeacher.isEmpty()) {
// call the roster service to update Roster with teacher
}
} else if (isStudent(provisioningPojo, provisioningPojo.getToolUserId())) {
List existingStudent = provisioningPojo.getRoster().getExistingStudentIds()
.stream()
.filter(staff -> staff.getStudentPiId().equalsIgnoreCase(provisioningPojo.getToolUserId()))
.collect(Collectors.toList());
if (existingStudent.isEmpty()) {
// call the roster service to update Roster with Student
}
}
return Mono.just(provisioningPojo);
} else {
return processMembersFromNamesRolesResponse(namesRoleMembers, provisioningPojo)
.flatMap(this::createClassAndMapping);
}
});
}
private Mono checkIfClassExists(ProvisioningPojo provisioningPojo) {
return emsClassMappingClient.classExistsForExternalClassId(provisioningPojo.getRoster().getExternalClassId())
.flatMap(externalClassMappingData -> {
Optional optionalClassId = Optional.ofNullable(externalClassMappingData)
.map(ExternalClassMappingData::getData)
.map(map -> map.entrySet().stream())
.map(Stream::findFirst)
.map(Optional::get)
.map(Entry::getValue)
.map(ExternalClassMapping::getClassId);
if (optionalClassId.isPresent()) {
return rosterServiceClient.getClassBySectionId(optionalClassId.get())
.flatMap(cmsClass -> {
Optional cmsClassId = Optional.ofNullable(cmsClass)
.map(CMSClass::getData)
.map(ClassData::getSection)
.map(Section::getId);
if (cmsClassId.isPresent()) {
provisioningPojo.getRoster().setToolSectionId(cmsClassId.get());
provisioningPojo.getRoster()
.setExistingTeacherIds(cmsClass.getData().getSection().getData().getSectionInfo().getStaff());
provisioningPojo.getRoster()
.setExistingStudentIds(cmsClass.getData().getSection().getData().getSectionInfo().getStudents());
if (isStudent(provisioningPojo, provisioningPojo.getToolUserId()) && provisioningPojo.getRoster().getExistingTeacherIds().isEmpty()) {
// new field and temp solution.. need to discuss this approach
provisioningPojo.setUpdateStaffIfStudent(true);
}
return Mono.just(Boolean.TRUE);
}
return Mono.just(Boolean.FALSE);
});
}
return Mono.just(Boolean.FALSE);
});
}
private Mono processMembersFromNamesRolesResponse(List namesRoleMembers, ProvisioningPojo provisioningPojo) {
LOGGER.debug("provisioning additional Teacher users from names and roles API ");
Optional instructor = namesRoleMembers.stream()
.filter(member -> RumbaRole.T.name()
.equalsIgnoreCase(classProvisoningHelper.obtainRumbaRoleFromLTIRoles(member.getRoles())))
.findFirst();
if(provisioningPojo.getRole().equals(RumbaRole.S.name()) && instructor.isPresent()) {
if (provisioningPojo.updateStaffIfStudent) {
// call Roster service to update the
}
MemberData memberData = constructMemberData(instructor.get(), provisioningPojo);
return provisioningService.enableUserProvisioning(memberData)
.map(rumbaTeacherId -> {
RosterMember rosterMember = new RosterMember();
rosterMember.setUserId(instructor.get().getUserId());
rosterMember.setRole(memberData.getRole());
rosterMember.setExternalUserId(memberData.getExternalUserId());
rosterMember.setToolUserId(rumbaTeacherId);
provisioningPojo.getMembers().add(rosterMember);
LOGGER.debug("provisioningPojo : {}", provisioningPojo);
return provisioningPojo;
});
}
return Mono.just(provisioningPojo);
}