function questionnaire_user_complete($course, $user, $mod, $questionnaire) { global $CFG; require_once $CFG->dirroot . '/mod/questionnaire/locallib.php'; if ($responses = questionnaire_get_user_responses($questionnaire->sid, $user->id, $complete = false)) { foreach ($responses as $response) { if ($response->complete == 'y') { echo get_string('submitted', 'questionnaire') . ' ' . userdate($response->submitted) . '<br />'; } else { echo get_string('attemptstillinprogress', 'questionnaire') . ' ' . userdate($response->submitted) . '<br />'; } } } else { print_string('noresponses', 'questionnaire'); } return true; }
$class = ''; if (!$questionnaire->visible) { $class = ' class="dimmed"'; } $data[] = "<a{$class} href=\"view.php?id={$cmid}\">{$questionnaire->name}</a>"; // Close date. if ($questionnaire->closedate) { $data[] = userdate($questionnaire->closedate); } else { if ($showclosingheader) { $data[] = ''; } } if ($showing == 'responses') { $status = ''; if ($responses = questionnaire_get_user_responses($questionnaire->sid, $USER->id, $complete = false)) { foreach ($responses as $response) { if ($response->complete == 'y') { $status .= get_string('submitted', 'questionnaire') . ' ' . userdate($response->submitted) . '<br />'; } else { $status .= get_string('attemptstillinprogress', 'questionnaire') . ' ' . userdate($response->submitted) . '<br />'; } } } $data[] = $status; } else { if ($showing == 'stats') { $data[] = $DB->count_records('questionnaire_response', array('survey_id' => $questionnaire->sid, 'complete' => 'y')); if ($survey = $DB->get_record('questionnaire_survey', array('id' => $questionnaire->sid))) { // For a public questionnaire, look for the original public questionnaire that it is based on. if ($survey->realm == 'public') {
/** * Prints questionnaire summaries on 'My home' page * * Prints questionnaire name, due date and attempt information on * questionnaires that have a deadline that has not already passed * and it is available for taking. * * @global object * @global stdClass * @global object * @uses CONTEXT_MODULE * @param array $courses An array of course objects to get questionnaire instances from * @param array $htmlarray Store overview output array( course ID => 'questionnaire' => HTML output ) * @return void */ function questionnaire_print_overview($courses, &$htmlarray) { global $USER, $CFG, $DB, $OUTPUT; require_once $CFG->dirroot . '/mod/questionnaire/locallib.php'; if (!($questionnaires = get_all_instances_in_courses('questionnaire', $courses))) { return; } // Get Necessary Strings. $strquestionnaire = get_string('modulename', 'questionnaire'); $strnotattempted = get_string('noattempts', 'questionnaire'); $strattempted = get_string('attempted', 'questionnaire'); $strsavedbutnotsubmitted = get_string('savedbutnotsubmitted', 'questionnaire'); $now = time(); foreach ($questionnaires as $questionnaire) { // The questionnaire has a deadline. if ($questionnaire->closedate != 0 and $questionnaire->closedate >= $now and ($questionnaire->opendate == 0 or $questionnaire->opendate <= $now)) { if (!$questionnaire->visible) { $class = ' class="dimmed"'; } else { $class = ''; } $str = $OUTPUT->box("{$strquestionnaire}:\n <a{$class} href=\"{$CFG->wwwroot}/mod/questionnaire/view.php?id={$questionnaire->coursemodule}\">" . format_string($questionnaire->name) . '</a>', 'name'); // Deadline. $str .= $OUTPUT->box(get_string('closeson', 'questionnaire', userdate($questionnaire->closedate)), 'info'); $select = 'qid = ' . $questionnaire->id . ' AND userid = ' . $USER->id; $attempts = $DB->get_records_select('questionnaire_attempts', $select); $nbattempts = count($attempts); // Do not display a questionnaire as due if it can only be sumbitted once and it has already been submitted! if ($nbattempts != 0 && $questionnaire->qtype == QUESTIONNAIREONCE) { continue; } // Attempt information. if (has_capability('mod/questionnaire:manage', context_module::instance($questionnaire->coursemodule))) { // Number of user attempts. $attempts = $DB->count_records('questionnaire_attempts', array('id' => $questionnaire->id)); $str .= $OUTPUT->box(get_string('numattemptsmade', 'questionnaire', $attempts), 'info'); } else { if ($responses = questionnaire_get_user_responses($questionnaire->sid, $USER->id, $complete = false)) { foreach ($responses as $response) { if ($response->complete == 'y') { $str .= $OUTPUT->box($strattempted, 'info'); break; } else { $str .= $OUTPUT->box($strsavedbutnotsubmitted, 'info'); } } } else { $str .= $OUTPUT->box($strnotattempted, 'info'); } } $str = $OUTPUT->box($str, 'questionnaire overview'); if (empty($htmlarray[$questionnaire->course]['questionnaire'])) { $htmlarray[$questionnaire->course]['questionnaire'] = $str; } else { $htmlarray[$questionnaire->course]['questionnaire'] .= $str; } } } }
function questionnaire_user_complete($course, $user, $mod, $questionnaire) { /// Print a detailed representation of what a user has done with /// a given particular instance of this module, for user activity reports. if ($responses = questionnaire_get_user_responses($questionnaire->sid, $user->id)) { foreach ($responses as $response) { echo get_string('submitted', 'questionnaire') . ' ' . userdate($response->submitted) . '<br />'; } } else { print_string('noresponses', 'questionnaire'); } return true; }