Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Korzystając z Moodle, twórz użytkowników i zapisuj ich na kursy za pomocą SQL

Powinieneś używać usług internetowych zamiast SQL - https://docs.moodle.org/dev/Creating_a_web_service_client

  1. Włącz usługi sieciowe /admin/search.php?query=enablewebservices
  2. Włącz protokół odpoczynku /admin/settings.php?section=webserviceprotocols
  3. Dodaj usługę /admin/settings.php?section=externalservices
    • dodaj krótką nazwę =myservice
    • włącz =prawda
  4. Kliknij funkcje usługi.
  5. Dodaj core_user_create_users i enrol_manual_enrol_users
    • Musisz zajrzeć do dokumentacji API dla parametrów
    • /admin/webservice/documentation.php
  6. Utwórz rolę - /admin/roles/manage.php
  7. Wybierz poziom użytkownika + kontekst systemu
  8. Dodaj możliwość — usługa internetowa/odpoczynek:użyj
  9. Utwórz użytkownika testującego i dodaj do utworzonej powyżej roli
  10. Utwórz token dla użytkownika /admin/settings.php?section=webservicetokens

Po skonfigurowaniu użyj czegoś takiego:

// 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. Docker-compose sprawdza, czy połączenie mysql jest gotowe

  2. MySQL Order według liczby, pustych ciągów (lub zer) Ostatnie

  3. Co się dzieje z ciągiem pasującym do pola liczb całkowitych MySQL?

  4. Błąd podczas wstawiania daty — nieprawidłowa wartość daty:

  5. Zaznaczanie wszystkich elementów w jednej tabeli i łączenie z inną tabelą, pozwalając na wartości null