mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 04:30:15 +01:00
Workshop module now works with dates rather than phases, see http://moodle.org/mod/forum/discuss.php?d=15541.
This commit is contained in:
parent
47cb2991e5
commit
ab98918f09
@ -22,6 +22,8 @@ $string['assessedon'] = 'Assessed on $a';
|
||||
$string['assessment'] = 'Assessment';
|
||||
$string['assessmentby'] = 'Assessment by $a';
|
||||
$string['assessmentdropped'] = 'Assessment Dropped';
|
||||
$string['assessmentend'] = 'End of assessments';
|
||||
$string['assessmentendevent'] = 'End of assessments for $a';
|
||||
$string['assessmentgrade'] = 'Assessment Grade: $a';
|
||||
$string['assessmentnotyetagreed'] = 'Assessment not yet agreed';
|
||||
$string['assessmentnotyetgraded'] = 'Assessment not yet graded';
|
||||
@ -33,6 +35,8 @@ $string['assessmentsby'] = 'Assessments by $a';
|
||||
$string['assessmentsdone'] = 'Assessments Done';
|
||||
$string['assessmentsexcluded'] = 'Number of Assessments excluded for this $a';
|
||||
$string['assessmentsmustbeagreed'] = 'Assessments must be agreed';
|
||||
$string['assessmentstart'] = 'Start of assessments';
|
||||
$string['assessmentstartevent'] = 'Start of assessments for $a';
|
||||
$string['assessmentwasagreedon'] = 'Assessment was agreed on $a';
|
||||
$string['assessor'] = 'Assessor';
|
||||
$string['assessthissubmission'] = 'Assess this submission';
|
||||
@ -54,8 +58,9 @@ $string['confirmdeletionofthisitem'] = 'Confirm Deletion of this $a';
|
||||
$string['correct'] = 'Correct';
|
||||
$string['count'] = 'Count';
|
||||
$string['criterion'] = 'Criterion';
|
||||
$string['deadline'] = 'Deadline';
|
||||
$string['deadlineis'] = 'The Deadline is $a';
|
||||
$string['currentphase'] = 'Current phase';
|
||||
$string['deadline'] = 'Deadline for submission';
|
||||
$string['deadlineis'] = 'The Deadline for submission is $a';
|
||||
$string['delete'] = 'Delete';
|
||||
$string['deleting'] = 'Deleting';
|
||||
$string['description'] = 'Description';
|
||||
@ -102,6 +107,8 @@ $string['hidegradesbeforeagreement'] = 'Hide Grades before Agreement';
|
||||
$string['hidenamesfromstudents'] = 'Hide Names from $a';
|
||||
$string['includeteachersgrade'] = 'Include Teacher\'s Grade';
|
||||
$string['incorrect'] = 'Incorrect';
|
||||
$string['info'] = 'Info';
|
||||
$string['invaliddates'] = 'The dates you have entered are not possible.<br />Use the browser\'s Back button to return to the form and correct the dates.';
|
||||
$string['iteration'] = 'Iteration $a completed';
|
||||
$string['lax'] = "Lax";
|
||||
$string['leaguetable'] = 'League Table of Submitted Work';
|
||||
@ -137,14 +144,15 @@ $string['noassessmentsdone'] = 'No Assessments Done';
|
||||
$string['noattachments'] = 'No Attachments';
|
||||
$string['nosubmission'] = 'No Submission';
|
||||
$string['nosubmissionsavailableforassessment'] = 'No Submissions available for assessment';
|
||||
$string['notallowed'] = 'You are not allowed on this page at this time';
|
||||
$string['notavailable'] = 'Not Available';
|
||||
$string['notenoughexamplessubmitted'] = 'Not enough Examples submitted.';
|
||||
$string['noteonassessmentelements'] = 'Note that grading is broken down into a number of \'Assessment Elements\'.<br />
|
||||
This makes the grading easier and more consistent. As teacher you must add these <br />
|
||||
Elements before making the assignment available to students. This is done by<br />
|
||||
clicking on the assignment in the course, if no elements are present you will be asked<br />
|
||||
to add them. You can change the number of elements using the Edit Assignment screen,<br />
|
||||
the elements themselves can be amended from the "Managing Assessment" screen. ';
|
||||
This makes the grading easier and more consistent. As teacher you must add these <br />
|
||||
Elements before making the assignment available to students. This is done by<br />
|
||||
clicking on the assignment in the course, if no elements are present you will be asked<br />
|
||||
to add them. You can change the number of elements using the Edit Assignment screen,<br />
|
||||
the elements themselves can be amended from the "Managing Assessment" screen. ';
|
||||
$string['noteonstudentassessments'] = '{Grade from Student / Grading Grade for Assessment}';
|
||||
$string['notgraded'] = 'Not Graded';
|
||||
$string['notitle'] = 'No Title';
|
||||
@ -173,6 +181,8 @@ $string['ownwork'] = 'Own Work';
|
||||
$string['passwordprotectedworkshop'] = "Password Protected Workshop";
|
||||
$string['percentageofassessments'] = 'Percentage of Assessments to Drop';
|
||||
$string['phase'] = 'Phase';
|
||||
$string['phase0'] = 'Inactive';
|
||||
$string['phase0short'] = 'Inactive';
|
||||
$string['phase1'] = 'Set Up Assignment';
|
||||
$string['phase1short'] = 'Set Up';
|
||||
$string['phase2'] = 'Allow $a Submissions';
|
||||
@ -228,8 +238,12 @@ $string['studentgrades'] = '$a Grades';
|
||||
$string['studentsubmissions'] = '$a Submissions';
|
||||
$string['studentsubmissionsforassessment'] = '$a Student Submissions for Assessment';
|
||||
$string['submission'] = 'Submission';
|
||||
$string['submissionend'] = 'End of submissions';
|
||||
$string['submissionendevent'] = 'End of submissions for $a';
|
||||
$string['submissions'] = 'Submissions';
|
||||
$string['submissionsnolongerallowed'] = 'Submissions no longer allowed';
|
||||
$string['submissionstart'] = 'Start of submissions';
|
||||
$string['submissionstartevent'] = 'Start of submissions for $a';
|
||||
$string['submissionsused'] = '$a Submissions used in this table';
|
||||
$string['submitassignment'] = 'Submit Assignment';
|
||||
$string['submitassignmentusingform'] = 'Submit your Assignment using this Form';
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -65,7 +65,10 @@
|
||||
fwrite ($bf,full_tag("ANONYMOUS",4,false,$workshop->anonymous));
|
||||
fwrite ($bf,full_tag("INCLUDESELF",4,false,$workshop->includeself));
|
||||
fwrite ($bf,full_tag("MAXBYTES",4,false,$workshop->maxbytes));
|
||||
fwrite ($bf,full_tag("DEADLINE",4,false,$workshop->deadline));
|
||||
fwrite ($bf,full_tag("SUBMISSIONSTART",4,false,$workshop->submissionstart));
|
||||
fwrite ($bf,full_tag("ASSESSMENTSTART",4,false,$workshop->assessmentstart));
|
||||
fwrite ($bf,full_tag("SUBMISSIONEND",4,false,$workshop->submissionend));
|
||||
fwrite ($bf,full_tag("ASSESSMENTEND",4,false,$workshop->submissionstart));
|
||||
fwrite ($bf,full_tag("RELEASEGRADES",4,false,$workshop->releasegrades));
|
||||
fwrite ($bf,full_tag("GRADE",4,false,$workshop->grade));
|
||||
fwrite ($bf,full_tag("GRADINGGRADE",4,false,$workshop->gradinggrade));
|
||||
|
@ -7,52 +7,52 @@ function workshop_upgrade($oldversion) {
|
||||
global $CFG;
|
||||
|
||||
if ($oldversion < 2003050400) {
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` CHANGE `graded` `agreeassessments` TINYINT(2) UNSIGNED DEFAULT '0' NOT NULL");
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` CHANGE `showgrades` `hidegrades` TINYINT(2) UNSIGNED DEFAULT '0' NOT NULL");
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_assessments` ADD `timeagreed` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `timecreated`");
|
||||
execute_sql("
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` CHANGE `graded` `agreeassessments` TINYINT(2) UNSIGNED DEFAULT '0' NOT NULL");
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` CHANGE `showgrades` `hidegrades` TINYINT(2) UNSIGNED DEFAULT '0' NOT NULL");
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_assessments` ADD `timeagreed` INT(10) UNSIGNED DEFAULT '0' NOT NULL AFTER `timecreated`");
|
||||
execute_sql("
|
||||
CREATE TABLE `{$CFG->prefix}workshop_comments` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
# workshopid not necessary just makes deleting instance easier
|
||||
`workshopid` int(10) unsigned NOT NULL default '0',
|
||||
# workshopid not necessary just makes deleting instance easier
|
||||
`workshopid` int(10) unsigned NOT NULL default '0',
|
||||
`assessmentid` int(10) unsigned NOT NULL default '0',
|
||||
`userid` int(10) unsigned NOT NULL default '0',
|
||||
`timecreated` int(10) unsigned NOT NULL default '0',
|
||||
`mailed` tinyint(2) unsigned NOT NULL default '0',
|
||||
`mailed` tinyint(2) unsigned NOT NULL default '0',
|
||||
`comments` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) COMMENT='Defines comments'
|
||||
");
|
||||
}
|
||||
}
|
||||
|
||||
if ($oldversion < 2003051400) {
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` ADD `showleaguetable` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `gradingweight`");
|
||||
execute_sql("
|
||||
CREATE TABLE `{$CFG->prefix}workshop_rubrics` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`workshopid` int(10) unsigned NOT NULL default '0',
|
||||
`elementid` int(10) unsigned NOT NULL default '0',
|
||||
`rubricno` tinyint(3) unsigned NOT NULL default '0',
|
||||
`description` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) COMMENT='Info about the rubrics marking scheme'
|
||||
if ($oldversion < 2003051400) {
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` ADD `showleaguetable` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `gradingweight`");
|
||||
execute_sql("
|
||||
CREATE TABLE `{$CFG->prefix}workshop_rubrics` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`workshopid` int(10) unsigned NOT NULL default '0',
|
||||
`elementid` int(10) unsigned NOT NULL default '0',
|
||||
`rubricno` tinyint(3) unsigned NOT NULL default '0',
|
||||
`description` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) COMMENT='Info about the rubrics marking scheme'
|
||||
");
|
||||
}
|
||||
|
||||
if ($oldversion < 2003082200) {
|
||||
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_rubrics` CHANGE `elementid` `elementno` INT(10) UNSIGNED NOT NULL DEFAULT '0'");
|
||||
}
|
||||
}
|
||||
|
||||
if ($oldversion < 2003082200) {
|
||||
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_rubrics` CHANGE `elementid` `elementno` INT(10) UNSIGNED NOT NULL DEFAULT '0'");
|
||||
}
|
||||
|
||||
if ($oldversion < 2003092500) {
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` ADD `overallocation` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `nsassessments`");
|
||||
}
|
||||
if ($oldversion < 2003092500) {
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop` ADD `overallocation` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `nsassessments`");
|
||||
}
|
||||
|
||||
if ($oldversion < 2003100200) {
|
||||
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_assessments` ADD `resubmission` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `mailed`");
|
||||
}
|
||||
|
||||
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_assessments` ADD `resubmission` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `mailed`");
|
||||
}
|
||||
|
||||
if ($oldversion < 2003100800) {
|
||||
// tidy up log_display entries
|
||||
execute_sql("DELETE FROM `{$CFG->prefix}log_display` WHERE `module` = 'workshop'");
|
||||
@ -82,8 +82,8 @@ function workshop_upgrade($oldversion) {
|
||||
}
|
||||
|
||||
if ($oldversion < 2004081100) {
|
||||
table_column("workshop", "", "gradinggrade", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "grade");
|
||||
table_column("workshop", "", "assessmentcomps", "INTEGER", "4", "UNSIGNED", "2", "NOT NULL", "ntassessments");
|
||||
table_column("workshop", "", "gradinggrade", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "grade");
|
||||
table_column("workshop", "", "assessmentcomps", "INTEGER", "4", "UNSIGNED", "2", "NOT NULL", "ntassessments");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop` DROP COLUMN `gradingweight`");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop` DROP COLUMN `mergegrades`");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop` DROP COLUMN `peerweight`");
|
||||
@ -95,18 +95,18 @@ function workshop_upgrade($oldversion) {
|
||||
}
|
||||
|
||||
if ($oldversion < 2004092400) {
|
||||
table_column("workshop", "", "nattachments", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "nelements");
|
||||
table_column("workshop_submissions", "", "description", "TEXT", "", "", "", "", "mailed");
|
||||
table_column("workshop", "", "nattachments", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "nelements");
|
||||
table_column("workshop_submissions", "", "description", "TEXT", "", "", "", "", "mailed");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop_submissions` ADD INDEX (`userid`)");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop_assessments` ADD INDEX (`submissionid`)");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop_assessments` ADD INDEX (`userid`)");
|
||||
}
|
||||
|
||||
if ($oldversion < 2004092700) {
|
||||
table_column("workshop", "", "wtype", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "description");
|
||||
table_column("workshop", "", "usepassword", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
table_column("workshop", "", "password", "VARCHAR", "32", "", "", "NOT NULL");
|
||||
table_column("workshop_submissions", "", "late", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
table_column("workshop", "", "wtype", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "description");
|
||||
table_column("workshop", "", "usepassword", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
table_column("workshop", "", "password", "VARCHAR", "32", "", "", "NOT NULL");
|
||||
table_column("workshop_submissions", "", "late", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
|
||||
// update wkey value
|
||||
if ($workshops = get_records("workshop")) {
|
||||
@ -120,22 +120,22 @@ function workshop_upgrade($oldversion) {
|
||||
}
|
||||
|
||||
if ($oldversion < 2004102800) {
|
||||
table_column("workshop", "", "releasegrades", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "deadline");
|
||||
execute_sql("
|
||||
table_column("workshop", "", "releasegrades", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "deadline");
|
||||
execute_sql("
|
||||
CREATE TABLE `{$CFG->prefix}workshop_stockcomments` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`workshopid` int(10) unsigned NOT NULL default '0',
|
||||
`workshopid` int(10) unsigned NOT NULL default '0',
|
||||
`elementno` int(10) unsigned NOT NULL default '0',
|
||||
`comments` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) COMMENT='Defines stockcomments, the teacher comment bank'
|
||||
");
|
||||
}
|
||||
}
|
||||
|
||||
if ($oldversion < 2004111000) {
|
||||
table_column("workshop_elements", "", "stddev", "FLOAT", "", "", "0", "NOT NULL");
|
||||
table_column("workshop_elements", "", "totalassessments", "INTEGER", "10", "", "0", "NOT NULL");
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_elements` CHANGE `weight` `weight` INT(4) UNSIGNED NOT NULL DEFAULT '11'");
|
||||
table_column("workshop_elements", "", "stddev", "FLOAT", "", "", "0", "NOT NULL");
|
||||
table_column("workshop_elements", "", "totalassessments", "INTEGER", "10", "", "0", "NOT NULL");
|
||||
execute_sql(" ALTER TABLE `{$CFG->prefix}workshop_elements` CHANGE `weight` `weight` INT(4) UNSIGNED NOT NULL DEFAULT '11'");
|
||||
table_column("workshop_submissions", "", "nassessments", "INTEGER", "10", "", "0", "NOT NULL");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop_submissions` DROP COLUMN `teachergrade`");
|
||||
execute_sql("ALTER TABLE `{$CFG->prefix}workshop_submissions` DROP COLUMN `peergrade`");
|
||||
@ -177,6 +177,26 @@ function workshop_upgrade($oldversion) {
|
||||
modify_database('','ALTER TABLE prefix_workshop_submissions ADD INDEX mailed (mailed);');
|
||||
}
|
||||
|
||||
if ($oldversion < 2004120402) {
|
||||
table_column('workshop', '', 'submissionstart', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'maxbytes');
|
||||
table_column('workshop', '', 'assessmentstart', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'submissionstart');
|
||||
table_column('workshop', 'deadline', 'submissionend', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'assessmentstart');
|
||||
table_column('workshop', '', 'assessmentend', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'submissionend');
|
||||
|
||||
$workshops = get_records('workshop');
|
||||
foreach ($workshops as $workshop) {
|
||||
$early = (time() < $workshop->submissionend) ? 0 : $workshop->submissionend;
|
||||
$late = (time() > $workshop->submissionend) ? 0 : $workshop->submissionend;
|
||||
set_field('workshop', 'submissionstart', ($workshop->phase > 1) ? $early : $late, 'id', $workshop->id);
|
||||
set_field('workshop', 'assessmentstart', ($workshop->phase > 2) ? $early : $late, 'id', $workshop->id);
|
||||
set_field('workshop', 'submissionend', ($workshop->phase > 3) ? $early : $late, 'id', $workshop->id);
|
||||
set_field('workshop', 'assessmentend', ($workshop->phase > 4) ? $early : $late, 'id', $workshop->id);
|
||||
}
|
||||
execute_sql('ALTER TABLE '. $CFG->prefix .'workshop DROP COLUMN phase');
|
||||
|
||||
execute_sql("UPDATE {$CFG->prefix}event SET eventtype = 'submissionend' WHERE eventtype = 'deadline' AND modulename = 'workshop'", false);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,10 @@ CREATE TABLE `prefix_workshop` (
|
||||
`anonymous` tinyint(2) unsigned NOT NULL default '0',
|
||||
`includeself` tinyint(2) unsigned NOT NULL default '0',
|
||||
`maxbytes` int(10) unsigned NOT NULL default '100000',
|
||||
`deadline` int(10) unsigned NOT NULL default '0',
|
||||
`submissionstart` int(10) unsigned NOT NULL default '0',
|
||||
`assessmentstart` int(10) unsigned NOT NULL default '0',
|
||||
`submissionend` int(10) unsigned NOT NULL default '0',
|
||||
`assessmentend` int(10) unsigned NOT NULL default '0',
|
||||
`releasegrades` int(10) unsigned NOT NULL default '0',
|
||||
`grade` tinyint(3) NOT NULL default '0',
|
||||
`gradinggrade` tinyint(3) NOT NULL default '0',
|
||||
@ -182,4 +185,3 @@ INSERT INTO `prefix_log_display` VALUES ('workshop', 'set up', 'workshop', 'name
|
||||
INSERT INTO `prefix_log_display` VALUES ('workshop', 'submissions', 'workshop', 'name');
|
||||
INSERT INTO `prefix_log_display` VALUES ('workshop', 'view', 'workshop', 'name');
|
||||
INSERT INTO `prefix_log_display` VALUES ('workshop', 'update', 'workshop', 'name');
|
||||
|
||||
|
@ -7,18 +7,18 @@ function workshop_upgrade($oldversion) {
|
||||
global $CFG;
|
||||
|
||||
if ($oldversion < 2003050400) {
|
||||
table_column("workshop","graded", "agreeassessments", "INT","2", "", "0" ,"NOT NULL");
|
||||
table_column("workshop", "showgrades","hidegrades", "INT","2", "","0", "NOT NULL");
|
||||
table_column("workshop_assessments","","timeagreed", "INT","8", "UNSIGNED", "0", "NOT NULL" );
|
||||
|
||||
execute_sql("
|
||||
table_column("workshop","graded", "agreeassessments", "INT","2", "", "0" ,"NOT NULL");
|
||||
table_column("workshop", "showgrades","hidegrades", "INT","2", "","0", "NOT NULL");
|
||||
table_column("workshop_assessments","","timeagreed", "INT","8", "UNSIGNED", "0", "NOT NULL" );
|
||||
|
||||
execute_sql("
|
||||
CREATE TABLE {$CFG->prefix}workshop_comments (
|
||||
id SERIAL8 PRIMARY KEY ,
|
||||
workshopid int8 NOT NULL default '0',
|
||||
assessmentid int8 NOT NULL default '0',
|
||||
userid int8 NOT NULL default '0',
|
||||
timecreated int8 NOT NULL default '0',
|
||||
mailed int2 NOT NULL default '0',
|
||||
mailed int2 NOT NULL default '0',
|
||||
comments text NOT NULL
|
||||
)
|
||||
");
|
||||
@ -26,30 +26,30 @@ function workshop_upgrade($oldversion) {
|
||||
|
||||
if ($oldversion < 2003051400) {
|
||||
table_column("workshop","","showleaguetable", "INTEGER", "4", "unsigned", "0", "not null", "gradingweight");
|
||||
execute_sql("
|
||||
CREATE TABLE {$CFG->prefix}workshop_rubrics (
|
||||
id SERIAL8 PRIMARY KEY,
|
||||
workshopid int8 NOT NULL default '0',
|
||||
elementid int8 NOT NULL default '0',
|
||||
rubricno int4 NOT NULL default '0',
|
||||
description text NOT NULL,
|
||||
)
|
||||
execute_sql("
|
||||
CREATE TABLE {$CFG->prefix}workshop_rubrics (
|
||||
id SERIAL8 PRIMARY KEY,
|
||||
workshopid int8 NOT NULL default '0',
|
||||
elementid int8 NOT NULL default '0',
|
||||
rubricno int4 NOT NULL default '0',
|
||||
description text NOT NULL,
|
||||
)
|
||||
");
|
||||
}
|
||||
|
||||
if ($oldversion < 2003082200) {
|
||||
table_column("workshop_rubrics", "elementid", "elementno", "INTEGER", "10", "unsigned", "0", "not null", "id");
|
||||
}
|
||||
}
|
||||
|
||||
if ($oldversion < 2003082200) {
|
||||
table_column("workshop_rubrics", "elementid", "elementno", "INTEGER", "10", "unsigned", "0", "not null", "id");
|
||||
}
|
||||
|
||||
if ($oldversion < 2003092500) {
|
||||
if ($oldversion < 2003092500) {
|
||||
table_column("workshop", "", "overallocation", "INTEGER", "4", "unsigned", "0", "not null", "nsassesments");
|
||||
}
|
||||
}
|
||||
|
||||
if ($oldversion < 2003100200) {
|
||||
|
||||
|
||||
table_column("workshop_assesments", "", "resubmission", "INTEGER", "4", "unsigned", "0", "not null", "mailed");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($oldversion < 2003100800) {
|
||||
// tidy up log_display entries
|
||||
execute_sql("DELETE FROM {$CFG->prefix}log_display WHERE module = 'workshop'");
|
||||
@ -76,8 +76,8 @@ function workshop_upgrade($oldversion) {
|
||||
}
|
||||
|
||||
if ($oldversion < 2004081100) {
|
||||
table_column("workshop", "", "gradinggrade", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "grade");
|
||||
table_column("workshop", "", "assessmentcomps", "INTEGER", "4", "UNSIGNED", "2", "NOT NULL", "ntassessments");
|
||||
table_column("workshop", "", "gradinggrade", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "grade");
|
||||
table_column("workshop", "", "assessmentcomps", "INTEGER", "4", "UNSIGNED", "2", "NOT NULL", "ntassessments");
|
||||
execute_sql("ALTER TABLE {$CFG->prefix}workshop DROP COLUMN gradingweight");
|
||||
execute_sql("ALTER TABLE {$CFG->prefix}workshop DROP COLUMN mergegrades");
|
||||
execute_sql("ALTER TABLE {$CFG->prefix}workshop DROP COLUMN peerweight");
|
||||
@ -89,18 +89,18 @@ function workshop_upgrade($oldversion) {
|
||||
}
|
||||
|
||||
if ($oldversion < 2004092400) {
|
||||
table_column("workshop", "", "nattachments", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "nelements");
|
||||
table_column("workshop_submissions", "", "description", "TEXT", "", "", "", "", "mailed");
|
||||
table_column("workshop", "", "nattachments", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "nelements");
|
||||
table_column("workshop_submissions", "", "description", "TEXT", "", "", "", "", "mailed");
|
||||
execute_sql("CREATE INDEX {$CFG->prefix}workshop_submissions_userid_idx ON {$CFG->prefix}workshop_submissions (userid)");
|
||||
execute_sql("CREATE INDEX {$CFG->prefix}workshop_assessments_submissionid_idx ON {$CFG->prefix}workshop_assessments (submissionid)");
|
||||
execute_sql("CREATE INDEX {$CFG->prefix}workshop_assessments_userid_idx ON {$CFG->prefix}workshop_assessments (userid)");
|
||||
}
|
||||
|
||||
if ($oldversion < 2004092700) {
|
||||
table_column("workshop", "", "wtype", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "description");
|
||||
table_column("workshop", "", "usepassword", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
table_column("workshop", "", "password", "VARCHAR", "32", "", "", "NOT NULL");
|
||||
table_column("workshop_submissions", "", "late", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
table_column("workshop", "", "wtype", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL", "description");
|
||||
table_column("workshop", "", "usepassword", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
table_column("workshop", "", "password", "VARCHAR", "32", "", "", "NOT NULL");
|
||||
table_column("workshop_submissions", "", "late", "INTEGER", "4", "UNSIGNED", "0", "NOT NULL");
|
||||
|
||||
// update wkey value
|
||||
if ($workshops = get_records("workshop")) {
|
||||
@ -114,21 +114,21 @@ function workshop_upgrade($oldversion) {
|
||||
}
|
||||
|
||||
if ($oldversion < 2004102800) {
|
||||
table_column("workshop", "", "releasegrades", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "deadline");
|
||||
execute_sql("
|
||||
table_column("workshop", "", "releasegrades", "INTEGER", "10", "UNSIGNED", "0", "NOT NULL", "deadline");
|
||||
execute_sql("
|
||||
CREATE TABLE {$CFG->prefix}workshop_stockcomments (
|
||||
id SERIAL PRIMARY KEY,
|
||||
workshopid INT8 NOT NULL default '0',
|
||||
workshopid INT8 NOT NULL default '0',
|
||||
elementno INT8 NOT NULL default '0',
|
||||
comments text NOT NULL
|
||||
)
|
||||
");
|
||||
}
|
||||
}
|
||||
|
||||
if ($oldversion < 2004111000) {
|
||||
table_column("workshop_elements", "", "stddev", "FLOAT", "", "", "0", "NOT NULL");
|
||||
table_column("workshop_elements", "", "totalassessments", "INTEGER", "10", "", "0", "NOT NULL");
|
||||
table_column("workshop_elements", "weight", "weight", "INTEGER", "4", "UNSIGNED", "11", "NOT NULL");
|
||||
table_column("workshop_elements", "", "stddev", "FLOAT", "", "", "0", "NOT NULL");
|
||||
table_column("workshop_elements", "", "totalassessments", "INTEGER", "10", "", "0", "NOT NULL");
|
||||
table_column("workshop_elements", "weight", "weight", "INTEGER", "4", "UNSIGNED", "11", "NOT NULL");
|
||||
table_column("workshop_submissions", "", "nassessments", "INTEGER", "10", "", "0", "NOT NULL");
|
||||
execute_sql("ALTER TABLE {$CFG->prefix}workshop_submissions DROP COLUMN teachergrade");
|
||||
execute_sql("ALTER TABLE {$CFG->prefix}workshop_submissions DROP COLUMN peergrade");
|
||||
@ -170,6 +170,26 @@ function workshop_upgrade($oldversion) {
|
||||
modify_database('','CREATE INDEX prefix_workshop_submissions_mailed_idx ON prefix_workshop_submissions (mailed);');
|
||||
}
|
||||
|
||||
if ($oldversion < 2004120402) {
|
||||
table_column('workshop', '', 'submissionstart', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'maxbytes');
|
||||
table_column('workshop', '', 'assessmentstart', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'submissionstart');
|
||||
table_column('workshop', 'deadline', 'submissionend', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'assessmentstart');
|
||||
table_column('workshop', '', 'assessmentend', 'INTEGER', '10', 'UNSIGNED', '0', 'NOT NULL', 'submissionend');
|
||||
|
||||
$workshops = get_records('workshop');
|
||||
foreach ($workshops as $workshop) {
|
||||
$early = (time() < $workshop->submissionend) ? 0 : $workshop->submissionend;
|
||||
$late = (time() > $workshop->submissionend) ? 0 : $workshop->submissionend;
|
||||
set_field('workshop', 'submissionstart', ($workshop->phase > 1) ? $early : $late, 'id', $workshop->id);
|
||||
set_field('workshop', 'assessmentstart', ($workshop->phase > 2) ? $early : $late, 'id', $workshop->id);
|
||||
set_field('workshop', 'submissionend', ($workshop->phase > 3) ? $early : $late, 'id', $workshop->id);
|
||||
set_field('workshop', 'assessmentend', ($workshop->phase > 4) ? $early : $late, 'id', $workshop->id);
|
||||
}
|
||||
execute_sql('ALTER TABLE '. $CFG->prefix .'workshop DROP COLUMN phase');
|
||||
|
||||
execute_sql("UPDATE {$CFG->prefix}event SET eventtype = 'submissionend' WHERE eventtype = 'deadline' AND modulename = 'workshop'", false);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
@ -19,7 +19,10 @@ CREATE TABLE prefix_workshop (
|
||||
anonymous INT2 NOT NULL default '0',
|
||||
includeself INT2 NOT NULL default '0',
|
||||
maxbytes INT8 NOT NULL default '100000',
|
||||
deadline INT8 NOT NULL default '0',
|
||||
submissionstart INT8 NOT NULL default '0',
|
||||
assessmentstart INT8 NOT NULL default '0',
|
||||
submissionend INT8 NOT NULL default '0',
|
||||
assessmentend INT8 NOT NULL default '0',
|
||||
releasegrades INT8 NOT NULL "0",
|
||||
grade INT8 NOT NULL default '0',
|
||||
gradinggrade INT4 NOT NULL default '0',
|
||||
|
@ -48,35 +48,24 @@
|
||||
|
||||
foreach ($workshops as $workshop) {
|
||||
if (isteacher($course->id, $USER->id)) { // teacher see info (students see grade)
|
||||
switch ($workshop->phase) {
|
||||
case 0:
|
||||
case 1: $info = get_string("phase1short", "workshop");
|
||||
break;
|
||||
case 2: $info = get_string("phase2short", "workshop");
|
||||
break;
|
||||
case 3: $info = get_string("phase3short", "workshop");
|
||||
break;
|
||||
case 4: $info = get_string("phase4short", "workshop");
|
||||
break;
|
||||
case 5: $info = get_string("phase5short", "workshop");
|
||||
break;
|
||||
}
|
||||
if ($workshop->phase > 1) {
|
||||
$info = workshop_phase($workshop, 'short');
|
||||
if (time() > $workshop->submissionstart) {
|
||||
if ($num = workshop_count_student_submissions_for_assessment($workshop, $USER)) {
|
||||
$info .= " [".get_string("unassessed", "workshop", $num)."]";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$due = userdate($workshop->submissionend);
|
||||
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
|
||||
foreach ($submissions as $submission) {
|
||||
if ($submission->timecreated <= $workshop->deadline) {
|
||||
if ($submission->timecreated <= $workshop->submissionend) {
|
||||
$submitted = userdate($submission->timecreated);
|
||||
}
|
||||
else {
|
||||
$submitted = "<font color=\"red\">".userdate($submission->timecreated)."</font>";
|
||||
}
|
||||
$due = userdate($workshop->deadline);
|
||||
if (!$workshop->visible) {
|
||||
//Show dimmed if the mod is hidden
|
||||
$link = "<a class=\"dimmed\" href=\"view.php?id=$workshop->coursemodule\">$workshop->name</a><br />";
|
||||
@ -119,7 +108,6 @@
|
||||
}
|
||||
else { // no submission
|
||||
$submitted = get_string("no");
|
||||
$due = userdate($workshop->deadline);
|
||||
if (!$workshop->visible) {
|
||||
//Show dimmed if the mod is hidden
|
||||
$link = "<a class=\"dimmed\" href=\"view.php?id=$workshop->coursemodule\">$workshop->name</a>";
|
||||
|
@ -65,6 +65,7 @@ $WORKSHOP_ASSESSMENT_COMPS = array (
|
||||
|
||||
/*** Standard Moodle functions ******************
|
||||
workshop_add_instance($workshop)
|
||||
workshop_check_dates($workshop)
|
||||
workshop_cron ()
|
||||
workshop_delete_instance($id)
|
||||
workshop_grades($workshopid)
|
||||
@ -83,35 +84,74 @@ function workshop_add_instance($workshop) {
|
||||
// of the new instance.
|
||||
|
||||
$workshop->timemodified = time();
|
||||
|
||||
$workshop->deadline = make_timestamp($workshop->deadlineyear,
|
||||
$workshop->deadlinemonth, $workshop->deadlineday, $workshop->deadlinehour,
|
||||
$workshop->deadlineminute);
|
||||
|
||||
$workshop->submissionstart = make_timestamp($workshop->submissionstartyear,
|
||||
$workshop->submissionstartmonth, $workshop->submissionstartday, $workshop->submissionstarthour,
|
||||
$workshop->submissionstartminute);
|
||||
|
||||
$workshop->assessmentstart = make_timestamp($workshop->assessmentstartyear,
|
||||
$workshop->assessmentstartmonth, $workshop->assessmentstartday, $workshop->assessmentstarthour,
|
||||
$workshop->assessmentstartminute);
|
||||
|
||||
$workshop->submissionend = make_timestamp($workshop->submissionendyear,
|
||||
$workshop->submissionendmonth, $workshop->submissionendday, $workshop->submissionendhour,
|
||||
$workshop->submissionendminute);
|
||||
|
||||
$workshop->assessmentend = make_timestamp($workshop->assessmentendyear,
|
||||
$workshop->assessmentendmonth, $workshop->assessmentendday, $workshop->assessmentendhour,
|
||||
$workshop->assessmentendminute);
|
||||
|
||||
$workshop->releasegrades = make_timestamp($workshop->releaseyear,
|
||||
$workshop->releasemonth, $workshop->releaseday, $workshop->releasehour,
|
||||
$workshop->releaseminute);
|
||||
|
||||
if (!workshop_check_dates($workshop)) {
|
||||
return get_string('invaliddates', 'workshop');
|
||||
}
|
||||
|
||||
if ($returnid = insert_record("workshop", $workshop)) {
|
||||
|
||||
$event = NULL;
|
||||
$event->name = $workshop->name;
|
||||
$event->name = get_string('submissionstartevent','workshop', $workshop->name);
|
||||
$event->description = $workshop->description;
|
||||
$event->courseid = $workshop->course;
|
||||
$event->groupid = 0;
|
||||
$event->userid = 0;
|
||||
$event->modulename = 'workshop';
|
||||
$event->instance = $returnid;
|
||||
$event->eventtype = 'deadline';
|
||||
$event->timestart = $workshop->deadline;
|
||||
$event->eventtype = 'submissionstart';
|
||||
$event->timestart = $workshop->submissionstart;
|
||||
$event->timeduration = 0;
|
||||
add_event($event);
|
||||
|
||||
$event->name = get_string('submissionendevent','workshop', $workshop->name);
|
||||
$event->eventtype = 'submissionend';
|
||||
$event->timestart = $workshop->submissionend;
|
||||
add_event($event);
|
||||
|
||||
$event->name = get_string('assessmentstartevent','workshop', $workshop->name);
|
||||
$event->eventtype = 'assessmentstart';
|
||||
$event->timestart = $workshop->assessmentstart;
|
||||
add_event($event);
|
||||
|
||||
$event->name = get_string('assessmentendevent','workshop', $workshop->name);
|
||||
$event->eventtype = 'assessmentend';
|
||||
$event->timestart = $workshop->assessmentend;
|
||||
add_event($event);
|
||||
}
|
||||
|
||||
return $returnid;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// returns true if the dates are valid, false otherwise
|
||||
function workshop_check_dates($workshop) {
|
||||
return ($workshop->submissionstart < $workshop->submissionend and
|
||||
$workshop->submissionstart <= $workshop->assessmentstart and
|
||||
$workshop->assessmentstart <= $workshop->assessmentend and
|
||||
$workshop->submissionend < $workshop->assessmentend);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_cron () {
|
||||
@ -525,13 +565,13 @@ function workshop_delete_instance($id) {
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_grades($workshopid) {
|
||||
/// Must return an array of grades, indexed by user, and a max grade.
|
||||
/// only returns grades in phase 2 or greater
|
||||
/// only returns grades once assessment has started
|
||||
/// returns nothing if workshop is not graded
|
||||
global $CFG;
|
||||
|
||||
$return = null;
|
||||
if ($workshop = get_record("workshop", "id", $workshopid)) {
|
||||
if (($workshop->phase > 1) and $workshop->gradingstrategy) {
|
||||
if (($workshop->assessmentstart < time()) and $workshop->gradingstrategy) {
|
||||
if ($students = get_course_students($workshop->course)) {
|
||||
foreach ($students as $student) {
|
||||
if ($workshop->wtype) {
|
||||
@ -809,26 +849,37 @@ function workshop_refresh_events($courseid = 0) {
|
||||
$moduleid = get_field('modules', 'id', 'name', 'workshop');
|
||||
|
||||
foreach ($workshops as $workshop) {
|
||||
$event = NULL;
|
||||
$event->name = addslashes($workshop->name);
|
||||
$event->description = addslashes($workshop->description);
|
||||
$event->timestart = $workshop->deadline;
|
||||
|
||||
if ($event->id = get_field('event', 'id', 'modulename', 'workshop', 'instance', $workshop->id)) {
|
||||
update_event($event);
|
||||
|
||||
} else {
|
||||
$event->courseid = $workshop->course;
|
||||
$event->groupid = 0;
|
||||
$event->userid = 0;
|
||||
$event->modulename = 'workshop';
|
||||
$event->instance = $workshop->id;
|
||||
$event->eventtype = 'deadline';
|
||||
$event->timeduration = 0;
|
||||
$event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $workshop->id);
|
||||
add_event($event);
|
||||
$dates = array(
|
||||
'submissionstart' => $workshop->submissionstart,
|
||||
'submissionend' => $workshop->submissionend,
|
||||
'assessmentstart' => $workshop->assessmentstart,
|
||||
'assessmentend' => $workshop->assessmentend
|
||||
);
|
||||
|
||||
foreach ($dates as $type => $date) {
|
||||
|
||||
if ($date) {
|
||||
if ($event = get_record('event', 'modulename', 'workshop', 'instance', $workshop->id, 'eventtype', $type)) {
|
||||
$event->name = addslashes(get_string($type.'event','workshop', $workshop->name));
|
||||
$event->description = addslashes($workshop->description);
|
||||
$event->eventtype = $type;
|
||||
$event->timestart = $date;
|
||||
update_event($event);
|
||||
} else {
|
||||
$event->courseid = $workshop->course;
|
||||
$event->modulename = 'workshop';
|
||||
$event->instance = $workshop->id;
|
||||
$event->name = addslashes(get_string($type.'event','workshop', $workshop->name));
|
||||
$event->description = addslashes($workshop->description);
|
||||
$event->eventtype = $type;
|
||||
$event->timestart = $date;
|
||||
$event->timeduration = 0;
|
||||
$event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $workshop->id);
|
||||
add_event($event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -842,13 +893,29 @@ function workshop_update_instance($workshop) {
|
||||
|
||||
$workshop->timemodified = time();
|
||||
|
||||
$workshop->deadline = make_timestamp($workshop->deadlineyear,
|
||||
$workshop->deadlinemonth, $workshop->deadlineday, $workshop->deadlinehour,
|
||||
$workshop->deadlineminute);
|
||||
$workshop->submissionstart = make_timestamp($workshop->submissionstartyear,
|
||||
$workshop->submissionstartmonth, $workshop->submissionstartday, $workshop->submissionstarthour,
|
||||
$workshop->submissionstartminute);
|
||||
|
||||
$workshop->assessmentstart = make_timestamp($workshop->assessmentstartyear,
|
||||
$workshop->assessmentstartmonth, $workshop->assessmentstartday, $workshop->assessmentstarthour,
|
||||
$workshop->assessmentstartminute);
|
||||
|
||||
$workshop->submissionend = make_timestamp($workshop->submissionendyear,
|
||||
$workshop->submissionendmonth, $workshop->submissionendday, $workshop->submissionendhour,
|
||||
$workshop->submissionendminute);
|
||||
|
||||
$workshop->assessmentend = make_timestamp($workshop->assessmentendyear,
|
||||
$workshop->assessmentendmonth, $workshop->assessmentendday, $workshop->assessmentendhour,
|
||||
$workshop->assessmentendminute);
|
||||
|
||||
$workshop->releasegrades = make_timestamp($workshop->releaseyear,
|
||||
$workshop->releasemonth, $workshop->releaseday, $workshop->releasehour,
|
||||
$workshop->releaseminute);
|
||||
|
||||
if (!workshop_check_dates($workshop)) {
|
||||
return get_string('invaliddates', 'workshop');
|
||||
}
|
||||
|
||||
// set the workshop's type
|
||||
$wtype = 0; // 3 phases, no grading grades
|
||||
@ -858,31 +925,51 @@ function workshop_update_instance($workshop) {
|
||||
|
||||
// encode password if necessary
|
||||
if (!empty($workshop->password)) {
|
||||
$workshop->password = md5($workshop->password);
|
||||
} else {
|
||||
unset($workshop->password);
|
||||
}
|
||||
$workshop->password = md5($workshop->password);
|
||||
} else {
|
||||
unset($workshop->password);
|
||||
}
|
||||
|
||||
$workshop->id = $workshop->instance;
|
||||
|
||||
if ($returnid = update_record("workshop", $workshop)) {
|
||||
|
||||
$event = NULL;
|
||||
|
||||
if ($event->id = get_field('event', 'id', 'modulename', 'workshop', 'instance', $workshop->id)) {
|
||||
|
||||
$event->name = $workshop->name;
|
||||
$event->description = $workshop->description;
|
||||
$event->timestart = $workshop->deadline;
|
||||
|
||||
update_event($event);
|
||||
$dates = array(
|
||||
'submissionstart' => $workshop->submissionstart,
|
||||
'submissionend' => $workshop->submissionend,
|
||||
'assessmentstart' => $workshop->assessmentstart,
|
||||
'assessmentend' => $workshop->assessmentend
|
||||
);
|
||||
$moduleid = get_field('modules', 'id', 'name', 'workshop');
|
||||
|
||||
foreach ($dates as $type => $date) {
|
||||
if ($event = get_record('event', 'modulename', 'workshop', 'instance', $workshop->id, 'eventtype', $type)) {
|
||||
$event->name = get_string($type.'event','workshop', $workshop->name);
|
||||
$event->description = $workshop->description;
|
||||
$event->eventtype = $type;
|
||||
$event->timestart = $date;
|
||||
update_event($event);
|
||||
} else if ($date) {
|
||||
$event = NULL;
|
||||
$event->name = get_string($type.'event','workshop', $workshop->name);
|
||||
$event->description = $workshop->description;
|
||||
$event->courseid = $workshop->course;
|
||||
$event->groupid = 0;
|
||||
$event->userid = 0;
|
||||
$event->modulename = 'workshop';
|
||||
$event->instance = $workshop->instance;
|
||||
$event->eventtype = $type;
|
||||
$event->timestart = $date;
|
||||
$event->timeduration = 0;
|
||||
$event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $workshop->id);
|
||||
add_event($event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $returnid;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_user_complete($course, $user, $mod, $workshop) {
|
||||
if ($submission = workshop_get_student_submission($workshop, $user)) {
|
||||
|
@ -67,6 +67,7 @@ workshop_list_unassessed_teacher_submissions($workshop, $user) {
|
||||
workshop_list_ungraded_assessments($workshop, $stype) {
|
||||
workshop_list_user_submissions($workshop, $user) {
|
||||
|
||||
workshop_calculate_phase($workshop, $style='') {
|
||||
|
||||
workshop_print_assessment($workshop, $assessment, $allowchanges, $showcommentlinks, $returnto)
|
||||
workshop_print_assessments_by_user_for_admin($workshop, $user) {
|
||||
@ -77,7 +78,6 @@ workshop_print_feedback($course, $submission) {
|
||||
workshop_print_league_table($workshop) {
|
||||
workshop_print_submission_assessments($workshop, $submission, $type) {
|
||||
workshop_print_submission_title($workshop, $user) {
|
||||
workshop_print_tabbed_table($table) {
|
||||
workshop_print_time_to_deadline($time) {
|
||||
workshop_print_upload_form($workshop) {
|
||||
workshop_print_user_assessments($workshop, $user) {
|
||||
@ -959,6 +959,7 @@ function workshop_list_assessed_submissions($workshop, $user) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_list_peer_assessments($workshop, $user) {
|
||||
global $CFG;
|
||||
@ -1791,9 +1792,8 @@ function workshop_list_user_submissions($workshop, $user) {
|
||||
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $user)) {
|
||||
foreach ($submissions as $submission) {
|
||||
// allow user to edit or delete a submission if it's warm OR if the workshop is still in
|
||||
// the submission phase
|
||||
if (($submission->timecreated > ($timenow - $CFG->maxeditingtime)) or ($workshop->phase == 2)) {
|
||||
// allow user to edit or delete a submission if it's warm OR if assessment period has not started
|
||||
if (($submission->timecreated > ($timenow - $CFG->maxeditingtime)) or ($workshop->assessmentstart > time())) {
|
||||
$action = "<a href=\"submissions.php?action=editsubmission&id=$cm->id&sid=$submission->id\">".
|
||||
get_string("edit", "workshop")."</a> | ".
|
||||
"<a href=\"submissions.php?action=userconfirmdelete&id=$cm->id&sid=$submission->id\">".
|
||||
@ -1816,6 +1816,33 @@ function workshop_list_user_submissions($workshop, $user) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_phase($workshop, $style='') {
|
||||
$time = time();
|
||||
if ($time < $workshop->submissionstart) {
|
||||
return get_string('phase1'.$style, 'workshop');
|
||||
}
|
||||
else if ($time < $workshop->submissionend) {
|
||||
if ($time < $workshop->assessmentstart) {
|
||||
return get_string('phase2'.$style, 'workshop');
|
||||
} else {
|
||||
return get_string('phase3'.$style, 'workshop');
|
||||
}
|
||||
}
|
||||
else if ($time < $workshop->assessmentstart) {
|
||||
return get_string('phase0'.$style, 'workshop');
|
||||
}
|
||||
else if ($time < $workshop->assessmentend) {
|
||||
return get_string('phase4'.$style, 'workshop');
|
||||
}
|
||||
else {
|
||||
return get_string('phase5'.$style, 'workshop');
|
||||
}
|
||||
error('Something is wrong with the workshop dates');
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_print_assessment($workshop, $assessment = false, $allowchanges = false,
|
||||
$showcommentlinks = false, $returnto = '') {
|
||||
@ -2543,17 +2570,31 @@ function workshop_print_assignment_info($workshop) {
|
||||
error("Course Module ID was incorrect");
|
||||
}
|
||||
// print standard assignment heading
|
||||
$strdifference = format_time($workshop->deadline - time());
|
||||
if (($workshop->deadline - time()) < 0) {
|
||||
$strdifference = "<font color=\"red\">$strdifference</font>";
|
||||
}
|
||||
$strduedate = userdate($workshop->deadline)." ($strdifference)";
|
||||
print_simple_box_start("center");
|
||||
print_heading($workshop->name, "center");
|
||||
print_simple_box_start("center");
|
||||
echo "<b>".get_string("duedate", "assignment")."</b>: $strduedate<br />";
|
||||
|
||||
// print phase and date info
|
||||
$string = '<b>'.get_string('currentphase', 'workshop').'</b>: '.workshop_phase($workshop).'<br />';
|
||||
$dates = array(
|
||||
'submissionstart' => $workshop->submissionstart,
|
||||
'submissionend' => $workshop->submissionend,
|
||||
'assessmentstart' => $workshop->assessmentstart,
|
||||
'assessmentend' => $workshop->assessmentend
|
||||
);
|
||||
foreach ($dates as $type => $date) {
|
||||
if ($date) {
|
||||
$strdifference = format_time($date - time());
|
||||
if (($date - time()) < 0) {
|
||||
$strdifference = "<font color=\"red\">$strdifference</font>";
|
||||
}
|
||||
$string .= '<b>'.get_string($type, 'workshop').'</b>: '.userdate($date)." ($strdifference)<br />";
|
||||
}
|
||||
}
|
||||
echo $string;
|
||||
|
||||
$grade = $workshop->gradinggrade + $workshop->grade;
|
||||
echo "<b>".get_string("maximumgrade")."</b>: $grade<br />";
|
||||
echo "<br /><b>".get_string("maximumgrade")."</b>: $grade<br />";
|
||||
echo "<b>".get_string("detailsofassessment", "workshop")."</b>:
|
||||
<a href=\"assessments.php?id=$cm->id&action=displaygradingform\">".
|
||||
get_string("specimenassessmentform", "workshop")."</a><br />";
|
||||
@ -2836,90 +2877,6 @@ function workshop_print_submission_title($workshop, $submission) {
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
function workshop_print_tabbed_heading($tabs) {
|
||||
// Prints a tabbed heading where one of the tabs highlighted.
|
||||
// $tabs is an object with several properties.
|
||||
// $tabs->names is an array of tab names
|
||||
// $tabs->urls is an array of links
|
||||
// $tabs->align is an array of column alignments (defaults to "center")
|
||||
// $tabs->size is an array of column sizes
|
||||
// $tabs->wrap is an array of "nowrap"s or nothing
|
||||
// $tabs->highlight is an index (zero based) of "active" heading .
|
||||
// $tabs->width is an percentage of the page (defualts to 80%)
|
||||
// $tabs->cellpadding padding on each cell (defaults to 5)
|
||||
|
||||
global $CFG, $THEME;
|
||||
|
||||
if (isset($tabs->names)) {
|
||||
foreach ($tabs->names as $key => $name) {
|
||||
if (!empty($tabs->urls[$key])) {
|
||||
$url =$tabs->urls[$key];
|
||||
if ($tabs->highlight == $key) {
|
||||
$tabcontents[$key] = "<b>$name</b>";
|
||||
} else {
|
||||
$tabcontents[$key] = "<a class= \"dimmed\" href=\"$url\"><b>$name</b></a>";
|
||||
}
|
||||
} else {
|
||||
$tabcontents[$key] = "<b>$name</b>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($tabs->width)) {
|
||||
$tabs->width = "80%";
|
||||
}
|
||||
|
||||
if (empty($tabs->cellpadding)) {
|
||||
$tabs->cellpadding = "5";
|
||||
}
|
||||
|
||||
// print_simple_box_start("center", "$table->width", "#ffffff", 0);
|
||||
echo "<table width=\"$tabs-width\" border=\"0\" align=\"center\" ";
|
||||
echo " cellpadding=\"$tabs->cellpadding\" cellspacing=\"0\" class=\"generaltable\">\n";
|
||||
|
||||
if (!empty($tabs->names)) {
|
||||
echo "<tr>";
|
||||
echo "<td class=\"generaltablecell\">".
|
||||
"<img width=\"10\" src=\"$CFG->wwwroot/pix/spacer.gif\" alt=\"\" /></td>\n";
|
||||
foreach ($tabcontents as $key => $tab) {
|
||||
if (isset($align[$key])) {
|
||||
$alignment = "align=\"$align[$key]\"";
|
||||
} else {
|
||||
$alignment = "align=\"center\"";
|
||||
}
|
||||
if (isset($size[$key])) {
|
||||
$width = "width=\"$size[$key]\"";
|
||||
} else {
|
||||
$width = "";
|
||||
}
|
||||
if (isset($wrap[$key])) {
|
||||
$wrapping = "no wrap";
|
||||
} else {
|
||||
$wrapping = "";
|
||||
}
|
||||
if ($key == $tabs->highlight) {
|
||||
echo "<td valign=\"top\" class=\"generaltabselected\" $alignment $width $wrapping bgcolor=\"$THEME->cellheading2\">$tab</td>\n";
|
||||
} else {
|
||||
echo "<td valign=\"top\" class=\"generaltab\" $alignment $width $wrapping bgcolor=\"$THEME->cellheading\">$tab</td>\n";
|
||||
}
|
||||
echo "<td class=\"generaltablecell\">".
|
||||
"<img width=\"10\" src=\"$CFG->wwwroot/pix/spacer.gif\" alt=\"\" /></td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
} else {
|
||||
echo "<tr><td>No names specified</td></tr>\n";
|
||||
}
|
||||
// bottom stripe
|
||||
$ncells = count($tabs->names)*2 +1;
|
||||
$height = 2;
|
||||
echo "<tr><td colspan=\"$ncells\" bgcolor=\"$THEME->cellheading2\">".
|
||||
"<img height=\"$height\" src=\"$CFG->wwwroot/pix/spacer.gif\" alt=\"\" /></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
// print_simple_box_end();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function workshop_print_time_to_deadline($time) {
|
||||
if ($time < 0) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
require("$CFG->dirroot/mod/workshop/lib.php"); // for parameter arrays
|
||||
require_once("$CFG->dirroot/mod/workshop/lib.php"); // for parameter arrays
|
||||
// ...and fill the form if needed
|
||||
if (empty($form->name)) {
|
||||
$form->name = "";
|
||||
@ -17,8 +17,8 @@
|
||||
$form->grade = 100;
|
||||
}
|
||||
if (!isset($form->gradingstrategy)) {
|
||||
$form->gradingstrategy = 1; // default is accumulative
|
||||
}
|
||||
$form->gradingstrategy = 1; // default is accumulative
|
||||
}
|
||||
if (!isset($form->nelements)) {
|
||||
$form->nelements = 1;
|
||||
}
|
||||
@ -64,8 +64,20 @@
|
||||
if (empty($form->maxbytes)) {
|
||||
$form->maxbytes = "";
|
||||
}
|
||||
if (empty($form->deadline)) {
|
||||
$form->deadline = "";
|
||||
if (empty($form->submissionstart)) {
|
||||
$form->submissionstart = time();
|
||||
}
|
||||
if (empty($form->assessmentstart)) {
|
||||
$form->assessmentstart = time();
|
||||
}
|
||||
if (empty($form->submissionend)) {
|
||||
$form->submissionend = time();
|
||||
}
|
||||
if (empty($form->assessmentend)) {
|
||||
$form->assessmentend = time();
|
||||
}
|
||||
if (empty($form->releasegrades)) {
|
||||
$form->releasegrades = time();
|
||||
}
|
||||
?>
|
||||
|
||||
@ -143,7 +155,7 @@
|
||||
<td align="right"><b><?php print_string("gradingstrategy", "workshop") ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
choose_from_menu($WORKSHOP_TYPE, "gradingstrategy", $form->gradingstrategy, "");
|
||||
choose_from_menu($WORKSHOP_TYPE, "gradingstrategy", $form->gradingstrategy, "");
|
||||
helpbutton("gradingstrategy", get_string("gradingstrategy", "workshop"), "workshop");
|
||||
?>
|
||||
</td>
|
||||
@ -190,14 +202,14 @@
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("numberofassessmentsofteachersexamples", "workshop") ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
<?php
|
||||
unset($numbers);
|
||||
for ($i=20; $i>=0; $i--) {
|
||||
$numbers[$i] = $i;
|
||||
}
|
||||
choose_from_menu($numbers, "ntassessments", $form->ntassessments, "");
|
||||
for ($i=20; $i>=0; $i--) {
|
||||
$numbers[$i] = $i;
|
||||
}
|
||||
choose_from_menu($numbers, "ntassessments", $form->ntassessments, "");
|
||||
helpbutton("nassessmentsofteachersexamples", get_string("numberofassessmentsofteachersexamples", "workshop"), "workshop");
|
||||
?>
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -205,10 +217,10 @@
|
||||
<td align="right"><b><?php print_string("comparisonofassessments", "workshop") ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
// set up comparison names
|
||||
// set up comparison names
|
||||
foreach ($WORKSHOP_ASSESSMENT_COMPS as $KEY => $COMPARISON) {
|
||||
$COMPARISONS[] = $COMPARISON['name'];
|
||||
}
|
||||
}
|
||||
choose_from_menu($COMPARISONS, "assessmentcomps", $form->assessmentcomps, "");
|
||||
helpbutton("comparisonofassessments", get_string("comparisonofassessments", "workshop"), "workshop");
|
||||
?>
|
||||
@ -218,28 +230,28 @@
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("numberofassessmentsofstudentsubmissions", "workshop") ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
<?php
|
||||
unset($numbers);
|
||||
for ($i=20; $i>=0; $i--) {
|
||||
$numbers[$i] = $i;
|
||||
}
|
||||
choose_from_menu($numbers, "nsassessments", $form->nsassessments, "");
|
||||
for ($i=20; $i>=0; $i--) {
|
||||
$numbers[$i] = $i;
|
||||
}
|
||||
choose_from_menu($numbers, "nsassessments", $form->nsassessments, "");
|
||||
helpbutton("nassessmentsofstudentsubmissions", get_string("numberofassessmentsofstudentsubmissions", "workshop"), "workshop");
|
||||
?>
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("weightforteacherassessments", "workshop") ?>:</b></td>
|
||||
<td>
|
||||
<?php
|
||||
<?php
|
||||
unset($numbers);
|
||||
for ($i=10; $i>=0; $i--) {
|
||||
$numbers[$i] = $i;
|
||||
}
|
||||
choose_from_menu($numbers, "teacherweight", $form->teacherweight, "");
|
||||
for ($i=10; $i>=0; $i--) {
|
||||
$numbers[$i] = $i;
|
||||
}
|
||||
choose_from_menu($numbers, "teacherweight", $form->teacherweight, "");
|
||||
helpbutton("teacherweight", get_string("weightforteacherassessments", "workshop"), "workshop");
|
||||
?>
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -319,7 +331,7 @@
|
||||
<td>
|
||||
<?php
|
||||
$options[0] = get_string("no"); $options[1] = get_string("yes");
|
||||
choose_from_menu($options, "usepassword", $form->usepassword, "");
|
||||
choose_from_menu($options, "usepassword", $form->usepassword, "");
|
||||
helpbutton("usepassword", get_string("usepassword", "workshop"), "workshop");
|
||||
?>
|
||||
</td>
|
||||
@ -329,7 +341,7 @@
|
||||
<td align="right"><b><?php print_string("password"); ?>:</b></td>
|
||||
<td>
|
||||
<input type="text" name="password" size="10" value="" alt="<?php print_string("password"); ?>" /> <?php echo " (".get_string("leavetokeep").")"; ?>
|
||||
<?php helpbutton("password", get_string("password"), "workshop"); ?>
|
||||
<?php helpbutton("password", get_string("password"), "workshop"); ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -360,14 +372,44 @@
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("deadline", "workshop") ?>:</b></td>
|
||||
<td align="right"><b><?php print_string("submissionstart", "workshop") ?>:</b></td>
|
||||
<td><?php
|
||||
print_date_selector("deadlineday", "deadlinemonth", "deadlineyear", $form->deadline);
|
||||
echo " - ";
|
||||
print_time_selector("deadlinehour", "deadlineminute", $form->deadline);
|
||||
print_date_selector("submissionstartday", "submissionstartmonth", "submissionstartyear", $form->submissionstart);
|
||||
echo " - ";
|
||||
print_time_selector("submissionstarthour", "submissionstartminute", $form->submissionstart);
|
||||
helpbutton("submissionstart", get_string("submissionstart", "workshop"), "workshop");
|
||||
?></td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("assessmentstart", "workshop") ?>:</b></td>
|
||||
<td><?php
|
||||
print_date_selector("assessmentstartday", "assessmentstartmonth", "assessmentstartyear", $form->assessmentstart);
|
||||
echo " - ";
|
||||
print_time_selector("assessmentstarthour", "assessmentstartminute", $form->assessmentstart);
|
||||
helpbutton("assessmentstart", get_string("assessmentstart", "workshop"), "workshop");
|
||||
?></td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("submissionend", "workshop") ?>:</b></td>
|
||||
<td><?php
|
||||
print_date_selector("submissionendday", "submissionendmonth", "submissionendyear", $form->submissionend);
|
||||
echo " - ";
|
||||
print_time_selector("submissionendhour", "submissionendminute", $form->submissionend);
|
||||
helpbutton("submissionend", get_string("submissionend", "workshop"), "workshop");
|
||||
?></td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("assessmentend", "workshop") ?>:</b></td>
|
||||
<td><?php
|
||||
print_date_selector("assessmentendday", "assessmentendmonth", "assessmentendyear", $form->assessmentend);
|
||||
echo " - ";
|
||||
print_time_selector("assessmentendhour", "assessmentendminute", $form->assessmentend);
|
||||
helpbutton("assessmentend", get_string("assessmentend", "workshop"), "workshop");
|
||||
?></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right"><b><?php print_string("releaseteachergrades", "workshop") ?>:</b></td>
|
||||
<td><?php
|
||||
|
@ -68,7 +68,10 @@
|
||||
$workshop->anonymous = backup_todb($info['MOD']['#']['ANONYMOUS']['0']['#']);
|
||||
$workshop->includeself = backup_todb($info['MOD']['#']['INCLUDESELF']['0']['#']);
|
||||
$workshop->maxbytes = backup_todb($info['MOD']['#']['MAXBYTES']['0']['#']);
|
||||
$workshop->deadline = backup_todb($info['MOD']['#']['DEADLINE']['0']['#']);
|
||||
$workshop->submissionstart = backup_todb($info['MOD']['#']['SUBMISSIONSTART']['0']['#']);
|
||||
$workshop->assessmentstart = backup_todb($info['MOD']['#']['ASSESSMENTSTART']['0']['#']);
|
||||
$workshop->submissionend = backup_todb($info['MOD']['#']['SUBMISSIONEND']['0']['#']);
|
||||
$workshop->assessmentend = backup_todb($info['MOD']['#']['ASSESSMENTEND']['0']['#']);
|
||||
$workshop->releasegrades = backup_todb($info['MOD']['#']['RELEASEGRADES']['0']['#']);
|
||||
$workshop->grade = backup_todb($info['MOD']['#']['GRADE']['0']['#']);
|
||||
$workshop->gradinggrade = backup_todb($info['MOD']['#']['GRADINGGRADE']['0']['#']);
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
dminamendtitle
|
||||
adminconfirmdelete
|
||||
admindelete
|
||||
adminlist
|
||||
admindelete
|
||||
adminlist
|
||||
displayfinalgrades (teachers only)
|
||||
editsubmission
|
||||
listallsubmissions
|
||||
@ -24,7 +24,7 @@
|
||||
require("lib.php");
|
||||
require("locallib.php");
|
||||
|
||||
require_variable($id); // Course Module ID
|
||||
require_variable($id); // Course Module ID
|
||||
|
||||
// get some useful stuff...
|
||||
if (! $cm = get_record("course_modules", "id", $id)) {
|
||||
@ -232,41 +232,41 @@
|
||||
}
|
||||
|
||||
|
||||
/*************** display final grades (by teacher) ***************************/
|
||||
elseif ($action == 'displayfinalgrades') {
|
||||
/*************** display final grades (by teacher) ***************************/
|
||||
elseif ($action == 'displayfinalgrades') {
|
||||
|
||||
if (groupmode($course, $cm) == SEPARATEGROUPS) {
|
||||
$groupid = get_current_group($course->id);
|
||||
} else {
|
||||
$groupid = 0;
|
||||
}
|
||||
// Get all the students
|
||||
if (!$users = get_course_students($course->id, "u.lastname, u.firstname")) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
|
||||
// show the final grades as stored in the tables...
|
||||
print_heading_with_help(get_string("displayoffinalgrades", "workshop"), "finalgrades", "workshop");
|
||||
echo "<center><table border=\"1\" width=\"90%\"><tr>
|
||||
<td bgcolor=\"$THEME->cellheading2\"><b>".$course->student."</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
// Get all the students
|
||||
if (!$users = get_course_students($course->id, "u.lastname, u.firstname")) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
|
||||
// show the final grades as stored in the tables...
|
||||
print_heading_with_help(get_string("displayoffinalgrades", "workshop"), "finalgrades", "workshop");
|
||||
echo "<center><table border=\"1\" width=\"90%\"><tr>
|
||||
<td bgcolor=\"$THEME->cellheading2\"><b>".$course->student."</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsdone", "workshop").
|
||||
"</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforassessments",
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforassessments",
|
||||
"workshop")."</b></td>";
|
||||
}
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
|
||||
$course->teachers)."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
if ($workshop->wtype) {
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
|
||||
$course->students)."</b></td>";
|
||||
}
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforsubmission",
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforsubmission",
|
||||
"workshop")."</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("overallgrade", "workshop").
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("overallgrade", "workshop").
|
||||
"</b></td></tr>\n";
|
||||
|
||||
foreach ($users as $user) {
|
||||
@ -276,48 +276,48 @@
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $user)) {
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $user)) {
|
||||
$gradinggrade = workshop_gradinggrade($workshop, $user);
|
||||
foreach ($submissions as $submission) {
|
||||
foreach ($submissions as $submission) {
|
||||
$grade = workshop_submission_grade($workshop, $submission);
|
||||
echo "<tr><td>$user->firstname $user->lastname</td>";
|
||||
echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
|
||||
if ($workshop->wtype) {
|
||||
echo "<tr><td>$user->firstname $user->lastname</td>";
|
||||
echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
|
||||
if ($workshop->wtype) {
|
||||
echo "<td align=\"center\">".workshop_print_user_assessments($workshop, $user)."</td>";
|
||||
echo "<td align=\"center\">$gradinggrade</td>";
|
||||
echo "<td align=\"center\">$gradinggrade</td>";
|
||||
}
|
||||
echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
|
||||
echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
|
||||
"teacher")."</td>";
|
||||
if ($workshop->wtype) {
|
||||
if ($workshop->wtype) {
|
||||
echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
|
||||
"student")."</td>";
|
||||
}
|
||||
echo "<td align=\"center\">$grade</td>";
|
||||
echo "<td align=\"center\">".number_format($gradinggrade + $grade, 1)."</td></tr>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "</table><br clear=\"all\" />\n";
|
||||
echo "<td align=\"center\">$grade</td>";
|
||||
echo "<td align=\"center\">".number_format($gradinggrade + $grade, 1)."</td></tr>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "</table><br clear=\"all\" />\n";
|
||||
workshop_print_key($workshop);
|
||||
if ($workshop->showleaguetable) {
|
||||
workshop_print_league_table($workshop);
|
||||
if ($workshop->anonymous) {
|
||||
echo "<p>".get_string("namesnotshowntostudents", "workshop", $course->students)."</p>\n";
|
||||
}
|
||||
}
|
||||
print_continue("view.php?id=$cm->id");
|
||||
}
|
||||
if ($workshop->showleaguetable) {
|
||||
workshop_print_league_table($workshop);
|
||||
if ($workshop->anonymous) {
|
||||
echo "<p>".get_string("namesnotshowntostudents", "workshop", $course->students)."</p>\n";
|
||||
}
|
||||
}
|
||||
print_continue("view.php?id=$cm->id");
|
||||
}
|
||||
|
||||
|
||||
/*************** display current grades (by teacher) ***************************/
|
||||
elseif ($action == 'displaycurrentgrades') {
|
||||
/*************** display current grades (by teacher) ***************************/
|
||||
elseif ($action == 'displaycurrentgrades') {
|
||||
|
||||
if (groupmode($course, $cm) == SEPARATEGROUPS) {
|
||||
$groupid = get_current_group($course->id);
|
||||
} else {
|
||||
$groupid = 0;
|
||||
}
|
||||
print_heading_with_help(get_string("displayofcurrentgrades", "workshop"), "finalgrades", "workshop");
|
||||
print_heading_with_help(get_string("displayofcurrentgrades", "workshop"), "finalgrades", "workshop");
|
||||
|
||||
if ($workshop->ntassessments) {
|
||||
// display the teacher's submissions
|
||||
@ -341,32 +341,32 @@
|
||||
workshop_print_key($workshop);
|
||||
}
|
||||
|
||||
// Get all the students
|
||||
if (!$users = get_course_students($course->id, "u.lastname, u.firstname")) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
|
||||
// show the current grades as stored in the tables...
|
||||
echo "<center><table border=\"1\" width=\"90%\"><tr>
|
||||
<td bgcolor=\"$THEME->cellheading2\"><b>".$course->student."</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
// Get all the students
|
||||
if (!$users = get_course_students($course->id, "u.lastname, u.firstname")) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
|
||||
// show the current grades as stored in the tables...
|
||||
echo "<center><table border=\"1\" width=\"90%\"><tr>
|
||||
<td bgcolor=\"$THEME->cellheading2\"><b>".$course->student."</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\"><b>".get_string("submission", "workshop")."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsdone", "workshop").
|
||||
"</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforassessments",
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforassessments",
|
||||
"workshop")."</b></td>";
|
||||
}
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
|
||||
$course->teachers)."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
if ($workshop->wtype) {
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("assessmentsby", "workshop",
|
||||
$course->students)."</b></td>";
|
||||
}
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforsubmission",
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("gradeforsubmission",
|
||||
"workshop")."</b></td>";
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("overallgrade", "workshop").
|
||||
echo "<td bgcolor=\"$THEME->cellheading2\" align=\"center\"><b>".get_string("overallgrade", "workshop").
|
||||
"</b></td></tr>\n";
|
||||
|
||||
foreach ($users as $user) {
|
||||
@ -376,31 +376,31 @@
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $user)) {
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $user)) {
|
||||
$gradinggrade = workshop_gradinggrade($workshop, $user);
|
||||
foreach ($submissions as $submission) {
|
||||
foreach ($submissions as $submission) {
|
||||
$grade = workshop_submission_grade($workshop, $submission);
|
||||
echo "<tr><td>$user->firstname $user->lastname</td>";
|
||||
echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
|
||||
if ($workshop->wtype) {
|
||||
echo "<tr><td>$user->firstname $user->lastname</td>";
|
||||
echo "<td>".workshop_print_submission_title($workshop, $submission)."</td>\n";
|
||||
if ($workshop->wtype) {
|
||||
echo "<td align=\"center\">".workshop_print_user_assessments($workshop, $user)."</td>";
|
||||
echo "<td align=\"center\">$gradinggrade</td>";
|
||||
echo "<td align=\"center\">$gradinggrade</td>";
|
||||
}
|
||||
echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
|
||||
echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
|
||||
"teacher")."</td>";
|
||||
if ($workshop->wtype) {
|
||||
if ($workshop->wtype) {
|
||||
echo "<td align=\"center\">".workshop_print_submission_assessments($workshop, $submission,
|
||||
"student")."</td>";
|
||||
}
|
||||
echo "<td align=\"center\">$grade</td>";
|
||||
echo "<td align=\"center\">".number_format($gradinggrade + $grade, 1)."</td></tr>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "</table><br clear=\"all\" />\n";
|
||||
echo "<td align=\"center\">$grade</td>";
|
||||
echo "<td align=\"center\">".number_format($gradinggrade + $grade, 1)."</td></tr>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "</table><br clear=\"all\" />\n";
|
||||
workshop_print_key($workshop);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
}
|
||||
print_continue("view.php?id=$cm->id");
|
||||
}
|
||||
|
||||
|
||||
/******************* edit submission ************************************/
|
||||
@ -416,6 +416,9 @@
|
||||
if ($submission->userid <> $USER->id) {
|
||||
error("Edit submission: Userids do not match");
|
||||
}
|
||||
if (($submission->timecreated < ($timenow - $CFG->maxeditingtime)) and ($workshop->assessmentstart < time()) {
|
||||
error(get_string('notallowed', 'workshop'));
|
||||
}
|
||||
?>
|
||||
<form name="editform" enctype="multipart/form-data" action="submissions.php" method="post">
|
||||
<input type="hidden" name="action" value="updatesubmission" />
|
||||
@ -471,45 +474,45 @@
|
||||
}
|
||||
|
||||
|
||||
/******************* list all submissions ************************************/
|
||||
elseif ($action == 'listallsubmissions' ) {
|
||||
if (!$users = get_course_students($course->id)) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
print_heading(get_string("listofallsubmissions", "workshop").":", "CENTER");
|
||||
workshop_list_all_submissions($workshop, $USER);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
|
||||
}
|
||||
|
||||
/******************* list all submissions ************************************/
|
||||
elseif ($action == 'listallsubmissions' ) {
|
||||
if (!$users = get_course_students($course->id)) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
print_heading(get_string("listofallsubmissions", "workshop").":", "CENTER");
|
||||
workshop_list_all_submissions($workshop, $USER);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
|
||||
}
|
||||
|
||||
|
||||
/******************* list for assessment student (submissions) ************************************/
|
||||
elseif ($action == 'listforassessmentstudent' ) {
|
||||
if (!$users = get_course_students($course->id)) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
workshop_list_unassessed_student_submissions($workshop, $USER);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
|
||||
}
|
||||
|
||||
/******************* list for assessment student (submissions) ************************************/
|
||||
elseif ($action == 'listforassessmentstudent' ) {
|
||||
if (!$users = get_course_students($course->id)) {
|
||||
print_heading(get_string("nostudentsyet"));
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
workshop_list_unassessed_student_submissions($workshop, $USER);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
|
||||
}
|
||||
|
||||
|
||||
/******************* list for assessment teacher (submissions) ************************************/
|
||||
elseif ($action == 'listforassessmentteacher' ) {
|
||||
/******************* list for assessment teacher (submissions) ************************************/
|
||||
elseif ($action == 'listforassessmentteacher' ) {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
workshop_list_unassessed_teacher_submissions($workshop, $USER);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
|
||||
}
|
||||
|
||||
workshop_list_unassessed_teacher_submissions($workshop, $USER);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
|
||||
}
|
||||
|
||||
|
||||
/******************* remove (all) attachments ************************************/
|
||||
elseif ($action == 'removeattachments' ) {
|
||||
@ -545,7 +548,7 @@
|
||||
|
||||
$submission = get_record("workshop_submissions", "id", $_GET['sid']);
|
||||
workshop_print_submission($workshop, $submission);
|
||||
print_continue("view.php?id=$cm->id");
|
||||
print_continue("view.php?id=$cm->id");
|
||||
}
|
||||
|
||||
|
||||
|
@ -60,14 +60,14 @@
|
||||
$newsubmission->title = $title;
|
||||
$newsubmission->description = trim($form->description);
|
||||
$newsubmission->timecreated = $timenow;
|
||||
if ($timenow > $workshop->deadline) {
|
||||
if ($timenow > $workshop->submissionend) {
|
||||
$newsubmission->late = 1;
|
||||
}
|
||||
if (!$newsubmission->id = insert_record("workshop_submissions", $newsubmission)) {
|
||||
error("Workshop upload: Failure to create new submission record!");
|
||||
}
|
||||
// see if this is a resubmission by looking at the previous submissions...
|
||||
if ($submissions and ($workshop->phase >1)) { // ...but not teacher submissions
|
||||
if ($submissions and ($workshop->submissionstart > time())) { // ...but not teacher submissions
|
||||
// find the last submission
|
||||
foreach ($submissions as $submission) {
|
||||
$lastsubmission = $submission;
|
||||
|
@ -5,8 +5,8 @@
|
||||
// This fragment is called by /admin/index.php
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
$module->version = 2004111200;
|
||||
$module->requires = 2004091700; // Requires this Moodle version
|
||||
$module->version = 2004120402;
|
||||
$module->requires = 2004052505; // Requires this Moodle version
|
||||
$module->cron = 60;
|
||||
|
||||
?>
|
||||
|
@ -3,13 +3,8 @@
|
||||
/*************************************************
|
||||
ACTIONS handled are:
|
||||
|
||||
allowassessments (for teachers)
|
||||
allowboth (for teachers)
|
||||
allowsubmissions (for teachers)
|
||||
close workshop( for teachers)
|
||||
displayfinalgrade (for students)
|
||||
notavailable (for students)
|
||||
setupassignment (for teachers)
|
||||
studentsview
|
||||
submitexample
|
||||
teachersview
|
||||
@ -19,8 +14,8 @@
|
||||
require("../../config.php");
|
||||
require("lib.php");
|
||||
require("locallib.php");
|
||||
|
||||
require_variable($id); // Course Module ID
|
||||
|
||||
require_variable($id); // Course Module ID
|
||||
|
||||
// get some useful stuff...
|
||||
if (! $cm = get_record("course_modules", "id", $id)) {
|
||||
@ -50,99 +45,46 @@
|
||||
|
||||
optional_variable($action);
|
||||
if (isteacher($course->id)) {
|
||||
if (empty($action)) { // no action specified, either go straight to elements page else the admin page
|
||||
// has the assignment any elements
|
||||
if (count_records("workshop_elements", "workshopid", $workshop->id) >= $workshop->nelements) {
|
||||
$action = "teachersview";
|
||||
}
|
||||
else {
|
||||
redirect("assessments.php?action=editelements&id=$cm->id");
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif (!isguest()) { // it's a student then
|
||||
if (!$cm->visible) {
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
switch ($workshop->phase) {
|
||||
case 0 :
|
||||
case 1 : $action = 'notavailable'; break;
|
||||
case 2 :
|
||||
case 3 :
|
||||
case 4 : $action = 'studentsview'; break;
|
||||
case 5 : $action = 'displayfinalgrade';
|
||||
}
|
||||
}
|
||||
else { // it's a guest, oh no!
|
||||
$action = 'notavailable';
|
||||
}
|
||||
|
||||
|
||||
/************** allow (peer) assessments only (move to phase 4) (for teachers)**/
|
||||
if ($action == 'allowassessments') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
// move to phase 4
|
||||
set_field("workshop", "phase", 4, "id", "$workshop->id");
|
||||
add_to_log($course->id, "workshop", "assessments only", "view.php?id=$cm->id", "$workshop->id", $cm->id);
|
||||
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 4));
|
||||
}
|
||||
|
||||
|
||||
/************** allow both (submissions and assessments) (move to phase 3) (for teachers)**/
|
||||
if ($action == 'allowboth') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
// move to phase 3
|
||||
set_field("workshop", "phase", 3, "id", "$workshop->id");
|
||||
add_to_log($course->id, "workshop", "allow both", "view.php?id=$cm->id", "$workshop->id", $cm->id);
|
||||
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 3));
|
||||
}
|
||||
|
||||
|
||||
/************** allow submissions only (move to phase 2) (for teachers)**/
|
||||
if ($action == 'allowsubmissions') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
// move to phase 2, check that teacher has made enough submissions
|
||||
if (workshop_count_teacher_submissions($workshop) < $workshop->ntassessments) {
|
||||
redirect("view.php?id=$cm->id", get_string("notenoughexamplessubmitted", "workshop",
|
||||
$course->teacher));
|
||||
}
|
||||
else {
|
||||
if ($n = workshop_count_teacher_submissions_for_assessment($workshop, $USER)) {
|
||||
notify(get_string("teachersubmissionsforassessment", "workshop", $n));
|
||||
if (empty($action)) { // no action specified, either go straight to elements page else the admin page
|
||||
// has the assignment any elements
|
||||
if (count_records("workshop_elements", "workshopid", $workshop->id) >= $workshop->nelements) {
|
||||
$action = "teachersview";
|
||||
}
|
||||
set_field("workshop", "phase", 2, "id", "$workshop->id");
|
||||
add_to_log($course->id, "workshop", "submissions", "view.php?id=$cm->id", "$workshop->id", $cm->id);
|
||||
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 2));
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
redirect("assessments.php?action=editelements&id=$cm->id");
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif (!isguest()) { // it's a student then
|
||||
if (!$cm->visible) {
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
if (time() < $workshop->submissionstart) {
|
||||
$action = 'notavailable';
|
||||
} else if (time() < $workshop->assessmentend) {
|
||||
$action = 'studentsview';
|
||||
} else {
|
||||
$action = 'displayfinalgrade';
|
||||
}
|
||||
}
|
||||
else { // it's a guest, oh no!
|
||||
$action = 'notavailable';
|
||||
}
|
||||
|
||||
/****************** display final grade (for students) ************************************/
|
||||
elseif ($action == 'displayfinalgrade' ) {
|
||||
|
||||
|
||||
// show the final grades as stored in the tables...
|
||||
print_heading_with_help(get_string("displayoffinalgrades", "workshop"), "finalgrades", "workshop");
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $USER)) { // any submissions from user?
|
||||
echo "<center><table border=\"1\" width=\"90%\"><tr>";
|
||||
echo "<td><b>".get_string("submissions", "workshop")."</b></td>";
|
||||
/****************** display final grade (for students) ************************************/
|
||||
if ($action == 'displayfinalgrade' ) {
|
||||
|
||||
// show the final grades as stored in the tables...
|
||||
print_heading_with_help(get_string("displayoffinalgrades", "workshop"), "finalgrades", "workshop");
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $USER)) { // any submissions from user?
|
||||
echo "<center><table border=\"1\" width=\"90%\"><tr>";
|
||||
echo "<td><b>".get_string("submissions", "workshop")."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
echo "<td align=\"center\"><b>".get_string("assessmentsdone", "workshop")."</b></td>";
|
||||
echo "<td align=\"center\"><b>".get_string("gradeforassessments", "workshop")."</b></td>";
|
||||
}
|
||||
echo "<td align=\"center\"><b>".get_string("teacherassessments", "workshop",
|
||||
echo "<td align=\"center\"><b>".get_string("teacherassessments", "workshop",
|
||||
$course->teacher)."</b></td>";
|
||||
if ($workshop->wtype) {
|
||||
echo "<td align=\"center\"><b>".get_string("studentassessments", "workshop",
|
||||
@ -169,88 +111,62 @@
|
||||
}
|
||||
}
|
||||
echo "</table><br clear=\"all\" />\n";
|
||||
workshop_print_key($workshop);
|
||||
workshop_print_key($workshop);
|
||||
if ($workshop->showleaguetable) {
|
||||
workshop_print_league_table($workshop);
|
||||
}
|
||||
}
|
||||
workshop_print_league_table($workshop);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/****************** assignment not available (for students)***********************/
|
||||
elseif ($action == 'notavailable') {
|
||||
print_heading(get_string("notavailable", "workshop"));
|
||||
}
|
||||
|
||||
|
||||
/****************** make final grades available (go to phase 5) (for teachers only)********/
|
||||
elseif ($action == 'makefinalgradesavailable') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
set_field("workshop", "phase", 5, "id", "$workshop->id");
|
||||
add_to_log($course->id, "workshop", "display grades", "view.php?id=$cm->id", "$workshop->id", $cm->id);
|
||||
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 5));
|
||||
}
|
||||
|
||||
|
||||
/****************** assignment not available (for students)***********************/
|
||||
elseif ($action == 'notavailable') {
|
||||
print_heading(get_string("notavailable", "workshop"));
|
||||
}
|
||||
|
||||
|
||||
/****************** set up assignment (move back to phase 1) (for teachers)***********************/
|
||||
elseif ($action == 'setupassignment') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
set_field("workshop", "phase", 1, "id", "$workshop->id");
|
||||
add_to_log($course->id, "workshop", "set up", "view.php?id=$cm->id", "$workshop->id", $cm->id);
|
||||
redirect("view.php?id=$cm->id", get_string("movingtophase", "workshop", 1));
|
||||
}
|
||||
|
||||
|
||||
/****************** student's view could be in 1 of 4 stages ***********************/
|
||||
elseif ($action == 'studentsview') {
|
||||
/****************** student's view could be in 1 of 4 stages ***********************/
|
||||
elseif ($action == 'studentsview') {
|
||||
// is a password needed?
|
||||
if ($workshop->usepassword) {
|
||||
$correctpass = false;
|
||||
if (isset($_POST['userpassword'])) {
|
||||
if ($workshop->password == md5(trim($_POST['userpassword']))) {
|
||||
$USER->workshoploggedin[$workshop->id] = true;
|
||||
$correctpass = true;
|
||||
}
|
||||
} elseif (isset($USER->workshoploggedin[$workshop->id])) {
|
||||
$correctpass = true;
|
||||
}
|
||||
if ($workshop->usepassword) {
|
||||
$correctpass = false;
|
||||
if (isset($_POST['userpassword'])) {
|
||||
if ($workshop->password == md5(trim($_POST['userpassword']))) {
|
||||
$USER->workshoploggedin[$workshop->id] = true;
|
||||
$correctpass = true;
|
||||
}
|
||||
} elseif (isset($USER->workshoploggedin[$workshop->id])) {
|
||||
$correctpass = true;
|
||||
}
|
||||
|
||||
if (!$correctpass) {
|
||||
print_simple_box_start("center");
|
||||
echo "<form name=\"password\" method=\"post\" action=\"view.php\">\n";
|
||||
echo "<input type=\"hidden\" name=\"id\" value=\"$cm->id\" />\n";
|
||||
echo "<table cellpadding=\"7px\">";
|
||||
if (isset($_POST['userpassword'])) {
|
||||
echo "<tr align=\"center\" style='color:#DF041E;'><td>".get_string("wrongpassword", "workshop").
|
||||
if (!$correctpass) {
|
||||
print_simple_box_start("center");
|
||||
echo "<form name=\"password\" method=\"post\" action=\"view.php\">\n";
|
||||
echo "<input type=\"hidden\" name=\"id\" value=\"$cm->id\" />\n";
|
||||
echo "<table cellpadding=\"7px\">";
|
||||
if (isset($_POST['userpassword'])) {
|
||||
echo "<tr align=\"center\" style='color:#DF041E;'><td>".get_string("wrongpassword", "workshop").
|
||||
"</td></tr>";
|
||||
}
|
||||
echo "<tr align=\"center\"><td>".get_string("passwordprotectedworkshop", "workshop", $workshop->name).
|
||||
}
|
||||
echo "<tr align=\"center\"><td>".get_string("passwordprotectedworkshop", "workshop", $workshop->name).
|
||||
"</td></tr>";
|
||||
echo "<tr align=\"center\"><td>".get_string("enterpassword", "workshop").
|
||||
echo "<tr align=\"center\"><td>".get_string("enterpassword", "workshop").
|
||||
" <input type=\"password\" name=\"userpassword\" /></td></tr>";
|
||||
|
||||
echo "<tr align=\"center\"><td>";
|
||||
echo "<input type=\"button\" value=\"".get_string("cancel").
|
||||
|
||||
echo "<tr align=\"center\"><td>";
|
||||
echo "<input type=\"button\" value=\"".get_string("cancel").
|
||||
"\" onclick=\"parent.location='../../course/view.php?id=$course->id';\"> ";
|
||||
echo "<input type=\"button\" value=\"".get_string("continue").
|
||||
echo "<input type=\"button\" value=\"".get_string("continue").
|
||||
"\" onclick=\"document.password.submit();\" />";
|
||||
echo "</td></tr></table>";
|
||||
print_simple_box_end();
|
||||
exit();
|
||||
}
|
||||
}
|
||||
workshop_print_assignment_info($workshop);
|
||||
// in Stage 1? - are there any teacher's submissions? and...
|
||||
// ...has student assessed the required number of the teacher's submissions
|
||||
if ($workshop->ntassessments and (!workshop_test_user_assessments($workshop, $USER))) {
|
||||
print_heading(get_string("pleaseassesstheseexamplesfromtheteacher", "workshop",
|
||||
echo "</td></tr></table>";
|
||||
print_simple_box_end();
|
||||
exit();
|
||||
}
|
||||
}
|
||||
workshop_print_assignment_info($workshop);
|
||||
// in Stage 1? - are there any teacher's submissions? and...
|
||||
// ...has student assessed the required number of the teacher's submissions
|
||||
if ($workshop->ntassessments and (!workshop_test_user_assessments($workshop, $USER))) {
|
||||
print_heading(get_string("pleaseassesstheseexamplesfromtheteacher", "workshop",
|
||||
$course->teacher));
|
||||
workshop_list_teacher_submissions($workshop, $USER);
|
||||
}
|
||||
@ -262,9 +178,9 @@
|
||||
$course->teacher));
|
||||
workshop_list_teacher_submissions($workshop, $USER);
|
||||
}
|
||||
// has user submitted anything yet? (only allowed in phases 2 and 3)
|
||||
// has user submitted anything yet?
|
||||
if (!workshop_get_user_submissions($workshop, $USER)) {
|
||||
if ($workshop->phase < 4) {
|
||||
if (time() < $workshop->submissionend) {
|
||||
// print upload form
|
||||
print_heading(get_string("submitassignmentusingform", "workshop").":");
|
||||
workshop_print_upload_form($workshop);
|
||||
@ -279,8 +195,8 @@
|
||||
// prints a table if there are any submissions which have not been self assessed yet
|
||||
workshop_list_self_assessments($workshop, $USER);
|
||||
}
|
||||
// if peer assessments are being done and workshop is in phase 3 then show some to assess...
|
||||
if ($workshop->nsassessments and ($workshop->phase > 2)) {
|
||||
// if peer assessments are being done then show some to assess...
|
||||
if ($workshop->nsassessments and ($workshop->assessmentstart > time() and $workshop->assessmentend < time())) {
|
||||
workshop_list_student_submissions($workshop, $USER);
|
||||
}
|
||||
// ..and any they have already done (and have gone cold)...
|
||||
@ -303,7 +219,7 @@
|
||||
print_heading(get_string("submissions", "workshop"));
|
||||
workshop_list_user_submissions($workshop, $USER);
|
||||
// are resubmissions allowed and the workshop is in submission/assessment phase?
|
||||
if ($workshop->resubmit and ($workshop->phase == 3)) {
|
||||
if ($workshop->resubmit and (time() > $workshop->assessmentstart and time() < $workshop->submissionend)) {
|
||||
// see if there are any cold assessments of the last submission
|
||||
// if there are then print upload form
|
||||
if ($submissions = workshop_get_user_submissions($workshop, $USER)) {
|
||||
@ -326,46 +242,40 @@
|
||||
echo "<hr size=\"1\" noshade=\"noshade\" />";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/****************** submission of example by teacher only***********************/
|
||||
elseif ($action == 'submitexample') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
$strdifference = format_time($workshop->deadline - time());
|
||||
if (($workshop->deadline - time()) < 0) {
|
||||
$strdifference = "<font color=\"red\">$strdifference</font>";
|
||||
}
|
||||
$strduedate = userdate($workshop->deadline)." ($strdifference)";
|
||||
|
||||
workshop_print_assignment_info($workshop);
|
||||
|
||||
// list previous submissions from teacher
|
||||
workshop_list_user_submissions($workshop, $USER);
|
||||
|
||||
echo "<hr size=\"1\" noshade=\"noshade\" />";
|
||||
|
||||
// print upload form
|
||||
print_heading(get_string("submitexampleassignment", "workshop").":");
|
||||
workshop_print_upload_form($workshop);
|
||||
}
|
||||
/****************** submission of example by teacher only***********************/
|
||||
elseif ($action == 'submitexample') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
workshop_print_assignment_info($workshop);
|
||||
|
||||
// list previous submissions from teacher
|
||||
workshop_list_user_submissions($workshop, $USER);
|
||||
|
||||
echo "<hr size=\"1\" noshade=\"noshade\" />";
|
||||
|
||||
// print upload form
|
||||
print_heading(get_string("submitexampleassignment", "workshop").":");
|
||||
workshop_print_upload_form($workshop);
|
||||
}
|
||||
|
||||
|
||||
/****************** teacher's view - display admin page (current phase options) ************/
|
||||
elseif ($action == 'teachersview') {
|
||||
/****************** teacher's view - display admin page ************/
|
||||
elseif ($action == 'teachersview') {
|
||||
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
if (!isteacher($course->id)) {
|
||||
error("Only teachers can look at this page");
|
||||
}
|
||||
|
||||
/// Check to see if groups are being used in this workshop
|
||||
/// Check to see if groups are being used in this workshop
|
||||
/// and if so, set $currentgroup to reflect the current group
|
||||
$changegroup = isset($_GET['group']) ? $_GET['group'] : -1; // Group change requested?
|
||||
$groupmode = groupmode($course, $cm); // Groups are being used?
|
||||
@ -377,130 +287,73 @@
|
||||
print_group_menu($groups, $groupmode, $currentgroup, "view.php?id=$cm->id");
|
||||
}
|
||||
}
|
||||
|
||||
print_heading_with_help(get_string("managingassignment", "workshop"), "managing2", "workshop");
|
||||
|
||||
workshop_print_assignment_info($workshop);
|
||||
|
||||
if ($workshop->wtype < 2) {
|
||||
$tabs->names = array("1. ".get_string("phase1", "workshop"),
|
||||
"2. ".get_string("phase2", "workshop", $course->student),
|
||||
"3. ".get_string("phase5", "workshop"));
|
||||
$tabs->urls = array("view.php?id=$cm->id&action=setupassignment",
|
||||
"view.php?id=$cm->id&action=allowboth",
|
||||
"view.php?id=$cm->id&action=makefinalgradesavailable");
|
||||
} else {
|
||||
$tabs->names = array("1. ".get_string("phase1", "workshop"),
|
||||
"2. ".get_string("phase2", "workshop", $course->student),
|
||||
"3. ".get_string("phase3", "workshop", $course->student),
|
||||
"4. ".get_string("phase4", "workshop", $course->student),
|
||||
"5. ".get_string("phase5", "workshop"));
|
||||
if (isteacheredit($course->id)) {
|
||||
$tabs->urls = array("view.php?id=$cm->id&action=setupassignment",
|
||||
"view.php?id=$cm->id&action=allowsubmissions",
|
||||
"view.php?id=$cm->id&action=allowboth",
|
||||
"view.php?id=$cm->id&action=allowassessments",
|
||||
"view.php?id=$cm->id&action=makefinalgradesavailable");
|
||||
} else {
|
||||
// non editing teachers cannot change phase
|
||||
$tabs->urls = array("view.php?id=$cm->id",
|
||||
"view.php?id=$cm->id",
|
||||
"view.php?id=$cm->id",
|
||||
"view.php?id=$cm->id",
|
||||
"view.php?id=$cm->id");
|
||||
}
|
||||
}
|
||||
if ($workshop->phase) { // phase 1 or more
|
||||
if ($workshop->wtype < 2) {
|
||||
$tabs->highlight = ($workshop->phase - 1) / 2;
|
||||
} else {
|
||||
$tabs->highlight = $workshop->phase - 1;
|
||||
}
|
||||
} else {
|
||||
$tabs->highlight = 0; // phase is zero
|
||||
}
|
||||
workshop_print_tabbed_heading($tabs);
|
||||
|
||||
print_heading_with_help(get_string("managingassignment", "workshop"), "managing2", "workshop");
|
||||
|
||||
workshop_print_assignment_info($workshop);
|
||||
|
||||
echo "<center>\n";
|
||||
switch ($workshop->phase) {
|
||||
case 0:
|
||||
case 1: // set up assignment
|
||||
if ($workshop->nelements) {
|
||||
echo "<br /><b><a href=\"assessments.php?id=$cm->id&action=editelements\">".
|
||||
get_string("amendassessmentelements", "workshop")."</a></b> \n";
|
||||
helpbutton("elements", get_string("amendassessmentelements", "workshop"), "workshop");
|
||||
}
|
||||
if ($workshop->ntassessments) {
|
||||
// if teacher examples show submission and assessment links
|
||||
echo "<br /><b><a href=\"view.php?id=$cm->id&action=submitexample\">".
|
||||
get_string("submitexampleassignment", "workshop")."</a></b> \n";
|
||||
helpbutton("submissionofexamples", get_string("submitexampleassignment", "workshop"),
|
||||
"workshop");
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentteacher\">".
|
||||
get_string("teachersubmissionsforassessment", "workshop",
|
||||
workshop_count_teacher_submissions_for_assessment($workshop, $USER)).
|
||||
"</a></b> \n";
|
||||
helpbutton("assessmentofexamples", get_string("teachersubmissionsforassessment",
|
||||
"workshop"), "workshop");
|
||||
}
|
||||
break;
|
||||
|
||||
// if there are assessment elements show link to edit them
|
||||
if ($workshop->nelements) {
|
||||
echo "<br /><b><a href=\"assessments.php?id=$cm->id&action=editelements\">".
|
||||
get_string("amendassessmentelements", "workshop")."</a></b> \n";
|
||||
helpbutton("elements", get_string("amendassessmentelements", "workshop"), "workshop");
|
||||
}
|
||||
|
||||
// if teacher examples show submission and assessment links
|
||||
if ($workshop->ntassessments) {
|
||||
// submission link for teacher examples
|
||||
echo "<br /><b><a href=\"view.php?id=$cm->id&action=submitexample\">".
|
||||
get_string("submitexampleassignment", "workshop")."</a></b> \n";
|
||||
helpbutton("submissionofexamples", get_string("submitexampleassignment", "workshop"),
|
||||
"workshop");
|
||||
// show assessment link for teachers examples only once there are such examples
|
||||
if ($n = workshop_count_teacher_submissions_for_assessment($workshop, $USER)) {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentteacher\">".
|
||||
get_string("teachersubmissionsforassessment", "workshop", $n)."</a></b> \n";
|
||||
helpbutton("assessmentofexamples", get_string("teachersubmissionsforassessment",
|
||||
"workshop"), "workshop");
|
||||
}
|
||||
}
|
||||
|
||||
case 2: // submissions
|
||||
case 3: // submissions and assessments
|
||||
case 4: // assessments
|
||||
if ($workshop->ntassessments) { // if teacher examples show assessment link
|
||||
if ($n = workshop_count_teacher_submissions_for_assessment($workshop, $USER)) {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentteacher\">".
|
||||
get_string("teachersubmissionsforassessment", "workshop", $n)."</a></b> \n";
|
||||
helpbutton("assessmentofexamples", get_string("teachersubmissionsforassessment",
|
||||
"workshop"), "workshop");
|
||||
}
|
||||
}
|
||||
// only show grading assessments if there are grading grades involved
|
||||
if ($workshop->wtype) {
|
||||
echo "<br /><b><a href=\"assessments.php?id=$cm->id&action=gradeallassessments\">".
|
||||
get_string("ungradedassessments", "workshop",
|
||||
workshop_count_ungraded_assessments($workshop))."</a></b> \n";
|
||||
helpbutton("ungradedassessments",
|
||||
get_string("ungradedassessments", "workshop"), "workshop");
|
||||
}
|
||||
// don't show the assessment of student submissions in phase 2 if it's a 5 phase workshop
|
||||
if (!(($workshop->phase == 2) and ($workshop->wtype > 1))) {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentstudent\">".
|
||||
get_string("studentsubmissionsforassessment", "workshop",
|
||||
workshop_count_student_submissions_for_assessment($workshop, $USER))."</a></b> \n";
|
||||
helpbutton("gradingsubmissions",
|
||||
get_string("studentsubmissionsforassessment", "workshop"), "workshop");
|
||||
}
|
||||
print_heading("<a href=\"submissions.php?id=$cm->id&action=displaycurrentgrades\">".
|
||||
get_string("displayofcurrentgrades", "workshop")."</a>");
|
||||
break;
|
||||
if ($workshop->wtype) {
|
||||
// only show grading assessments if there are grading grades involved
|
||||
if ($numberofassessments = workshop_count_ungraded_assessments($workshop)) {
|
||||
echo "<br /><b><a href=\"assessments.php?id=$cm->id&action=gradeallassessments\">".
|
||||
get_string("ungradedassessments", "workshop",
|
||||
$numberofassessments)."</a></b> \n";
|
||||
helpbutton("ungradedassessments",
|
||||
get_string("ungradedassessments", "workshop"), "workshop");
|
||||
}
|
||||
}
|
||||
|
||||
case 5: // Show "Final" Grades
|
||||
if ($workshop->ntassessments) { // if teacher examples show assessment link
|
||||
if ($n = workshop_count_teacher_submissions_for_assessment($workshop, $USER)) {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentteacher\">".
|
||||
get_string("teachersubmissionsforassessment", "workshop", $n)."</a></b> \n";
|
||||
helpbutton("assessmentofexamples", get_string("teachersubmissionsforassessment",
|
||||
"workshop"), "workshop");
|
||||
}
|
||||
}
|
||||
if ($workshop->wtype) {
|
||||
echo "<br /><b><a href=\"assessments.php?id=$cm->id&action=gradeallassessments\">".
|
||||
get_string("ungradedassessments", "workshop",
|
||||
workshop_count_ungraded_assessments($workshop))."</a></b> \n";
|
||||
helpbutton("ungradedassessments", get_string("ungradedassessments", "workshop"), "workshop");
|
||||
}
|
||||
// Show link to student submissions for assessment only if assessment has started
|
||||
if (time() > $workshop->assessmentstart) {
|
||||
if ($numberofsubmissions = workshop_count_student_submissions_for_assessment($workshop, $USER)) {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=listforassessmentstudent\">".
|
||||
get_string("studentsubmissionsforassessment", "workshop",
|
||||
workshop_count_student_submissions_for_assessment($workshop, $USER))."</a></b> \n";
|
||||
$numberofsubmissions)."</a></b> \n";
|
||||
helpbutton("gradingsubmissions",
|
||||
get_string("studentsubmissionsforassessment", "workshop"), "workshop");
|
||||
print_heading("<a href=\"submissions.php?id=$cm->id&action=displayfinalgrades\">".
|
||||
get_string("displayoffinalgrades", "workshop")."</a>");
|
||||
get_string("studentsubmissionsforassessment", "workshop"), "workshop");
|
||||
}
|
||||
}
|
||||
echo '</center>';
|
||||
print_heading("<a href=\"submissions.php?id=$cm->id&action=adminlist\">".
|
||||
get_string("administration")."</a>");
|
||||
|
||||
// Show link to current grades
|
||||
if (time() > $workshop->assessmentstart) {
|
||||
if (time() < $workshop->assessmentend) {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=displaycurrentgrades\">".
|
||||
get_string("displayofcurrentgrades", "workshop")."</a></b> \n";
|
||||
} else {
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=displayfinalgrades\">".
|
||||
get_string("displayoffinalgrades", "workshop")."</a></b> \n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "<br /><b><a href=\"submissions.php?id=$cm->id&action=adminlist\">".
|
||||
get_string("administration")."</a></b> \n";
|
||||
|
||||
echo '</center><br />';
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user