Пример #1
0
 function definition()
 {
     global $COURSE;
     $mform =& $this->_form;
     //Is this particular course mapped to a course in WeBWorK
     $webworkclient = webwork_client::get_instance();
     $coursemapped = _wwassignment_mapped_course($COURSE->id);
     if ($coursemapped == -1) {
         //define the mapping
         $mform->addElement('header', 'course_initialization', get_string('course_initialization', 'wwassignment'));
         $options = $webworkclient->options_course();
         $mform->addElement('select', 'webwork_course', get_string('webwork_course', 'wwassignment'), $options);
         $mform->setHelpButton('webwork_course', array('webwork_course', get_string('webwork_course', 'wwassignment'), 'wwassignment'));
         $mform->addElement('checkbox', 'auto_enroll_course', get_string('auto_enroll_course', 'wwassignment'), get_string('auto_enroll_course_desc', 'wwassignment'));
         $this->add_action_buttons();
         $this->standard_hidden_coursemodule_elements();
         return;
     }
     $mform->addElement('link', 'instructor_page_link', get_string('instructor_page_link_desc', 'wwassignment'), wwassignment_instructor_page_link(), get_string('instructor_page_link_name', 'wwassignment'));
     if ($this->_instance == "") {
         //doing an addition
         $mform->addElement("header", 'set_initialization', get_string('set_initialization', 'wwassignment'));
         $options = $webworkclient->options_set($coursemapped);
         $mform->addElement('select', 'webwork_set', get_string('webwork_set', 'wwassignment'), $options);
         $mform->setHelpButton('webwork_set', array('webwork_set', get_string('webwork_set', 'wwassignment'), 'wwassignment'));
         $mform->addElement('checkbox', 'auto_enroll_set', get_string('auto_enroll_set', 'wwassignment'), get_string('auto_enroll_set_desc', 'wwassignment'));
         $this->add_action_buttons();
         $this->standard_hidden_coursemodule_elements();
         return;
     } else {
         //doing an update
         //$this->standard_hidden_coursemodule_elements();
         $mform->addElement('link', 'edit_set', get_string('edit_set_link_desc', 'wwassignment'), wwassignment_edit_set_link($this->_instance), get_string('edit_set_link_name', 'wwassignment'));
         //$this->add_action_buttons(false);
     }
     return;
 }
Пример #2
0
$strtopic = get_string("topic");
$strOpenDate = get_string("openDate", "wwassignment");
$strDueDate = get_string("dueDate", "wwassignment");
if ($course->format == "weeks") {
    $table->head = array($strweek, $strname, $strOpenDate, $strDueDate);
    $table->align = array("center", "left", "left", "left");
} else {
    if ($course->format == "topics") {
        $table->head = array($strtopic, $strname, $strOpenDate, $strDueDate);
        $table->align = array("center", "left", "left", "left", "left", "left");
    } else {
        $table->head = array($strname, $strOpenDate, $strDueDate);
        $table->align = array("left", "left", "left", "left", "left");
    }
}
$webworkclient = webwork_client::get_instance();
$webworkcourse = _wwassignment_mapped_course($COURSE->id, false);
foreach ($wwassignments as $wwassignment) {
    // grab specific info for this set:
    if (isset($wwassignment)) {
        //var_dump($wwassignment);
        $wwassignmentsetinfo = $webworkclient->get_assignment_data($webworkcourse, $wwassignment->webwork_set, false);
        if (!$wwassignment->visible) {
            //Show dimmed if the mod is hidden
            $link = "<a class=\"dimmed\" href=\"view.php?id={$wwassignment->coursemodule}\">{$wwassignmentsetinfo->name}</a>";
        } else {
            //Show normal if the mod is visible
            $setinfoname = $wwassignmentsetinfo['name'];
            $link = "<a href=\"view.php?id={$wwassignment->coursemodule}\">{$setinfoname}</a>";
        }
        if ($course->format == "weeks" or $course->format == "topics") {
Пример #3
0
function wwassignment_grades($wwassignmentid)
{
    /// Must return an array of grades for a given instance of this module,
    /// indexed by user.  It also returns a maximum allowed grade.
    ///
    ///    $return->grades = array of grades;
    ///    $return->maxgrade = maximum allowed grade;
    ///
    ///    return $return;
    // here's how we compute the grade:
    // NOTE: each set has P problems in it.
    // NOTE: each problem may be attempted M times.
    // NOTE: each problem has been attempted A times (by a given user).
    // NOTE: each problem was gotten correct C times (by a given user).
    // NOTE: each problem was gotten incorrect I times (by a given user).
    // Thus, a users grade is: sigma(over P) C/A
    // And the max score is P
    // Alternately, code is provided for:
    // sigma(over P) { if( C > 0) 1 else 0 }
    // again with a max of P
    // redefine it here, 'cause for some reason we can't global it...
    //debug_log("start grades ".$wwassignmentid);
    global $COURSE;
    $webworkclient = webwork_client::get_instance();
    $studentgrades->grades = array();
    $studentgrades->maxgrade = 0;
    //debug_log("record ".print_r($oMod,true));
    $gradeformula = '$finalgrade += ($problem->status > 0) ? 1 : 0;';
    //debug_log("formula ".print_r($gradeFormula, true));
    $webworkcourse = _wwassignment_mapped_course($COURSE->id, false);
    $webworkset = _wwassignment_mapped_set($wwassignmentid, false);
    // enumerate over the students in the course:
    $students = get_course_students($COURSE->id);
    foreach ($students as $student) {
        $webworkuser = $webworkclient->mapped_user($webworkcourse, $student->username, false);
        $webworkuserset = $webworkclient->mapped_user_set($webworkcourse, $webworkuser, $webworkset, false);
        $studentproblems = $webworkclient->get_user_problems($webworkcourse, $webworkuser, $webworkset);
        $finalgrade = 0.0;
        foreach ($studentproblems as $problem) {
            $finalgrade += $problem->status;
        }
        $studentgrades->grades[$student->id] = $finalgrade;
    }
    $studentgrades->maxgrade = $webworkclient->get_max_grade($webworkcourse, $webworkset);
    //error_log("all grades".print_r($studentgrades, true));
    return $studentgrades;
}