From f167056a1846024eff3a806af79865750b461c7c Mon Sep 17 00:00:00 2001 From: skodak Date: Tue, 13 Feb 2007 19:29:51 +0000 Subject: [PATCH] MDL-8490 Glossary student not being able to edit entries; backported from HEAD --- mod/glossary/edit.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mod/glossary/edit.php b/mod/glossary/edit.php index 45e84a91e2c..fd6edbbe8b1 100644 --- a/mod/glossary/edit.php +++ b/mod/glossary/edit.php @@ -32,8 +32,16 @@ if (! $glossary = get_record("glossary", "id", $cm->instance)) { error("Course module is incorrect"); } -if ($e) { // if entry is sepcified - require_capability('mod/glossary:manageentries', $context); + +if ($e) { // if entry is specified + if (!$entry = get_record("glossary_entries", "id", $e)) { + error("Incorrect entry id"); + } + $ineditperiod = ((time() - $entry->timecreated < $CFG->maxeditingtime) || $glossary->editalways); + if (!has_capability('mod/glossary:manageentries', $context) and !($entry->userid == $USER->id and ($ineditperiod and has_capability('mod/glossary:write', $context)))) { + //expired edit time is the most probable cause here + error(get_string('erredittimeexpired', 'glossary'), "view.php?id=$cm->id&mode=entry&hook=$e"); + } } else { // new entry require_capability('mod/glossary:write', $context); }