Beispiel #1
0
$context = establishContext();
if (!$context->valid) {
    die("Basic LTI Session failure " . $_SERVER['PHP_SELF']);
}
if (isset($_REQUEST['cancel'])) {
    $context->redirect('index.php');
}
if (!$context->isInstructor()) {
    die("You must be an instrcutor to grade - doh!");
}
if (!isset($_REQUEST['response_id'])) {
    die("Missing required parameter");
}
require_once $CFG->dirroot . '/db.php';
require_once $CFG->dirroot . '/pdo_util.php';
setupPrimaryKeys($db, $context);
// Security Note:
// This will only work if we are grading the response for the resource associated
// With this context/launch/ etc - We take the ResourceID from the context
$sql = sprintf("SELECT * FROM Responses JOIN LTI_Users JOIN LTI_Resources \n        ON Responses.user_id = LTI_Users.id AND Responses.resource_id = LTI_Resources.id\n        WHERE resource_id=%s AND Responses.id=%s\n", $db->quote($context->getResourceID()), $db->quote($_REQUEST['response_id']));
$q = @$db->query($sql);
$response = $q->fetch();
if (!$response) {
    die("Response not found");
}
// print "\n<pre>\n"; print_r($response); print "\n</pre>\n";
if ($_POST['grade'] || $_POST['note']) {
    if ($_POST['grade'] != $response['grade'] || $_POST['note'] != $response['note']) {
        $sql = sprintf("UPDATE Responses SET note=%s, grade=%s WHERE id=%s\n", $db->quote($_POST['note']), $db->quote($_POST['grade']), $db->quote($_REQUEST['response_id']));
        $rows = $db->exec($sql);
        if ($rows < 1) {
Beispiel #2
0
    $db->query('alter table Events add primary key(id)');
    $db->query('alter table Persons add primary key(id)');
    $db->query('alter table Countries add primary key(iso2)');
    $db->query('alter table Competitions add primary key(id)');
    echo "Setup primary keys.<br>";
}
function generateResults($db)
{
    // Setup AllResults table for use with generating statistics
    $db->query('drop table if exists AllResults');
    $db->query('create view ResultsView as select competitionId,eventId,personId,best,average,countryId,gender
		from Results join Persons on Results.personId=Persons.id');
    $db->query('create view ResultsViewCountries as select competitionId,eventId,personId,best,average,countryId,
		Countries.iso2 as countryCode,gender
		from ResultsView join Countries on ResultsView.countryId=Countries.id');
    $db->query('create table AllResults (competitionId varchar(32), eventId varchar(6), personId varchar(10),
		best int(11), average int(11), countryId varchar(50), countryCode char(2),
		gender char(1), year smallint(5) unsigned)');
    $db->query('insert into AllResults select competitionId,eventId,personId,best,average,countryId,countryCode,gender,year
		from ResultsViewCountries join Competitions on ResultsViewCountries.competitionId=Competitions.id');
    $db->query('drop view ResultsViewCountries');
    $db->query('drop view ResultsView');
    echo "Setup AllResults table.<br>";
}
$db = getDb();
stripTables($db);
dropTables($db);
setupPrimaryKeys($db);
generateResults($db);
echo "Import script finished.<br>";
$db->close();