| | |
| | | $res["status"] = "ok"; |
| | | break; |
| | | } |
| | | case "getUser": |
| | | if($method == "GET") { |
| | | $usr_id = (int) $_GET["usr_id"]; |
| | | $res["usr_id"] = $usr_id; |
| | | $usr = getUser($usr_id); |
| | | $res["data"] = $usr; |
| | | $res["status"] = "ok"; |
| | | break; |
| | | } |
| | | case "importUser": |
| | | if ($method == "POST") { |
| | | $body = file_get_contents('php://input'); |
| | | $data = json_decode($body, true); |
| | | $res["usr_id"] = importUser($data); |
| | | $res["status"] = "ok"; |
| | | $res["msg"] = "User Import OK"; |
| | | break; |
| | | } |
| | | case "anmelden": // params: usr_id, course_id, role |
| | | if ($method == "POST") { |
| | | $usr_id = (int) $_GET["usr_id"]; |
| | | $course_id = (int) $_GET["course_id"]; |
| | | $role = (int) $_GET["role"]; |
| | | |
| | | $res2 = anmelden($usr_id, $course_id, $role); |
| | | $res["status"] = "ok"; |
| | | $res["msg"] = "Anmelden OK"; |
| | | $res["params"] = array("usr_id"=>$usr_id, "course_id"=>$course_id, "role"=> $role); |
| | | $res["res2"] = $res2; |
| | | break; |
| | | } |
| | | case "deleteUser": |
| | | if ($method == "DELETE") { |
| | | $res["msg"] = deleteUser($obj_id, $dry); |
| | | $res["status"] = "ok"; |
| | | break; |
| | | } |
| | | case "deleteTeilnahme": |
| | | // case "deleteTeilnahme": |
| | | case "abmelden": |
| | | if ($method == "DELETE") { |
| | | $usr_id = (int) $_GET["usr_id"]; |
| | | $res["usr_id"] = $usr_id; |
| | | $res["msg"] = deleteTeilnahme($obj_id, $usr_id, $dry); |
| | | $res["usr_id"] = (int) $usr_id; |
| | | $course_id = (int) $_GET["course_id"]; |
| | | $res["msg"] = abmelden($usr_id, $course_id); |
| | | $res["status"] = "ok"; |
| | | break; |
| | | } |
| | |
| | | |
| | | ############################### |
| | | |
| | | function getUser($usr_id) { |
| | | $usr = ilObjectFactory::getInstanceByObjId($usr_id); |
| | | return $usr; |
| | | } |
| | | |
| | | function importUser($data) { |
| | | $user = new ilObjUser(); |
| | | $user->assignData($data); |
| | | $usr_id = $user->create(); |
| | | $user->setTimeLimitUnlimited(true); |
| | | $user->setActive(true); |
| | | $user->saveAsNew(); |
| | | // udf expects: |
| | | // udf: { // ACHTUNG: Die Nummer enspricht der id in der Tabelle udf_definition und kann je nach Reihenfolge anders sein! |
| | | // 1: "Markt UDF", |
| | | // 2: "Marktnummer UDF", |
| | | // 3: "Personal UDF", |
| | | // }, |
| | | $user->setUserDefinedData($data["udf"]); // affo12345 |
| | | $user->updateUserDefinedFields(); |
| | | |
| | | // Rolle zuweisen |
| | | global $DIC; |
| | | $rbacadmin = $DIC->rbac()->admin(); |
| | | $rbacadmin->assignUser($data["role"], $usr_id); |
| | | |
| | | return $usr_id; |
| | | } |
| | | |
| | | // ACHTUNG course_id muss obj_id sein! |
| | | // die Rolle muss aus dem Kurs gelesen werden |
| | | function anmelden($usr_id, $course_id) { |
| | | $course = ilObjectFactory::getInstanceByObjId($course_id); |
| | | $membersObject = $course->getMembersObject(); |
| | | $role = $membersObject::IL_CRS_MEMBER; |
| | | return $membersObject->add($usr_id, $role); |
| | | } |
| | | |
| | | function abmelden($usr_id, $course_id) { |
| | | $course = ilObjectFactory::getInstanceByObjId($course_id); |
| | | $membersObject = $course->getMembersObject(); |
| | | return $membersObject->delete($usr_id); |
| | | } |
| | | |
| | | function deleteUser($obj_id, $dry) |
| | | { |
| | | $usr = ilObjectFactory::getInstanceByObjId($obj_id); |
| | |
| | | } |
| | | } |
| | | |
| | | function deleteTeilnahme($obj_id, $usr_id, $dry) { |
| | | # beim Löschen durch den Kurs wird zwar die Teilnahme gelöscht, aber nicht die Rollenzugehörigkeit |
| | | $course = ilObjectFactory::getInstanceByObjId($obj_id); |
| | | |
| | | $parti = ilCourseParticipant::_getInstanceByObjId($obj_id, $usr_id); ## Achtung die usr_id hier ist Admin id?? |
| | | #return "parti.isParticipant() = {$parti->isParticipant()}"; |
| | | |
| | | $msg = "deleted user({$usr_id}) teilnahme for course '{$course->getTitle()}' ({$obj_id})"; |
| | | if ($dry == "0") { |
| | | #$course->_deleteUser($usr_id); |
| | | #$course->deleteUser($usr_id); ## undefined |
| | | $parti->delete($usr_id); |
| | | return $msg; |
| | | } else { |
| | | $msg = "DRY:: ".$msg; |
| | | return $msg; |
| | | } |
| | | } |
| | | // ACHTUNG Funktion "abmelden" benutzen |
| | | // function deleteTeilnahme($obj_id, $usr_id, $dry) { |
| | | // # beim Löschen durch den Kurs wird zwar die Teilnahme gelöscht, aber nicht die Rollenzugehörigkeit |
| | | // // $course = ilObjectFactory::getInstanceByObjId($obj_id); |
| | | // |
| | | // $parti = ilCourseParticipant::_getInstanceByObjId($obj_id, $usr_id); ## Achtung die usr_id hier ist Admin id?? |
| | | // #return "parti.isParticipant() = {$parti->isParticipant()}"; |
| | | // |
| | | // $msg = "deleted user({$usr_id}) teilnahme for course '{$course->getTitle()}' ({$obj_id})"; |
| | | // if ($dry == "0") { |
| | | // #$course->_deleteUser($usr_id); |
| | | // #$course->deleteUser($usr_id); ## undefined |
| | | // $parti->delete($usr_id); |
| | | // return $msg; |
| | | // } else { |
| | | // $msg = "DRY:: ".$msg; |
| | | // return $msg; |
| | | // } |
| | | // } |
| | | |
| | | ?> |