$string['glossary:managecomments'] = 'Manage comments';
$string['glossary:manageentries'] = 'Manage entries';
$string['glossary:rate'] = 'Rate entries';
-$string['glossary:view'] = 'View entries';
+$string['glossary:read'] = 'Read entries';
$string['glossarytype'] = 'Glossary type';
$string['glossarytype_help'] = 'A main glossary is a glossary in which entries from secondary glossaries can be imported. There can only be one main glossary in a course. if glossary entry import is not required, all glossaries in the course can be secondary glossaries.';
$string['glossary:view'] = 'View glossary';
* @return bool
*/
function glossary_print_recent_activity($course, $viewfullnames, $timestart) {
- global $CFG, $USER, $DB, $OUTPUT, $PAGE;
+ global $CFG, $USER, $DB, $OUTPUT;
//TODO: use timestamp in approved field instead of changing timemodified when approving in 2.0
if (!defined('GLOSSARY_RECENT_ACTIVITY_LIMIT')) {
$approvals = array();
foreach ($ids as $glinstanceid => $glcmid) {
$context = get_context_instance(CONTEXT_MODULE, $glcmid);
- if (!has_capability('mod/glossary:view', $context)) {
- continue;
- }
// get records glossary entries that are approved if user has no capability to approve entries.
if (has_capability('mod/glossary:approve', $context)) {
$approvals[] = ' ge.glossaryid = :glsid'.$glinstanceid.' ';
$approvals[] = ' (ge.approved = 1 AND ge.glossaryid = :glsid'.$glinstanceid.') ';
}
$params['glsid'.$glinstanceid] = $glinstanceid;
-
}
$selectsql = 'SELECT ge.id, ge.concept, ge.approved, ge.timemodified, ge.glossaryid,
$fromsql = implode($joins, "\n");
$params['timestart'] = $timestart;
- $clausesql = ' WHERE ge.timemodified > :timestart ';
+ $clausesql = ' WHERE ge.timemodified > :timestart AND (';
+ $approvalsql = implode($approvals, ' OR ');
+
+ $ordersql = ') ORDER BY ge.timemodified ASC';
- if (count($approval) > 0) {
- $approvalsql = 'AND ('. implode($approvals, ' OR ') .') ';
- }
- $ordersql = 'ORDER BY ge.timemodified ASC';
$entries = $DB->get_records_sql($selectsql.$fromsql.$clausesql.$approvalsql.$ordersql, $params, 0, (GLOSSARY_RECENT_ACTIVITY_LIMIT+1));
if (empty($entries)) {
$glossary = $DB->get_record('glossary', array("id" => $PAGE->cm->instance));
- if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds) && $glossary->rsstype && $glossary->rssarticles && has_capability('mod/glossary:view', $PAGE->cm->context)) {
+ if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds) && $glossary->rsstype && $glossary->rssarticles && can_access_course($PAGE->course, $USER)) {
require_once("$CFG->libdir/rsslib.php");
$string = get_string('rsstype','forum');