コード例 #1
0
ファイル: lib.php プロジェクト: JackCanada/moodle-hacks
function survey_user_complete($course, $user, $mod, $survey)
{
    global $CFG;
    if (survey_already_done($survey->id, $user->id)) {
        if ($survey->template == SURVEY_CIQ) {
            // print out answers for critical incidents
            $table = NULL;
            $table->align = array("left", "left");
            $questions = get_records_list("survey_questions", "id", $survey->questions);
            $questionorder = explode(",", $survey->questions);
            foreach ($questionorder as $key => $val) {
                $question = $questions[$val];
                $questiontext = get_string($question->shorttext, "survey");
                if ($answer = survey_get_user_answer($survey->id, $question->id, $user->id)) {
                    $answertext = "{$answer->answer1}";
                } else {
                    $answertext = "No answer";
                }
                $table->data[] = array("<b>{$questiontext}</b>", $answertext);
            }
            print_table($table);
        } else {
            survey_print_graph("id={$mod->id}&amp;sid={$user->id}&amp;type=student.png");
        }
    } else {
        print_string("notdone", "survey");
    }
}
コード例 #2
0
ファイル: index.php プロジェクト: BackupTheBerlios/samouk-svn
}
if ($course->format == "weeks") {
    $table->head = array($strweek, $strname, $strstatus);
    $table->align = array("CENTER", "LEFT", "LEFT");
} else {
    if ($course->format == "topics") {
        $table->head = array($strtopic, $strname, $strstatus);
        $table->align = array("CENTER", "LEFT", "LEFT");
    } else {
        $table->head = array($strname, $strstatus);
        $table->align = array("LEFT", "LEFT");
    }
}
$currentsection = '';
foreach ($surveys as $survey) {
    if (!empty($USER->id) and survey_already_done($survey->id, $USER->id)) {
        $ss = $strdone;
    } else {
        $ss = $strnotdone;
    }
    $printsection = "";
    if ($survey->section !== $currentsection) {
        if ($survey->section) {
            $printsection = $survey->section;
        }
        if ($currentsection !== "") {
            $table->data[] = 'hr';
        }
        $currentsection = $survey->section;
    }
    //Calculate the href
コード例 #3
0
ファイル: view.php プロジェクト: evltuma/moodle
$context = context_module::instance($cm->id);
require_capability('mod/survey:participate', $context);
if (!($survey = $DB->get_record("survey", array("id" => $cm->instance)))) {
    print_error('invalidsurveyid', 'survey');
}
$trimmedintro = trim($survey->intro);
if (empty($trimmedintro)) {
    $tempo = $DB->get_field("survey", "intro", array("id" => $survey->template));
    $survey->intro = get_string($tempo, "survey");
}
if (!($template = $DB->get_record("survey", array("id" => $survey->template)))) {
    print_error('invalidtmptid', 'survey');
}
$showscales = $template->name != 'ciqname';
// Check the survey hasn't already been filled out.
$surveyalreadydone = survey_already_done($survey->id, $USER->id);
if ($surveyalreadydone) {
    // Trigger course_module_viewed event and completion.
    survey_view($survey, $course, $cm, $context, 'graph');
} else {
    survey_view($survey, $course, $cm, $context, 'form');
}
$strsurvey = get_string("modulename", "survey");
$PAGE->set_title($survey->name);
$PAGE->set_heading($course->fullname);
echo $OUTPUT->header();
echo $OUTPUT->heading($survey->name);
// Check to see if groups are being used in this survey.
if ($groupmode = groups_get_activity_groupmode($cm)) {
    // Groups are being used.
    $currentgroup = groups_get_activity_group($cm);
コード例 #4
0
ファイル: save.php プロジェクト: kai707/ITSA-backup
    error("Course Module ID was incorrect");
}
if (!($course = get_record("course", "id", $cm->course))) {
    error("Course is misconfigured");
}
require_login($course->id, false, $cm);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
require_capability('mod/survey:participate', $context);
if (!($survey = get_record("survey", "id", $cm->instance))) {
    error("Survey ID was incorrect");
}
add_to_log($course->id, "survey", "submit", "view.php?id={$cm->id}", "{$survey->id}", "{$cm->id}");
$strsurveysaved = get_string('surveysaved', 'survey');
$navigation = build_navigation('', $cm);
print_header_simple("{$strsurveysaved}", "", $navigation, "");
if (survey_already_done($survey->id, $USER->id)) {
    notice(get_string("alreadysubmitted", "survey"), $_SERVER["HTTP_REFERER"]);
    exit;
}
// Sort through the data and arrange it
// This is necessary because some of the questions
// may have two answers, eg Question 1 -> 1 and P1
$answers = array();
foreach ($formdata as $key => $val) {
    if ($key != "userid" && $key != "id") {
        if (substr($key, 0, 1) == "q") {
            $key = clean_param(substr($key, 1), PARAM_ALPHANUM);
            // keep everything but the 'q', number or Pnumber
        }
        if (substr($key, 0, 1) == "P") {
            $realkey = (int) substr($key, 1);
コード例 #5
0
ファイル: index.php プロジェクト: JP-Git/moodle
        $sections = get_all_sections($course->id);
    }

    $table = new html_table();
    $table->width = '100%';

    if ($usesections) {
        $table->head  = array ($strsectionname, $strname, $strstatus);
    } else {
        $table->head  = array ($strname, $strstatus);
    }

    $currentsection = '';

    foreach ($surveys as $survey) {
        if (isloggedin() and survey_already_done($survey->id, $USER->id)) {
            $ss = $strdone;
        } else {
            $ss = $strnotdone;
        }
        $printsection = "";
        if ($usesections) {
            if ($survey->section !== $currentsection) {
                if ($survey->section) {
                    $printsection = get_section_name($course, $sections[$survey->section]);
                }
                if ($currentsection !== "") {
                    $table->data[] = 'hr';
                }
                $currentsection = $survey->section;
            }
コード例 #6
0
ファイル: lib.php プロジェクト: rezaies/moodle
/**
 * @global stdObject
 * @global object
 * @uses SURVEY_CIQ
 * @param object $course
 * @param object $user
 * @param object $mod
 * @param object $survey
 */
function survey_user_complete($course, $user, $mod, $survey) {
    global $CFG, $DB, $OUTPUT;

    if (survey_already_done($survey->id, $user->id)) {
        if ($survey->template == SURVEY_CIQ) { // print out answers for critical incidents
            $table = new html_table();
            $table->align = array("left", "left");

            $questions = $DB->get_records_list("survey_questions", "id", explode(',', $survey->questions));
            $questionorder = explode(",", $survey->questions);

            foreach ($questionorder as $key=>$val) {
                $question = $questions[$val];
                $questiontext = get_string($question->shorttext, "survey");

                if ($answer = survey_get_user_answer($survey->id, $question->id, $user->id)) {
                    $answertext = "$answer->answer1";
                } else {
                    $answertext = "No answer";
                }
                $table->data[] = array("<b>$questiontext</b>", s($answertext));
            }
            echo html_writer::table($table);

        } else {

            survey_print_graph("id=$mod->id&amp;sid=$user->id&amp;type=student.png");
        }

    } else {
        print_string("notdone", "survey");
    }
}
コード例 #7
0
ファイル: external.php プロジェクト: rushi963/moodle
 /**
  * Submit the answers for a given survey.
  *
  * @param int $surveyid the survey instance id
  * @param array $answers the survey answers
  * @return array of warnings and status result
  * @since Moodle 3.0
  * @throws moodle_exception
  */
 public static function submit_answers($surveyid, $answers)
 {
     global $DB, $USER;
     $params = self::validate_parameters(self::submit_answers_parameters(), array('surveyid' => $surveyid, 'answers' => $answers));
     $warnings = array();
     // Request and permission validation.
     $survey = $DB->get_record('survey', array('id' => $params['surveyid']), '*', MUST_EXIST);
     list($course, $cm) = get_course_and_cm_from_instance($survey, 'survey');
     $context = context_module::instance($cm->id);
     self::validate_context($context);
     require_capability('mod/survey:participate', $context);
     if (survey_already_done($survey->id, $USER->id)) {
         throw new moodle_exception("alreadysubmitted", "survey");
     }
     // Build the answers array. Data is cleaned inside the survey_save_answers function.
     $answers = array();
     foreach ($params['answers'] as $answer) {
         $key = $answer['key'];
         $answers[$key] = $answer['value'];
     }
     survey_save_answers($survey, $answers, $course, $context);
     $result = array();
     $result['status'] = true;
     $result['warnings'] = $warnings;
     return $result;
 }