2016-06-07 4 views
0

Ich versuche, einen Webservice in Moodle, die extern aufgerufen werden können, zu machen. Der Webservice nimmt einen Eintrag in die Datenbanktabelle mdl_quiz vor. Aber das Quiz erscheint nicht im Frontend.Ich versuche, ein Quiz in Moodle extern über Webservice

Hier ist mein Code der externallib Datei:

global $CFG, $DB; 
$params = self::validate_parameters(
    self::create_quiz_parameters(), 
    ['quiz' => $quiz] 
); 

foreach ($params['quiz'] as $quiz) { 
    $courseid = $quiz['courseid']; 
    $quizname = $quiz['quizname']; 
    $intro  = $quiz['intro']; 
    $attempts = $quiz['attempts']; 
    $timeopen = $quiz['timeopen']; 
    $timeclose = $quiz['timeclose']; 

    $quiz = new stdClass(); 
    $quiz->course = $courseid; 
    $quiz->name  = $quizname; 
    $quiz->timeopen = $timeopen; 
    $quiz->timeclose = $timeclose; 
    $quiz->attempts = $attempts; 
    $quiz->intro  = $intro; 
    $rqa = $DB->insert_record('quiz', $quiz); 

    if (isset($rqa)) { 
     $moduleid = $DB->get_field('modules', 'id', ['name' => 'quiz'], MUST_EXIST); 
     $instanceid = 50; 
     $sectionid = 1; 

     $newcm = new stdClass(); 
     $newcm->course   = $courseid; 
     $newcm->module   = $moduleid; 
     $newcm->section   = $sectionid; 
     $newcm->added   = time(); 
     $newcm->instance   = $instanceid; 
     $newcm->visible   = 1; 
     $newcm->groupmode  = 0; 
     $newcm->groupingid  = 0; 
     $newcm->groupmembersonly = 0; 
     $newcm->showdescription = 0; 
     $cmid = $DB->insert_record('course_modules', $newcm); 
    } 
} 
+0

Mögliches Duplikat [Ich bin nicht in der Lage Quiz mit externen api in moodle hinzufügen] (http://stackoverflow.com/questions/37690366/i-am-not-able-

Ein Beispiel to-add-quiz-using-external-api-in-moodle) –

+0

@russel England kann helfen –

Antwort

Verwandte Themen