Public Member Functions | |
ilSoapCourseAdministration () | |
addCourse ($sid, $target_id, $crs_xml) | |
deleteCourse ($sid, $course_id) | |
assignCourseMember ($sid, $course_id, $user_id, $type) | |
excludeCourseMember ($sid, $course_id, $user_id) | |
isAssignedToCourse ($sid, $course_id, $user_id) | |
getCourseXML ($sid, $course_id) | |
updateCourse ($sid, $course_id, $xml) |
Definition at line 35 of file class.ilSoapCourseAdministration.php.
ilSoapCourseAdministration::addCourse | ( | $ | sid, | |
$ | target_id, | |||
$ | crs_xml | |||
) |
Definition at line 44 of file class.ilSoapCourseAdministration.php.
References $rbacsystem, $target_id, ilSoapAdministration::__checkSession(), and ilSoapAdministration::__raiseError().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($target_id)) { return $this->__raiseError('No valid target id given. Please choose an existing reference id of an ILIAS category', 'Client'); } // Include main header include_once './include/inc.header.php'; global $rbacsystem; if(!$rbacsystem->checkAccess('create',$target_id,'crs')) { return $this->__raiseError('Check access failed. No permission to create courses','Server'); } // Start import include_once("course/classes/class.ilObjCourse.php"); $newObj = new ilObjCourse(); $newObj->setType('crs'); $newObj->setTitle('dummy'); $newObj->setDescription(""); $newObj->create(true); // true for upload $newObj->createReference(); $newObj->putInTree($target_id); $newObj->setPermissions($target_id); $newObj->initDefaultRoles(); include_once 'course/classes/class.ilCourseXMLParser.php'; $xml_parser = new ilCourseXMLParser($newObj); $xml_parser->setXMLContent($crs_xml); $xml_parser->startParsing(); $newObj->MDUpdateListener('General'); return $newObj->getRefId() ? $newObj->getRefId() : "0"; }
ilSoapCourseAdministration::assignCourseMember | ( | $ | sid, | |
$ | course_id, | |||
$ | user_id, | |||
$ | type | |||
) |
Definition at line 149 of file class.ilSoapCourseAdministration.php.
References $rbacsystem, $tmp_user, $type, $user_id, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilObject::_lookupObjId(), ilObject::_lookupType(), ilObjectFactory::getInstanceByObjId(), and ilObjectFactory::getInstanceByRefId().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($course_id)) { return $this->__raiseError('No valid course id given. Please choose an existing reference id of an ILIAS course', 'Client'); } // Include main header include_once './include/inc.header.php'; global $rbacsystem; if(($obj_type = ilObject::_lookupType(ilObject::_lookupObjId($course_id))) != 'crs') { $course_id = end($ref_ids = ilObject::_getAllReferences($course_id)); if(ilObject::_lookupType(ilObject::_lookupObjId($course_id)) != 'crs') { return $this->__raiseError('Invalid course id. Object with id "'. $course_id.'" is not of type "course"','Client'); } } if(!$rbacsystem->checkAccess('write',$course_id)) { return $this->__raiseError('Check access failed. No permission to write to course','Server'); } if(ilObject::_lookupType($user_id) != 'usr') { return $this->__raiseError('Invalid user id. User with id "'. $user_id.' does not exist','Client'); } if($type != 'Admin' and $type != 'Tutor' and $type != 'Member') { return $this->__raiseError('Invalid type given. Parameter "type" must be "Admin", "Tutor" or "Member"','Client'); } if(!$tmp_course = ilObjectFactory::getInstanceByRefId($course_id,false)) { return $this->__raiseError('Cannot create course instance!','Server'); } if(!$tmp_user = ilObjectFactory::getInstanceByObjId($user_id,false)) { return $this->__raiseError('Cannot create user instance!','Server'); } include_once 'course/classes/class.ilCourseMembers.php'; $course_members = new ilCourseMembers($tmp_course); switch($type) { case 'Admin': $course_members->add($tmp_user,$course_members->ROLE_ADMIN,$course_members->STATUS_NOTIFY,0); break; case 'Tutor': $course_members->add($tmp_user,$course_members->ROLE_TUTOR,$course_members->STATUS_NO_NOTIFY,0); break; case 'Member': $course_members->add($tmp_user,$course_members->ROLE_MEMBER,$course_members->STATUS_UNBLOCKED,0); break; } return true; }
ilSoapCourseAdministration::deleteCourse | ( | $ | sid, | |
$ | course_id | |||
) |
Definition at line 92 of file class.ilSoapCourseAdministration.php.
References $log, $rbacadmin, $rbacsystem, $tree, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilObject::_lookupObjId(), ilObject::_lookupType(), and ilUtil::removeItemFromDesktops().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($course_id)) { return $this->__raiseError('No valid course id given. Please choose an existing reference id of an ILIAS course', 'Client'); } // Include main header include_once './include/inc.header.php'; include_once './classes/class.ilUtil.php'; global $rbacsystem; if(($obj_type = ilObject::_lookupType(ilObject::_lookupObjId($course_id))) != 'crs') { $course_id = end($ref_ids = ilObject::_getAllReferences($course_id)); if(ilObject::_lookupType(ilObject::_lookupObjId($course_id)) != 'crs') { return $this->__raiseError('Invalid course id. Object with id "'. $course_id.'" is not of type "course"','Client'); } } if(!$rbacsystem->checkAccess('delete',$course_id)) { return $this->__raiseError('Check access failed. No permission to delete course','Server'); } global $tree,$rbacadmin,$log; $subnodes = $tree->getSubtree($tree->getNodeData($course_id)); foreach ($subnodes as $subnode) { $rbacadmin->revokePermission($subnode["child"]); // remove item from all user desktops $affected_users = ilUtil::removeItemFromDesktops($subnode["child"]); } $tree->saveSubTree($course_id); $tree->deleteTree($tree->getNodeData($course_id)); // write log entry $log->write("SOAP ilObjectGUI::confirmedDeleteObject(), moved ref_id ".$course_id." to trash"); // remove item from all user desktops $affected_users = ilUtil::removeItemFromDesktops($course_id); return true; }
ilSoapCourseAdministration::excludeCourseMember | ( | $ | sid, | |
$ | course_id, | |||
$ | user_id | |||
) |
Definition at line 225 of file class.ilSoapCourseAdministration.php.
References $rbacsystem, $user_id, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilObject::_lookupObjId(), ilObject::_lookupType(), and ilObjectFactory::getInstanceByRefId().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($course_id)) { return $this->__raiseError('No valid course id given. Please choose an existing reference id of an ILIAS course', 'Client'); } // Include main header include_once './include/inc.header.php'; global $rbacsystem; if(($obj_type = ilObject::_lookupType(ilObject::_lookupObjId($course_id))) != 'crs') { $course_id = end($ref_ids = ilObject::_getAllReferences($course_id)); if(ilObject::_lookupType(ilObject::_lookupObjId($course_id)) != 'crs') { return $this->__raiseError('Invalid course id. Object with id "'. $course_id.'" is not of type "course"','Client'); } } if(ilObject::_lookupType($user_id) != 'usr') { return $this->__raiseError('Invalid user id. User with id "'. $user_id.' does not exist','Client'); } if(!$tmp_course = ilObjectFactory::getInstanceByRefId($course_id,false)) { return $this->__raiseError('Cannot create course instance!','Server'); } if(!$rbacsystem->checkAccess('write',$course_id)) { return $this->__raiseError('Check access failed. No permission to write to course','Server'); } include_once 'course/classes/class.ilCourseMembers.php'; $course_members = new ilCourseMembers($tmp_course); if(!$course_members->checkLastAdmin(array($user_id))) { return $this->__raiseError('Cannot deassign last administrator from course','Server'); } $course_members->delete($user_id); return true; }
ilSoapCourseAdministration::getCourseXML | ( | $ | sid, | |
$ | course_id | |||
) |
Definition at line 340 of file class.ilSoapCourseAdministration.php.
References $rbacsystem, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilObject::_lookupObjId(), ilObject::_lookupType(), and ilObjectFactory::getInstanceByRefId().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($course_id)) { return $this->__raiseError('No valid course id given. Please choose an existing reference id of an ILIAS course', 'Client'); } // Include main header include_once './include/inc.header.php'; global $rbacsystem; if(($obj_type = ilObject::_lookupType(ilObject::_lookupObjId($course_id))) != 'crs') { $course_id = end($ref_ids = ilObject::_getAllReferences($course_id)); if(ilObject::_lookupType(ilObject::_lookupObjId($course_id)) != 'crs') { return $this->__raiseError('Invalid course id. Object with id "'. $course_id.'" is not of type "course"','Client'); } } if(!$tmp_course = ilObjectFactory::getInstanceByRefId($course_id,false)) { return $this->__raiseError('Cannot create course instance!','Server'); } if(!$rbacsystem->checkAccess('read',$course_id)) { return $this->__raiseError('Check access failed. No permission to read course','Server'); } include_once 'course/classes/class.ilCourseXMLWriter.php'; $xml_writer = new ilCourseXMLWriter($tmp_course); $xml_writer->start(); return $xml_writer->getXML(); }
ilSoapCourseAdministration::ilSoapCourseAdministration | ( | ) |
Definition at line 37 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::ilSoapAdministration().
{ parent::ilSoapAdministration(); }
ilSoapCourseAdministration::isAssignedToCourse | ( | $ | sid, | |
$ | course_id, | |||
$ | user_id | |||
) |
Definition at line 280 of file class.ilSoapCourseAdministration.php.
References $rbacsystem, $user_id, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilObject::_lookupObjId(), ilObject::_lookupType(), and ilObjectFactory::getInstanceByRefId().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($course_id)) { return $this->__raiseError('No valid course id given. Please choose an existing reference id of an ILIAS course', 'Client'); } // Include main header include_once './include/inc.header.php'; global $rbacsystem; if(($obj_type = ilObject::_lookupType(ilObject::_lookupObjId($course_id))) != 'crs') { $course_id = end($ref_ids = ilObject::_getAllReferences($course_id)); if(ilObject::_lookupType(ilObject::_lookupObjId($course_id)) != 'crs') { return $this->__raiseError('Invalid course id. Object with id "'. $course_id.'" is not of type "course"','Client'); } } if(ilObject::_lookupType($user_id) != 'usr') { return $this->__raiseError('Invalid user id. User with id "'. $user_id.' does not exist','Client'); } if(!$tmp_course = ilObjectFactory::getInstanceByRefId($course_id,false)) { return $this->__raiseError('Cannot create course instance!','Server'); } if(!$rbacsystem->checkAccess('write',$course_id)) { return $this->__raiseError('Check access failed. No permission to write to course','Server'); } include_once './course/classes/class.ilCourseMembers.php'; $crs_members = new ilCourseMembers($tmp_course); if($crs_members->isAdmin($user_id)) { return $crs_members->ROLE_ADMIN; } if($crs_members->isTutor($user_id)) { return $crs_members->ROLE_TUTOR; } if($crs_members->isMember($user_id)) { return $crs_members->ROLE_MEMBER; } return "0"; }
ilSoapCourseAdministration::updateCourse | ( | $ | sid, | |
$ | course_id, | |||
$ | xml | |||
) |
Definition at line 384 of file class.ilSoapCourseAdministration.php.
References $rbacsystem, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilCourseWaitingList::_deleteAll(), ilObject::_getAllReferences(), ilObject::_lookupObjId(), ilObject::_lookupType(), and ilObjectFactory::getInstanceByRefId().
{ if(!$this->__checkSession($sid)) { return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode()); } if(!is_numeric($course_id)) { return $this->__raiseError('No valid course id given. Please choose an existing reference id of an ILIAS course', 'Client'); } // Include main header include_once './include/inc.header.php'; global $rbacsystem; if(($obj_type = ilObject::_lookupType(ilObject::_lookupObjId($course_id))) != 'crs') { $course_id = end($ref_ids = ilObject::_getAllReferences($course_id)); if(ilObject::_lookupType(ilObject::_lookupObjId($course_id)) != 'crs') { return $this->__raiseError('Invalid course id. Object with id "'. $course_id.'" is not of type "course"','Client'); } } if(!$tmp_course = ilObjectFactory::getInstanceByRefId($course_id,false)) { return $this->__raiseError('Cannot create course instance!','Server'); } if(!$rbacsystem->checkAccess('write',$course_id)) { return $this->__raiseError('Check access failed. No permission to write course','Server'); } // First delete old meta data include_once 'Services/MetaData/classes/class.ilMD.php'; $md = new ilMD($tmp_course->getId(),0,'crs'); $md->deleteAll(); include_once 'course/classes/class.ilCourseMembers.php'; $crs_members = new ilCourseMembers($tmp_course); $crs_members->deleteAllEntries(); include_once 'course/classes/class.ilCourseWaitingList.php'; ilCourseWaitingList::_deleteAll($tmp_course->getId()); include_once 'course/classes/class.ilCourseXMLParser.php'; $xml_parser = new ilCourseXMLParser($tmp_course); $xml_parser->setXMLContent($xml); $xml_parser->startParsing(); $tmp_course->MDUpdateListener('General'); return true; }