Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $servername = 'localhost';
- $username = 'username';
- $password = 'password';
- $dbname = 'moodle';
- $u_moodle = 'theusernameyouwant';
- $hp_moodle = password_hash('thepasswordyouwant', PASSWORD_DEFAULT); ///IMPORTANT!
- $name = 'first name';
- $lname = 'last name';
- $email = 'e@m.ail'; ///This have to be verified by you as we're inserting it directly
- $course = '123'; //Id that you put in moodle admin, not the real id
- $conn = new mysqli($servername, $username, $password, $dbname);
- $sql = "INSERT INTO 'mdl_user' (auth, confirmed, mnethostid, username, password, firstname, lastname, email)
- VALUES ('manual', 1, 1, '$u_moodle', '$hp_moodle', '$name', '$lname', '$email')";
- // auth = 'manual', confirmed = 1, mnethostid = 1 Always. the others are your variables
- if ($conn->query($sql) === TRUE) {
- echo "OKTC";
- } else {
- ////Manage your errors
- }
- $sql = "SELECT * FROM $m_user WHERE email='$email'";
- $result = $conn2->query($sql);
- if($row = $result->fetch_assoc()) {
- $id = $row['id']; //Id of newly created user. we're using that for to register him on the course
- }
- ////You have to use this if your idnumber for the course is the one you put into moodle (thats not the real id)
- $sql = "SELECT id FROM 'mdl_course' WHERE idnumber=$course";
- $result = $conn->query($sql);
- if(!$result){
- ///Not existing course, manage your error
- }
- if($row = $result->fetch_assoc()) {
- $idcourse = $row["id"];
- }
- ///I need now the "enrol" id, so I do this:
- $sql = "SELECT id FROM 'mdl_enrol' WHERE courseid=$idcourse AND enrol='manual'";
- $result = $conn->query($sql);
- if(!$result){
- ///Not enrol associated (this shouldn't happen and means you have an error in your moodle database)
- }
- if($row = $result->fetch_assoc()) {
- $idenrol = $row["id"];
- }
- ///Lastly I need the context
- $sql = "SELECT id FROM 'mdl_context' WHERE contextlevel=50 AND instanceid=$idcourse"; ///contextlevel = 50 means course in moodle
- $result = $conn->query($sql);
- if(!$result){
- ///Again, weird error, shouldnt happen to you
- }
- if($row = $result->fetch_assoc()) {
- $idcontext = $row["id"];
- }
- ///We were just getting variables from moodle. Here is were the enrolment begins:
- $time = time();
- $ntime = $time + 60*60*24*$duration; //How long will it last enroled $duration = days, this can be 0 for unlimited.
- $sql = "INSERT INTO 'mdl_user_enrolments' (status, enrolid, userid, timestart, timeend, timecreated, timemodified)
- VALUES (0, $idenrol, $id, '$time', '$ntime', '$time', '$time')";
- if ($conn->query($sql) === TRUE) {
- } else {
- ///Manage your sql error
- }
- $sql = "INSERT INTO 'mdl_role_assignments' (roleid, contextid, userid, timemodified)
- VALUES (5, $idcontext, '$id', '$time')"; //Roleid = 5, means student.
- if ($conn->query($sql) === TRUE) {
- } else {
- //manage your errors
- }
Add Comment
Please, Sign In to add comment