はじめまして。
私は現在Moodleの小テストにおいて「すべてを送信して終了する。」ボタンを押した時点での様々なデータを取得したいと考えています。
しかし、PHPの経験が浅くおそらく
\mod\quiz\attemptlib.php の
public function process_finish($timestamp, $processsubmitted) {
if ($processsubmitted) {
$this->quba->process_all_actions($timestamp); //この部分の$this->quba
}
の$this->qubaの部分に入っているところまではわかったのですが
そこからのデータの抜き取り方で躓いています。
var_dumpしたところ
1.question_usage_by_activityオブジェクトのid
2.context_moduleの_id
3.questionattemptsの配列(問題の数)の中のquestion_attemptオブジェクトのidと
stepsの配列の中のquestion_attempt_step_read_onlyオブジェクトにあるdata配列の中のanswerのquestion_file_loaderの中にあるvalue
が問題を識別するものだと考えています。
先ほど書いた\mod\quiz\attemptlib.php の if ($processsubmitted) { の条件を通った後でデータを抜き取ろうと試みています。
今のところ1.2.のデータはとれたのですが3.が上手く取れません。
どなたかご教授のほどお願い頂けたらと思います。
よろしくお願いします。