diff --git a/mod/attendance/README.txt b/mod/attendance/README.txt
deleted file mode 100644
index 8a9aaea358d..00000000000
--- a/mod/attendance/README.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-ATTENDANCE version 0.1
-----------------------
-
-
-By Russell Jungwirth (jungwirr@surebluestudios.com)
-
-
-This is the attendance module created and maintained by Russell J. Jungwirth
-of Sureblue Studios. (surebluestudios.com) It allows for attendance to be
-tracked for an arbitrary number of hours per instance. Instances are
-labelled by date. Attendance is tracked for all instances in a given course
-as well.
-
-Quick install instructions
-
-1) Copy attendance.php into lang/en/attendance.php
-
-2) Move this folder to become mod/attendance
-
-3) Visit your admin page to install the module
-
-4) Go to the site configuration page -> modules section -> attendance
- to specify your preferences for the module (optional)
-
-New Feature and fix list:
-
-Automatic attendance loggin based on IP address range
-Attendance logging by email/Imode (via cel phone)
-Specify a range of attendance times for automatic attendance logging.
-Tighter integration with the new calendar features.
diff --git a/mod/attendance/add.php b/mod/attendance/add.php
deleted file mode 100644
index c9cf4765b1e..00000000000
--- a/mod/attendance/add.php
+++ /dev/null
@@ -1,286 +0,0 @@
-modform)) { // Variables are stored in the session
- $mod = $SESSION->modform;
- unset($SESSION->modform);
- } else {
- $mod = (object)$_POST;
- }
-
- if (isset($cancel)) {
- if (!empty($SESSION->returnpage)) {
- $return = $SESSION->returnpage;
- unset($SESSION->returnpage);
- redirect($return);
- } else {
- redirect("view.php?id=$mod->course");
- }
- }
-
- if (!isteacheredit($mod->course)) {
- error("You can't modify this course!");
- }
-
- $modlib = "lib.php";
- if (file_exists($modlib)) {
- include_once($modlib);
- } else {
- error("This module is missing important code! ($modlib)");
- }
-
-/* // set the information for the new instances
- $attendance->dynsection = !empty($attendance->dynsection) ? 1 : 0;
- $attendance->day = make_timestamp($attendance->theyear,
- $attendance->themonth, $attendance->theday);
- $attendance->name=userdate($attendance->day, get_string("strftimedate"));
- if ($attendance->notes) {
- $attendance->name = $attendance->name . " - " . $attendance->notes;
- }
-*/
- $curdate = make_timestamp($mod->startyear, $mod->startmonth, $mod->startday);
- $stopdate = make_timestamp($mod->endyear, $mod->endmonth, $mod->endday);
- $enddate = $curdate + $mod->numsections * 604800;
- if ($curdate > $stopdate) {
- error(get_string("endbeforestart", "attendance"));
- }
- if ($enddate < $curdate) {
- error(get_string("startafterend", "attendance"));
- }
- if ($stopdate > $enddate) {
- // if stop date is after end of course, just move it to end of course
- $stopdate = $enddate;
- }
- while ($curdate <= $stopdate) {
- $mod->day = $curdate;
- $mod->name=userdate($mod->day, get_string("strftimedate"));
- if (isset($mod->notes)) {$mod->name = $mod->name . " - " . $mod->notes;}
- switch(userdate($curdate, "%u")) {
- case 1: if (!empty($mod->mon)) {attendance_add_module($mod);}break;
- case 2: if (!empty($mod->tue)) {attendance_add_module($mod);}break;
- case 3: if (!empty($mod->wed)) {attendance_add_module($mod);}break;
- case 4: if (!empty($mod->thu)) {attendance_add_module($mod);}break;
- case 5: if (!empty($mod->fri)) {attendance_add_module($mod);}break;
- case 6: if (!empty($mod->sat)) {attendance_add_module($mod);}break;
- case 7: if (!empty($mod->sun)) {attendance_add_module($mod);}break;
- } // switch
- $curdate = $curdate + 86400; // add one day to the date
- } // while for days
-
- if (!empty($SESSION->returnpage)) {
- $return = $SESSION->returnpage;
- unset($SESSION->returnpage);
- redirect($return);
- } else {
- redirect("index.php?id=$mod->course");
- }
- exit;
-
-} else {
-/// -----------------------------------------------------------------------------------
-/// ------------------ SECTION FOR MAKING THE FORM TO BE POSTED -----------------------
-/// -----------------------------------------------------------------------------------
-
-/// @include_once("$CFG->dirroot/mod/attendance/lib.php");
-/// error_reporting(E_ALL);
-
- require_variable($id);
- require_variable($section);
-
- if (! $course = get_record("course", "id", $id)) {
- error("This course doesn't exist");
- }
-
- if (! $module = get_record("modules", "name", "attendance")) {
- error("This module type doesn't exist");
- }
-
- $form->section = $section; // The section number itself
- $form->course = $course->id;
- $form->module = $module->id;
- $form->modulename = $module->name;
- $form->instance = "";
- $form->coursemodule = "";
- $form->mode = "add";
-
- $sectionname = get_string("name$course->format");
- $fullmodulename = strtolower(get_string("modulename", $module->name));
-
- if ($form->section) {
- $heading->what = $fullmodulename;
- $heading->to = "$sectionname $form->section";
- $pageheading = get_string("addingmultiple", "attendance");
- } else {
- $pageheading = get_string("addingmultiple", "attendance");
- }
-
- if (!isteacheredit($course->id)) {
- error("You can't modify this course!");
- }
-
- $streditinga = get_string("editinga", "moodle", $fullmodulename);
- $strmodulenameplural = get_string("modulenameplural", $module->name);
-
- if ($course->category) {
- print_header("$course->shortname: $streditinga", "$course->fullname",
- "wwwroot/course/view.php?id=$course->id\">$course->shortname ->
- wwwroot/mod/$module->name/index.php?id=$course->id\">$strmodulenameplural ->
- $streditinga", "form.name", "", false);
- } else {
- print_header("$course->shortname: $streditinga", "$course->fullname",
- "$streditinga", "form.name", "", false);
- }
-
- unset($SESSION->modform); // Clear any old ones that may be hanging around.
-
-
- $icon = "
modpixpath/$module->name/icon.gif\" alt=\"\" /> ";
-
- print_heading_with_help($pageheading, "mods", $module->name, $icon);
- print_simple_box_start('center');
-
-
-/// Print the main part of the page
-
- // adaptation of mod code to view code needs this:
- @include_once("$CFG->dirroot/mod/attendance/lib.php");
- //require_once("lib.php")
-// determine the end date for the course based on the number of sections and the start date
-$course->enddate = $course->startdate + $course->numsections * 604800;
-
-if (isset($CFG->attendance_dynsection) && ($CFG->attendance_dynsection == "1")) { $form->dynsection = 1; }
-if (isset($CFG->attendance_autoattend) && ($CFG->attendance_autoattend == "1")) { $form->autoattend = 1; }
-if (isset($CFG->attendance_grade) && ($CFG->attendance_grade == "1")) { $form->grade = 1; }
-$form->maxgrade = isset($CFG->attendance_maxgrade)?$CFG->attendance_maxgrade:0;
-$form->hours = isset($CFG->attendance_default_hours)?$CFG->attendance_default_hours:1;
-
-?>
-
-
-
diff --git a/mod/attendance/backuplib.php b/mod/attendance/backuplib.php
deleted file mode 100644
index 08c49c457d0..00000000000
--- a/mod/attendance/backuplib.php
+++ /dev/null
@@ -1,140 +0,0 @@
-id)
- // |
- // |
- // |
- // attendance_roll
- // (UL,pk->id, fk->dayid)
- //
- // Meaning: pk->primary key field of the table
- // fk->foreign key to link with parent
- // nt->nested field (recursive data)
- // CL->course level info
- // UL->user level info
- // files->table may have files)
- //
- //-----------------------------------------------------------
-
- function attendance_backup_mods($bf,$preferences) {
-
- global $CFG;
-
- $status = true;
-
- //Iterate over attendance table
- $attendances = get_records ("attendance","course",$preferences->backup_course,"id");
- if ($attendances) {
- foreach ($attendances as $attendance) {
- //Start mod
- fwrite ($bf,start_tag("MOD",3,true));
- //Print choice data
- fwrite ($bf,full_tag("ID",4,false,$attendance->id));
- fwrite ($bf,full_tag("MODTYPE",4,false,"attendance"));
- fwrite ($bf,full_tag("NAME",4,false,$attendance->name));
- fwrite ($bf,full_tag("DAY",4,false,$attendance->day));
- fwrite ($bf,full_tag("HOURS",4,false,$attendance->hours));
- fwrite ($bf,full_tag("ROLL",4,false,$attendance->roll));
- fwrite ($bf,full_tag("NOTES",4,false,$attendance->notes));
- fwrite ($bf,full_tag("TIMEMODIFIED",4,false,$attendance->timemodified));
- fwrite ($bf,full_tag("DYNSECTION",4,false,$attendance->dynsection));
- fwrite ($bf,full_tag("EDITED",4,false,$attendance->edited));
- fwrite ($bf,full_tag("AUTOATTEND",4,false,$attendance->autoattend));
- //if we've selected to backup users info, then execute backup_attendance_roll
- if ($preferences->mods["attendance"]->userinfo) {
- $status = backup_attendance_roll($bf,$preferences,$attendance->id);
- }
- //End mod
- $status =fwrite ($bf,end_tag("MOD",3,true));
- }
- }
- return $status;
- }
-
- //Backup attendance_roll contents (executed from attendance_backup_mods)
- function backup_attendance_roll ($bf,$preferences,$attendance) {
-
- global $CFG;
-
- $status = true;
-
- $attendance_rolls = get_records("attendance_roll","dayid",$attendance,"id");
- //If there is rolls
- if ($attendance_rolls) {
- //Write start tag
- $status =fwrite ($bf,start_tag("ROLLS",4,true));
- //Iterate over each roll
- foreach ($attendance_rolls as $att_rol) {
- //Start roll
- $status =fwrite ($bf,start_tag("ROLL",5,true));
- //Print roll contents
- fwrite ($bf,full_tag("ID",6,false,$att_rol->id));
- fwrite ($bf,full_tag("USERID",6,false,$att_rol->userid));
- fwrite ($bf,full_tag("HOUR",6,false,$att_rol->hour));
- fwrite ($bf,full_tag("STATUS",6,false,$att_rol->status));
- fwrite ($bf,full_tag("NOTES",6,false,$att_rol->notes));
- //End roll
- $status =fwrite ($bf,end_tag("ROLL",5,true));
- }
- //Write end tag
- $status =fwrite ($bf,end_tag("ROLLS",4,true));
- }
- return $status;
- }
-
- ////Return an array of info (name,value)
- function attendance_check_backup_mods($course,$user_data=false,$backup_unique_code) {
- //First the course data
- $info[0][0] = get_string("modulenameplural","attendance");
- if ($ids = attendance_ids ($course)) {
- $info[0][1] = count($ids);
- } else {
- $info[0][1] = 0;
- }
-
- //Now, if requested, the user_data
- if ($user_data) {
- $info[1][0] = get_string("entries");
- if ($ids = attendance_roll_ids_by_course ($course)) {
- $info[1][1] = count($ids);
- } else {
- $info[1][1] = 0;
- }
- }
- return $info;
- }
-
-
-
-
-
-
- // INTERNAL FUNCTIONS. BASED IN THE MOD STRUCTURE
-
- //Returns an array of attendances id
- function attendance_ids ($course) {
-
- global $CFG;
-
- return get_records_sql ("SELECT a.id, a.course
- FROM {$CFG->prefix}attendance a
- WHERE a.course = '$course'");
- }
-
- //Returns an array of attendance_rolls id
- function attendance_roll_ids_by_course ($course) {
-
- global $CFG;
-
- return get_records_sql ("SELECT r.id , r.dayid
- FROM {$CFG->prefix}attendance_roll r,
- {$CFG->prefix}attendance a
- WHERE a.course = '$course' AND
- r.dayid = a.id");
- }
-?>
diff --git a/mod/attendance/config.html b/mod/attendance/config.html
deleted file mode 100644
index e77f225c92b..00000000000
--- a/mod/attendance/config.html
+++ /dev/null
@@ -1,143 +0,0 @@
-attendance_dynsection)) {
- $CFG->attendance_dynsection = '';
- }
- if (!isset($CFG->attendance_default_hours)) {
- $CFG->attendance_default_hours = '';
- }
- if (!isset($CFG->attendance_tardies_per_absence)) {
- $CFG->attendance_tardies_per_absence = '';
- }
- if (!isset($CFG->attendance_hours_in_full_report)) {
- $CFG->attendance_hours_in_full_report = '';
- }
- if (!isset($CFG->attendance_default_student_status)) {
- $CFG->attendance_default_student_status = '';
- }
- if (!isset($CFG->attendance_autoattend)) {
- $CFG->attendance_autoattend = '';
- }
- if (!isset($CFG->attendance_grade)) {
- $CFG->attendance_grade = '';
- }
- if (!isset($CFG->attendance_maxgrade)) {
- $CFG->attendance_maxgrade = '';
- }
-?>
-
diff --git a/mod/attendance/db/mysql.php b/mod/attendance/db/mysql.php
deleted file mode 100644
index 98ade3fe343..00000000000
--- a/mod/attendance/db/mysql.php
+++ /dev/null
@@ -1,37 +0,0 @@
-prefix}attendance` ADD `edited` TINYINT( 1 ) DEFAULT '0' NOT NULL;");
- execute_sql("UPDATE `{$CFG->prefix}attendance` set `edited` = 1;");
- }
-
- if ($oldversion < 2003092500) {
- execute_sql("ALTER TABLE `{$CFG->prefix}attendance` ADD `autoattend` TINYINT( 1 ) DEFAULT '0' NOT NULL;");
- }
-
- if ($oldversion < 2004050301) {
- modify_database("", "INSERT INTO {$CFG->prefix}log_display VALUES ('attendance', 'view', 'attendance', 'name');");
- modify_database("", "INSERT INTO {$CFG->prefix}log_display VALUES ('attendance', 'viewall', 'attendance', 'name');");
- modify_database("", "INSERT INTO {$CFG->prefix}log_display VALUES ('attendance', 'viewweek', 'attendance', 'name');");
- }
-
- if ($oldversion < 2004111200) {
- execute_sql("ALTER TABLE {$CFG->prefix}attendance DROP INDEX course;",false);
- execute_sql("ALTER TABLE {$CFG->prefix}attendance_roll DROP INDEX dayid;",false);
- execute_sql("ALTER TABLE {$CFG->prefix}attendance_roll DROP INDEX userid;",false);
-
- modify_database('','ALTER TABLE prefix_attendance ADD INDEX course (course);');
- modify_database('','ALTER TABLE prefix_attendance_roll ADD INDEX dayid (dayid);');
- modify_database('','ALTER TABLE prefix_attendance_roll ADD INDEX userid (userid);');
- }
-
- return true;
-}
-
-?>
diff --git a/mod/attendance/db/mysql.sql b/mod/attendance/db/mysql.sql
deleted file mode 100755
index 8526c7f2389..00000000000
--- a/mod/attendance/db/mysql.sql
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Table structure for table `prefix_attendance`
-#
-
-CREATE TABLE prefix_attendance (
- id int(10) unsigned NOT NULL auto_increment,
- name varchar(255) NOT NULL default '',
- course int(10) NOT NULL default '0',
- day int(10) unsigned NOT NULL default '0',
- hours tinyint(1) NOT NULL default '0',
- roll tinyint(1) NOT NULL default '0',
- notes varchar(64) NOT NULL default '',
- timemodified int(10) unsigned NOT NULL default '0',
- dynsection tinyint(1) NOT NULL default '0',
- edited tinyint(1) NOT NULL default '0',
- autoattend tinyint(1) NOT NULL default '0',
- PRIMARY KEY (id),
- KEY `course` (`course`)
-) TYPE=MyISAM;
-
-#
-# Table structure for table `prefix_attendance_roll`
-#
-
-CREATE TABLE prefix_attendance_roll (
- id int(11) NOT NULL auto_increment,
- dayid int(10) unsigned NOT NULL default '0',
- userid int(11) NOT NULL default '0',
- hour tinyint(1) unsigned NOT NULL default '0',
- status int(11) NOT NULL default '0',
- notes varchar(64) NOT NULL default '',
- PRIMARY KEY (id),
- KEY `dayid` (`dayid`),
- KEY `userid` (`userid`)
-) TYPE=MyISAM;
-INSERT INTO prefix_log_display VALUES ('attendance', 'view', 'attendance', 'name');
-INSERT INTO prefix_log_display VALUES ('attendance', 'view', 'attendance', 'name');
-INSERT INTO prefix_log_display VALUES ('attendance', 'viewall', 'attendance', 'name');
-
diff --git a/mod/attendance/db/oci8po.php b/mod/attendance/db/oci8po.php
deleted file mode 100755
index 451707bdbd6..00000000000
--- a/mod/attendance/db/oci8po.php
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
diff --git a/mod/attendance/db/oci8po.sql b/mod/attendance/db/oci8po.sql
deleted file mode 100755
index 31a63c4a9db..00000000000
--- a/mod/attendance/db/oci8po.sql
+++ /dev/null
@@ -1,75 +0,0 @@
-rem
-rem Table structure for table prefix_attendance
-rem
-
-drop TABLE prefix_attendance;
-CREATE TABLE prefix_attendance (
- id number(10) primary key,
- name varchar2(255) default '' not null,
- course number(10) default '0' not null,
- day number(10) default '0' not null,
- hours number(1) default '0' not null,
- roll number(1) default '0' not null,
- notes varchar2(64) default '' not null,
- timemodified number(10) default '0' not null,
- dynsection number(1) default '0' not null,
- edited number(1) default '0' not null,
- autoattend number(1) default '0' not null
-);
-
-drop sequence p_attendance_seq;
-create sequence p_attendance_seq;
-
-create or replace trigger p_attendance_trig
- before insert on prefix_attendance
- referencing new as new_row
- for each row
- begin
- select p_attendance_seq.nextval into :new_row.id from dual;
- end;
-.
-/
-
-insert into prefix_attendance (name,course,day,hours,roll,notes,timemodified,dynsection,edited) values ('1',1,1,1,1,'1',1,1,1,1);
-insert into prefix_attendance (name,course,day,hours,roll,notes,timemodified,dynsection,edited) values ('2',2,2,2,2,'2',2,2,2,2);
-insert into prefix_attendance (name,course,day,hours,roll,notes,timemodified,dynsection,edited) values ('3',3,3,3,3,'3',3,3,3,3);
-insert into prefix_attendance (name,course,day,hours,roll,notes,timemodified,dynsection,edited) values ('4',4,4,4,4,'4',4,4,4,4);
-
-select * from prefix_attendance order by 1,2;
-
-
-rem
-rem Table structure for table prefix_attendance_roll
-rem
-
-drop TABLE prefix_attendance_roll;
-CREATE TABLE prefix_attendance_roll (
- id number(11) primary key,
- dayid number(10) default '0' not null,
- userid number(11) default '0' not null,
- hour number(1) default '0' not null,
- status number(11) default '0' not null,
- notes varchar2(64) default '' not null
-);
-
-drop sequence p_attendance_roll_seq;
-create sequence p_attendance_roll_seq;
-
-create or replace trigger p_attendance_roll_trig
- before insert on prefix_attendance_roll
- referencing new as new_row
- for each row
- begin
- select p_attendance_roll_seq.nextval into :new_row.id from dual;
- end;
-.
-/
-
-insert into prefix_attendance_roll (dayid,userid,hour,status,notes) values (1,1,1,1,'1');
-insert into prefix_attendance_roll (dayid,userid,hour,status,notes) values (2,2,2,2,'2');
-insert into prefix_attendance_roll (dayid,userid,hour,status,notes) values (3,3,3,3,'3');
-insert into prefix_attendance_roll (dayid,userid,hour,status,notes) values (4,4,4,4,'4');
-
-col format format 99
-select * from prefix_attendance_roll order by 1,2;
-
diff --git a/mod/attendance/db/postgres7.php b/mod/attendance/db/postgres7.php
deleted file mode 100644
index b518d872c29..00000000000
--- a/mod/attendance/db/postgres7.php
+++ /dev/null
@@ -1,46 +0,0 @@
-prefix}attendance set edited = 1;");
- }
- if ($oldversion < 2003092500) {
- table_column("attendance", "", "autoattend", "integer", 2, "unsigned", "0", "not null");
- }
-
- if ($oldversion < 2004050301) {
-
- modify_database("", "INSERT INTO {$CFG->prefix}log_display VALUES ('attendance', 'view', 'attendance', 'name');");
-
- modify_database("", "INSERT INTO {$CFG->prefix}log_display VALUES ('attendance', 'viewall', 'attendance', 'name');");
-
- modify_database("", "INSERT INTO {$CFG->prefix}log_display VALUES ('attendance', 'viewweek', 'attendance', 'name');");
-
- }
-
-
-
- if ($oldversion < 2004111200) {
- execute_sql("DROP INDEX {$CFG->prefix}attendance_course_idx;",false);
- execute_sql("DROP INDEX {$CFG->prefix}attendance_roll_dayid_idx;",false);
- execute_sql("DROP INDEX {$CFG->prefix}attendance_roll_userid_idx;",false);
-
- modify_database('','CREATE INDEX prefix_attendance_course_idx ON prefix_attendance (course);');
- modify_database('','CREATE INDEX prefix_attendance_roll_dayid_idx ON prefix_attendance_roll (dayid);');
- modify_database('','CREATE INDEX prefix_attendance_roll_userid_idx ON prefix_attendance_roll (userid);');
- }
-
- return true;
-}
-
-?>
diff --git a/mod/attendance/db/postgres7.sql b/mod/attendance/db/postgres7.sql
deleted file mode 100644
index b9d0180c935..00000000000
--- a/mod/attendance/db/postgres7.sql
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Table structure for table `prefix_attendance`
-#
-
-CREATE TABLE prefix_attendance (
- id SERIAL8,
- name varchar(255) NOT NULL default '',
- course int8 NOT NULL default '0',
- day int8 NOT NULL default '0',
- hours int2 NOT NULL default '0',
- roll int2 NOT NULL default '0',
- notes varchar(64) NOT NULL default '',
- timemodified int8 NOT NULL default '0',
- dynsection int2 NOT NULL default '0',
- edited int2 NOT NULL default '0',
- autoattend int2 NOT NULL default '0',
- PRIMARY KEY(id)
-);
-
-CREATE INDEX prefix_attendance_course_idx ON prefix_attendance (course);
-
-#
-# Table structure for table `prefix_attendance_roll`
-#
-
-CREATE TABLE prefix_attendance_roll (
- id SERIAL8,
- dayid int4 NOT NULL default '0',
- userid int8 NOT NULL default '0',
- hour int2 NOT NULL default '0',
- status int4 NOT NULL default '0',
- notes varchar(64) NOT NULL default '',
- PRIMARY KEY (id)
-);
-
-CREATE INDEX prefix_attendance_roll_dayid_idx ON prefix_attendance_roll (dayid);
-CREATE INDEX prefix_attendance_roll_userid_idx ON prefix_attendance_roll (userid);
-
-INSERT INTO prefix_log_display VALUES ('attendance', 'view', 'attendance', 'name');
-INSERT INTO prefix_log_display VALUES ('attendance', 'view', 'attendance', 'name');
-INSERT INTO prefix_log_display VALUES ('attendance', 'viewall', 'attendance', 'name');
-
diff --git a/mod/attendance/db/schema.php b/mod/attendance/db/schema.php
deleted file mode 100755
index 313cfb5f550..00000000000
--- a/mod/attendance/db/schema.php
+++ /dev/null
@@ -1,29 +0,0 @@
-debug = true;
-$server = "false";
-$user = "scott";
-$password = "tiger";
-$db->Connect(false, $user, $password);
-$rs = $db->Execute('select * from dept');
-print "";
-print_r($rs->GetRows());
-print "
";
-rs2html($rs,'border=2 cellpadding=3',array('Deptno','DName','Loc'));
-$dict = NewDataDictionary($db);
-$rs = $db->Execute('drop table attendance');
-$schema = new adoSchema($db);
-$rs = $db->Execute('drop table attendance_roll');
-$schema = new adoSchema($db);
-$sql = $schema->ParseSchema("schema.xml");
-$result = $schema->ExecuteSchema( $sql );
-$sql = "insert into attendance(id,name,course,day,hours,roll,notes,timemodified,dynsection,edited,autoattend) values (2,'2',2,2,2,2,'2',2,2,2,2)";
-$rs = $db->Execute($sql);
-$rs = $db->Execute('select * from attendance');
-rs2html($rs,'border=2 cellpadding=3',array('id','name','course','day','hours','roll','notes','timemodified','dynsection','edited','autoattend'));
-?>
-