Inheritance diagram for ilSoapCourseAdministration:
Collaboration diagram for ilSoapCourseAdministration: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 $target_id, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_isInTrash(), and ilObjectFactory::getInstanceByRefId().
{
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(!$target_obj =& ilObjectFactory::getInstanceByRefId($target_id, false))
{
return $this->__raiseError('No valid target given.', 'Client');
}
if(ilObject::_isInTrash($target_id))
{
return $this->__raiseError("Parent with ID $target_id has been deleted.", 'CLIENT_OBJECT_DELETED');
}
if(!$rbacsystem->checkAccess('create',$target_id,'crs'))
{
return $this->__raiseError('Check access failed. No permission to create courses','Server');
}
// Start import
include_once("Modules/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 'Modules/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";
}
Here is the call graph for this function:| ilSoapCourseAdministration::assignCourseMember | ( | $ | sid, | |
| $ | course_id, | |||
| $ | user_id, | |||
| $ | type | |||
| ) |
Definition at line 165 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilCourseParticipants::_getInstanceByObjId(), 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 'Modules/Course/classes/class.ilCourseParticipants.php';
$course_members = ilCourseParticipants::_getInstanceByObjId($tmp_course->getId());
switch($type)
{
case 'Admin':
$course_members->add($tmp_user->getId(),IL_CRS_ADMIN);
$course_members->updateNotification($tmp_user->getId(),1);
break;
case 'Tutor':
$course_members->add($tmp_user->getId(),IL_CRS_TUTOR);
break;
case 'Member':
$course_members->add($tmp_user->getId(),IL_CRS_MEMBER);
break;
}
return true;
}
Here is the call graph for this function:| ilSoapCourseAdministration::deleteCourse | ( | $ | sid, | |
| $ | course_id | |||
| ) |
Definition at line 102 of file class.ilSoapCourseAdministration.php.
References $log, 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 "./Services/Utilities/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;
if($tree->isDeleted($course_id))
{
return $this->__raiseError('Node already deleted','Server');
}
$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"]);
}
if(!$tree->saveSubTree($course_id))
{
return $this->__raiseError('Node already deleted','Client');
}
// 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;
}
Here is the call graph for this function:| ilSoapCourseAdministration::excludeCourseMember | ( | $ | sid, | |
| $ | course_id, | |||
| $ | user_id | |||
| ) |
Definition at line 242 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilCourseParticipants::_getInstanceByObjId(), 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 'Modules/Course/classes/class.ilCourseParticipants.php';
$course_members = ilCourseParticipants::_getInstanceByObjId($tmp_course->getId());
if(!$course_members->checkLastAdmin(array($user_id)))
{
return $this->__raiseError('Cannot deassign last administrator from course','Server');
}
$course_members->delete($user_id);
return true;
}
Here is the call graph for this function:| ilSoapCourseAdministration::getCourseXML | ( | $ | sid, | |
| $ | course_id | |||
| ) |
Definition at line 355 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilObject::_isInTrash(), 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(ilObject::_isInTrash($course_id))
{
return $this->__raiseError("Course with ID $target_id has been deleted.", 'CLIENT_OBJECT_DELETED');
}
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 'Modules/Course/classes/class.ilCourseXMLWriter.php';
$xml_writer = new ilCourseXMLWriter($tmp_course);
$xml_writer->start();
return $xml_writer->getXML();
}
Here is the call graph for this function:| ilSoapCourseAdministration::ilSoapCourseAdministration | ( | ) |
Definition at line 37 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::ilSoapAdministration().
{
parent::ilSoapAdministration();
}
Here is the call graph for this function:| ilSoapCourseAdministration::isAssignedToCourse | ( | $ | sid, | |
| $ | course_id, | |||
| $ | user_id | |||
| ) |
Definition at line 296 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilObject::_getAllReferences(), ilCourseParticipants::_getInstanceByObjId(), 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 './Modules/Course/classes/class.ilCourseParticipants.php';
$crs_members = ilCourseParticipants::_getInstanceByObjId($tmp_course->getId());
if($crs_members->isAdmin($user_id))
{
return IL_CRS_ADMIN;
}
if($crs_members->isTutor($user_id))
{
return IL_CRS_TUTOR;
}
if($crs_members->isMember($user_id))
{
return IL_CRS_MEMBER;
}
return "0";
}
Here is the call graph for this function:| ilSoapCourseAdministration::updateCourse | ( | $ | sid, | |
| $ | course_id, | |||
| $ | xml | |||
| ) |
Definition at line 404 of file class.ilSoapCourseAdministration.php.
References ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), ilCourseWaitingList::_deleteAll(), ilCourseParticipants::_deleteAllEntries(), ilObject::_getAllReferences(), ilObject::_isInTrash(), 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(ilObject::_isInTrash($course_id))
{
return $this->__raiseError("Course with ID $target_id has been deleted.", 'CLIENT_OBJECT_DELETED');
}
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 'Modules/Course/classes/class.ilCourseParticipants.php';
ilCourseParticipants::_deleteAllEntries($tmp_course->getId());
include_once 'Modules/Course/classes/class.ilCourseWaitingList.php';
ilCourseWaitingList::_deleteAll($tmp_course->getId());
include_once 'Modules/Course/classes/class.ilCourseXMLParser.php';
$xml_parser = new ilCourseXMLParser($tmp_course);
$xml_parser->setXMLContent($xml);
$xml_parser->startParsing();
$tmp_course->MDUpdateListener('General');
return true;
}
Here is the call graph for this function:
1.7.1