+++ /dev/null
-<?php\r
-/************************************************************************/\r
-/* ATutor */\r
-/************************************************************************/\r
-/* Copyright (c) 2002-2008 by Greg Gay, Joel Kronenberg & Heidi Hazelton*/\r
-/* Adaptive Technology Resource Centre / University of Toronto */\r
-/* http://atutor.ca */\r
-/* */\r
-/* This program is free software. You can redistribute it and/or */\r
-/* modify it under the terms of the GNU General Public License */\r
-/* as published by the Free Software Foundation. */\r
-/************************************************************************/\r
-// $Id: grade_scale_add.php 7208 2008-05-28 16:07:24Z cindy $\r
-\r
-$page = 'gradebook';\r
-\r
-define('AT_INCLUDE_PATH', '../../include/');\r
-require_once(AT_INCLUDE_PATH.'vitals.inc.php');\r
-authenticate(AT_PRIV_GRADEBOOK);\r
-\r
-require_once("lib/gradebook.inc.php");\r
-\r
-// Checks if the given test has students taken it more than once, if has, don't add\r
-// print feedback, otherwise, add this test into gradebook.\r
-function add_test($test_id, $title)\r
-{\r
- global $db, $msg;\r
- \r
- $no_error = true;\r
- \r
- $studs_take_num = get_studs_take_more_than_once($_SESSION["course_id"], $test_id);\r
- \r
- foreach ($studs_take_num as $student => $num)\r
- {\r
- if ($no_error) $no_error = false;\r
- $error_msg .= $student . ": " . $num . " times<br>";\r
- }\r
- \r
- if (!$no_error)\r
- {\r
- $f = array('ADD_TEST_INTO_GRADEBOOK',\r
- $title, \r
- $error_msg);\r
- $msg->addFeedback($f);\r
- }\r
-\r
- if ($no_error) // add into gradebook\r
- {\r
- $sql_insert = "INSERT INTO ".TABLE_PREFIX."gradebook_tests (id, type, grade_scale_id)\r
- VALUES (". $test_id. ", 'ATutor Test', ".$_POST["selected_grade_scale_id"].")";\r
- $result_insert = mysql_query($sql_insert, $db) or die(mysql_error());\r
- }\r
-}\r
-\r
-function add_assignment($assignment_id)\r
-{\r
- global $db;\r
- \r
- $sql_insert = "INSERT INTO ".TABLE_PREFIX."gradebook_tests (id, type, grade_scale_id)\r
- VALUES (". $assignment_id. ", 'ATutor Assignment', ".$_POST["selected_grade_scale_id"].")";\r
- $result_insert = mysql_query($sql_insert, $db) or die(mysql_error());\r
-}\r
-\r
-if (isset($_POST['cancel'])) \r
-{\r
- $msg->addFeedback('CANCELLED');\r
- header('Location: gradebook_tests.php');\r
- exit;\r
-} \r
-else if (isset($_POST['addATutorTest'])) \r
-{\r
- if (preg_match('/^at_(.*)$/', $_POST["id"], $matches) > 0) // add atutor test\r
- {\r
- if ($matches[1] == 0) // add all applicable tests\r
- {\r
- $sql = "SELECT * FROM ".TABLE_PREFIX."tests t".\r
- " WHERE course_id=".$_SESSION["course_id"].\r
- " AND num_takes = 1".\r
- " AND NOT EXISTS (SELECT 1".\r
- " FROM ".TABLE_PREFIX."gradebook_tests g".\r
- " WHERE g.id = t.test_id".\r
- " AND g.type='ATutor Test')";\r
- $result = mysql_query($sql, $db) or die(mysql_error());\r
- \r
- while ($row = mysql_fetch_assoc($result))\r
- {\r
- add_test($row["test_id"], $row["title"]);\r
- }\r
- }\r
- else // add one atutor test\r
- {\r
- $sql = "SELECT * FROM ".TABLE_PREFIX."tests t".\r
- " WHERE test_id=".$matches[1];\r
- $result = mysql_query($sql, $db) or die(mysql_error());\r
- $row = mysql_fetch_assoc($result);\r
- \r
- add_test($matches[1], $row["title"]);\r
- }\r
- }\r
- else if (preg_match('/^aa_(.*)$/', $_POST["id"], $matches) > 0) // add atutor test\r
- {\r
- if ($matches[1] == 0) // add all applicable tests\r
- {\r
- $sql = "SELECT * FROM ".TABLE_PREFIX."assignments a".\r
- " WHERE course_id=".$_SESSION["course_id"].\r
- " AND NOT EXISTS (SELECT 1".\r
- " FROM ".TABLE_PREFIX."gradebook_tests g".\r
- " WHERE g.id = a.assignment_id".\r
- " AND g.type='ATutor Assignment')";\r
- $result = mysql_query($sql, $db) or die(mysql_error());\r
- \r
- while ($row = mysql_fetch_assoc($result))\r
- {\r
- add_assignment($row["assignment_id"]);\r
- }\r
- }\r
- else // add one test_id\r
- {\r
- add_assignment($matches[1]);\r
- }\r
- }\r
-\r
- $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');\r
- header('Location: gradebook_tests.php');\r
- exit;\r
-} \r
-else if (isset($_POST['addExternalTest'])) \r
-{\r
- $missing_fields = array();\r
-\r
- if ($_POST['title'] == '') {\r
- $missing_fields[] = _AT('title');\r
- }\r
-\r
- if ($missing_fields) {\r
- $missing_fields = implode(', ', $missing_fields);\r
- $msg->addError(array('EMPTY_FIELDS', $missing_fields));\r
- }\r
-\r
- if (!$msg->containsErrors()) \r
- {\r
- if ($_POST["has_due_date"] == 'true')\r
- $date_due = $_POST["year_due"]. '-' .str_pad ($_POST["month_due"], 2, "0", STR_PAD_LEFT). '-' .str_pad ($_POST["day_due"], 2, "0", STR_PAD_LEFT). ' '.str_pad ($_POST["hour_due"], 2, "0", STR_PAD_LEFT). ':' .str_pad ($_POST["min_due"], 2, "0", STR_PAD_LEFT) . ':00';\r
-\r
- $sql_insert = "INSERT INTO ".TABLE_PREFIX."gradebook_tests (course_id, type, title, due_date, grade_scale_id)\r
- VALUES (".$_SESSION["course_id"].", 'External', '". $_POST["title"]. "', '".$date_due . "', ".$_POST["selected_grade_scale_id"].")";\r
- $result_insert = mysql_query($sql_insert, $db) or die(mysql_error());\r
-\r
- $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');\r
- header('Location: gradebook_tests.php');\r
- exit;\r
- }\r
-}\r
-\r
-$onload .= ' disable_dates (true, \'_due\');';\r
-require(AT_INCLUDE_PATH.'header.inc.php');\r
-\r
-?>\r
-<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">\r
-<div class="input-form">\r
- <fieldset class="group_form"><legend class="group_form"><?php echo _AT('add_atutor_test'); ?></legend>\r
-\r
- <div class="row">\r
- <p><?php echo _AT('add_atutor_test_info'); ?></p>\r
- </div>\r
-\r
-<?php\r
-// list of atutor tests that can be added into gradebook. \r
-// These tests can only be taken once and are not in gradebook yet\r
-// note: surveys are excluded by checking if question weights are defined\r
-$sql_at = "SELECT * FROM ".TABLE_PREFIX."tests t".\r
- " WHERE course_id=".$_SESSION["course_id"].\r
- " AND num_takes = 1".\r
- " AND NOT EXISTS (SELECT 1".\r
- " FROM ".TABLE_PREFIX."gradebook_tests g".\r
- " WHERE g.id = t.test_id".\r
- " AND g.type='ATutor Test')".\r
- " AND test_id IN (SELECT test_id FROM ".TABLE_PREFIX."tests_questions_assoc ".\r
- " WHERE weight > 0 ".\r
- " GROUP BY test_id ".\r
- " HAVING count(*) > 0) ".\r
- " ORDER BY title";\r
-$result_at = mysql_query($sql_at, $db) or die(mysql_error());\r
-\r
-$sql_aa = "SELECT * FROM ".TABLE_PREFIX."assignments a".\r
- " WHERE course_id=".$_SESSION["course_id"].\r
- " AND NOT EXISTS (SELECT 1".\r
- " FROM ".TABLE_PREFIX."gradebook_tests g".\r
- " WHERE g.id = a.assignment_id".\r
- " AND g.type='ATutor Assignment')".\r
- " ORDER BY title";\r
-$result_aa = mysql_query($sql_aa, $db) or die(mysql_error());\r
-\r
-if (mysql_num_rows($result_at) == 0 && mysql_num_rows($result_aa) == 0)\r
-{\r
- echo _AT('none_found');\r
-}\r
-else\r
-{\r
- echo ' <div class="row">'."\n\r";\r
- echo ' <label for="select_tid">'. _AT("title") .'</label><br />'."\n\r";\r
- echo ' <select name="id" id="select_tid">'."\n\r";\r
- \r
- if (mysql_num_rows($result_aa) > 0)\r
- {\r
- echo ' <optgroup label="'. _AT('assignments') .'">'."\n\r";\r
- echo ' <option value="aa_0">'._AT('all_atutor_assignments').'</option>'."\n\r";\r
- \r
- while ($row_aa = mysql_fetch_assoc($result_aa))\r
- {\r
- echo ' <option value="aa_'.$row_aa[assignement_id].'">'.$row_aa[title].'</option>'."\n\r";\r
- }\r
- echo ' </optgroup>'."\n\r";\r
- }\r
-\r
- if (mysql_num_rows($result_at) > 0)\r
- {\r
- echo ' <optgroup label="'. _AT('tests') .'">'."\n\r";\r
- echo ' <option value="at_0">'._AT('all_atutor_tests').'</option>'."\n\r";\r
- \r
- while ($row_at = mysql_fetch_assoc($result_at))\r
- {\r
- echo ' <option value="at_'.$row_at[test_id].'">'.$row_at[title].'</option>'."\n\r";\r
- }\r
- echo ' </optgroup>'."\n\r";\r
- }\r
-\r
- echo ' </select>'."\n\r";\r
- echo ' </div>'."\n\r";\r
-\r
-?>\r
- <div class="row">\r
- <label for="selected_grade_scale_id"><?php echo _AT('grade_scale'); ?></label><br />\r
- <?php print_grade_scale_selectbox($_POST["selected_grade_scale_id"]); ?>\r
- </div>\r
-\r
- <div class="row buttons">\r
- <input type="submit" name="addATutorTest" value="<?php echo _AT('add'); ?>" />\r
- <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />\r
- </div>\r
-<?php\r
-}\r
-?>\r
- </fieldset>\r
-\r
-</div>\r
-</form>\r
-\r
-<form method="post" name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>">\r
-<div class="input-form">\r
- <fieldset class="group_form"><legend class="group_form"><?php echo _AT('add_external_test'); ?></legend>\r
-\r
- <div class="row">\r
- <div class="required" title="<?php echo _AT('required_field'); ?>">*</div><label for="title"><?php echo _AT('title'); ?></label><br />\r
- <input type="text" name="title" id="title" size="30" value="<?php echo $_POST['title']; ?>" />\r
- </div>\r
-\r
- <div class="row">\r
- <label for="selected_grade_scale_id1"><?php echo _AT('grade_scale'); ?></label><br />\r
- <?php print_grade_scale_selectbox($_POST["selected_grade_scale_id"], "selected_grade_scale_id1"); ?>\r
- </div>\r
-\r
- <div class="row">\r
- <?php echo _AT('due_date'); ?><br />\r
- <input type="radio" name="has_due_date" value="false" id="noduedate" checked="checked"\r
- onfocus="disable_dates (true, '_due');" />\r
- <label for="noduedate" title="<?php echo _AT('due_date'). ': '. _AT('none'); ?>"><?php echo _AT('none'); ?></label><br />\r
-\r
- <input type="radio" name="has_due_date" value="true" id="hasduedate" onfocus="disable_dates (false, '_due');" />\r
- <label for="hasduedate" title="<?php echo _AT('due_date') ?>"><?php echo _AT('date'); ?></label>\r
-\r
- <?php\r
- $today = getdate();\r
- $today_day = $today['mday'];\r
- $today_mon = $today['mon'];\r
- $today_year = $today['year'];\r
- $today_hour = '12';\r
- $today_min = '0';\r
- \r
- $name = '_due';\r
- require(AT_INCLUDE_PATH.'html/release_date.inc.php');\r
- ?>\r
- </div>\r
-\r
- <div class="row buttons">\r
- <input type="submit" name="addExternalTest" value="<?php echo _AT('add'); ?>" />\r
- <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />\r
- </div>\r
-\r
- </fieldset>\r
-\r
-</div>\r
-</form>\r
-\r
-<script language="javascript" type="text/javascript">\r
-function disable_dates (state, name) {\r
- document.form['day' + name].disabled=state;\r
- document.form['month' + name].disabled=state;\r
- document.form['year' + name].disabled=state;\r
- document.form['hour' + name].disabled=state;\r
- document.form['min' + name].disabled=state;\r
-}\r
-</script>\r
-\r
-<?php require (AT_INCLUDE_PATH.'footer.inc.php'); ?>\r