Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan Moodle, buat pengguna dan daftarkan mereka di kursus melalui SQL

Anda harus menggunakan layanan web daripada menggunakan SQL - https://docs.moodle.org/dev/Creating_a_web_service_client

  1. Aktifkan layanan web /admin/search.php?query=enablewebservices
  2. Aktifkan protokol istirahat /admin/settings.php?section=webserviceprotocols
  3. Tambahkan layanan /admin/settings.php?section=externalservices
    • tambahkan nama pendek =layanan saya
    • aktifkan =benar
  4. Klik fungsi untuk layanan.
  5. Tambahkan core_user_create_users dan enrol_manual_enrol_users
    • Anda harus melihat dokumentasi api untuk parameternya
    • /admin/webservice/documentation.php
  6. Membuat peran - /admin/roles/manage.php
  7. Pilih tingkat pengguna + konteks sistem
  8. Tambahkan kemampuan - webservice/rest:use
  9. Buat pengguna penguji dan tambahkan ke peran yang dibuat di atas
  10. Buat token untuk pengguna /admin/settings.php?section=webservicetokens

Setelah Anda menyiapkannya, gunakan sesuatu seperti ini:

// 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. Permintaan mysql untuk menemukan semua baris yang memiliki nilai yang sama dengan baris lain

  2. Bagaimana cara membuka MySQL saya di Raspberry Pi saya untuk Koneksi Luar / Jarak Jauh?

  3. PHP Laravel:Tidak ada koneksi yang dapat dibuat karena mesin target secara aktif menolaknya

  4. Erlang emysql iPhone Emoji Encoding Masalah

  5. Sintaks SQL DROP TABLE – Didaftarkan oleh DBMS