Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng Moodle tạo người dùng và đăng ký họ vào các khóa học qua SQL

Bạn nên sử dụng các dịch vụ web hơn là sử dụng SQL - https://docs.moodle.org/dev/Creating_a_web_service_client

  1. Bật dịch vụ web /admin/search.php?query=enablewebservices
  2. Bật giao thức nghỉ ngơi /admin/settings.php?section=webserviceprotocols
  3. Thêm dịch vụ /admin/settings.php?section=externalservices
    • thêm tên ngắn =myservice
    • enable =true
  4. Nhấp vào các chức năng của dịch vụ.
  5. Thêm core_user_create_usersenrol_manual_enrol_users
    • Bạn sẽ cần xem tài liệu api để biết các thông số
    • /admin/webservice/documentation.php
  6. Tạo một vai trò - /admin/roles/manage.php
  7. Chọn cấp độ người dùng + bối cảnh hệ thống
  8. Thêm khả năng - dịch vụ web / phần còn lại:sử dụng
  9. Tạo người dùng thử và thêm vào vai trò đã tạo ở trên
  10. Tạo mã thông báo cho người dùng /admin/settings.php?section=webservicetokens

Khi bạn đã thiết lập xong, hãy sử dụng một cái gì đó như sau:

// First get the token.
$tokenurl = 'http://www.yourmoodlesite.com/login/token.php?username=testuser&password=xx&service=myservice';

$tokenresponse = file_get_contents($tokenurl);

$tokenobject = json_decode($tokenresponse);

if (!empty($tokenobject->error)) {
    echo $tokenobject->error;
    die();
}

// Then call the create user and enrol functions
// Remember to add the question mark after "server.php" because http_build_query() won't add it on its own and you'll end up with a 404 error
$baseurl = 'http://www.yourmoodlesite.com/webservice/rest/server.php?';

// Then add these parameters to the url.

$users = array();
// See the api documentation /admin/webservice/documentation.php
// for core_user_create_users for building the $users array
// e.g.
// $users = array(array(
// 'username' => 'lecapitaine',   //Username policy is defined in Moodle security config
// 'password' =>  'EngageNCC-1701', //Plain text password consisting of any characters
// 'firstname' =>  'William', //The first name(s) of the user
// 'lastname' => 'Shatner',  //The family name of the user
// 'email' => '[email protected]',
// 'lang' => 'en',
// ));

$params = array(
    'wstoken' => $tokenobject->token,
    'wsfunction' => 'core_user_create_users',
    'moodlewsrestformat' => 'json',
    'users' => $users,
);

$url = $baseurl . http_build_query($params);

$response = file_get_contents($url);

$newusers = json_decode($response);

// Newusers will be an array of objects containing the new user ids.

$enrolments = array();
// See the api documentation /admin/webservice/documentation.php
// for enrol_manual_enrol_users for building the $enrolments array

// Then enrol the users.
$params = array(
    'wstoken' => $tokenobject->token,
    'wsfunction' => 'enrol_manual_enrol_users',
    'moodlewsrestformat' => 'json',
    'enrolments' => $enrolments,
);

$url = $baseurl . http_build_query($params);

$response = file_get_contents($url);

$enrolled = json_decode($response);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SailsJS - Làm thế nào để chỉ định độ dài thuộc tính chuỗi mà không bị lỗi khi tạo bản ghi?

  2. Triển khai thuật toán xếp hạng Hacker News trong SQL

  3. MySQL:Giới hạn số lượng kết quả nhận được dựa trên giá trị cột | Kết hợp các truy vấn

  4. php password_verify không hoạt động với cơ sở dữ liệu

  5. PDO - Lỗi nghiêm trọng:Gọi hàm thành viên fetch () trên một đối tượng không phải