function definition() { global $COURSE, $USER, $OUTPUT; $mform =& $this->_form; //Is this particular course mapped to a course in WeBWorK $wwclient = new wwassignment_client(); $wwcoursename = _wwassignment_mapped_course($COURSE->id, false); $wwsetname = _wwassignment_mapped_set($this->_instance); $wwusername = $USER->username; //create the instructor if necessary $wwusername = _wwassignment_mapcreate_user($wwcoursename, $wwusername, '10'); //login the instructor $wwkey = _wwassignment_login_user($wwcoursename, $wwusername); $wwinstructorlink = _wwassignment_link_to_instructor_auto_login($wwcoursename, $wwusername, $wwkey); $mform->addElement('link', 'instructor_page_link', get_string('instructor_page_link_desc', 'wwassignment'), $wwinstructorlink, get_string('instructor_page_link_name', 'wwassignment')); if ($wwsetname != -1) { //we are doing an update, since an id exists in moodle db $wwsetlink = _wwassignment_link_to_edit_set_auto_login($wwcoursename, $wwsetname, $wwusername, $wwkey); $mform->addElement('link', 'edit_set', get_string('edit_set_link_desc', 'wwassignment'), $wwsetlink, get_string('edit_set_link_name', 'wwassignment')); $wwsetdata = $wwclient->get_assignment_data($wwcoursename, $wwsetname, false); $opendate = strftime("%c", $wwsetdata['open_date']); $duedate = strftime("%c", $wwsetdata['due_date']); $mform->addElement('static', 'opendate', 'WeBWorK Set Open Date', $opendate); $mform->addElement('static', 'duedate', 'WeBWorK Set Due Date', $duedate); } //define the mapping $mform->addElement('header', 'set_initialization', get_string('set_initialization', 'wwassignment')); //name $mform->addElement('text', 'name', get_string('wwassignmentname', 'wwassignment'), array('size' => '64')); $mform->setType('name', PARAM_TEXT); $mform->addRule('name', null, 'required', null, 'client'); //set select $options = $wwclient->options_set($wwcoursename, false); $mform->addElement('select', 'webwork_set', get_string('webwork_set', 'wwassignment'), $options); // $OUTPUT->help_icon('enablenotification','assignment'); $mform->addHelpButton('webwork_set', 'webwork_set', 'wwassignment'); //description $mform->addElement('htmleditor', 'description', get_string('description', 'assignment')); $mform->setType('description', PARAM_RAW); $mform->addHelpButton('description', 'writing', 'wwassignment'); $features = new stdClass(); $features->gradecat = true; $features->groups = false; $this->standard_coursemodule_elements($features); $this->add_action_buttons(); //$this->standard_hidden_coursemodule_elements(); return; }
if ($USER->username == 'guest') { # this allows guests to view webwork (signed in as user guest) #FIXME -- replace this with a method that uses the automatic guest sign in on webwork. // print_error('Guests cannot view WeBWorK Problem Sets'); } //force login $courseid = $course->id; $wwassignmentid = $wwassignment->id; require_login($courseid); //webwork code $wwcoursename = _wwassignment_mapped_course($courseid, false); $wwusername = $USER->username; $wwsetname = $wwassignment->webwork_set; _wwassignment_mapcreate_user($wwcoursename, $wwusername); _wwassignment_mapcreate_user_set($wwcoursename, $wwusername, $wwsetname); $wwkey = _wwassignment_login_user($wwcoursename, $wwusername); $wwsetlink = _wwassignment_link_to_set_auto_login($wwcoursename, $wwsetname, $wwusername, $wwkey); add_to_log($course->id, "wwassignment", "view", "view.php?id={$cm->id}", "{$wwassignmentid}", _wwassignment_cmid()); /// Print the page header if ($course->category) { $navigation = "<a href=\"../../course/view.php?id={$course->id}\">{$course->shortname}</a> ->"; } $strwwassignments = get_string("modulenameplural", "wwassignment"); $strwwassignment = get_string("modulename", "wwassignment"); print_header("{$course->shortname}: {$wwassignment->name}", "{$course->fullname}", "{$navigation} <a href='index.php?id={$course->id}'>{$strwwassignments}</a> -> {$wwassignment->name}", "", "", true, update_module_button($cm->id, $course->id, $strwwassignment), navmenu($course, $cm)); /// Print the main part of the page // Print webwork in iframe and link to escape to have webwork in a single window print "<p style='font-size: smaller; color: #aaa;'>" . get_string("iframeNoShow-1", "wwassignment") . "<a href='{$wwsetlink}'>" . get_string("iframeNoShow-2", "wwassignment") . "</a><p align='center'></iframe></p>\n"; print "<iframe id='wwPage' src='{$wwsetlink}' frameborder='1' " . "width='" . $CFG->wwassignment_iframewidth . "' " . "height='" . $CFG->wwassignment_iframeheight . "'>"; print "<script>ww.Init(" . isteacher($course->id) . ")</script>"; /// Finish the page