mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
mod-glossary MDL-19809 Added set_url calls, replaced deprecated functions
This commit is contained in:
parent
cd4e6b1769
commit
5fa0208ec3
16 changed files with 1954 additions and 1791 deletions
|
@ -1,38 +1,51 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$eid = optional_param('eid', 0, PARAM_INT); // Entry ID
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$eid = optional_param('eid', 0, PARAM_INT); // Entry ID
|
||||
|
||||
$mode = optional_param('mode','approval', PARAM_ALPHA);
|
||||
$hook = optional_param('hook','ALL', PARAM_CLEAN);
|
||||
$mode = optional_param('mode','approval', PARAM_ALPHA);
|
||||
$hook = optional_param('hook','ALL', PARAM_CLEAN);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/approve.php', array('id'=>$id));
|
||||
if ($eid !== 0) {
|
||||
$url->param('eid', $eid);
|
||||
}
|
||||
if ($mode !== 'approval') {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
if ($hook !== 'ALL') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:approve', $context);
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
$newentry = new object();
|
||||
$newentry->id = $eid;
|
||||
$newentry->approved = 1;
|
||||
$newentry->timemodified = time(); // wee need this date here to speed up recent activity, TODO: use timestamp in approved field instead in 2.0
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:approve', $context);
|
||||
|
||||
$DB->update_record("glossary_entries", $newentry);
|
||||
add_to_log($course->id, "glossary", "approve entry", "showentry.php?id=$cm->id&eid=$eid", "$eid",$cm->id);
|
||||
redirect("view.php?id=$cm->id&mode=$mode&hook=$hook",get_string("entryapproved","glossary"),1);
|
||||
die;
|
||||
?>
|
||||
$newentry = new object();
|
||||
$newentry->id = $eid;
|
||||
$newentry->approved = 1;
|
||||
$newentry->timemodified = time(); // wee need this date here to speed up recent activity, TODO: use timestamp in approved field instead in 2.0
|
||||
|
||||
$DB->update_record("glossary_entries", $newentry);
|
||||
add_to_log($course->id, "glossary", "approve entry", "showentry.php?id=$cm->id&eid=$eid", "$eid",$cm->id);
|
||||
redirect("view.php?id=$cm->id&mode=$mode&hook=$hook",get_string("entryapproved","glossary"),1);
|
||||
die;
|
||||
|
||||
?>
|
|
@ -1,4 +1,4 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
require_once('../../config.php');
|
||||
require_once('lib.php');
|
||||
|
@ -6,7 +6,9 @@ require_once('comment_form.php');
|
|||
|
||||
$action = optional_param('action','add', PARAM_ACTION);
|
||||
|
||||
if (isguest()) {
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/comment.php', array('action'=>$action)));
|
||||
|
||||
if (has_capability('moodle/legacy:guest', get_context_instance(CONTEXT_SYSTEM), 0, false)) {
|
||||
print_error('guestnocomment');
|
||||
}
|
||||
|
||||
|
@ -226,7 +228,7 @@ function glossary_comment_print_header($course, $cm, $glossary, $entry, $action)
|
|||
$PAGE->navbar->add($strcomments, new moodle_url($CFG->wwwroot.'/mod/glossary/comments.php', array('id'=>$cm->id,'eid'=>$entry->id)));
|
||||
$PAGE->navbar->add($straction);
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
/// print original glossary entry for any comment action (add, update, delete)
|
||||
|
|
|
@ -1,76 +1,78 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
/// This page prints a particular instance of glossary
|
||||
require_once('../../config.php');
|
||||
require_once('lib.php');
|
||||
require_once('../../config.php');
|
||||
require_once('lib.php');
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$eid = required_param('eid', PARAM_INT); // Entry ID
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$eid = required_param('eid', PARAM_INT); // Entry ID
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/comments.php', array('id'=>$id,'eid'=>$eid)));
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcousemodule');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
if (! $entry = $DB->get_record("glossary_entries", array("id"=>$eid))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcousemodule');
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
if (! $entry = $DB->get_record("glossary_entries", array("id"=>$eid))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
|
||||
add_to_log($course->id, "glossary", "view", "view.php?id=$cm->id", "$glossary->id",$cm->id);
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strcomments = get_string("comments", "glossary");
|
||||
$straddcomment = get_string("addcomment", "glossary");
|
||||
add_to_log($course->id, "glossary", "view", "view.php?id=$cm->id", "$glossary->id",$cm->id);
|
||||
|
||||
$PAGE->navbar->add($strcomments);
|
||||
$PAGE->set_title(strip_tags("$strcomments: $entry->concept"));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
echo $OUTPUT->header();
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strcomments = get_string("comments", "glossary");
|
||||
$straddcomment = get_string("addcomment", "glossary");
|
||||
|
||||
$PAGE->navbar->add($strcomments);
|
||||
$PAGE->set_title(strip_tags("$strcomments: $entry->concept"));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
/// original glossary entry
|
||||
|
||||
echo "<div class=\"boxaligncenter\">";
|
||||
glossary_print_entry($course, $cm, $glossary, $entry, "", "", false);
|
||||
echo "</div>";
|
||||
echo "<div class=\"boxaligncenter\">";
|
||||
glossary_print_entry($course, $cm, $glossary, $entry, "", "", false);
|
||||
echo "</div>";
|
||||
|
||||
/// comments
|
||||
|
||||
echo $OUTPUT->heading(format_string(get_string('commentson','glossary')." <b>\"$entry->concept\"</b>"));
|
||||
echo $OUTPUT->heading(format_string(get_string('commentson','glossary')." <b>\"$entry->concept\"</b>"));
|
||||
|
||||
if (has_capability('mod/glossary:comment', $context) and $glossary->allowcomments) {
|
||||
echo $OUTPUT->heading("<a href=\"comment.php?action=add&entryid=$entry->id\">$straddcomment <img title=\"$straddcomment\" src=\"comment.gif\" class=\"iconsmall\" alt=\"$straddcomment\" /></a>");
|
||||
}
|
||||
if (has_capability('mod/glossary:comment', $context) and $glossary->allowcomments) {
|
||||
echo $OUTPUT->heading("<a href=\"comment.php?action=add&entryid=$entry->id\">$straddcomment <img title=\"$straddcomment\" src=\"comment.gif\" class=\"iconsmall\" alt=\"$straddcomment\" /></a>");
|
||||
}
|
||||
|
||||
if ($comments = $DB->get_records("glossary_comments", array("entryid"=>$entry->id), "timemodified ASC")) {
|
||||
foreach ($comments as $comment) {
|
||||
glossary_print_comment($course, $cm, $glossary, $entry, $comment);
|
||||
echo '<br />';
|
||||
}
|
||||
} else {
|
||||
echo $OUTPUT->heading(get_string("nocomments","glossary"));
|
||||
if ($comments = $DB->get_records("glossary_comments", array("entryid"=>$entry->id), "timemodified ASC")) {
|
||||
foreach ($comments as $comment) {
|
||||
glossary_print_comment($course, $cm, $glossary, $entry, $comment);
|
||||
echo '<br />';
|
||||
}
|
||||
} else {
|
||||
echo $OUTPUT->heading(get_string("nocomments","glossary"));
|
||||
}
|
||||
|
||||
|
||||
/// Finish the page
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
?>
|
||||
?>
|
|
@ -1,106 +1,119 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // course module ID
|
||||
$confirm = optional_param('confirm', 0, PARAM_INT); // commit the operation?
|
||||
$entry = optional_param('entry', 0, PARAM_INT); // entry id
|
||||
$prevmode = required_param('prevmode', PARAM_ALPHA);
|
||||
$hook = optional_param('hook', '', PARAM_CLEAN);
|
||||
$id = required_param('id', PARAM_INT); // course module ID
|
||||
$confirm = optional_param('confirm', 0, PARAM_INT); // commit the operation?
|
||||
$entry = optional_param('entry', 0, PARAM_INT); // entry id
|
||||
$prevmode = required_param('prevmode', PARAM_ALPHA);
|
||||
$hook = optional_param('hook', '', PARAM_CLEAN);
|
||||
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$stredit = get_string("edit");
|
||||
$entrydeleted = get_string("entrydeleted","glossary");
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/deleteentry.php', array('id'=>$id,'prevmode'=>$prevmode));
|
||||
if ($confirm !== 0) {
|
||||
$url->param('confirm', $confirm);
|
||||
}
|
||||
if ($entry !== 0) {
|
||||
$url->param('entry', $entry);
|
||||
}
|
||||
if ($hook !== '') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$stredit = get_string("edit");
|
||||
$entrydeleted = get_string("entrydeleted","glossary");
|
||||
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error("invalidcoursemodule");
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error("invalidcoursemodule");
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
if (! $entry = $DB->get_record("glossary_entries", array("id"=>$entry))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
if (! $entry = $DB->get_record("glossary_entries", array("id"=>$entry))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
$manageentries = has_capability('mod/glossary:manageentries', $context);
|
||||
require_login($course->id, false, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
$manageentries = has_capability('mod/glossary:manageentries', $context);
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
|
||||
$strareyousuredelete = get_string("areyousuredelete","glossary");
|
||||
$strareyousuredelete = get_string("areyousuredelete","glossary");
|
||||
|
||||
if (($entry->userid != $USER->id) and !$manageentries) { // guest id is never matched, no need for special check here
|
||||
print_error('nopermissiontodelentry');
|
||||
}
|
||||
$ineditperiod = ((time() - $entry->timecreated < $CFG->maxeditingtime) || $glossary->editalways);
|
||||
if (!$ineditperiod and !$manageentries) {
|
||||
print_error('errdeltimeexpired', 'glossary');
|
||||
}
|
||||
if (($entry->userid != $USER->id) and !$manageentries) { // guest id is never matched, no need for special check here
|
||||
print_error('nopermissiontodelentry');
|
||||
}
|
||||
$ineditperiod = ((time() - $entry->timecreated < $CFG->maxeditingtime) || $glossary->editalways);
|
||||
if (!$ineditperiod and !$manageentries) {
|
||||
print_error('errdeltimeexpired', 'glossary');
|
||||
}
|
||||
|
||||
/// If data submitted, then process and store.
|
||||
|
||||
if ($confirm and confirm_sesskey()) { // the operation was confirmed.
|
||||
// if it is an imported entry, just delete the relation
|
||||
if ($confirm and confirm_sesskey()) { // the operation was confirmed.
|
||||
// if it is an imported entry, just delete the relation
|
||||
|
||||
if ($entry->sourceglossaryid) {
|
||||
if (!$newcm = get_coursemodule_from_instance('glossary', $entry->sourceglossaryid)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$newcontext = get_context_instance(CONTEXT_MODULE, $newcm->id);
|
||||
|
||||
$entry->glossaryid = $entry->sourceglossaryid;
|
||||
$entry->sourceglossaryid = 0;
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
// move attachments too
|
||||
$fs = get_file_storage();
|
||||
|
||||
if ($oldfiles = $fs->get_area_files($context->id, 'glossary_attachment', $entry->id)) {
|
||||
foreach ($oldfiles as $oldfile) {
|
||||
$file_record = new object();
|
||||
$file_record->contextid = $newcontext->id;
|
||||
$fs->create_file_from_storedfile($file_record, $oldfile);
|
||||
}
|
||||
$fs->delete_area_files($context->id, 'glossary_attachment', $entry->id);
|
||||
$entry->attachment = '1';
|
||||
} else {
|
||||
$entry->attachment = '0';
|
||||
}
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
} else {
|
||||
$fs = get_file_storage();
|
||||
$fs->delete_area_files($context->id, 'glossary_attachment', $entry->id);
|
||||
$DB->delete_records("glossary_comments", array("entryid"=>$entry->id));
|
||||
$DB->delete_records("glossary_alias", array("entryid"=>$entry->id));
|
||||
$DB->delete_records("glossary_ratings", array("entryid"=>$entry->id));
|
||||
$DB->delete_records("glossary_entries", array("id"=>$entry->id));
|
||||
if ($entry->sourceglossaryid) {
|
||||
if (!$newcm = get_coursemodule_from_instance('glossary', $entry->sourceglossaryid)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$newcontext = get_context_instance(CONTEXT_MODULE, $newcm->id);
|
||||
|
||||
add_to_log($course->id, "glossary", "delete entry", "view.php?id=$cm->id&mode=$prevmode&hook=$hook", $entry->id,$cm->id);
|
||||
redirect("view.php?id=$cm->id&mode=$prevmode&hook=$hook");
|
||||
$entry->glossaryid = $entry->sourceglossaryid;
|
||||
$entry->sourceglossaryid = 0;
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
} else { // the operation has not been confirmed yet so ask the user to do so
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
echo $OUTPUT->header();
|
||||
$areyousure = "<b>".format_string($entry->concept)."</b><p>$strareyousuredelete</p>";
|
||||
$linkyes = 'deleteentry.php';
|
||||
$linkno = 'view.php';
|
||||
$optionsyes = array('id'=>$cm->id, 'entry'=>$entry->id, 'confirm'=>1, 'sesskey'=>sesskey(), 'prevmode'=>$prevmode, 'hook'=>$hook);
|
||||
$optionsno = array('id'=>$cm->id, 'mode'=>$prevmode, 'hook'=>$hook);
|
||||
// move attachments too
|
||||
$fs = get_file_storage();
|
||||
|
||||
echo $OUTPUT->confirm($areyousure, new moodle_url($linkyes, $optionsyes), new moodle_url($linkno, $optionsno));
|
||||
if ($oldfiles = $fs->get_area_files($context->id, 'glossary_attachment', $entry->id)) {
|
||||
foreach ($oldfiles as $oldfile) {
|
||||
$file_record = new object();
|
||||
$file_record->contextid = $newcontext->id;
|
||||
$fs->create_file_from_storedfile($file_record, $oldfile);
|
||||
}
|
||||
$fs->delete_area_files($context->id, 'glossary_attachment', $entry->id);
|
||||
$entry->attachment = '1';
|
||||
} else {
|
||||
$entry->attachment = '0';
|
||||
}
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
} else {
|
||||
$fs = get_file_storage();
|
||||
$fs->delete_area_files($context->id, 'glossary_attachment', $entry->id);
|
||||
$DB->delete_records("glossary_comments", array("entryid"=>$entry->id));
|
||||
$DB->delete_records("glossary_alias", array("entryid"=>$entry->id));
|
||||
$DB->delete_records("glossary_ratings", array("entryid"=>$entry->id));
|
||||
$DB->delete_records("glossary_entries", array("id"=>$entry->id));
|
||||
}
|
||||
?>
|
||||
|
||||
add_to_log($course->id, "glossary", "delete entry", "view.php?id=$cm->id&mode=$prevmode&hook=$hook", $entry->id,$cm->id);
|
||||
redirect("view.php?id=$cm->id&mode=$prevmode&hook=$hook");
|
||||
|
||||
} else { // the operation has not been confirmed yet so ask the user to do so
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
echo $OUTPUT->header();
|
||||
$areyousure = "<b>".format_string($entry->concept)."</b><p>$strareyousuredelete</p>";
|
||||
$linkyes = 'deleteentry.php';
|
||||
$linkno = 'view.php';
|
||||
$optionsyes = array('id'=>$cm->id, 'entry'=>$entry->id, 'confirm'=>1, 'sesskey'=>sesskey(), 'prevmode'=>$prevmode, 'hook'=>$hook);
|
||||
$optionsno = array('id'=>$cm->id, 'mode'=>$prevmode, 'hook'=>$hook);
|
||||
|
||||
echo $OUTPUT->confirm($areyousure, new moodle_url($linkyes, $optionsyes), new moodle_url($linkno, $optionsno));
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,109 +1,131 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
/// This page allows to edit entries categories for a particular instance of glossary
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID, or
|
||||
$usedynalink = optional_param('usedynalink', 0, PARAM_INT); // category ID
|
||||
$confirm = optional_param('confirm', 0, PARAM_INT); // confirm the action
|
||||
$name = optional_param('name', '', PARAM_CLEAN); // confirm the name
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID, or
|
||||
$usedynalink = optional_param('usedynalink', 0, PARAM_INT); // category ID
|
||||
$confirm = optional_param('confirm', 0, PARAM_INT); // confirm the action
|
||||
$name = optional_param('name', '', PARAM_CLEAN); // confirm the name
|
||||
|
||||
$action = optional_param('action', '', PARAM_ALPHA ); // what to do
|
||||
$hook = optional_param('hook', '', PARAM_ALPHANUM); // category ID
|
||||
$mode = optional_param('mode', '', PARAM_ALPHA); // cat
|
||||
$action = optional_param('action', '', PARAM_ALPHA ); // what to do
|
||||
$hook = optional_param('hook', '', PARAM_ALPHANUM); // category ID
|
||||
$mode = optional_param('mode', '', PARAM_ALPHA); // cat
|
||||
|
||||
$action = strtolower($action);
|
||||
$action = strtolower($action);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/editcategories.php', array('id'=>$id));
|
||||
if ($usedynalink !== 0) {
|
||||
$url->param('usedynalink', $usedynalink);
|
||||
}
|
||||
if ($confirm !== 0) {
|
||||
$url->param('confirm', $confirm);
|
||||
}
|
||||
if ($name !== 'name') {
|
||||
$url->param('name', $name);
|
||||
}
|
||||
if ($action !== 'action') {
|
||||
$url->param('action', $action);
|
||||
}
|
||||
if ($hook !== 'hook') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
if ($mode !== 'mode') {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if ($hook > 0) {
|
||||
if ($category = $DB->get_record("glossary_categories", array("id"=>$hook))) {
|
||||
//Check it belongs to the same glossary
|
||||
if ($category->glossaryid != $glossary->id) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
} else {
|
||||
print_error('invalidcategoryid');
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if ($hook > 0) {
|
||||
if ($category = $DB->get_record("glossary_categories", array("id"=>$hook))) {
|
||||
//Check it belongs to the same glossary
|
||||
if ($category->glossaryid != $glossary->id) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
} else {
|
||||
print_error('invalidcategoryid');
|
||||
}
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:managecategories', $context);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:managecategories', $context);
|
||||
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
|
||||
$PAGE->navbar->add($strglossaries, new moodle_url($CFG->wwwroot.'/mod/glossary/index.php', array('id'=>$course->id)));
|
||||
$PAGE->navbar->add(format_string($glossary->name), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->id,'tab'=>'GLOSSARY_CATEGORY_VIEW')));
|
||||
$PAGE->navbar->add(get_string("categories","glossary"));
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
echo $OUTPUT->header();
|
||||
$PAGE->navbar->add($strglossaries, new moodle_url($CFG->wwwroot.'/mod/glossary/index.php', array('id'=>$course->id)));
|
||||
$PAGE->navbar->add(format_string($glossary->name), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->id,'tab'=>'GLOSSARY_CATEGORY_VIEW')));
|
||||
$PAGE->navbar->add(get_string("categories","glossary"));
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
if ( $hook >0 ) {
|
||||
if ( $hook >0 ) {
|
||||
|
||||
if ( $action == "edit" ) {
|
||||
if ( $confirm ) {
|
||||
$action = "";
|
||||
$cat = new object();
|
||||
$cat->id = $hook;
|
||||
$cat->name = $name;
|
||||
$cat->usedynalink = $usedynalink;
|
||||
if ( $action == "edit" ) {
|
||||
if ( $confirm ) {
|
||||
$action = "";
|
||||
$cat = new object();
|
||||
$cat->id = $hook;
|
||||
$cat->name = $name;
|
||||
$cat->usedynalink = $usedynalink;
|
||||
|
||||
$DB->update_record("glossary_categories", $cat);
|
||||
add_to_log($course->id, "glossary", "edit category", "editcategories.php?id=$cm->id", $hook,$cm->id);
|
||||
$DB->update_record("glossary_categories", $cat);
|
||||
add_to_log($course->id, "glossary", "edit category", "editcategories.php?id=$cm->id", $hook,$cm->id);
|
||||
|
||||
} else {
|
||||
echo "<p style=\"text-align:center\">" . get_string("edit"). " " . get_string("category","glossary") . "<span style=\"font-size:1.5em\">";
|
||||
} else {
|
||||
echo "<p style=\"text-align:center\">" . get_string("edit"). " " . get_string("category","glossary") . "<span style=\"font-size:1.5em\">";
|
||||
|
||||
$name = $category->name;
|
||||
$usedynalink = $category->usedynalink;
|
||||
require "editcategories.html";
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
$name = $category->name;
|
||||
$usedynalink = $category->usedynalink;
|
||||
require "editcategories.html";
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
}
|
||||
|
||||
} elseif ( $action == "delete" ) {
|
||||
if ( $confirm ) {
|
||||
$DB->delete_records("glossary_entries_categories", array("categoryid"=>$hook));
|
||||
$DB->delete_records("glossary_categories", array("id"=>$hook));
|
||||
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter errorboxcontent boxwidthnarrow');
|
||||
echo "<div style=\"text-align:center\">" . get_string("categorydeleted","glossary") ."</div>";
|
||||
echo "</center>";
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
add_to_log($course->id, "glossary", "delete category", "editcategories.php?id=$cm->id", $hook,$cm->id);
|
||||
|
||||
redirect("editcategories.php?id=$cm->id");
|
||||
} else {
|
||||
echo "<p style=\"text-align:center\">" . get_string("delete"). " " . get_string("category","glossary"). "</p>";
|
||||
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter errorboxcontent boxwidthnarrow');
|
||||
echo "<div class=\"boxaligncenter\"><b>".format_text($category->name, FORMAT_PLAIN)."</b><br/>";
|
||||
|
||||
$num_entries = $DB->count_records("glossary_entries_categories", array("categoryid"=>$category->id));
|
||||
if ( $num_entries ) {
|
||||
print_string("deletingnoneemptycategory","glossary");
|
||||
}
|
||||
|
||||
} elseif ( $action == "delete" ) {
|
||||
if ( $confirm ) {
|
||||
$DB->delete_records("glossary_entries_categories", array("categoryid"=>$hook));
|
||||
$DB->delete_records("glossary_categories", array("id"=>$hook));
|
||||
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter errorboxcontent boxwidthnarrow');
|
||||
echo "<div style=\"text-align:center\">" . get_string("categorydeleted","glossary") ."</div>";
|
||||
echo "</center>";
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
add_to_log($course->id, "glossary", "delete category", "editcategories.php?id=$cm->id", $hook,$cm->id);
|
||||
|
||||
redirect("editcategories.php?id=$cm->id");
|
||||
} else {
|
||||
echo "<p style=\"text-align:center\">" . get_string("delete"). " " . get_string("category","glossary"). "</p>";
|
||||
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter errorboxcontent boxwidthnarrow');
|
||||
echo "<div class=\"boxaligncenter\"><b>".format_text($category->name, FORMAT_PLAIN)."</b><br/>";
|
||||
|
||||
$num_entries = $DB->count_records("glossary_entries_categories", array("categoryid"=>$category->id));
|
||||
if ( $num_entries ) {
|
||||
print_string("deletingnoneemptycategory","glossary");
|
||||
}
|
||||
echo "<p>";
|
||||
print_string("areyousuredelete","glossary");
|
||||
echo "</p>";
|
||||
echo "<p>";
|
||||
print_string("areyousuredelete","glossary");
|
||||
echo "</p>";
|
||||
?>
|
||||
|
||||
<table border="0" width="100">
|
||||
|
@ -123,49 +145,49 @@
|
|||
<td align="left" style="width:50%">
|
||||
|
||||
<?php
|
||||
unset($options);
|
||||
$options = array ("id" => $id);
|
||||
echo $OUTPUT->button(html_form::make_button("editcategories.php", $options, get_string("no")));
|
||||
echo "</td></tr></table>";
|
||||
echo "</div>";
|
||||
echo $OUTPUT->box_end();
|
||||
}
|
||||
unset($options);
|
||||
$options = array ("id" => $id);
|
||||
echo $OUTPUT->button(html_form::make_button("editcategories.php", $options, get_string("no")));
|
||||
echo "</td></tr></table>";
|
||||
echo "</div>";
|
||||
echo $OUTPUT->box_end();
|
||||
}
|
||||
}
|
||||
|
||||
} elseif ( $action == "add" ) {
|
||||
if ( $confirm ) {
|
||||
$ILIKE = $DB->sql_ilike();
|
||||
$dupcategory = $DB->get_records_sql("SELECT * FROM {glossary_categories} WHERE name $ILIKE ? AND glossaryid=?", array($name, $glossary->id));
|
||||
if ( $dupcategory ) {
|
||||
echo "<p style=\"text-align:center\">" . get_string("add"). " " . get_string("category","glossary");
|
||||
} elseif ( $action == "add" ) {
|
||||
if ( $confirm ) {
|
||||
$ILIKE = $DB->sql_ilike();
|
||||
$dupcategory = $DB->get_records_sql("SELECT * FROM {glossary_categories} WHERE name $ILIKE ? AND glossaryid=?", array($name, $glossary->id));
|
||||
if ( $dupcategory ) {
|
||||
echo "<p style=\"text-align:center\">" . get_string("add"). " " . get_string("category","glossary");
|
||||
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter errorboxcontent boxwidthnarrow');
|
||||
echo "<div style=\"text-align:center\">" . get_string("duplicatedcategory","glossary") ."</div>";
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->box_start('generalbox boxaligncenter errorboxcontent boxwidthnarrow');
|
||||
echo "<div style=\"text-align:center\">" . get_string("duplicatedcategory","glossary") ."</div>";
|
||||
echo $OUTPUT->box_end();
|
||||
|
||||
redirect("editcategories.php?id=$cm->id&action=add&&name=$name");
|
||||
redirect("editcategories.php?id=$cm->id&action=add&&name=$name");
|
||||
|
||||
} else {
|
||||
$action = "";
|
||||
$cat = new object();
|
||||
$cat->name = $name;
|
||||
$cat->usedynalink = $usedynalink;
|
||||
$cat->glossaryid = $glossary->id;
|
||||
|
||||
$cat->id = $DB->insert_record("glossary_categories", $cat);
|
||||
add_to_log($course->id, "glossary", "add category", "editcategories.php?id=$cm->id", $cat->id,$cm->id);
|
||||
}
|
||||
} else {
|
||||
echo "<p style=\"text-align:center\">" . get_string("add"). " " . get_string("category","glossary"). "</p>";
|
||||
$name="";
|
||||
require "editcategories.html";
|
||||
}
|
||||
}
|
||||
$action = "";
|
||||
$cat = new object();
|
||||
$cat->name = $name;
|
||||
$cat->usedynalink = $usedynalink;
|
||||
$cat->glossaryid = $glossary->id;
|
||||
|
||||
if ( $action ) {
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
$cat->id = $DB->insert_record("glossary_categories", $cat);
|
||||
add_to_log($course->id, "glossary", "add category", "editcategories.php?id=$cm->id", $cat->id,$cm->id);
|
||||
}
|
||||
} else {
|
||||
echo "<p style=\"text-align:center\">" . get_string("add"). " " . get_string("category","glossary"). "</p>";
|
||||
$name="";
|
||||
require "editcategories.html";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $action ) {
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
@ -1,51 +1,63 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
|
||||
$mode= optional_param('mode', '', PARAM_ALPHA); // term entry cat date letter search author approval
|
||||
$hook= optional_param('hook', '', PARAM_CLEAN); // the term, entry, cat, etc... to look for based on mode
|
||||
$cat = optional_param('cat',0, PARAM_ALPHANUM);
|
||||
$mode= optional_param('mode', '', PARAM_ALPHA); // term entry cat date letter search author approval
|
||||
$hook= optional_param('hook', '', PARAM_CLEAN); // the term, entry, cat, etc... to look for based on mode
|
||||
$cat = optional_param('cat',0, PARAM_ALPHANUM);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/export.php', array('id'=>$id));
|
||||
if ($cat !== 0) {
|
||||
$url->param('cat', $cat);
|
||||
}
|
||||
if ($mode !== '') {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
if ($hook !== '') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:export', $context);
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strexportfile = get_string("exportfile", "glossary");
|
||||
$strexportentries = get_string('exportentriestoxml', 'glossary');
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:export', $context);
|
||||
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/export.php', array('id'=>$cm->id)));
|
||||
$PAGE->navbar->add($strexportentries);
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strexportfile = get_string("exportfile", "glossary");
|
||||
$strexportentries = get_string('exportentriestoxml', 'glossary');
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strexportentries);
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
?>
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/export.php', array('id'=>$cm->id)));
|
||||
$PAGE->navbar->add($strexportentries);
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strexportentries);
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
?>
|
||||
<form action="exportfile.php" method="post">
|
||||
<table border="0" cellpadding="6" cellspacing="6" width="100%">
|
||||
<tr><td align="center">
|
||||
|
|
|
@ -1,112 +1,123 @@
|
|||
<?php // $Id$
|
||||
require_once('../../config.php');
|
||||
require_once('lib.php');
|
||||
<?php
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Entry ID
|
||||
$confirm = optional_param('confirm', 0, PARAM_BOOL); // export confirmation
|
||||
$prevmode = required_param('prevmode', PARAM_ALPHA);
|
||||
$hook = optional_param('hook', '', PARAM_CLEAN);
|
||||
require_once('../../config.php');
|
||||
require_once('lib.php');
|
||||
|
||||
if (!$entry = $DB->get_record('glossary_entries', array('id'=>$id))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
$id = required_param('id', PARAM_INT); // Entry ID
|
||||
$confirm = optional_param('confirm', 0, PARAM_BOOL); // export confirmation
|
||||
$prevmode = required_param('prevmode', PARAM_ALPHA);
|
||||
$hook = optional_param('hook', '', PARAM_CLEAN);
|
||||
|
||||
if ($entry->sourceglossaryid) {
|
||||
//already exported
|
||||
if (!$cm = get_coursemodule_from_id('glossary', $entry->sourceglossaryid)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
redirect('view.php?id='.$cm->id.'&mode=entry&hook='.$entry->id);
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/exportentry.php', array('id'=>$id,'prevmode'=>$prevmode));
|
||||
if ($confirm !== 0) {
|
||||
$url->param('confirm', $confirm);
|
||||
}
|
||||
if ($hook !== 'ALL') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (!$cm = get_coursemodule_from_instance('glossary', $entry->glossaryid)) {
|
||||
if (!$entry = $DB->get_record('glossary_entries', array('id'=>$id))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
|
||||
if ($entry->sourceglossaryid) {
|
||||
//already exported
|
||||
if (!$cm = get_coursemodule_from_id('glossary', $entry->sourceglossaryid)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
redirect('view.php?id='.$cm->id.'&mode=entry&hook='.$entry->id);
|
||||
}
|
||||
|
||||
if (!$glossary = $DB->get_record('glossary', array('id'=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (!$cm = get_coursemodule_from_instance('glossary', $entry->glossaryid)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (!$course = $DB->get_record('course', array('id'=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (!$glossary = $DB->get_record('glossary', array('id'=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
require_course_login($course->id, true, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:export', $context);
|
||||
if (!$course = $DB->get_record('course', array('id'=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
$returnurl = "view.php?id=$cm->id&mode=$prevmode&hook=".urlencode($hook);
|
||||
require_course_login($course->id, true, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:export', $context);
|
||||
|
||||
if (!$mainglossary = $DB->get_record('glossary', array('course'=>$cm->course, 'mainglossary'=>1))) {
|
||||
//main glossary not present
|
||||
redirect($returnurl);
|
||||
}
|
||||
$returnurl = "view.php?id=$cm->id&mode=$prevmode&hook=".urlencode($hook);
|
||||
|
||||
if (!$maincm = get_coursemodule_from_instance('glossary', $mainglossary->id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
if (!$mainglossary = $DB->get_record('glossary', array('course'=>$cm->course, 'mainglossary'=>1))) {
|
||||
//main glossary not present
|
||||
redirect($returnurl);
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
$maincontext = get_context_instance(CONTEXT_MODULE, $maincm->id);
|
||||
if (!$maincm = get_coursemodule_from_instance('glossary', $mainglossary->id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (!$course = $DB->get_record('course', array('id'=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
$maincontext = get_context_instance(CONTEXT_MODULE, $maincm->id);
|
||||
|
||||
if (!$course = $DB->get_record('course', array('id'=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
|
||||
$strglossaries = get_string('modulenameplural', 'glossary');
|
||||
$entryalreadyexist = get_string('entryalreadyexist','glossary');
|
||||
$entryexported = get_string('entryexported','glossary');
|
||||
$strglossaries = get_string('modulenameplural', 'glossary');
|
||||
$entryalreadyexist = get_string('entryalreadyexist','glossary');
|
||||
$entryexported = get_string('entryexported','glossary');
|
||||
|
||||
if (!$mainglossary->allowduplicatedentries) {
|
||||
if ($DB->get_record('glossary_entries', array('glossaryid'=>$mainglossary->id, 'lower(concept)'=>moodle_strtolower($entry->concept)))) {
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->notification(get_string('errconceptalreadyexists', 'glossary'));
|
||||
echo $OUTPUT->continue_button($returnurl);
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
}
|
||||
}
|
||||
|
||||
if (!data_submitted() or !$confirm or !confirm_sesskey()) {
|
||||
if (!$mainglossary->allowduplicatedentries) {
|
||||
if ($DB->get_record('glossary_entries', array('glossaryid'=>$mainglossary->id, 'lower(concept)'=>moodle_strtolower($entry->concept)))) {
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
echo $OUTPUT->header();
|
||||
echo '<div class="boxaligncenter">';
|
||||
$areyousure = '<h2>'.format_string($entry->concept).'</h2><p align="center">'.get_string('areyousureexport','glossary').'<br /><b>'.format_string($mainglossary->name).'</b>?';
|
||||
$linkyes = 'exportentry.php';
|
||||
$linkno = 'view.php';
|
||||
$optionsyes = array('id'=>$entry->id, 'confirm'=>1, 'sesskey'=>sesskey(), 'prevmode'=>$prevmode, 'hook'=>$hook);
|
||||
$optionsno = array('id'=>$cm->id, 'mode'=>$prevmode, 'hook'=>$hook);
|
||||
|
||||
echo $OUTPUT->confirm($areyousure, new moodle_url($linkyes, $optionsyes), new moodle_url($linkno, $optionsno));
|
||||
echo '</div>';
|
||||
echo $OUTPUT->notification(get_string('errconceptalreadyexists', 'glossary'));
|
||||
echo $OUTPUT->continue_button($returnurl);
|
||||
echo $OUTPUT->box_end();
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
|
||||
} else {
|
||||
$entry->glossaryid = $mainglossary->id;
|
||||
$entry->sourceglossaryid = $glossary->id;
|
||||
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
// move attachments too
|
||||
$fs = get_file_storage();
|
||||
|
||||
if ($oldfiles = $fs->get_area_files($context->id, 'glossary_attachment', $entry->id)) {
|
||||
foreach ($oldfiles as $oldfile) {
|
||||
$file_record = new object();
|
||||
$file_record->contextid = $maincontext->id;
|
||||
$fs->create_file_from_storedfile($file_record, $oldfile);
|
||||
}
|
||||
$fs->delete_area_files($context->id, 'glossary_attachment', $entry->id);
|
||||
$entry->attachment = '1';
|
||||
} else {
|
||||
$entry->attachment = '0';
|
||||
}
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
redirect ($returnurl);
|
||||
}
|
||||
?>
|
||||
}
|
||||
|
||||
if (!data_submitted() or !$confirm or !confirm_sesskey()) {
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
echo $OUTPUT->header();
|
||||
echo '<div class="boxaligncenter">';
|
||||
$areyousure = '<h2>'.format_string($entry->concept).'</h2><p align="center">'.get_string('areyousureexport','glossary').'<br /><b>'.format_string($mainglossary->name).'</b>?';
|
||||
$linkyes = 'exportentry.php';
|
||||
$linkno = 'view.php';
|
||||
$optionsyes = array('id'=>$entry->id, 'confirm'=>1, 'sesskey'=>sesskey(), 'prevmode'=>$prevmode, 'hook'=>$hook);
|
||||
$optionsno = array('id'=>$cm->id, 'mode'=>$prevmode, 'hook'=>$hook);
|
||||
|
||||
echo $OUTPUT->confirm($areyousure, new moodle_url($linkyes, $optionsyes), new moodle_url($linkno, $optionsno));
|
||||
echo '</div>';
|
||||
echo $OUTPUT->footer();
|
||||
die;
|
||||
|
||||
} else {
|
||||
$entry->glossaryid = $mainglossary->id;
|
||||
$entry->sourceglossaryid = $glossary->id;
|
||||
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
// move attachments too
|
||||
$fs = get_file_storage();
|
||||
|
||||
if ($oldfiles = $fs->get_area_files($context->id, 'glossary_attachment', $entry->id)) {
|
||||
foreach ($oldfiles as $oldfile) {
|
||||
$file_record = new object();
|
||||
$file_record->contextid = $maincontext->id;
|
||||
$fs->create_file_from_storedfile($file_record, $oldfile);
|
||||
}
|
||||
$fs->delete_area_files($context->id, 'glossary_attachment', $entry->id);
|
||||
$entry->attachment = '1';
|
||||
} else {
|
||||
$entry->attachment = '0';
|
||||
}
|
||||
$DB->update_record('glossary_entries', $entry);
|
||||
|
||||
redirect ($returnurl);
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,35 +1,45 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
// disable moodle specific debug messages
|
||||
disable_debugging();
|
||||
// disable moodle specific debug messages
|
||||
disable_debugging();
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
|
||||
$l = optional_param('l','', PARAM_ALPHANUM);
|
||||
$cat = optional_param('cat',0, PARAM_ALPHANUM);
|
||||
$l = optional_param('l','', PARAM_ALPHANUM);
|
||||
$cat = optional_param('cat',0, PARAM_ALPHANUM);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/exportfile.php', array('id'=>$id));
|
||||
if ($l !== '') {
|
||||
$url->param('l', $l);
|
||||
}
|
||||
if ($cat !== 0) {
|
||||
$url->param('cat', $cat);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:export', $context);
|
||||
|
||||
$filename = clean_filename(strip_tags(format_string($glossary->name,true)).'.xml');
|
||||
$content = glossary_generate_export_file($glossary,$l,$cat);
|
||||
|
||||
send_file($content, $filename, 0, 0, true, true);
|
||||
?>
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:export', $context);
|
||||
|
||||
$filename = clean_filename(strip_tags(format_string($glossary->name,true)).'.xml');
|
||||
$content = glossary_generate_export_file($glossary,$l,$cat);
|
||||
|
||||
send_file($content, $filename, 0, 0, true, true);
|
||||
|
||||
?>
|
|
@ -1,255 +1,262 @@
|
|||
<?php // $Id$
|
||||
/// This file allows to manage the default behaviour of the display formats
|
||||
<?php
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once($CFG->libdir.'/adminlib.php');
|
||||
require_once("lib.php");
|
||||
/// This file allows to manage the default behaviour of the display formats
|
||||
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$mode = optional_param('mode', '', PARAM_ACTION);
|
||||
require_once("../../config.php");
|
||||
require_once($CFG->libdir.'/adminlib.php');
|
||||
require_once("lib.php");
|
||||
|
||||
admin_externalpage_setup('managemodules'); // this is hacky, tehre should be a special hidden page for it
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$mode = optional_param('mode', '', PARAM_ACTION);
|
||||
|
||||
if ( !$displayformat = $DB->get_record("glossary_formats", array("id"=>$id))) {
|
||||
print_error('invalidglossaryformat', 'glossary');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/formats.php', array('id'=>$id));
|
||||
if ($mode !== '') {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
$form = data_submitted();
|
||||
if ( $mode == 'visible' ) {
|
||||
if ( $displayformat ) {
|
||||
if ( $displayformat->visible ) {
|
||||
$displayformat->visible = 0;
|
||||
} else {
|
||||
$displayformat->visible = 1;
|
||||
}
|
||||
$DB->update_record("glossary_formats",$displayformat);
|
||||
}
|
||||
redirect("$CFG->wwwroot/$CFG->admin/settings.php?section=modsettingglossary#glossary_formats_header");
|
||||
die;
|
||||
} elseif ( $mode == 'edit' and $form) {
|
||||
admin_externalpage_setup('managemodules'); // this is hacky, tehre should be a special hidden page for it
|
||||
|
||||
$displayformat->popupformatname = $form->popupformatname;
|
||||
$displayformat->showgroup = $form->showgroup;
|
||||
$displayformat->defaultmode = $form->defaultmode;
|
||||
$displayformat->defaulthook = $form->defaulthook;
|
||||
$displayformat->sortkey = $form->sortkey;
|
||||
$displayformat->sortorder = $form->sortorder;
|
||||
if ( !$displayformat = $DB->get_record("glossary_formats", array("id"=>$id))) {
|
||||
print_error('invalidglossaryformat', 'glossary');
|
||||
}
|
||||
|
||||
$DB->update_record("glossary_formats",$displayformat);
|
||||
redirect("$CFG->wwwroot/$CFG->admin/settings.php?section=modsettingglossary#glossary_formats_header");
|
||||
die;
|
||||
}
|
||||
|
||||
$strmodulename = get_string("modulename", "glossary");
|
||||
$strdisplayformats = get_string("displayformats","glossary");
|
||||
|
||||
admin_externalpage_print_header();
|
||||
|
||||
echo $OUTPUT->heading($strmodulename . ': ' . get_string("displayformats","glossary"));
|
||||
|
||||
echo $OUTPUT->box(get_string("configwarning", 'admin'), "generalbox boxaligncenter boxwidthnormal");
|
||||
echo "<br />";
|
||||
|
||||
$yes = get_string("yes");
|
||||
$no = get_string("no");
|
||||
|
||||
echo '<form method="post" action="formats.php" id="form">';
|
||||
echo '<table width="90%" align="center" class="generalbox">';
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="3" align="center"><strong>
|
||||
<?php echo get_string('displayformat'.$displayformat->name,'glossary'); ?>
|
||||
</strong></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('popupformat','glossary'); ?></td>
|
||||
<td>
|
||||
<?php
|
||||
//get and update available formats
|
||||
$recformats = glossary_get_available_formats();
|
||||
|
||||
$formats = array();
|
||||
|
||||
//Take names
|
||||
foreach ($recformats as $format) {
|
||||
$formats[$format->name] = get_string("displayformat$format->name", "glossary");
|
||||
}
|
||||
//Sort it
|
||||
asort($formats);
|
||||
|
||||
echo $OUTPUT->select(html_select::make($formats,'popupformatname',$displayformat->popupformatname));
|
||||
?>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfrelatedview", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaultmode','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="defaultmode">
|
||||
<?php
|
||||
$sletter = '';
|
||||
$scat = '';
|
||||
$sauthor = '';
|
||||
$sdate = '';
|
||||
switch ( strtolower($displayformat->defaultmode) ) {
|
||||
case 'letter':
|
||||
$sletter = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'cat':
|
||||
$scat = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
$sdate = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'author':
|
||||
$sauthor = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="letter" <?php p($sletter)?>><?php print_string("letter", "glossary"); ?></option>
|
||||
<option value="cat" <?php p($scat)?>><?php print_string("cat", "glossary"); ?></option>
|
||||
<option value="date" <?php p($sdate)?>><?php print_string("date", "glossary"); ?></option>
|
||||
<option value="author" <?php p($sauthor)?>><?php print_string("author", "glossary"); ?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfdefaultmode", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaulthook','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="defaulthook">
|
||||
<?php
|
||||
$sall = '';
|
||||
$sspecial = '';
|
||||
$sallcategories = '';
|
||||
$snocategorised = '';
|
||||
switch ( strtolower($displayformat->defaulthook) ) {
|
||||
case 'all':
|
||||
$sall = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'special':
|
||||
$sspecial = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case '0':
|
||||
$sallcategories = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case '-1':
|
||||
$snocategorised = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="ALL" <?php p($sall)?>><?php p(get_string("allentries","glossary"))?></option>
|
||||
<option value="SPECIAL" <?php p($sspecial)?>><?php p(get_string("special","glossary"))?></option>
|
||||
<option value="0" <?php p($sallcategories)?>><?php p(get_string("allcategories","glossary"))?></option>
|
||||
<option value="-1" <?php p($snocategorised)?>><?php p(get_string("notcategorised","glossary"))?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfdefaulthook", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaultsortkey','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="sortkey">
|
||||
<?php
|
||||
$sfname = '';
|
||||
$slname = '';
|
||||
$supdate = '';
|
||||
$screation = '';
|
||||
switch ( strtolower($displayformat->sortkey) ) {
|
||||
case 'firstname':
|
||||
$sfname = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'lastname':
|
||||
$slname = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'creation':
|
||||
$screation = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
$supdate = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="CREATION" <?php p($screation)?>><?php p(get_string("sortbycreation","glossary"))?></option>
|
||||
<option value="UPDATE" <?php p($supdate)?>><?php p(get_string("sortbylastupdate","glossary"))?></option>
|
||||
<option value="FIRSTNAME" <?php p($sfname)?>><?php p(get_string("firstname"))?></option>
|
||||
<option value="LASTNAME" <?php p($slname)?>><?php p(get_string("lastname"))?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfsortkey", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaultsortorder','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="sortorder">
|
||||
<?php
|
||||
$sasc = '';
|
||||
$sdesc = '';
|
||||
switch ( strtolower($displayformat->sortorder) ) {
|
||||
case 'asc':
|
||||
$sasc = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'desc':
|
||||
$sdesc = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="asc" <?php p($sasc)?>><?php p(get_string("ascending","glossary"))?></option>
|
||||
<option value="desc" <?php p($sdesc)?>><?php p(get_string("descending","glossary"))?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfsortorder", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string("includegroupbreaks", "glossary"); ?>:</td>
|
||||
<td>
|
||||
<select size="1" name="showgroup">
|
||||
<?php
|
||||
$yselected = "";
|
||||
$nselected = "";
|
||||
if ($displayformat->showgroup) {
|
||||
$yselected = " selected=\"selected\" ";
|
||||
$form = data_submitted();
|
||||
if ( $mode == 'visible' ) {
|
||||
if ( $displayformat ) {
|
||||
if ( $displayformat->visible ) {
|
||||
$displayformat->visible = 0;
|
||||
} else {
|
||||
$nselected = " selected=\"selected\" ";
|
||||
$displayformat->visible = 1;
|
||||
}
|
||||
?>
|
||||
<option value="1" <?php echo $yselected ?>><?php p($yes)?></option>
|
||||
<option value="0" <?php echo $nselected ?>><?php p($no)?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfshowgroup", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" align="center">
|
||||
<input type="submit" value="<?php print_string("savechanges") ?>" /></td>
|
||||
</tr>
|
||||
<input type="hidden" name="id" value="<?php p($id) ?>" />
|
||||
<input type="hidden" name="mode" value="edit" />
|
||||
<?php
|
||||
$DB->update_record("glossary_formats",$displayformat);
|
||||
}
|
||||
redirect("$CFG->wwwroot/$CFG->admin/settings.php?section=modsettingglossary#glossary_formats_header");
|
||||
die;
|
||||
} elseif ( $mode == 'edit' and $form) {
|
||||
|
||||
echo '</table></form>';
|
||||
$displayformat->popupformatname = $form->popupformatname;
|
||||
$displayformat->showgroup = $form->showgroup;
|
||||
$displayformat->defaultmode = $form->defaultmode;
|
||||
$displayformat->defaulthook = $form->defaulthook;
|
||||
$displayformat->sortkey = $form->sortkey;
|
||||
$displayformat->sortorder = $form->sortorder;
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
$DB->update_record("glossary_formats",$displayformat);
|
||||
redirect("$CFG->wwwroot/$CFG->admin/settings.php?section=modsettingglossary#glossary_formats_header");
|
||||
die;
|
||||
}
|
||||
|
||||
$strmodulename = get_string("modulename", "glossary");
|
||||
$strdisplayformats = get_string("displayformats","glossary");
|
||||
|
||||
admin_externalpage_print_header();
|
||||
|
||||
echo $OUTPUT->heading($strmodulename . ': ' . get_string("displayformats","glossary"));
|
||||
|
||||
echo $OUTPUT->box(get_string("configwarning", 'admin'), "generalbox boxaligncenter boxwidthnormal");
|
||||
echo "<br />";
|
||||
|
||||
$yes = get_string("yes");
|
||||
$no = get_string("no");
|
||||
|
||||
echo '<form method="post" action="formats.php" id="form">';
|
||||
echo '<table width="90%" align="center" class="generalbox">';
|
||||
?>
|
||||
<tr>
|
||||
<td colspan="3" align="center"><strong>
|
||||
<?php echo get_string('displayformat'.$displayformat->name,'glossary'); ?>
|
||||
</strong></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('popupformat','glossary'); ?></td>
|
||||
<td>
|
||||
<?php
|
||||
//get and update available formats
|
||||
$recformats = glossary_get_available_formats();
|
||||
|
||||
$formats = array();
|
||||
|
||||
//Take names
|
||||
foreach ($recformats as $format) {
|
||||
$formats[$format->name] = get_string("displayformat$format->name", "glossary");
|
||||
}
|
||||
//Sort it
|
||||
asort($formats);
|
||||
|
||||
echo $OUTPUT->select(html_select::make($formats,'popupformatname',$displayformat->popupformatname));
|
||||
?>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfrelatedview", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaultmode','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="defaultmode">
|
||||
<?php
|
||||
$sletter = '';
|
||||
$scat = '';
|
||||
$sauthor = '';
|
||||
$sdate = '';
|
||||
switch ( strtolower($displayformat->defaultmode) ) {
|
||||
case 'letter':
|
||||
$sletter = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'cat':
|
||||
$scat = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
$sdate = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'author':
|
||||
$sauthor = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="letter" <?php p($sletter)?>><?php print_string("letter", "glossary"); ?></option>
|
||||
<option value="cat" <?php p($scat)?>><?php print_string("cat", "glossary"); ?></option>
|
||||
<option value="date" <?php p($sdate)?>><?php print_string("date", "glossary"); ?></option>
|
||||
<option value="author" <?php p($sauthor)?>><?php print_string("author", "glossary"); ?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfdefaultmode", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaulthook','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="defaulthook">
|
||||
<?php
|
||||
$sall = '';
|
||||
$sspecial = '';
|
||||
$sallcategories = '';
|
||||
$snocategorised = '';
|
||||
switch ( strtolower($displayformat->defaulthook) ) {
|
||||
case 'all':
|
||||
$sall = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'special':
|
||||
$sspecial = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case '0':
|
||||
$sallcategories = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case '-1':
|
||||
$snocategorised = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="ALL" <?php p($sall)?>><?php p(get_string("allentries","glossary"))?></option>
|
||||
<option value="SPECIAL" <?php p($sspecial)?>><?php p(get_string("special","glossary"))?></option>
|
||||
<option value="0" <?php p($sallcategories)?>><?php p(get_string("allcategories","glossary"))?></option>
|
||||
<option value="-1" <?php p($snocategorised)?>><?php p(get_string("notcategorised","glossary"))?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfdefaulthook", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaultsortkey','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="sortkey">
|
||||
<?php
|
||||
$sfname = '';
|
||||
$slname = '';
|
||||
$supdate = '';
|
||||
$screation = '';
|
||||
switch ( strtolower($displayformat->sortkey) ) {
|
||||
case 'firstname':
|
||||
$sfname = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'lastname':
|
||||
$slname = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'creation':
|
||||
$screation = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
$supdate = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="CREATION" <?php p($screation)?>><?php p(get_string("sortbycreation","glossary"))?></option>
|
||||
<option value="UPDATE" <?php p($supdate)?>><?php p(get_string("sortbylastupdate","glossary"))?></option>
|
||||
<option value="FIRSTNAME" <?php p($sfname)?>><?php p(get_string("firstname"))?></option>
|
||||
<option value="LASTNAME" <?php p($slname)?>><?php p(get_string("lastname"))?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfsortkey", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string('defaultsortorder','glossary'); ?></td>
|
||||
<td>
|
||||
<select size="1" name="sortorder">
|
||||
<?php
|
||||
$sasc = '';
|
||||
$sdesc = '';
|
||||
switch ( strtolower($displayformat->sortorder) ) {
|
||||
case 'asc':
|
||||
$sasc = ' selected="selected" ';
|
||||
break;
|
||||
|
||||
case 'desc':
|
||||
$sdesc = ' selected="selected" ';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<option value="asc" <?php p($sasc)?>><?php p(get_string("ascending","glossary"))?></option>
|
||||
<option value="desc" <?php p($sdesc)?>><?php p(get_string("descending","glossary"))?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfsortorder", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td align="right" width="20%"><?php print_string("includegroupbreaks", "glossary"); ?>:</td>
|
||||
<td>
|
||||
<select size="1" name="showgroup">
|
||||
<?php
|
||||
$yselected = "";
|
||||
$nselected = "";
|
||||
if ($displayformat->showgroup) {
|
||||
$yselected = " selected=\"selected\" ";
|
||||
} else {
|
||||
$nselected = " selected=\"selected\" ";
|
||||
}
|
||||
?>
|
||||
<option value="1" <?php echo $yselected ?>><?php p($yes)?></option>
|
||||
<option value="0" <?php echo $nselected ?>><?php p($no)?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td width="60%">
|
||||
<?php print_string("cnfshowgroup", "glossary") ?><br /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" align="center">
|
||||
<input type="submit" value="<?php print_string("savechanges") ?>" /></td>
|
||||
</tr>
|
||||
<input type="hidden" name="id" value="<?php p($id) ?>" />
|
||||
<input type="hidden" name="mode" value="edit" />
|
||||
<?php
|
||||
|
||||
echo '</table></form>';
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
?>
|
|
@ -1,357 +1,378 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->dirroot/course/lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->dirroot/course/lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
|
||||
$step = optional_param('step', 0, PARAM_INT);
|
||||
$dest = optional_param('dest', 'current', PARAM_ALPHA); // current | new
|
||||
$file = optional_param('file', '', PARAM_FILE); // file to import
|
||||
$catsincl = optional_param('catsincl', 0, PARAM_INT); // Import Categories too?
|
||||
$step = optional_param('step', 0, PARAM_INT);
|
||||
$dest = optional_param('dest', 'current', PARAM_ALPHA); // current | new
|
||||
$file = optional_param('file', '', PARAM_FILE); // file to import
|
||||
$catsincl = optional_param('catsincl', 0, PARAM_INT); // Import Categories too?
|
||||
|
||||
$mode = optional_param('mode', 'letter', PARAM_ALPHA );
|
||||
$hook = optional_param('hook', 'ALL', PARAM_ALPHANUM);
|
||||
$mode = optional_param('mode', 'letter', PARAM_ALPHA );
|
||||
$hook = optional_param('hook', 'ALL', PARAM_ALPHANUM);
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/import.php', array('id'=>$id));
|
||||
if ($step !== 0) {
|
||||
$url->param('step', $step);
|
||||
}
|
||||
if ($dest !== 'current') {
|
||||
$url->param('dest', $dest);
|
||||
}
|
||||
if ($file !== '') {
|
||||
$url->param('file', $file);
|
||||
}
|
||||
if ($catsincl !== 0) {
|
||||
$url->param('catsincl', $catsincl);
|
||||
}
|
||||
if ($mode !== 'letter') {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
if ($hook !== 'ALL') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:import', $context);
|
||||
require_login($course->id, false, $cm);
|
||||
|
||||
if ($dest != 'new' and $dest != 'current') {
|
||||
$dest = 'current';
|
||||
}
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strimportentries = get_string('importentriesfromxml', 'glossary');
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
require_capability('mod/glossary:import', $context);
|
||||
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/import.php', array('id'=>$cm->id, 'mode'=>$mode, 'hook'=>$hook)));
|
||||
$PAGE->navbar->add($strimportentries);
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strimportentries);
|
||||
if ($dest != 'new' and $dest != 'current') {
|
||||
$dest = 'current';
|
||||
}
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strimportentries = get_string('importentriesfromxml', 'glossary');
|
||||
|
||||
if ( !$step ) {
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
include("import.html");
|
||||
echo $OUTPUT->box_end();
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/import.php', array('id'=>$cm->id, 'mode'=>$mode, 'hook'=>$hook)));
|
||||
$PAGE->navbar->add($strimportentries);
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
}
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strimportentries);
|
||||
|
||||
$form = data_submitted();
|
||||
$file = $_FILES["file"];
|
||||
if ( !$step ) {
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
include("import.html");
|
||||
echo $OUTPUT->box_end();
|
||||
|
||||
require_once($CFG->dirroot.'/lib/uploadlib.php');
|
||||
$um = new upload_manager('file',false,false,$course,false,0);
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
}
|
||||
|
||||
if (!$um->preprocess_files()) {
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
echo $OUTPUT->continue_button('import.php?id='.$id);
|
||||
echo $OUTPUT->box_end();
|
||||
$form = data_submitted();
|
||||
$file = $_FILES["file"];
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
die();
|
||||
}
|
||||
require_once($CFG->dirroot.'/lib/uploadlib.php');
|
||||
$um = new upload_manager('file',false,false,$course,false,0);
|
||||
|
||||
if ($xml = glossary_read_imported_file($file['tmp_name']) ) {
|
||||
if (!$um->preprocess_files()) {
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
echo $OUTPUT->continue_button('import.php?id='.$id);
|
||||
echo $OUTPUT->box_end();
|
||||
|
||||
$importedentries = 0;
|
||||
$importedcats = 0;
|
||||
$entriesrejected = 0;
|
||||
$rejections = '';
|
||||
if ($dest == 'new') {
|
||||
// If the user chose to create a new glossary
|
||||
$xmlglossary = $xml['GLOSSARY']['#']['INFO'][0]['#'];
|
||||
echo $OUTPUT->footer();
|
||||
die();
|
||||
}
|
||||
|
||||
if ( $xmlglossary['NAME'][0]['#'] ) {
|
||||
unset($glossary);
|
||||
$glossary->name = ($xmlglossary['NAME'][0]['#']);
|
||||
$glossary->course = $course->id;
|
||||
$glossary->globalglossary = ($xmlglossary['GLOBALGLOSSARY'][0]['#']);
|
||||
$glossary->intro = ($xmlglossary['INTRO'][0]['#']);
|
||||
$glossary->showspecial = ($xmlglossary['SHOWSPECIAL'][0]['#']);
|
||||
$glossary->showalphabet = ($xmlglossary['SHOWALPHABET'][0]['#']);
|
||||
$glossary->showall = ($xmlglossary['SHOWALL'][0]['#']);
|
||||
$glossary->timecreated = time();
|
||||
$glossary->timemodified = time();
|
||||
if ($xml = glossary_read_imported_file($file['tmp_name']) ) {
|
||||
|
||||
// Setting the default values if no values were passed
|
||||
if ( isset($xmlglossary['ENTBYPAGE'][0]['#']) ) {
|
||||
$glossary->entbypage = ($xmlglossary['ENTBYPAGE'][0]['#']);
|
||||
} else {
|
||||
$glossary->entbypage = $CFG->glossary_entbypage;
|
||||
}
|
||||
if ( isset($xmlglossary['ALLOWDUPLICATEDENTRIES'][0]['#']) ) {
|
||||
$glossary->allowduplicatedentries = ($xmlglossary['ALLOWDUPLICATEDENTRIES'][0]['#']);
|
||||
} else {
|
||||
$glossary->allowduplicatedentries = $CFG->glossary_dupentries;
|
||||
}
|
||||
if ( isset($xmlglossary['DISPLAYFORMAT'][0]['#']) ) {
|
||||
$glossary->displayformat = ($xmlglossary['DISPLAYFORMAT'][0]['#']);
|
||||
} else {
|
||||
$glossary->displayformat = 2;
|
||||
}
|
||||
if ( isset($xmlglossary['ALLOWCOMMENTS'][0]['#']) ) {
|
||||
$glossary->allowcomments = ($xmlglossary['ALLOWCOMMENTS'][0]['#']);
|
||||
} else {
|
||||
$glossary->allowcomments = $CFG->glossary_allowcomments;
|
||||
}
|
||||
if ( isset($xmlglossary['USEDYNALINK'][0]['#']) ) {
|
||||
$glossary->usedynalink = ($xmlglossary['USEDYNALINK'][0]['#']);
|
||||
} else {
|
||||
$glossary->usedynalink = $CFG->glossary_linkentries;
|
||||
}
|
||||
if ( isset($xmlglossary['DEFAULTAPPROVAL'][0]['#']) ) {
|
||||
$glossary->defaultapproval = ($xmlglossary['DEFAULTAPPROVAL'][0]['#']);
|
||||
} else {
|
||||
$glossary->defaultapproval = $CFG->glossary_defaultapproval;
|
||||
}
|
||||
$importedentries = 0;
|
||||
$importedcats = 0;
|
||||
$entriesrejected = 0;
|
||||
$rejections = '';
|
||||
if ($dest == 'new') {
|
||||
// If the user chose to create a new glossary
|
||||
$xmlglossary = $xml['GLOSSARY']['#']['INFO'][0]['#'];
|
||||
|
||||
// Include new glossary and return the new ID
|
||||
if ( !$glossary->id = glossary_add_instance($glossary) ) {
|
||||
echo $OUTPUT->notification("Error while trying to create the new glossary.");
|
||||
echo '</center>';
|
||||
glossary_print_tabbed_table_end();
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
} else {
|
||||
//The instance has been created, so lets do course_modules
|
||||
//and course_sections
|
||||
$mod->groupmode = $course->groupmode; /// Default groupmode the same as course
|
||||
if ( $xmlglossary['NAME'][0]['#'] ) {
|
||||
unset($glossary);
|
||||
$glossary->name = ($xmlglossary['NAME'][0]['#']);
|
||||
$glossary->course = $course->id;
|
||||
$glossary->globalglossary = ($xmlglossary['GLOBALGLOSSARY'][0]['#']);
|
||||
$glossary->intro = ($xmlglossary['INTRO'][0]['#']);
|
||||
$glossary->showspecial = ($xmlglossary['SHOWSPECIAL'][0]['#']);
|
||||
$glossary->showalphabet = ($xmlglossary['SHOWALPHABET'][0]['#']);
|
||||
$glossary->showall = ($xmlglossary['SHOWALL'][0]['#']);
|
||||
$glossary->timecreated = time();
|
||||
$glossary->timemodified = time();
|
||||
|
||||
$mod->instance = $glossary->id;
|
||||
// course_modules and course_sections each contain a reference
|
||||
// to each other, so we have to update one of them twice.
|
||||
|
||||
if (! $currmodule = $DB->get_record("modules", array("name"=>'glossary'))) {
|
||||
print_error('modulenotexist', 'debug', '', 'Glossary');
|
||||
}
|
||||
$mod->module = $currmodule->id;
|
||||
$mod->course = $course->id;
|
||||
$mod->modulename = 'glossary';
|
||||
$mod->section = 0;
|
||||
|
||||
if (! $mod->coursemodule = add_course_module($mod) ) {
|
||||
print_error('cannotaddcoursemodule');
|
||||
}
|
||||
|
||||
if (! $sectionid = add_mod_to_section($mod) ) {
|
||||
print_error('cannotaddcoursemoduletosection');
|
||||
}
|
||||
//We get the section's visible field status
|
||||
$visible = $DB->get_field("course_sections", "visible", array("id"=>$sectionid));
|
||||
|
||||
$DB->set_field("course_modules", "visible", $visible, array("id"=>$mod->coursemodule));
|
||||
$DB->set_field("course_modules", "section", $sectionid, array("id"=>$mod->coursemodule));
|
||||
|
||||
add_to_log($course->id, "course", "add mod",
|
||||
"../mod/$mod->modulename/view.php?id=$mod->coursemodule",
|
||||
"$mod->modulename $mod->instance");
|
||||
add_to_log($course->id, $mod->modulename, "add",
|
||||
"view.php?id=$mod->coursemodule",
|
||||
"$mod->instance", $mod->coursemodule);
|
||||
|
||||
rebuild_course_cache($course->id);
|
||||
|
||||
echo $OUTPUT->box(get_string("newglossarycreated","glossary"),'generalbox boxaligncenter boxwidthnormal');
|
||||
echo '<p>';
|
||||
}
|
||||
// Setting the default values if no values were passed
|
||||
if ( isset($xmlglossary['ENTBYPAGE'][0]['#']) ) {
|
||||
$glossary->entbypage = ($xmlglossary['ENTBYPAGE'][0]['#']);
|
||||
} else {
|
||||
$glossary->entbypage = $CFG->glossary_entbypage;
|
||||
}
|
||||
if ( isset($xmlglossary['ALLOWDUPLICATEDENTRIES'][0]['#']) ) {
|
||||
$glossary->allowduplicatedentries = ($xmlglossary['ALLOWDUPLICATEDENTRIES'][0]['#']);
|
||||
} else {
|
||||
$glossary->allowduplicatedentries = $CFG->glossary_dupentries;
|
||||
}
|
||||
if ( isset($xmlglossary['DISPLAYFORMAT'][0]['#']) ) {
|
||||
$glossary->displayformat = ($xmlglossary['DISPLAYFORMAT'][0]['#']);
|
||||
} else {
|
||||
$glossary->displayformat = 2;
|
||||
}
|
||||
if ( isset($xmlglossary['ALLOWCOMMENTS'][0]['#']) ) {
|
||||
$glossary->allowcomments = ($xmlglossary['ALLOWCOMMENTS'][0]['#']);
|
||||
} else {
|
||||
$glossary->allowcomments = $CFG->glossary_allowcomments;
|
||||
}
|
||||
if ( isset($xmlglossary['USEDYNALINK'][0]['#']) ) {
|
||||
$glossary->usedynalink = ($xmlglossary['USEDYNALINK'][0]['#']);
|
||||
} else {
|
||||
$glossary->usedynalink = $CFG->glossary_linkentries;
|
||||
}
|
||||
if ( isset($xmlglossary['DEFAULTAPPROVAL'][0]['#']) ) {
|
||||
$glossary->defaultapproval = ($xmlglossary['DEFAULTAPPROVAL'][0]['#']);
|
||||
} else {
|
||||
$glossary->defaultapproval = $CFG->glossary_defaultapproval;
|
||||
}
|
||||
|
||||
// Include new glossary and return the new ID
|
||||
if ( !$glossary->id = glossary_add_instance($glossary) ) {
|
||||
echo $OUTPUT->notification("Error while trying to create the new glossary.");
|
||||
echo '</center>';
|
||||
glossary_print_tabbed_table_end();
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
} else {
|
||||
//The instance has been created, so lets do course_modules
|
||||
//and course_sections
|
||||
$mod->groupmode = $course->groupmode; /// Default groupmode the same as course
|
||||
|
||||
$mod->instance = $glossary->id;
|
||||
// course_modules and course_sections each contain a reference
|
||||
// to each other, so we have to update one of them twice.
|
||||
|
||||
if (! $currmodule = $DB->get_record("modules", array("name"=>'glossary'))) {
|
||||
print_error('modulenotexist', 'debug', '', 'Glossary');
|
||||
}
|
||||
$mod->module = $currmodule->id;
|
||||
$mod->course = $course->id;
|
||||
$mod->modulename = 'glossary';
|
||||
$mod->section = 0;
|
||||
|
||||
if (! $mod->coursemodule = add_course_module($mod) ) {
|
||||
print_error('cannotaddcoursemodule');
|
||||
}
|
||||
|
||||
if (! $sectionid = add_mod_to_section($mod) ) {
|
||||
print_error('cannotaddcoursemoduletosection');
|
||||
}
|
||||
//We get the section's visible field status
|
||||
$visible = $DB->get_field("course_sections", "visible", array("id"=>$sectionid));
|
||||
|
||||
$DB->set_field("course_modules", "visible", $visible, array("id"=>$mod->coursemodule));
|
||||
$DB->set_field("course_modules", "section", $sectionid, array("id"=>$mod->coursemodule));
|
||||
|
||||
add_to_log($course->id, "course", "add mod",
|
||||
"../mod/$mod->modulename/view.php?id=$mod->coursemodule",
|
||||
"$mod->modulename $mod->instance");
|
||||
add_to_log($course->id, $mod->modulename, "add",
|
||||
"view.php?id=$mod->coursemodule",
|
||||
"$mod->instance", $mod->coursemodule);
|
||||
|
||||
rebuild_course_cache($course->id);
|
||||
|
||||
echo $OUTPUT->box(get_string("newglossarycreated","glossary"),'generalbox boxaligncenter boxwidthnormal');
|
||||
echo '<p>';
|
||||
}
|
||||
} else {
|
||||
echo $OUTPUT->notification("Error while trying to create the new glossary.");
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$xmlentries = $xml['GLOSSARY']['#']['INFO'][0]['#']['ENTRIES'][0]['#']['ENTRY'];
|
||||
for($i = 0; $i < sizeof($xmlentries); $i++) {
|
||||
// Inserting the entries
|
||||
$xmlentry = $xmlentries[$i];
|
||||
unset($newentry);
|
||||
$newentry->concept = trim($xmlentry['#']['CONCEPT'][0]['#']);
|
||||
$newentry->definition = trusttext_strip($xmlentry['#']['DEFINITION'][0]['#']);
|
||||
if ( isset($xmlentry['#']['CASESENSITIVE'][0]['#']) ) {
|
||||
$newentry->casesensitive = $xmlentry['#']['CASESENSITIVE'][0]['#'];
|
||||
} else {
|
||||
$newentry->casesensitive = $CFG->glossary_casesensitive;
|
||||
}
|
||||
|
||||
$xmlentries = $xml['GLOSSARY']['#']['INFO'][0]['#']['ENTRIES'][0]['#']['ENTRY'];
|
||||
for($i = 0; $i < sizeof($xmlentries); $i++) {
|
||||
// Inserting the entries
|
||||
$xmlentry = $xmlentries[$i];
|
||||
unset($newentry);
|
||||
$newentry->concept = trim($xmlentry['#']['CONCEPT'][0]['#']);
|
||||
$newentry->definition = trusttext_strip($xmlentry['#']['DEFINITION'][0]['#']);
|
||||
if ( isset($xmlentry['#']['CASESENSITIVE'][0]['#']) ) {
|
||||
$newentry->casesensitive = $xmlentry['#']['CASESENSITIVE'][0]['#'];
|
||||
$permissiongranted = 1;
|
||||
if ( $newentry->concept and $newentry->definition ) {
|
||||
if ( !$glossary->allowduplicatedentries ) {
|
||||
// checking if the entry is valid (checking if it is duplicated when should not be)
|
||||
if ( $newentry->casesensitive ) {
|
||||
$dupentry = $DB->get_record("glossary_entries", array("concept"=>$newentry->concept, "glossaryid"=>$glossary->id));
|
||||
} else {
|
||||
$dupentry = $DB->get_record("glossary_entries", array("lower(concept)"=>moodle_strtolower($newentry->concept)), array("glossaryid"=>$glossary->id));
|
||||
}
|
||||
if ($dupentry) {
|
||||
$permissiongranted = 0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$permissiongranted = 0;
|
||||
}
|
||||
if ($permissiongranted) {
|
||||
$newentry->glossaryid = $glossary->id;
|
||||
$newentry->sourceglossaryid = 0;
|
||||
$newentry->approved = 1;
|
||||
$newentry->userid = $USER->id;
|
||||
$newentry->teacherentry = 1;
|
||||
$newentry->format = $xmlentry['#']['FORMAT'][0]['#'];
|
||||
$newentry->timecreated = time();
|
||||
$newentry->timemodified = time();
|
||||
|
||||
// Setting the default values if no values were passed
|
||||
if ( isset($xmlentry['#']['USEDYNALINK'][0]['#']) ) {
|
||||
$newentry->usedynalink = $xmlentry['#']['USEDYNALINK'][0]['#'];
|
||||
} else {
|
||||
$newentry->casesensitive = $CFG->glossary_casesensitive;
|
||||
$newentry->usedynalink = $CFG->glossary_linkentries;
|
||||
}
|
||||
if ( isset($xmlentry['#']['FULLMATCH'][0]['#']) ) {
|
||||
$newentry->fullmatch = $xmlentry['#']['FULLMATCH'][0]['#'];
|
||||
} else {
|
||||
$newentry->fullmatch = $CFG->glossary_fullmatch;
|
||||
}
|
||||
|
||||
$permissiongranted = 1;
|
||||
if ( $newentry->concept and $newentry->definition ) {
|
||||
if ( !$glossary->allowduplicatedentries ) {
|
||||
// checking if the entry is valid (checking if it is duplicated when should not be)
|
||||
if ( $newentry->casesensitive ) {
|
||||
$dupentry = $DB->get_record("glossary_entries", array("concept"=>$newentry->concept, "glossaryid"=>$glossary->id));
|
||||
} else {
|
||||
$dupentry = $DB->get_record("glossary_entries", array("lower(concept)"=>moodle_strtolower($newentry->concept)), array("glossaryid"=>$glossary->id));
|
||||
}
|
||||
if ($dupentry) {
|
||||
$permissiongranted = 0;
|
||||
if ( $newentry->id = $DB->insert_record("glossary_entries",$newentry) ) {
|
||||
$importedentries++;
|
||||
|
||||
$xmlaliases = @$xmlentry['#']['ALIASES'][0]['#']['ALIAS']; // ignore missing ALIASES
|
||||
for($k = 0; $k < sizeof($xmlaliases); $k++) {
|
||||
/// Importing aliases
|
||||
$xmlalias = $xmlaliases[$k];
|
||||
$aliasname = $xmlalias['#']['NAME'][0]['#'];
|
||||
|
||||
if (!empty($aliasname)) {
|
||||
$newalias = new object();
|
||||
$newalias->entryid = $newentry->id;
|
||||
$newalias->alias = trim($aliasname);
|
||||
$newalias->id = $DB->insert_record("glossary_alias",$newalias);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$permissiongranted = 0;
|
||||
}
|
||||
if ($permissiongranted) {
|
||||
$newentry->glossaryid = $glossary->id;
|
||||
$newentry->sourceglossaryid = 0;
|
||||
$newentry->approved = 1;
|
||||
$newentry->userid = $USER->id;
|
||||
$newentry->teacherentry = 1;
|
||||
$newentry->format = $xmlentry['#']['FORMAT'][0]['#'];
|
||||
$newentry->timecreated = time();
|
||||
$newentry->timemodified = time();
|
||||
|
||||
// Setting the default values if no values were passed
|
||||
if ( isset($xmlentry['#']['USEDYNALINK'][0]['#']) ) {
|
||||
$newentry->usedynalink = $xmlentry['#']['USEDYNALINK'][0]['#'];
|
||||
} else {
|
||||
$newentry->usedynalink = $CFG->glossary_linkentries;
|
||||
}
|
||||
if ( isset($xmlentry['#']['FULLMATCH'][0]['#']) ) {
|
||||
$newentry->fullmatch = $xmlentry['#']['FULLMATCH'][0]['#'];
|
||||
} else {
|
||||
$newentry->fullmatch = $CFG->glossary_fullmatch;
|
||||
}
|
||||
if ( $catsincl ) {
|
||||
// If the categories must be imported...
|
||||
$xmlcats = @$xmlentry['#']['CATEGORIES'][0]['#']['CATEGORY']; // ignore missing CATEGORIES
|
||||
for($k = 0; $k < sizeof($xmlcats); $k++) {
|
||||
$xmlcat = $xmlcats[$k];
|
||||
|
||||
if ( $newentry->id = $DB->insert_record("glossary_entries",$newentry) ) {
|
||||
$importedentries++;
|
||||
|
||||
$xmlaliases = @$xmlentry['#']['ALIASES'][0]['#']['ALIAS']; // ignore missing ALIASES
|
||||
for($k = 0; $k < sizeof($xmlaliases); $k++) {
|
||||
/// Importing aliases
|
||||
$xmlalias = $xmlaliases[$k];
|
||||
$aliasname = $xmlalias['#']['NAME'][0]['#'];
|
||||
|
||||
if (!empty($aliasname)) {
|
||||
$newalias = new object();
|
||||
$newalias->entryid = $newentry->id;
|
||||
$newalias->alias = trim($aliasname);
|
||||
$newalias->id = $DB->insert_record("glossary_alias",$newalias);
|
||||
$newcat = new object();
|
||||
$newcat->name = $xmlcat['#']['NAME'][0]['#'];
|
||||
$newcat->usedynalink = $xmlcat['#']['USEDYNALINK'][0]['#'];
|
||||
if ( !$category = $DB->get_record("glossary_categories", array("glossaryid"=>$glossary->id,"name"=>$newcat->name))) {
|
||||
// Create the category if it does not exist
|
||||
$category = new object();
|
||||
$category->name = $newcat->name;
|
||||
$category->glossaryid = $glossary->id;
|
||||
$category->id = $DB->insert_record("glossary_categories",$category);
|
||||
$importedcats++;
|
||||
}
|
||||
if ( $category ) {
|
||||
// inserting the new relation
|
||||
$entrycat = new opbject();
|
||||
$entrycat->entryid = $newentry->id;
|
||||
$entrycat->categoryid = $category->id;
|
||||
$DB->insert_record("glossary_entries_categories",$entrycat);
|
||||
}
|
||||
}
|
||||
|
||||
if ( $catsincl ) {
|
||||
// If the categories must be imported...
|
||||
$xmlcats = @$xmlentry['#']['CATEGORIES'][0]['#']['CATEGORY']; // ignore missing CATEGORIES
|
||||
for($k = 0; $k < sizeof($xmlcats); $k++) {
|
||||
$xmlcat = $xmlcats[$k];
|
||||
|
||||
$newcat = new object();
|
||||
$newcat->name = $xmlcat['#']['NAME'][0]['#'];
|
||||
$newcat->usedynalink = $xmlcat['#']['USEDYNALINK'][0]['#'];
|
||||
if ( !$category = $DB->get_record("glossary_categories", array("glossaryid"=>$glossary->id,"name"=>$newcat->name))) {
|
||||
// Create the category if it does not exist
|
||||
$category = new object();
|
||||
$category->name = $newcat->name;
|
||||
$category->glossaryid = $glossary->id;
|
||||
$category->id = $DB->insert_record("glossary_categories",$category);
|
||||
$importedcats++;
|
||||
}
|
||||
if ( $category ) {
|
||||
// inserting the new relation
|
||||
$entrycat = new opbject();
|
||||
$entrycat->entryid = $newentry->id;
|
||||
$entrycat->categoryid = $category->id;
|
||||
$DB->insert_record("glossary_entries_categories",$entrycat);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$entriesrejected++;
|
||||
// add to exception report (can't insert new record)
|
||||
$rejections .= "<tr><td>$newentry->concept</td>" .
|
||||
"<td>" . get_string("cantinsertrec","glossary"). "</td></tr>";
|
||||
}
|
||||
} else {
|
||||
$entriesrejected++;
|
||||
if ( $newentry->concept and $newentry->definition ) {
|
||||
// add to exception report (duplicated entry))
|
||||
$rejections .= "<tr><td>$newentry->concept</td>" .
|
||||
"<td>" . get_string("duplicateentry","glossary"). "</td></tr>";
|
||||
} else {
|
||||
// add to exception report (no concept or definition found))
|
||||
$rejections .= "<tr><td>---</td>" .
|
||||
"<td>" . get_string("noconceptfound","glossary"). "</td></tr>";
|
||||
}
|
||||
// add to exception report (can't insert new record)
|
||||
$rejections .= "<tr><td>$newentry->concept</td>" .
|
||||
"<td>" . get_string("cantinsertrec","glossary"). "</td></tr>";
|
||||
}
|
||||
} else {
|
||||
$entriesrejected++;
|
||||
if ( $newentry->concept and $newentry->definition ) {
|
||||
// add to exception report (duplicated entry))
|
||||
$rejections .= "<tr><td>$newentry->concept</td>" .
|
||||
"<td>" . get_string("duplicateentry","glossary"). "</td></tr>";
|
||||
} else {
|
||||
// add to exception report (no concept or definition found))
|
||||
$rejections .= "<tr><td>---</td>" .
|
||||
"<td>" . get_string("noconceptfound","glossary"). "</td></tr>";
|
||||
}
|
||||
}
|
||||
// processed entries
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
echo '<table class="glossaryimportexport">';
|
||||
echo '<tr>';
|
||||
echo '<td width="50%" align="right">';
|
||||
echo get_string("totalentries","glossary");
|
||||
echo ':</td>';
|
||||
echo '<td width="50%" align="left">';
|
||||
echo $importedentries + $entriesrejected;
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
echo '<tr>';
|
||||
echo '<td width="50%" align="right">';
|
||||
echo get_string("importedentries","glossary");
|
||||
echo ':</td>';
|
||||
echo '<td width="50%" align="left">';
|
||||
echo $importedentries;
|
||||
if ( $entriesrejected ) {
|
||||
echo ' <small>(' . get_string("rejectedentries","glossary") . ": $entriesrejected)</small>";
|
||||
}
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
if ( $catsincl ) {
|
||||
echo '<tr>';
|
||||
echo '<td width="50%" align="right">';
|
||||
echo get_string("importedcategories","glossary");
|
||||
echo ':</td>';
|
||||
echo '<td width="50%">';
|
||||
echo $importedcats;
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</table><hr />';
|
||||
|
||||
// rejected entries
|
||||
if ($rejections) {
|
||||
echo '<table class="glossaryimportexport">';
|
||||
echo '<tr><td align="center" colspan="2" width="100%"><strong>' . get_string("rejectionrpt","glossary") . '</strong></tr>';
|
||||
echo $rejections;
|
||||
echo '</table><hr />';
|
||||
}
|
||||
/// Print continue button, based on results
|
||||
if ($importedentries) {
|
||||
echo $OUTPUT->continue_button('view.php?id='.$id);
|
||||
} else {
|
||||
echo $OUTPUT->continue_button('import.php?id='.$id);
|
||||
}
|
||||
echo $OUTPUT->box_end();
|
||||
} else {
|
||||
notice(get_string('errorparsingxml', 'glossary'));
|
||||
}
|
||||
// processed entries
|
||||
echo $OUTPUT->box_start('glossarydisplay generalbox');
|
||||
echo '<table class="glossaryimportexport">';
|
||||
echo '<tr>';
|
||||
echo '<td width="50%" align="right">';
|
||||
echo get_string("totalentries","glossary");
|
||||
echo ':</td>';
|
||||
echo '<td width="50%" align="left">';
|
||||
echo $importedentries + $entriesrejected;
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
echo '<tr>';
|
||||
echo '<td width="50%" align="right">';
|
||||
echo get_string("importedentries","glossary");
|
||||
echo ':</td>';
|
||||
echo '<td width="50%" align="left">';
|
||||
echo $importedentries;
|
||||
if ( $entriesrejected ) {
|
||||
echo ' <small>(' . get_string("rejectedentries","glossary") . ": $entriesrejected)</small>";
|
||||
}
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
if ( $catsincl ) {
|
||||
echo '<tr>';
|
||||
echo '<td width="50%" align="right">';
|
||||
echo get_string("importedcategories","glossary");
|
||||
echo ':</td>';
|
||||
echo '<td width="50%">';
|
||||
echo $importedcats;
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</table><hr />';
|
||||
|
||||
// rejected entries
|
||||
if ($rejections) {
|
||||
echo '<table class="glossaryimportexport">';
|
||||
echo '<tr><td align="center" colspan="2" width="100%"><strong>' . get_string("rejectionrpt","glossary") . '</strong></tr>';
|
||||
echo $rejections;
|
||||
echo '</table><hr />';
|
||||
}
|
||||
/// Print continue button, based on results
|
||||
if ($importedentries) {
|
||||
echo $OUTPUT->continue_button('view.php?id='.$id);
|
||||
} else {
|
||||
echo $OUTPUT->continue_button('import.php?id='.$id);
|
||||
}
|
||||
echo $OUTPUT->box_end();
|
||||
} else {
|
||||
notice(get_string('errorparsingxml', 'glossary'));
|
||||
}
|
||||
|
||||
/// Finish the page
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
?>
|
||||
?>
|
|
@ -1,134 +1,136 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
/// This page lists all the instances of glossary in a particular course
|
||||
/// Replace glossary with the name of your module
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->libdir/rsslib.php");
|
||||
require_once("$CFG->dirroot/course/lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->libdir/rsslib.php");
|
||||
require_once("$CFG->dirroot/course/lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // course
|
||||
$id = required_param('id', PARAM_INT); // course
|
||||
|
||||
if (!$course = $DB->get_record('course', array('id'=>$id))) {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/index.php', array('id'=>$id)));
|
||||
|
||||
require_course_login($course);
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
if (!$course = $DB->get_record('course', array('id'=>$id))) {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
|
||||
add_to_log($course->id, "glossary", "view all", "index.php?id=$course->id", "");
|
||||
require_course_login($course);
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
|
||||
add_to_log($course->id, "glossary", "view all", "index.php?id=$course->id", "");
|
||||
|
||||
|
||||
/// Get all required strings
|
||||
|
||||
$strglossarys = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strrss = get_string("rss");
|
||||
$strglossarys = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strrss = get_string("rss");
|
||||
|
||||
|
||||
/// Print the header
|
||||
$PAGE->navbar->add($strglossarys, "index.php?id=$course->id");
|
||||
$PAGE->set_title($strglossarys);
|
||||
echo $OUTPUT->header();
|
||||
$PAGE->navbar->add($strglossarys, "index.php?id=$course->id");
|
||||
$PAGE->set_title($strglossarys);
|
||||
echo $OUTPUT->header();
|
||||
|
||||
/// Get all the appropriate data
|
||||
|
||||
if (! $glossarys = get_all_instances_in_course("glossary", $course)) {
|
||||
notice(get_string('thereareno', 'moodle', $strglossarys), "../../course/view.php?id=$course->id");
|
||||
die;
|
||||
}
|
||||
if (! $glossarys = get_all_instances_in_course("glossary", $course)) {
|
||||
notice(get_string('thereareno', 'moodle', $strglossarys), "../../course/view.php?id=$course->id");
|
||||
die;
|
||||
}
|
||||
|
||||
/// Print the list of instances (your module will probably extend this)
|
||||
|
||||
$timenow = time();
|
||||
$strname = get_string("name");
|
||||
$strweek = get_string("week");
|
||||
$strtopic = get_string("topic");
|
||||
$strentries = get_string("entries", "glossary");
|
||||
$timenow = time();
|
||||
$strname = get_string("name");
|
||||
$strweek = get_string("week");
|
||||
$strtopic = get_string("topic");
|
||||
$strentries = get_string("entries", "glossary");
|
||||
|
||||
$table = new html_table();
|
||||
$table = new html_table();
|
||||
|
||||
if ($course->format == "weeks") {
|
||||
$table->head = array ($strweek, $strname, $strentries);
|
||||
$table->align = array ("CENTER", "LEFT", "CENTER");
|
||||
} else if ($course->format == "topics") {
|
||||
$table->head = array ($strtopic, $strname, $strentries);
|
||||
$table->align = array ("CENTER", "LEFT", "CENTER");
|
||||
if ($course->format == "weeks") {
|
||||
$table->head = array ($strweek, $strname, $strentries);
|
||||
$table->align = array ("CENTER", "LEFT", "CENTER");
|
||||
} else if ($course->format == "topics") {
|
||||
$table->head = array ($strtopic, $strname, $strentries);
|
||||
$table->align = array ("CENTER", "LEFT", "CENTER");
|
||||
} else {
|
||||
$table->head = array ($strname, $strentries);
|
||||
$table->align = array ("LEFT", "CENTER");
|
||||
}
|
||||
|
||||
if ($show_rss = (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) &&
|
||||
$CFG->enablerssfeeds && $CFG->glossary_enablerssfeeds)) {
|
||||
$table->head[] = $strrss;
|
||||
$table->align[] = "CENTER";
|
||||
}
|
||||
|
||||
$currentsection = "";
|
||||
|
||||
foreach ($glossarys as $glossary) {
|
||||
if (!$glossary->visible && has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
// Show dimmed if the mod is hidden.
|
||||
$link = "<a class=\"dimmed\" href=\"view.php?id=$glossary->coursemodule\">".format_string($glossary->name,true)."</a>";
|
||||
} else if ($glossary->visible) {
|
||||
// Show normal if the mod is visible.
|
||||
$link = "<a href=\"view.php?id=$glossary->coursemodule\">".format_string($glossary->name,true)."</a>";
|
||||
} else {
|
||||
$table->head = array ($strname, $strentries);
|
||||
$table->align = array ("LEFT", "CENTER");
|
||||
// Don't show the glossary.
|
||||
continue;
|
||||
}
|
||||
$printsection = "";
|
||||
if ($glossary->section !== $currentsection) {
|
||||
if ($glossary->section) {
|
||||
$printsection = $glossary->section;
|
||||
}
|
||||
if ($currentsection !== "") {
|
||||
$table->data[] = 'hr';
|
||||
}
|
||||
$currentsection = $glossary->section;
|
||||
}
|
||||
|
||||
if ($show_rss = (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) &&
|
||||
$CFG->enablerssfeeds && $CFG->glossary_enablerssfeeds)) {
|
||||
$table->head[] = $strrss;
|
||||
$table->align[] = "CENTER";
|
||||
// TODO: count only approved if not allowed to see them
|
||||
|
||||
$count = $DB->count_records_sql("SELECT COUNT(*) FROM {glossary_entries} WHERE (glossaryid = ? OR sourceglossaryid = ?)", array($glossary->id, $glossary->id));
|
||||
|
||||
//If this glossary has RSS activated, calculate it
|
||||
if ($show_rss) {
|
||||
$rsslink = '';
|
||||
if ($glossary->rsstype and $glossary->rssarticles) {
|
||||
//Calculate the tolltip text
|
||||
$tooltiptext = get_string("rsssubscriberss","glossary",format_string($glossary->name));
|
||||
if (empty($USER->id)) {
|
||||
$userid = 0;
|
||||
} else {
|
||||
$userid = $USER->id;
|
||||
}
|
||||
//Get html code for RSS link
|
||||
$rsslink = rss_get_link($course->id, $userid, "glossary", $glossary->id, $tooltiptext);
|
||||
}
|
||||
}
|
||||
|
||||
$currentsection = "";
|
||||
|
||||
foreach ($glossarys as $glossary) {
|
||||
if (!$glossary->visible && has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
// Show dimmed if the mod is hidden.
|
||||
$link = "<a class=\"dimmed\" href=\"view.php?id=$glossary->coursemodule\">".format_string($glossary->name,true)."</a>";
|
||||
} else if ($glossary->visible) {
|
||||
// Show normal if the mod is visible.
|
||||
$link = "<a href=\"view.php?id=$glossary->coursemodule\">".format_string($glossary->name,true)."</a>";
|
||||
} else {
|
||||
// Don't show the glossary.
|
||||
continue;
|
||||
}
|
||||
$printsection = "";
|
||||
if ($glossary->section !== $currentsection) {
|
||||
if ($glossary->section) {
|
||||
$printsection = $glossary->section;
|
||||
}
|
||||
if ($currentsection !== "") {
|
||||
$table->data[] = 'hr';
|
||||
}
|
||||
$currentsection = $glossary->section;
|
||||
}
|
||||
|
||||
// TODO: count only approved if not allowed to see them
|
||||
|
||||
$count = $DB->count_records_sql("SELECT COUNT(*) FROM {glossary_entries} WHERE (glossaryid = ? OR sourceglossaryid = ?)", array($glossary->id, $glossary->id));
|
||||
|
||||
//If this glossary has RSS activated, calculate it
|
||||
if ($show_rss) {
|
||||
$rsslink = '';
|
||||
if ($glossary->rsstype and $glossary->rssarticles) {
|
||||
//Calculate the tolltip text
|
||||
$tooltiptext = get_string("rsssubscriberss","glossary",format_string($glossary->name));
|
||||
if (empty($USER->id)) {
|
||||
$userid = 0;
|
||||
} else {
|
||||
$userid = $USER->id;
|
||||
}
|
||||
//Get html code for RSS link
|
||||
$rsslink = rss_get_link($course->id, $userid, "glossary", $glossary->id, $tooltiptext);
|
||||
}
|
||||
}
|
||||
|
||||
if ($course->format == "weeks" or $course->format == "topics") {
|
||||
$linedata = array ($printsection, $link, $count);
|
||||
} else {
|
||||
$linedata = array ($link, $count);
|
||||
}
|
||||
|
||||
if ($show_rss) {
|
||||
$linedata[] = $rsslink;
|
||||
}
|
||||
|
||||
$table->data[] = $linedata;
|
||||
if ($course->format == "weeks" or $course->format == "topics") {
|
||||
$linedata = array ($printsection, $link, $count);
|
||||
} else {
|
||||
$linedata = array ($link, $count);
|
||||
}
|
||||
|
||||
echo "<br />";
|
||||
if ($show_rss) {
|
||||
$linedata[] = $rsslink;
|
||||
}
|
||||
|
||||
echo $OUTPUT->table($table);
|
||||
$table->data[] = $linedata;
|
||||
}
|
||||
|
||||
echo "<br />";
|
||||
|
||||
echo $OUTPUT->table($table);
|
||||
|
||||
/// Finish the page
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
?>
|
||||
?>
|
|
@ -1,185 +1,206 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
global $CFG;
|
||||
global $CFG;
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$sortorder = optional_param('sortorder', 'asc', PARAM_ALPHA); // Sorting order
|
||||
$offset = optional_param('offset', 0, PARAM_INT); // number of entries to bypass
|
||||
$displayformat = optional_param('displayformat',-1, PARAM_INT);
|
||||
$id = required_param('id', PARAM_INT); // Course Module ID
|
||||
$sortorder = optional_param('sortorder', 'asc', PARAM_ALPHA); // Sorting order
|
||||
$offset = optional_param('offset', 0, PARAM_INT); // number of entries to bypass
|
||||
$displayformat = optional_param('displayformat',-1, PARAM_INT);
|
||||
|
||||
$mode = required_param('mode', PARAM_ALPHA); // mode to show the entries
|
||||
$hook = optional_param('hook','ALL', PARAM_ALPHANUM); // what to show
|
||||
$sortkey = optional_param('sortkey','UPDATE', PARAM_ALPHA); // Sorting key
|
||||
$mode = required_param('mode', PARAM_ALPHA); // mode to show the entries
|
||||
$hook = optional_param('hook','ALL', PARAM_ALPHANUM); // what to show
|
||||
$sortkey = optional_param('sortkey','UPDATE', PARAM_ALPHA); // Sorting key
|
||||
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/print.php', array('id'=>$id));
|
||||
if ($sortorder !== 'asc') {
|
||||
$url->param('sortorder', $sortorder);
|
||||
}
|
||||
if ($offset !== 0) {
|
||||
$url->param('offset', $offset);
|
||||
}
|
||||
if ($displayformat !== -1) {
|
||||
$url->param('displayformat', $displayformat);
|
||||
}
|
||||
if ($sortkey !== 'UPDATE') {
|
||||
$url->param('sortkey', $sortkey);
|
||||
}
|
||||
if ($mode !== 'letter') {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
if ($hook !== 'ALL') {
|
||||
$url->param('hook', $hook);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
|
||||
if ( !$entriesbypage = $glossary->entbypage ) {
|
||||
$entriesbypage = $CFG->glossary_entbypage;
|
||||
}
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
echo $OUTPUT->header();
|
||||
if ( !$entriesbypage = $glossary->entbypage ) {
|
||||
$entriesbypage = $CFG->glossary_entbypage;
|
||||
}
|
||||
|
||||
require_course_login($course, true, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
echo $OUTPUT->header();
|
||||
|
||||
require_course_login($course, true, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
|
||||
/// Loading the textlib singleton instance. We are going to need it.
|
||||
$textlib = textlib_get_instance();
|
||||
$textlib = textlib_get_instance();
|
||||
|
||||
if (!has_capability('mod/glossary:manageentries', $context) and !$glossary->allowprintview) {
|
||||
notice(get_string('printviewnotallowed', 'glossary'));
|
||||
}
|
||||
if (!has_capability('mod/glossary:manageentries', $context) and !$glossary->allowprintview) {
|
||||
notice(get_string('printviewnotallowed', 'glossary'));
|
||||
}
|
||||
|
||||
/// setting the default values for the display mode of the current glossary
|
||||
/// only if the glossary is viewed by the first time
|
||||
if ( $dp = $DB->get_record('glossary_formats', array('name'=>$glossary->displayformat)) ) {
|
||||
$printpivot = $dp->showgroup;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = $dp->defaultmode;
|
||||
$hook = $dp->defaulthook;
|
||||
$sortkey = $dp->sortkey;
|
||||
$sortorder = $dp->sortorder;
|
||||
}
|
||||
} else {
|
||||
$printpivot = 1;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = 'letter';
|
||||
$hook = 'ALL';
|
||||
}
|
||||
if ( $dp = $DB->get_record('glossary_formats', array('name'=>$glossary->displayformat)) ) {
|
||||
$printpivot = $dp->showgroup;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = $dp->defaultmode;
|
||||
$hook = $dp->defaulthook;
|
||||
$sortkey = $dp->sortkey;
|
||||
$sortorder = $dp->sortorder;
|
||||
}
|
||||
} else {
|
||||
$printpivot = 1;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = 'letter';
|
||||
$hook = 'ALL';
|
||||
}
|
||||
}
|
||||
|
||||
if ( $displayformat == -1 ) {
|
||||
$displayformat = $glossary->displayformat;
|
||||
}
|
||||
if ( $displayformat == -1 ) {
|
||||
$displayformat = $glossary->displayformat;
|
||||
}
|
||||
|
||||
/// stablishing flag variables
|
||||
if ( $sortorder = strtolower($sortorder) ) {
|
||||
if ($sortorder != 'asc' and $sortorder != 'desc') {
|
||||
$sortorder = '';
|
||||
}
|
||||
if ( $sortorder = strtolower($sortorder) ) {
|
||||
if ($sortorder != 'asc' and $sortorder != 'desc') {
|
||||
$sortorder = '';
|
||||
}
|
||||
if ( $sortkey = strtoupper($sortkey) ) {
|
||||
if ($sortkey != 'CREATION' and
|
||||
$sortkey != 'UPDATE' and
|
||||
$sortkey != 'FIRSTNAME' and
|
||||
$sortkey != 'LASTNAME'
|
||||
) {
|
||||
$sortkey = '';
|
||||
}
|
||||
}
|
||||
if ( $sortkey = strtoupper($sortkey) ) {
|
||||
if ($sortkey != 'CREATION' and
|
||||
$sortkey != 'UPDATE' and
|
||||
$sortkey != 'FIRSTNAME' and
|
||||
$sortkey != 'LASTNAME'
|
||||
) {
|
||||
$sortkey = '';
|
||||
}
|
||||
}
|
||||
|
||||
switch ( $mode = strtolower($mode) ) {
|
||||
case 'entry': /// Looking for a certain entry id
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
break;
|
||||
switch ( $mode = strtolower($mode) ) {
|
||||
case 'entry': /// Looking for a certain entry id
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
break;
|
||||
|
||||
case 'cat': /// Looking for a certain cat
|
||||
$tab = GLOSSARY_CATEGORY_VIEW;
|
||||
if ( $hook > 0 ) {
|
||||
$category = $DB->get_record("glossary_categories", array("id"=>$hook));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'approval': /// Looking for entries waiting for approval
|
||||
$tab = GLOSSARY_APPROVAL_VIEW;
|
||||
if ( !$hook and !$sortkey and !$sortorder) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'term': /// Looking for entries that include certain term in its concept, definition or aliases
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
$tab = GLOSSARY_DATE_VIEW;
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'UPDATE';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'desc';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'author': /// Looking for entries, browsed by author
|
||||
$tab = GLOSSARY_AUTHOR_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'FIRSTNAME';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'asc';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'letter': /// Looking for entries that begin with a certain letter, ALL or SPECIAL characters
|
||||
default:
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
case 'cat': /// Looking for a certain cat
|
||||
$tab = GLOSSARY_CATEGORY_VIEW;
|
||||
if ( $hook > 0 ) {
|
||||
$category = $DB->get_record("glossary_categories", array("id"=>$hook));
|
||||
}
|
||||
break;
|
||||
|
||||
include_once("sql.php");
|
||||
|
||||
$entriesshown = 0;
|
||||
$currentpivot = '';
|
||||
if ( $hook == 'SPECIAL' ) {
|
||||
$alphabet = explode(",", get_string("alphabet"));
|
||||
case 'approval': /// Looking for entries waiting for approval
|
||||
$tab = GLOSSARY_APPROVAL_VIEW;
|
||||
if ( !$hook and !$sortkey and !$sortorder) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
|
||||
$site = $DB->get_record("course", array("id"=>1));
|
||||
echo '<p style="text-align:right"><span style="font-size:0.75em">' . userdate(time()) . '</span></p>';
|
||||
echo get_string("site") . ': <strong>' . format_string($site->fullname) . '</strong><br />';
|
||||
echo get_string("course") . ': <strong>' . format_string($course->fullname) . ' ('. format_string($course->shortname) . ')</strong><br />';
|
||||
echo get_string("modulename","glossary") . ': <strong>' . format_string($glossary->name, true) . '</strong>';
|
||||
if ( $allentries ) {
|
||||
foreach ($allentries as $entry) {
|
||||
case 'term': /// Looking for entries that include certain term in its concept, definition or aliases
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
break;
|
||||
|
||||
// Setting the pivot for the current entry
|
||||
$pivot = $entry->glossarypivot;
|
||||
$upperpivot = $textlib->strtoupper($pivot);
|
||||
// Reduce pivot to 1cc if necessary
|
||||
if ( !$fullpivot ) {
|
||||
$upperpivot = $textlib->substr($upperpivot, 0, 1);
|
||||
}
|
||||
|
||||
// If there's group break
|
||||
if ( $currentpivot != $upperpivot ) {
|
||||
case 'date':
|
||||
$tab = GLOSSARY_DATE_VIEW;
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'UPDATE';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'desc';
|
||||
}
|
||||
break;
|
||||
|
||||
// print the group break if apply
|
||||
if ( $printpivot ) {
|
||||
$currentpivot = $upperpivot;
|
||||
case 'author': /// Looking for entries, browsed by author
|
||||
$tab = GLOSSARY_AUTHOR_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'FIRSTNAME';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'asc';
|
||||
}
|
||||
break;
|
||||
|
||||
$pivottoshow = $currentpivot;
|
||||
if ( isset($entry->userispivot) ) {
|
||||
// printing the user icon if defined (only when browsing authors)
|
||||
$user = $DB->get_record("user", array("id"=>$entry->userid));
|
||||
$pivottoshow = fullname($user);
|
||||
}
|
||||
case 'letter': /// Looking for entries that begin with a certain letter, ALL or SPECIAL characters
|
||||
default:
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
echo "<p class='mdl-align'><strong>".clean_text($pivottoshow)."</strong></p>" ;
|
||||
include_once("sql.php");
|
||||
|
||||
$entriesshown = 0;
|
||||
$currentpivot = '';
|
||||
if ( $hook == 'SPECIAL' ) {
|
||||
$alphabet = explode(",", get_string("alphabet"));
|
||||
}
|
||||
|
||||
$site = $DB->get_record("course", array("id"=>1));
|
||||
echo '<p style="text-align:right"><span style="font-size:0.75em">' . userdate(time()) . '</span></p>';
|
||||
echo get_string("site") . ': <strong>' . format_string($site->fullname) . '</strong><br />';
|
||||
echo get_string("course") . ': <strong>' . format_string($course->fullname) . ' ('. format_string($course->shortname) . ')</strong><br />';
|
||||
echo get_string("modulename","glossary") . ': <strong>' . format_string($glossary->name, true) . '</strong>';
|
||||
if ( $allentries ) {
|
||||
foreach ($allentries as $entry) {
|
||||
|
||||
// Setting the pivot for the current entry
|
||||
$pivot = $entry->glossarypivot;
|
||||
$upperpivot = $textlib->strtoupper($pivot);
|
||||
// Reduce pivot to 1cc if necessary
|
||||
if ( !$fullpivot ) {
|
||||
$upperpivot = $textlib->substr($upperpivot, 0, 1);
|
||||
}
|
||||
|
||||
// If there's group break
|
||||
if ( $currentpivot != $upperpivot ) {
|
||||
|
||||
// print the group break if apply
|
||||
if ( $printpivot ) {
|
||||
$currentpivot = $upperpivot;
|
||||
|
||||
$pivottoshow = $currentpivot;
|
||||
if ( isset($entry->userispivot) ) {
|
||||
// printing the user icon if defined (only when browsing authors)
|
||||
$user = $DB->get_record("user", array("id"=>$entry->userid));
|
||||
$pivottoshow = fullname($user);
|
||||
}
|
||||
|
||||
echo "<p class='mdl-align'><strong>".clean_text($pivottoshow)."</strong></p>" ;
|
||||
}
|
||||
|
||||
glossary_print_entry($course, $cm, $glossary, $entry, $mode, $hook,1,$displayformat,false,true);
|
||||
}
|
||||
}
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
?>
|
||||
glossary_print_entry($course, $cm, $glossary, $entry, $mode, $hook,1,$displayformat,false,true);
|
||||
}
|
||||
}
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
?>
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
$glossaryid = required_param('glossaryid', PARAM_INT); // The forum the rated posts are from
|
||||
|
||||
$PAGE->set_url(new moodle_url($CFG->wwwroot.'/mod/glossary/rate.php', array('glossaryid'=>$glossaryid)));
|
||||
|
||||
if (!$glossary = $DB->get_record('glossary', array('id'=>$glossaryid))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
|
|
@ -1,87 +1,94 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
// For a given entry, shows a report of all the ratings it has
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$sort = optional_param('sort', '', PARAM_ALPHA);
|
||||
$id = required_param('id', PARAM_INT);
|
||||
$sort = optional_param('sort', '', PARAM_ALPHA);
|
||||
|
||||
if (! $entry = $DB->get_record('glossary_entries', array('id'=>$id))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/report.php', array('id'=>$id));
|
||||
if ($sort !== '') {
|
||||
$url->param('sort', $sort);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if (! $glossary = $DB->get_record('glossary', array('id'=>$entry->glossaryid))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $entry = $DB->get_record('glossary_entries', array('id'=>$id))) {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
|
||||
if (! $course = $DB->get_record('course', array('id'=>$glossary->course))) {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
if (! $glossary = $DB->get_record('glossary', array('id'=>$entry->glossaryid))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
if (! $cm = get_coursemodule_from_instance('glossary', $glossary->id, $course->id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
if (! $course = $DB->get_record('course', array('id'=>$glossary->course))) {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
|
||||
require_login($course, false, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
if (! $cm = get_coursemodule_from_instance('glossary', $glossary->id, $course->id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
|
||||
if (!$glossary->assessed) {
|
||||
print_error('nopermissiontorate');
|
||||
}
|
||||
require_login($course, false, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
|
||||
if (!has_capability('mod/glossary:manageentries', $context) and $USER->id != $entry->userid) {
|
||||
print_error('nopermissiontoviewresult', 'glossary');
|
||||
}
|
||||
if (!$glossary->assessed) {
|
||||
print_error('nopermissiontorate');
|
||||
}
|
||||
|
||||
switch ($sort) {
|
||||
case 'firstname': $sqlsort = "u.firstname ASC"; break;
|
||||
case 'rating': $sqlsort = "r.rating ASC"; break;
|
||||
default: $sqlsort = "r.time ASC";
|
||||
}
|
||||
if (!has_capability('mod/glossary:manageentries', $context) and $USER->id != $entry->userid) {
|
||||
print_error('nopermissiontoviewresult', 'glossary');
|
||||
}
|
||||
|
||||
$scalemenu = make_grades_menu($glossary->scale);
|
||||
switch ($sort) {
|
||||
case 'firstname': $sqlsort = "u.firstname ASC"; break;
|
||||
case 'rating': $sqlsort = "r.rating ASC"; break;
|
||||
default: $sqlsort = "r.time ASC";
|
||||
}
|
||||
|
||||
$strratings = get_string('ratings', 'glossary');
|
||||
$strrating = get_string('rating', 'glossary');
|
||||
$strname = get_string('name');
|
||||
$strtime = get_string('time');
|
||||
$scalemenu = make_grades_menu($glossary->scale);
|
||||
|
||||
$PAGE->set_title("$strratings: $entry->concept");
|
||||
echo $OUTPUT->header();
|
||||
$strratings = get_string('ratings', 'glossary');
|
||||
$strrating = get_string('rating', 'glossary');
|
||||
$strname = get_string('name');
|
||||
$strtime = get_string('time');
|
||||
|
||||
if (!$ratings = glossary_get_ratings($entry->id, $sqlsort)) {
|
||||
print_error('ratingno', 'glossary');
|
||||
$PAGE->set_title("$strratings: $entry->concept");
|
||||
echo $OUTPUT->header();
|
||||
|
||||
} else {
|
||||
echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"3\" class=\"generalbox\" style=\"width:100%\">";
|
||||
echo "<tr>";
|
||||
echo "<th class=\"header\" scope=\"col\"> </th>";
|
||||
echo "<th class=\"header\" scope=\"col\"><a href=\"report.php?id=$entry->id&sort=firstname\">$strname</a></th>";
|
||||
echo "<th class=\"header\" scope=\"col\" style=\"width:100%\"><a href=\"report.php?id=$entry->id&sort=rating\">$strrating</a></th>";
|
||||
echo "<th class=\"header\" scope=\"col\"><a href=\"report.php?id=$entry->id&sort=time\">$strtime</a></th>";
|
||||
echo "</tr>";
|
||||
foreach ($ratings as $rating) {
|
||||
if (has_capability('mod/glossary:manageentries', $context)) {
|
||||
echo '<tr class="teacher">';
|
||||
} else {
|
||||
echo '<tr>';
|
||||
}
|
||||
echo '<td class="picture">';
|
||||
$userpic = moodle_user_picture::make($rating, $glossary->course);
|
||||
$userpic->link = true;
|
||||
echo $OUTPUT->user_picture($userpic);
|
||||
echo '</td>';
|
||||
echo '<td class="author"><a href="'.$CFG->wwwroot.'/user/view.php?id='.$rating->id.'&course='.$glossary->course.'">'.fullname($rating).'</a></td>';
|
||||
echo '<td style="white-space:nowrap" align="center" class="rating">'.$scalemenu[$rating->rating].'</td>';
|
||||
echo '<td style="white-space:nowrap" align="center" class="time">'.userdate($rating->time).'</td>';
|
||||
echo "</tr>\n";
|
||||
if (!$ratings = glossary_get_ratings($entry->id, $sqlsort)) {
|
||||
print_error('ratingno', 'glossary');
|
||||
|
||||
} else {
|
||||
echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"3\" class=\"generalbox\" style=\"width:100%\">";
|
||||
echo "<tr>";
|
||||
echo "<th class=\"header\" scope=\"col\"> </th>";
|
||||
echo "<th class=\"header\" scope=\"col\"><a href=\"report.php?id=$entry->id&sort=firstname\">$strname</a></th>";
|
||||
echo "<th class=\"header\" scope=\"col\" style=\"width:100%\"><a href=\"report.php?id=$entry->id&sort=rating\">$strrating</a></th>";
|
||||
echo "<th class=\"header\" scope=\"col\"><a href=\"report.php?id=$entry->id&sort=time\">$strtime</a></th>";
|
||||
echo "</tr>";
|
||||
foreach ($ratings as $rating) {
|
||||
if (has_capability('mod/glossary:manageentries', $context)) {
|
||||
echo '<tr class="teacher">';
|
||||
} else {
|
||||
echo '<tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "<br />";
|
||||
echo '<td class="picture">';
|
||||
$userpic = moodle_user_picture::make($rating, $glossary->course);
|
||||
$userpic->link = true;
|
||||
echo $OUTPUT->user_picture($userpic);
|
||||
echo '</td>';
|
||||
echo '<td class="author"><a href="'.$CFG->wwwroot.'/user/view.php?id='.$rating->id.'&course='.$glossary->course.'">'.fullname($rating).'</a></td>';
|
||||
echo '<td style="white-space:nowrap" align="center" class="rating">'.$scalemenu[$rating->rating].'</td>';
|
||||
echo '<td style="white-space:nowrap" align="center" class="time">'.userdate($rating->time).'</td>';
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "</table>";
|
||||
echo "<br />";
|
||||
}
|
||||
|
||||
echo $OUTPUT->close_window_button();
|
||||
echo $OUTPUT->footer();
|
||||
?>
|
||||
echo $OUTPUT->close_window_button();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
?>
|
|
@ -1,70 +1,86 @@
|
|||
<?php // $Id$
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
<?php
|
||||
|
||||
$concept = optional_param('concept', '', PARAM_CLEAN);
|
||||
$courseid = optional_param('courseid', 0, PARAM_INT);
|
||||
$eid = optional_param('eid', 0, PARAM_INT); // glossary entry id
|
||||
$displayformat = optional_param('displayformat',-1, PARAM_SAFEDIR);
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
if ($CFG->forcelogin) {
|
||||
require_login();
|
||||
$concept = optional_param('concept', '', PARAM_CLEAN);
|
||||
$courseid = optional_param('courseid', 0, PARAM_INT);
|
||||
$eid = optional_param('eid', 0, PARAM_INT); // glossary entry id
|
||||
$displayformat = optional_param('displayformat',-1, PARAM_SAFEDIR);
|
||||
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/showentry.php');
|
||||
if ($concept !== '') {
|
||||
$url->param('concept', $concept);
|
||||
}
|
||||
if ($courseid !== 0) {
|
||||
$url->param('courseid', $courseid);
|
||||
}
|
||||
if ($eid !== 0) {
|
||||
$url->param('eid', $eid);
|
||||
}
|
||||
if ($displayformat !== -1) {
|
||||
$url->param('displayformat', $displayformat);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
if ($CFG->forcelogin) {
|
||||
require_login();
|
||||
}
|
||||
|
||||
if ($eid) {
|
||||
$entry = $DB->get_record("glossary_entries", array("id"=>$eid));
|
||||
$glossary = $DB->get_record('glossary', array('id'=>$entry->glossaryid));
|
||||
$entry->glossaryname = format_string($glossary->name,true);
|
||||
if (!$cm = get_coursemodule_from_instance("glossary", $glossary->id)) {
|
||||
print_error("invalidcoursemodule");
|
||||
}
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', get_context_instance(CONTEXT_MODULE, $cm->id))) {
|
||||
redirect($CFG->wwwroot.'/course/view.php?id='.$cm->course, get_string('activityiscurrentlyhidden'));
|
||||
}
|
||||
$entry->cmid = $cm->id;
|
||||
$entry->courseid = $cm->course;
|
||||
$entries[] = $entry;
|
||||
} else if ($concept) {
|
||||
$entries = glossary_get_entries_search($concept, $courseid);
|
||||
} else {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
|
||||
if ($entries) {
|
||||
foreach ($entries as $key => $entry) {
|
||||
//$entries[$key]->footer = "<p align=\"right\">» <a onClick=\"if (window.opener) {window.opener.location.href='$CFG->wwwroot/mod/glossary/view.php?g=$entry->glossaryid'; return false;} else {openpopup('/mod/glossary/view.php?g=$entry->glossaryid', 'glossary', 'menubar=1,location=1,toolbar=1,scrollbars=1,directories=1,status=1,resizable=1', 0); return false;}\" href=\"$CFG->wwwroot/mod/glossary/view.php?g=$entry->glossaryid\" target=\"_blank\">".format_string($entry->glossaryname,true)."</a></p>"; // Could not get this to work satisfactorily in all cases - Martin
|
||||
$entries[$key]->footer = "<p style=\"text-align:right\">» <a href=\"$CFG->wwwroot/mod/glossary/view.php?g=$entry->glossaryid\">".format_string($entry->glossaryname,true)."</a></p>";
|
||||
add_to_log($entry->courseid, "glossary", "view entry", "showentry.php?eid=$entry->id", $entry->id, $entry->cmid);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($courseid)) {
|
||||
$course = $DB->get_record("course", array("id"=>$courseid));
|
||||
if ($course->id != SITEID) {
|
||||
require_login($courseid);
|
||||
}
|
||||
|
||||
if ($eid) {
|
||||
$entry = $DB->get_record("glossary_entries", array("id"=>$eid));
|
||||
$glossary = $DB->get_record('glossary', array('id'=>$entry->glossaryid));
|
||||
$entry->glossaryname = format_string($glossary->name,true);
|
||||
if (!$cm = get_coursemodule_from_instance("glossary", $glossary->id)) {
|
||||
print_error("invalidcoursemodule");
|
||||
}
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', get_context_instance(CONTEXT_MODULE, $cm->id))) {
|
||||
redirect($CFG->wwwroot.'/course/view.php?id='.$cm->course, get_string('activityiscurrentlyhidden'));
|
||||
}
|
||||
$entry->cmid = $cm->id;
|
||||
$entry->courseid = $cm->course;
|
||||
$entries[] = $entry;
|
||||
} else if ($concept) {
|
||||
$entries = glossary_get_entries_search($concept, $courseid);
|
||||
} else {
|
||||
print_error('invalidentry');
|
||||
}
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
|
||||
if ($entries) {
|
||||
foreach ($entries as $key => $entry) {
|
||||
//$entries[$key]->footer = "<p align=\"right\">» <a onClick=\"if (window.opener) {window.opener.location.href='$CFG->wwwroot/mod/glossary/view.php?g=$entry->glossaryid'; return false;} else {openpopup('/mod/glossary/view.php?g=$entry->glossaryid', 'glossary', 'menubar=1,location=1,toolbar=1,scrollbars=1,directories=1,status=1,resizable=1', 0); return false;}\" href=\"$CFG->wwwroot/mod/glossary/view.php?g=$entry->glossaryid\" target=\"_blank\">".format_string($entry->glossaryname,true)."</a></p>"; // Could not get this to work satisfactorily in all cases - Martin
|
||||
$entries[$key]->footer = "<p style=\"text-align:right\">» <a href=\"$CFG->wwwroot/mod/glossary/view.php?g=$entry->glossaryid\">".format_string($entry->glossaryname,true)."</a></p>";
|
||||
add_to_log($entry->courseid, "glossary", "view entry", "showentry.php?eid=$entry->id", $entry->id, $entry->cmid);
|
||||
}
|
||||
}
|
||||
$CFG->framename = "newwindow";
|
||||
|
||||
if (!empty($courseid)) {
|
||||
$course = $DB->get_record("course", array("id"=>$courseid));
|
||||
if ($course->id != SITEID) {
|
||||
require_login($courseid);
|
||||
}
|
||||
$PAGE->navbar->add($strglossaries);
|
||||
$PAGE->navbar->add($strsearch);
|
||||
$PAGE->set_title(strip_tags("$course->shortname: $strglossaries $strsearch"));
|
||||
$PAGE->set_heading($course->fullname);
|
||||
echo $OUTPUT->header();
|
||||
} else {
|
||||
echo $OUTPUT->header(); // Needs to be something here to allow linking back to the whole glossary
|
||||
}
|
||||
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
if ($entries) {
|
||||
glossary_print_dynaentry($courseid, $entries, $displayformat);
|
||||
}
|
||||
|
||||
$CFG->framename = "newwindow";
|
||||
|
||||
$PAGE->navbar->add($strglossaries);
|
||||
$PAGE->navbar->add($strsearch);
|
||||
$PAGE->set_title(strip_tags("$course->shortname: $strglossaries $strsearch"));
|
||||
$PAGE->set_heading($course->fullname);
|
||||
echo $OUTPUT->header();
|
||||
} else {
|
||||
echo $OUTPUT->header(); // Needs to be something here to allow linking back to the whole glossary
|
||||
}
|
||||
|
||||
if ($entries) {
|
||||
glossary_print_dynaentry($courseid, $entries, $displayformat);
|
||||
}
|
||||
|
||||
echo $OUTPUT->close_window_button();
|
||||
echo $OUTPUT->close_window_button();
|
||||
|
||||
/// Show one reduced footer
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
?>
|
||||
?>
|
|
@ -1,527 +1,529 @@
|
|||
<?php // $Id$
|
||||
<?php
|
||||
|
||||
/// This page prints a particular instance of glossary
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->libdir/rsslib.php");
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
require_once("$CFG->libdir/rsslib.php");
|
||||
|
||||
$id = optional_param('id', 0, PARAM_INT); // Course Module ID
|
||||
$g = optional_param('g', 0, PARAM_INT); // Glossary ID
|
||||
$id = optional_param('id', 0, PARAM_INT); // Course Module ID
|
||||
$g = optional_param('g', 0, PARAM_INT); // Glossary ID
|
||||
|
||||
$tab = optional_param('tab', GLOSSARY_NO_VIEW, PARAM_ALPHA); // browsing entries by categories?
|
||||
$displayformat = optional_param('displayformat',-1, PARAM_INT); // override of the glossary display format
|
||||
$tab = optional_param('tab', GLOSSARY_NO_VIEW, PARAM_ALPHA); // browsing entries by categories?
|
||||
$displayformat = optional_param('displayformat',-1, PARAM_INT); // override of the glossary display format
|
||||
|
||||
$mode = optional_param('mode', '', PARAM_ALPHA); // term entry cat date letter search author approval
|
||||
$hook = optional_param('hook', '', PARAM_CLEAN); // the term, entry, cat, etc... to look for based on mode
|
||||
$fullsearch = optional_param('fullsearch', 0,PARAM_INT); // full search (concept and definition) when searching?
|
||||
$sortkey = optional_param('sortkey', '', PARAM_ALPHA);// Sorted view: CREATION | UPDATE | FIRSTNAME | LASTNAME...
|
||||
$sortorder = optional_param('sortorder', 'ASC', PARAM_ALPHA); // it defines the order of the sorting (ASC or DESC)
|
||||
$offset = optional_param('offset', 0,PARAM_INT); // entries to bypass (for paging purposes)
|
||||
$page = optional_param('page', 0,PARAM_INT); // Page to show (for paging purposes)
|
||||
$show = optional_param('show', '', PARAM_ALPHA); // [ concept | alias ] => mode=term hook=$show
|
||||
$mode = optional_param('mode', '', PARAM_ALPHA); // term entry cat date letter search author approval
|
||||
$hook = optional_param('hook', '', PARAM_CLEAN); // the term, entry, cat, etc... to look for based on mode
|
||||
$fullsearch = optional_param('fullsearch', 0,PARAM_INT); // full search (concept and definition) when searching?
|
||||
$sortkey = optional_param('sortkey', '', PARAM_ALPHA);// Sorted view: CREATION | UPDATE | FIRSTNAME | LASTNAME...
|
||||
$sortorder = optional_param('sortorder', 'ASC', PARAM_ALPHA); // it defines the order of the sorting (ASC or DESC)
|
||||
$offset = optional_param('offset', 0,PARAM_INT); // entries to bypass (for paging purposes)
|
||||
$page = optional_param('page', 0,PARAM_INT); // Page to show (for paging purposes)
|
||||
$show = optional_param('show', '', PARAM_ALPHA); // [ concept | alias ] => mode=term hook=$show
|
||||
|
||||
if (!empty($id)) {
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
} else if (!empty($g)) {
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$g))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$glossary->course))) {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
if (!$cm = get_coursemodule_from_instance("glossary", $glossary->id, $course->id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$id = $cm->id;
|
||||
} else {
|
||||
if (!empty($id)) {
|
||||
if (! $cm = get_coursemodule_from_id('glossary', $id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$cm->course))) {
|
||||
print_error('coursemisconf');
|
||||
}
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$cm->instance))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
require_course_login($course->id, true, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
} else if (!empty($g)) {
|
||||
if (! $glossary = $DB->get_record("glossary", array("id"=>$g))) {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
if (! $course = $DB->get_record("course", array("id"=>$glossary->course))) {
|
||||
print_error('invalidcourseid');
|
||||
}
|
||||
if (!$cm = get_coursemodule_from_instance("glossary", $glossary->id, $course->id)) {
|
||||
print_error('invalidcoursemodule');
|
||||
}
|
||||
$id = $cm->id;
|
||||
} else {
|
||||
print_error('invalidid', 'glossary');
|
||||
}
|
||||
|
||||
require_course_login($course->id, true, $cm);
|
||||
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
|
||||
|
||||
/// Loading the textlib singleton instance. We are going to need it.
|
||||
$textlib = textlib_get_instance();
|
||||
$textlib = textlib_get_instance();
|
||||
|
||||
/// redirecting if adding a new entry
|
||||
if ($tab == GLOSSARY_ADDENTRY_VIEW ) {
|
||||
redirect("edit.php?cmid=$cm->id&mode=$mode");
|
||||
}
|
||||
if ($tab == GLOSSARY_ADDENTRY_VIEW ) {
|
||||
redirect("edit.php?cmid=$cm->id&mode=$mode");
|
||||
}
|
||||
|
||||
/// setting the defaut number of entries per page if not set
|
||||
|
||||
if ( !$entriesbypage = $glossary->entbypage ) {
|
||||
$entriesbypage = $CFG->glossary_entbypage;
|
||||
}
|
||||
if ( !$entriesbypage = $glossary->entbypage ) {
|
||||
$entriesbypage = $CFG->glossary_entbypage;
|
||||
}
|
||||
|
||||
/// If we have received a page, recalculate offset
|
||||
if ($page != 0 && $offset == 0) {
|
||||
$offset = $page * $entriesbypage;
|
||||
}
|
||||
if ($page != 0 && $offset == 0) {
|
||||
$offset = $page * $entriesbypage;
|
||||
}
|
||||
|
||||
/// setting the default values for the display mode of the current glossary
|
||||
/// only if the glossary is viewed by the first time
|
||||
if ( $dp = $DB->get_record('glossary_formats', array('name'=>$glossary->displayformat)) ) {
|
||||
/// Based on format->defaultmode, we build the defaulttab to be showed sometimes
|
||||
switch ($dp->defaultmode) {
|
||||
case 'cat':
|
||||
$defaulttab = GLOSSARY_CATEGORY_VIEW;
|
||||
break;
|
||||
case 'date':
|
||||
$defaulttab = GLOSSARY_DATE_VIEW;
|
||||
break;
|
||||
case 'author':
|
||||
$defaulttab = GLOSSARY_AUTHOR_VIEW;
|
||||
break;
|
||||
default:
|
||||
$defaulttab = GLOSSARY_STANDARD_VIEW;
|
||||
}
|
||||
/// Fetch the rest of variables
|
||||
$printpivot = $dp->showgroup;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = $dp->defaultmode;
|
||||
$hook = $dp->defaulthook;
|
||||
$sortkey = $dp->sortkey;
|
||||
$sortorder = $dp->sortorder;
|
||||
}
|
||||
} else {
|
||||
$defaulttab = GLOSSARY_STANDARD_VIEW;
|
||||
$printpivot = 1;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = 'letter';
|
||||
$hook = 'ALL';
|
||||
}
|
||||
if ( $dp = $DB->get_record('glossary_formats', array('name'=>$glossary->displayformat)) ) {
|
||||
/// Based on format->defaultmode, we build the defaulttab to be showed sometimes
|
||||
switch ($dp->defaultmode) {
|
||||
case 'cat':
|
||||
$defaulttab = GLOSSARY_CATEGORY_VIEW;
|
||||
break;
|
||||
case 'date':
|
||||
$defaulttab = GLOSSARY_DATE_VIEW;
|
||||
break;
|
||||
case 'author':
|
||||
$defaulttab = GLOSSARY_AUTHOR_VIEW;
|
||||
break;
|
||||
default:
|
||||
$defaulttab = GLOSSARY_STANDARD_VIEW;
|
||||
}
|
||||
/// Fetch the rest of variables
|
||||
$printpivot = $dp->showgroup;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = $dp->defaultmode;
|
||||
$hook = $dp->defaulthook;
|
||||
$sortkey = $dp->sortkey;
|
||||
$sortorder = $dp->sortorder;
|
||||
}
|
||||
} else {
|
||||
$defaulttab = GLOSSARY_STANDARD_VIEW;
|
||||
$printpivot = 1;
|
||||
if ( $mode == '' and $hook == '' and $show == '') {
|
||||
$mode = 'letter';
|
||||
$hook = 'ALL';
|
||||
}
|
||||
}
|
||||
|
||||
if ( $displayformat == -1 ) {
|
||||
$displayformat = $glossary->displayformat;
|
||||
}
|
||||
if ( $displayformat == -1 ) {
|
||||
$displayformat = $glossary->displayformat;
|
||||
}
|
||||
|
||||
if ( $show ) {
|
||||
$mode = 'term';
|
||||
$hook = $show;
|
||||
$show = '';
|
||||
}
|
||||
if ( $show ) {
|
||||
$mode = 'term';
|
||||
$hook = $show;
|
||||
$show = '';
|
||||
}
|
||||
/// Processing standard security processes
|
||||
if ($course->id != SITEID) {
|
||||
require_login($course->id);
|
||||
}
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
echo $OUTPUT->header();
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
add_to_log($course->id, "glossary", "view", "view.php?id=$cm->id&tab=$tab", $glossary->id, $cm->id);
|
||||
if ($course->id != SITEID) {
|
||||
require_login($course->id);
|
||||
}
|
||||
if (!$cm->visible and !has_capability('moodle/course:viewhiddenactivities', $context)) {
|
||||
echo $OUTPUT->header();
|
||||
notice(get_string("activityiscurrentlyhidden"));
|
||||
}
|
||||
add_to_log($course->id, "glossary", "view", "view.php?id=$cm->id&tab=$tab", $glossary->id, $cm->id);
|
||||
|
||||
/// stablishing flag variables
|
||||
if ( $sortorder = strtolower($sortorder) ) {
|
||||
if ($sortorder != 'asc' and $sortorder != 'desc') {
|
||||
$sortorder = '';
|
||||
}
|
||||
if ( $sortorder = strtolower($sortorder) ) {
|
||||
if ($sortorder != 'asc' and $sortorder != 'desc') {
|
||||
$sortorder = '';
|
||||
}
|
||||
if ( $sortkey = strtoupper($sortkey) ) {
|
||||
if ($sortkey != 'CREATION' and
|
||||
$sortkey != 'UPDATE' and
|
||||
$sortkey != 'FIRSTNAME' and
|
||||
$sortkey != 'LASTNAME'
|
||||
) {
|
||||
$sortkey = '';
|
||||
}
|
||||
}
|
||||
if ( $sortkey = strtoupper($sortkey) ) {
|
||||
if ($sortkey != 'CREATION' and
|
||||
$sortkey != 'UPDATE' and
|
||||
$sortkey != 'FIRSTNAME' and
|
||||
$sortkey != 'LASTNAME'
|
||||
) {
|
||||
$sortkey = '';
|
||||
}
|
||||
}
|
||||
|
||||
switch ( $mode = strtolower($mode) ) {
|
||||
case 'search': /// looking for terms containing certain word(s)
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
switch ( $mode = strtolower($mode) ) {
|
||||
case 'search': /// looking for terms containing certain word(s)
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
|
||||
//Clean a bit the search string
|
||||
$hook = trim(strip_tags($hook));
|
||||
//Clean a bit the search string
|
||||
$hook = trim(strip_tags($hook));
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'entry': /// Looking for a certain entry id
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
if ( $dp = $DB->get_record("glossary_formats", array("name"=>$glossary->displayformat)) ) {
|
||||
$displayformat = $dp->popupformatname;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'cat': /// Looking for a certain cat
|
||||
$tab = GLOSSARY_CATEGORY_VIEW;
|
||||
if ( $hook > 0 ) {
|
||||
$category = $DB->get_record("glossary_categories", array("id"=>$hook));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'approval': /// Looking for entries waiting for approval
|
||||
$tab = GLOSSARY_APPROVAL_VIEW;
|
||||
if ( !$hook and !$sortkey and !$sortorder) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'term': /// Looking for entries that include certain term in its concept, definition or aliases
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
$tab = GLOSSARY_DATE_VIEW;
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'UPDATE';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'desc';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'author': /// Looking for entries, browsed by author
|
||||
$tab = GLOSSARY_AUTHOR_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'FIRSTNAME';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'asc';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'letter': /// Looking for entries that begin with a certain letter, ALL or SPECIAL characters
|
||||
default:
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
case 'entry': /// Looking for a certain entry id
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
if ( $dp = $DB->get_record("glossary_formats", array("name"=>$glossary->displayformat)) ) {
|
||||
$displayformat = $dp->popupformatname;
|
||||
}
|
||||
break;
|
||||
|
||||
switch ( $tab ) {
|
||||
case GLOSSARY_IMPORT_VIEW:
|
||||
case GLOSSARY_EXPORT_VIEW:
|
||||
case GLOSSARY_APPROVAL_VIEW:
|
||||
$showcommonelements = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
$showcommonelements = 1;
|
||||
break;
|
||||
case 'cat': /// Looking for a certain cat
|
||||
$tab = GLOSSARY_CATEGORY_VIEW;
|
||||
if ( $hook > 0 ) {
|
||||
$category = $DB->get_record("glossary_categories", array("id"=>$hook));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'approval': /// Looking for entries waiting for approval
|
||||
$tab = GLOSSARY_APPROVAL_VIEW;
|
||||
if ( !$hook and !$sortkey and !$sortorder) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'term': /// Looking for entries that include certain term in its concept, definition or aliases
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
$tab = GLOSSARY_DATE_VIEW;
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'UPDATE';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'desc';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'author': /// Looking for entries, browsed by author
|
||||
$tab = GLOSSARY_AUTHOR_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
if ( !$sortkey ) {
|
||||
$sortkey = 'FIRSTNAME';
|
||||
}
|
||||
if ( !$sortorder ) {
|
||||
$sortorder = 'asc';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'letter': /// Looking for entries that begin with a certain letter, ALL or SPECIAL characters
|
||||
default:
|
||||
$tab = GLOSSARY_STANDARD_VIEW;
|
||||
if ( !$hook ) {
|
||||
$hook = 'ALL';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
switch ( $tab ) {
|
||||
case GLOSSARY_IMPORT_VIEW:
|
||||
case GLOSSARY_EXPORT_VIEW:
|
||||
case GLOSSARY_APPROVAL_VIEW:
|
||||
$showcommonelements = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
$showcommonelements = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
/// Printing the heading
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strwaitingapproval = get_string('waitingapproval', 'glossary');
|
||||
$strglossaries = get_string("modulenameplural", "glossary");
|
||||
$strglossary = get_string("modulename", "glossary");
|
||||
$strallcategories = get_string("allcategories", "glossary");
|
||||
$straddentry = get_string("addentry", "glossary");
|
||||
$strnoentries = get_string("noentries", "glossary");
|
||||
$strsearchconcept = get_string("searchconcept", "glossary");
|
||||
$strsearchindefinition = get_string("searchindefinition", "glossary");
|
||||
$strsearch = get_string("search");
|
||||
$strwaitingapproval = get_string('waitingapproval', 'glossary');
|
||||
|
||||
/// If we are in approval mode, prit special header
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button(update_module_button($cm->id, $course->id, $strglossary));
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->id));
|
||||
if (isset($mode)) {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
if ($tab == GLOSSARY_APPROVAL_VIEW) {
|
||||
require_capability('mod/glossary:approve', $context);
|
||||
$PAGE->navbar->add($strwaitingapproval);
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strwaitingapproval);
|
||||
} else { /// Print standard header
|
||||
echo $OUTPUT->header();
|
||||
}
|
||||
$PAGE->set_title(format_string($glossary->name));
|
||||
$PAGE->set_button($OUTPUT->update_module_button($cm->id, 'glossary'));
|
||||
$url = new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$cm->id));
|
||||
if (isset($mode)) {
|
||||
$url->param('mode', $mode);
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
if ($tab == GLOSSARY_APPROVAL_VIEW) {
|
||||
require_capability('mod/glossary:approve', $context);
|
||||
$PAGE->navbar->add($strwaitingapproval);
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strwaitingapproval);
|
||||
} else { /// Print standard header
|
||||
echo $OUTPUT->header();
|
||||
}
|
||||
|
||||
/// All this depends if whe have $showcommonelements
|
||||
if ($showcommonelements) {
|
||||
/// To calculate available options
|
||||
$availableoptions = '';
|
||||
if ($showcommonelements) {
|
||||
/// To calculate available options
|
||||
$availableoptions = '';
|
||||
|
||||
/// Decide about to print the import link
|
||||
if (has_capability('mod/glossary:import', $context)) {
|
||||
$availableoptions = '<span class="helplink">' .
|
||||
'<a href="' . $CFG->wwwroot . '/mod/glossary/import.php?id=' . $cm->id . '"' .
|
||||
' title="' . s(get_string('importentries', 'glossary')) . '">' .
|
||||
get_string('importentries', 'glossary') . '</a>' .
|
||||
'</span>';
|
||||
/// Decide about to print the import link
|
||||
if (has_capability('mod/glossary:import', $context)) {
|
||||
$availableoptions = '<span class="helplink">' .
|
||||
'<a href="' . $CFG->wwwroot . '/mod/glossary/import.php?id=' . $cm->id . '"' .
|
||||
' title="' . s(get_string('importentries', 'glossary')) . '">' .
|
||||
get_string('importentries', 'glossary') . '</a>' .
|
||||
'</span>';
|
||||
}
|
||||
/// Decide about to print the export link
|
||||
if (has_capability('mod/glossary:export', $context)) {
|
||||
if ($availableoptions) {
|
||||
$availableoptions .= ' / ';
|
||||
}
|
||||
/// Decide about to print the export link
|
||||
if (has_capability('mod/glossary:export', $context)) {
|
||||
$availableoptions .='<span class="helplink">' .
|
||||
'<a href="' . $CFG->wwwroot . '/mod/glossary/export.php?id=' . $cm->id .
|
||||
'&mode='.$mode . '&hook=' . urlencode($hook) . '"' .
|
||||
' title="' . s(get_string('exportentries', 'glossary')) . '">' .
|
||||
get_string('exportentries', 'glossary') . '</a>' .
|
||||
'</span>';
|
||||
}
|
||||
|
||||
/// Decide about to print the approval link
|
||||
if (has_capability('mod/glossary:approve', $context)) {
|
||||
/// Check we have pending entries
|
||||
if ($hiddenentries = $DB->count_records('glossary_entries', array('glossaryid'=>$glossary->id, 'approved'=>0))) {
|
||||
if ($availableoptions) {
|
||||
$availableoptions .= ' / ';
|
||||
$availableoptions .= '<br />';
|
||||
}
|
||||
$availableoptions .='<span class="helplink">' .
|
||||
'<a href="' . $CFG->wwwroot . '/mod/glossary/export.php?id=' . $cm->id .
|
||||
'&mode='.$mode . '&hook=' . urlencode($hook) . '"' .
|
||||
' title="' . s(get_string('exportentries', 'glossary')) . '">' .
|
||||
get_string('exportentries', 'glossary') . '</a>' .
|
||||
'<a href="' . $CFG->wwwroot . '/mod/glossary/view.php?id=' . $cm->id .
|
||||
'&mode=approval' . '"' .
|
||||
' title="' . s(get_string('waitingapproval', 'glossary')) . '">' .
|
||||
get_string('waitingapproval', 'glossary') . ' ('.$hiddenentries.')</a>' .
|
||||
'</span>';
|
||||
}
|
||||
}
|
||||
|
||||
/// Decide about to print the approval link
|
||||
if (has_capability('mod/glossary:approve', $context)) {
|
||||
/// Check we have pending entries
|
||||
if ($hiddenentries = $DB->count_records('glossary_entries', array('glossaryid'=>$glossary->id, 'approved'=>0))) {
|
||||
if ($availableoptions) {
|
||||
$availableoptions .= '<br />';
|
||||
}
|
||||
$availableoptions .='<span class="helplink">' .
|
||||
'<a href="' . $CFG->wwwroot . '/mod/glossary/view.php?id=' . $cm->id .
|
||||
'&mode=approval' . '"' .
|
||||
' title="' . s(get_string('waitingapproval', 'glossary')) . '">' .
|
||||
get_string('waitingapproval', 'glossary') . ' ('.$hiddenentries.')</a>' .
|
||||
'</span>';
|
||||
}
|
||||
}
|
||||
|
||||
/// Start to print glossary controls
|
||||
/// Start to print glossary controls
|
||||
// print_box_start('glossarycontrol clearfix');
|
||||
echo '<div class="glossarycontrol" style="text-align: right">';
|
||||
echo $availableoptions;
|
||||
echo '<div class="glossarycontrol" style="text-align: right">';
|
||||
echo $availableoptions;
|
||||
|
||||
/// If rss are activated at site and glossary level and this glossary has rss defined, show link
|
||||
if (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) &&
|
||||
$CFG->enablerssfeeds && $CFG->glossary_enablerssfeeds && $glossary->rsstype && $glossary->rssarticles) {
|
||||
/// If rss are activated at site and glossary level and this glossary has rss defined, show link
|
||||
if (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) &&
|
||||
$CFG->enablerssfeeds && $CFG->glossary_enablerssfeeds && $glossary->rsstype && $glossary->rssarticles) {
|
||||
|
||||
$tooltiptext = get_string("rsssubscriberss","glossary",format_string($glossary->name,true));
|
||||
if (empty($USER->id)) {
|
||||
$userid = 0;
|
||||
} else {
|
||||
$userid = $USER->id;
|
||||
}
|
||||
$tooltiptext = get_string("rsssubscriberss","glossary",format_string($glossary->name,true));
|
||||
if (empty($USER->id)) {
|
||||
$userid = 0;
|
||||
} else {
|
||||
$userid = $USER->id;
|
||||
}
|
||||
// print_box_start('rsslink');
|
||||
echo '<span class="wrap rsslink">';
|
||||
rss_print_link($course->id, $userid, "glossary", $glossary->id, $tooltiptext);
|
||||
echo '</span>';
|
||||
echo '<span class="wrap rsslink">';
|
||||
rss_print_link($course->id, $userid, "glossary", $glossary->id, $tooltiptext);
|
||||
echo '</span>';
|
||||
// print_box_end();
|
||||
}
|
||||
}
|
||||
|
||||
/// The print icon
|
||||
if ( $showcommonelements and $mode != 'search') {
|
||||
if (has_capability('mod/glossary:manageentries', $context) or $glossary->allowprintview) {
|
||||
/// The print icon
|
||||
if ( $showcommonelements and $mode != 'search') {
|
||||
if (has_capability('mod/glossary:manageentries', $context) or $glossary->allowprintview) {
|
||||
// print_box_start('printicon');
|
||||
echo '<span class="wrap printicon">';
|
||||
echo " <a title =\"". get_string("printerfriendly","glossary") ."\" href=\"print.php?id=$cm->id&mode=$mode&hook=".urlencode($hook)."&sortkey=$sortkey&sortorder=$sortorder&offset=$offset\"><img class=\"icon\" src=\"print.gif\" alt=\"". get_string("printerfriendly","glossary") . "\" /></a>";
|
||||
echo '</span>';
|
||||
echo '<span class="wrap printicon">';
|
||||
echo " <a title =\"". get_string("printerfriendly","glossary") ."\" href=\"print.php?id=$cm->id&mode=$mode&hook=".urlencode($hook)."&sortkey=$sortkey&sortorder=$sortorder&offset=$offset\"><img class=\"icon\" src=\"print.gif\" alt=\"". get_string("printerfriendly","glossary") . "\" /></a>";
|
||||
echo '</span>';
|
||||
// print_box_end();
|
||||
}
|
||||
}
|
||||
/// End glossary controls
|
||||
}
|
||||
/// End glossary controls
|
||||
// print_box_end(); /// glossarycontrol
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
|
||||
// print_box(' ', 'clearer');
|
||||
}
|
||||
}
|
||||
|
||||
/// Info box
|
||||
if ($glossary->intro && $showcommonelements) {
|
||||
echo $OUTPUT->box(format_module_intro('glossary', $glossary, $cm->id), 'generalbox', 'intro');
|
||||
}
|
||||
if ($glossary->intro && $showcommonelements) {
|
||||
echo $OUTPUT->box(format_module_intro('glossary', $glossary, $cm->id), 'generalbox', 'intro');
|
||||
}
|
||||
|
||||
/// Search box
|
||||
if ($showcommonelements ) {
|
||||
echo '<form method="post" action="view.php">';
|
||||
if ($showcommonelements ) {
|
||||
echo '<form method="post" action="view.php">';
|
||||
|
||||
echo '<table class="boxaligncenter" width="70%" border="0">';
|
||||
echo '<tr><td align="center" class="glossarysearchbox">';
|
||||
echo '<table class="boxaligncenter" width="70%" border="0">';
|
||||
echo '<tr><td align="center" class="glossarysearchbox">';
|
||||
|
||||
echo '<input type="submit" value="'.$strsearch.'" name="searchbutton" /> ';
|
||||
if ($mode == 'search') {
|
||||
echo '<input type="text" name="hook" size="20" value="'.s($hook).'" alt="'.$strsearch.'" /> ';
|
||||
} else {
|
||||
echo '<input type="text" name="hook" size="20" value="" alt="'.$strsearch.'" /> ';
|
||||
}
|
||||
if ($fullsearch || $mode != 'search') {
|
||||
$fullsearchchecked = 'checked="checked"';
|
||||
} else {
|
||||
$fullsearchchecked = '';
|
||||
}
|
||||
echo '<input type="checkbox" name="fullsearch" id="fullsearch" value="1" '.$fullsearchchecked.' />';
|
||||
echo '<input type="hidden" name="mode" value="search" />';
|
||||
echo '<input type="hidden" name="id" value="'.$cm->id.'" />';
|
||||
echo '<label for="fullsearch">'.$strsearchindefinition.'</label>';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo '</form>';
|
||||
|
||||
echo '<br />';
|
||||
echo '<input type="submit" value="'.$strsearch.'" name="searchbutton" /> ';
|
||||
if ($mode == 'search') {
|
||||
echo '<input type="text" name="hook" size="20" value="'.s($hook).'" alt="'.$strsearch.'" /> ';
|
||||
} else {
|
||||
echo '<input type="text" name="hook" size="20" value="" alt="'.$strsearch.'" /> ';
|
||||
}
|
||||
if ($fullsearch || $mode != 'search') {
|
||||
$fullsearchchecked = 'checked="checked"';
|
||||
} else {
|
||||
$fullsearchchecked = '';
|
||||
}
|
||||
echo '<input type="checkbox" name="fullsearch" id="fullsearch" value="1" '.$fullsearchchecked.' />';
|
||||
echo '<input type="hidden" name="mode" value="search" />';
|
||||
echo '<input type="hidden" name="id" value="'.$cm->id.'" />';
|
||||
echo '<label for="fullsearch">'.$strsearchindefinition.'</label>';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo '</form>';
|
||||
|
||||
echo '<br />';
|
||||
}
|
||||
|
||||
/// Show the add entry button if allowed
|
||||
if (has_capability('mod/glossary:write', $context) && $showcommonelements ) {
|
||||
echo '<div class="singlebutton glossaryaddentry">';
|
||||
echo "<form id=\"newentryform\" method=\"get\" action=\"$CFG->wwwroot/mod/glossary/edit.php\">";
|
||||
echo '<div>';
|
||||
echo "<input type=\"hidden\" name=\"cmid\" value=\"$cm->id\" />";
|
||||
echo '<input type="submit" value="'.get_string('addentry', 'glossary').'" />';
|
||||
echo '</div>';
|
||||
echo '</form>';
|
||||
echo "</div>\n";
|
||||
}
|
||||
if (has_capability('mod/glossary:write', $context) && $showcommonelements ) {
|
||||
echo '<div class="singlebutton glossaryaddentry">';
|
||||
echo "<form id=\"newentryform\" method=\"get\" action=\"$CFG->wwwroot/mod/glossary/edit.php\">";
|
||||
echo '<div>';
|
||||
echo "<input type=\"hidden\" name=\"cmid\" value=\"$cm->id\" />";
|
||||
echo '<input type="submit" value="'.get_string('addentry', 'glossary').'" />';
|
||||
echo '</div>';
|
||||
echo '</form>';
|
||||
echo "</div>\n";
|
||||
}
|
||||
|
||||
echo '<br />';
|
||||
echo '<br />';
|
||||
|
||||
require("tabs.php");
|
||||
require("tabs.php");
|
||||
|
||||
require("sql.php");
|
||||
require("sql.php");
|
||||
|
||||
/// printing the entries
|
||||
$entriesshown = 0;
|
||||
$currentpivot = '';
|
||||
$ratingsmenuused = NULL;
|
||||
$paging = NULL;
|
||||
$entriesshown = 0;
|
||||
$currentpivot = '';
|
||||
$ratingsmenuused = NULL;
|
||||
$paging = NULL;
|
||||
|
||||
if ($allentries) {
|
||||
if ($allentries) {
|
||||
|
||||
//Decide if we must show the ALL link in the pagebar
|
||||
$specialtext = '';
|
||||
if ($glossary->showall) {
|
||||
$specialtext = get_string("allentries","glossary");
|
||||
//Decide if we must show the ALL link in the pagebar
|
||||
$specialtext = '';
|
||||
if ($glossary->showall) {
|
||||
$specialtext = get_string("allentries","glossary");
|
||||
}
|
||||
|
||||
//Build paging bar
|
||||
$paging = glossary_get_paging_bar($count, $page, $entriesbypage, "view.php?id=$id&mode=$mode&hook=".urlencode($hook)."&sortkey=$sortkey&sortorder=$sortorder&fullsearch=$fullsearch&",9999,10,' ', $specialtext, -1);
|
||||
|
||||
echo '<div class="paging">';
|
||||
echo $paging;
|
||||
echo '</div>';
|
||||
|
||||
$ratings = NULL;
|
||||
$ratingsmenuused = false;
|
||||
if ($glossary->assessed and isloggedin() and !isguestuser()) {
|
||||
$ratings = new object();
|
||||
if ($ratings->scale = make_grades_menu($glossary->scale)) {
|
||||
$ratings->assesstimestart = $glossary->assesstimestart;
|
||||
$ratings->assesstimefinish = $glossary->assesstimefinish;
|
||||
}
|
||||
if ($glossary->assessed == 2 and !has_capability('mod/glossary:rate', $context)) {
|
||||
$ratings->allow = false;
|
||||
} else {
|
||||
$ratings->allow = true;
|
||||
}
|
||||
$formsent = 1;
|
||||
|
||||
echo "<form method=\"post\" action=\"rate.php\">";
|
||||
echo "<div>";
|
||||
echo "<input type=\"hidden\" name=\"glossaryid\" value=\"$glossary->id\" />";
|
||||
}
|
||||
|
||||
foreach ($allentries as $entry) {
|
||||
|
||||
// Setting the pivot for the current entry
|
||||
$pivot = $entry->glossarypivot;
|
||||
$upperpivot = $textlib->strtoupper($pivot);
|
||||
// Reduce pivot to 1cc if necessary
|
||||
if ( !$fullpivot ) {
|
||||
$upperpivot = $textlib->substr($upperpivot, 0, 1);
|
||||
}
|
||||
|
||||
//Build paging bar
|
||||
$paging = glossary_get_paging_bar($count, $page, $entriesbypage, "view.php?id=$id&mode=$mode&hook=".urlencode($hook)."&sortkey=$sortkey&sortorder=$sortorder&fullsearch=$fullsearch&",9999,10,' ', $specialtext, -1);
|
||||
// if there's a group break
|
||||
if ( $currentpivot != $upperpivot ) {
|
||||
|
||||
echo '<div class="paging">';
|
||||
echo $paging;
|
||||
echo '</div>';
|
||||
// print the group break if apply
|
||||
if ( $printpivot ) {
|
||||
$currentpivot = $upperpivot;
|
||||
|
||||
echo '<div>';
|
||||
echo '<table cellspacing="0" class="glossarycategoryheader">';
|
||||
|
||||
echo '<tr>';
|
||||
$pivottoshow = $currentpivot;
|
||||
if ( isset($entry->userispivot) ) {
|
||||
// printing the user icon if defined (only when browsing authors)
|
||||
echo '<th align="left">';
|
||||
|
||||
$user = $DB->get_record("user", array("id"=>$entry->userid));
|
||||
echo $OUTPUT->user_picture(moodle_user_picture::make($user, $course->id));
|
||||
$pivottoshow = fullname($user, has_capability('moodle/site:viewfullnames', get_context_instance(CONTEXT_COURSE, $course->id)));
|
||||
} else {
|
||||
echo '<th >';
|
||||
}
|
||||
|
||||
echo $OUTPUT->heading($pivottoshow);
|
||||
echo "</th></tr></table></div>\n";
|
||||
|
||||
$ratings = NULL;
|
||||
$ratingsmenuused = false;
|
||||
if ($glossary->assessed and isloggedin() and !isguestuser()) {
|
||||
$ratings = new object();
|
||||
if ($ratings->scale = make_grades_menu($glossary->scale)) {
|
||||
$ratings->assesstimestart = $glossary->assesstimestart;
|
||||
$ratings->assesstimefinish = $glossary->assesstimefinish;
|
||||
}
|
||||
if ($glossary->assessed == 2 and !has_capability('mod/glossary:rate', $context)) {
|
||||
$ratings->allow = false;
|
||||
} else {
|
||||
$ratings->allow = true;
|
||||
}
|
||||
$formsent = 1;
|
||||
|
||||
echo "<form method=\"post\" action=\"rate.php\">";
|
||||
echo "<div>";
|
||||
echo "<input type=\"hidden\" name=\"glossaryid\" value=\"$glossary->id\" />";
|
||||
}
|
||||
|
||||
foreach ($allentries as $entry) {
|
||||
|
||||
// Setting the pivot for the current entry
|
||||
$pivot = $entry->glossarypivot;
|
||||
$upperpivot = $textlib->strtoupper($pivot);
|
||||
// Reduce pivot to 1cc if necessary
|
||||
if ( !$fullpivot ) {
|
||||
$upperpivot = $textlib->substr($upperpivot, 0, 1);
|
||||
}
|
||||
|
||||
// if there's a group break
|
||||
if ( $currentpivot != $upperpivot ) {
|
||||
|
||||
// print the group break if apply
|
||||
if ( $printpivot ) {
|
||||
$currentpivot = $upperpivot;
|
||||
|
||||
echo '<div>';
|
||||
echo '<table cellspacing="0" class="glossarycategoryheader">';
|
||||
|
||||
echo '<tr>';
|
||||
$pivottoshow = $currentpivot;
|
||||
if ( isset($entry->userispivot) ) {
|
||||
// printing the user icon if defined (only when browsing authors)
|
||||
echo '<th align="left">';
|
||||
|
||||
$user = $DB->get_record("user", array("id"=>$entry->userid));
|
||||
echo $OUTPUT->user_picture(moodle_user_picture::make($user, $course->id));
|
||||
$pivottoshow = fullname($user, has_capability('moodle/site:viewfullnames', get_context_instance(CONTEXT_COURSE, $course->id)));
|
||||
} else {
|
||||
echo '<th >';
|
||||
}
|
||||
|
||||
echo $OUTPUT->heading($pivottoshow);
|
||||
echo "</th></tr></table></div>\n";
|
||||
$concept = $entry->concept;
|
||||
$definition = $entry->definition;
|
||||
|
||||
/// highlight the term if necessary
|
||||
if ($mode == 'search') {
|
||||
//We have to strip any word starting by + and take out words starting by -
|
||||
//to make highlight works properly
|
||||
$searchterms = explode(' ', $hook); // Search for words independently
|
||||
foreach ($searchterms as $key => $searchterm) {
|
||||
if (preg_match('/^\-/',$searchterm)) {
|
||||
unset($searchterms[$key]);
|
||||
} else {
|
||||
$searchterms[$key] = preg_replace('/^\+/','',$searchterm);
|
||||
}
|
||||
//Avoid highlight of <2 len strings. It's a well known hilight limitation.
|
||||
if (strlen($searchterm) < 2) {
|
||||
unset($searchterms[$key]);
|
||||
}
|
||||
}
|
||||
$strippedsearch = implode(' ', $searchterms); // Rebuild the string
|
||||
$entry->highlight = $strippedsearch;
|
||||
}
|
||||
|
||||
$concept = $entry->concept;
|
||||
$definition = $entry->definition;
|
||||
/// and finally print the entry.
|
||||
|
||||
/// highlight the term if necessary
|
||||
if ($mode == 'search') {
|
||||
//We have to strip any word starting by + and take out words starting by -
|
||||
//to make highlight works properly
|
||||
$searchterms = explode(' ', $hook); // Search for words independently
|
||||
foreach ($searchterms as $key => $searchterm) {
|
||||
if (preg_match('/^\-/',$searchterm)) {
|
||||
unset($searchterms[$key]);
|
||||
} else {
|
||||
$searchterms[$key] = preg_replace('/^\+/','',$searchterm);
|
||||
}
|
||||
//Avoid highlight of <2 len strings. It's a well known hilight limitation.
|
||||
if (strlen($searchterm) < 2) {
|
||||
unset($searchterms[$key]);
|
||||
}
|
||||
}
|
||||
$strippedsearch = implode(' ', $searchterms); // Rebuild the string
|
||||
$entry->highlight = $strippedsearch;
|
||||
}
|
||||
if ( glossary_print_entry($course, $cm, $glossary, $entry, $mode, $hook,1,$displayformat,$ratings) ) {
|
||||
$ratingsmenuused = true;
|
||||
}
|
||||
|
||||
/// and finally print the entry.
|
||||
$entriesshown++;
|
||||
}
|
||||
}
|
||||
if ( !$entriesshown ) {
|
||||
echo $OUTPUT->box(get_string("noentries","glossary"), "generalbox boxaligncenter boxwidthwide");
|
||||
}
|
||||
|
||||
if ( glossary_print_entry($course, $cm, $glossary, $entry, $mode, $hook,1,$displayformat,$ratings) ) {
|
||||
$ratingsmenuused = true;
|
||||
}
|
||||
|
||||
$entriesshown++;
|
||||
if ($ratingsmenuused) {
|
||||
|
||||
echo "<div class=\"boxaligncenter\"><input type=\"submit\" value=\"".get_string("sendinratings", "glossary")."\" />";
|
||||
if ($glossary->scale < 0) {
|
||||
if ($scale = $DB->get_record("scale", array("id"=>abs($glossary->scale)))) {
|
||||
echo $OUTPUT->help_button(help_button::make_scale_menu($course->id, $scale));
|
||||
}
|
||||
}
|
||||
if ( !$entriesshown ) {
|
||||
echo $OUTPUT->box(get_string("noentries","glossary"), "generalbox boxaligncenter boxwidthwide");
|
||||
}
|
||||
echo "</div>";
|
||||
}
|
||||
|
||||
if (!empty($formsent)) {
|
||||
// close the form properly if used
|
||||
echo "</div>";
|
||||
echo "</form>";
|
||||
}
|
||||
|
||||
if ($ratingsmenuused) {
|
||||
|
||||
echo "<div class=\"boxaligncenter\"><input type=\"submit\" value=\"".get_string("sendinratings", "glossary")."\" />";
|
||||
if ($glossary->scale < 0) {
|
||||
if ($scale = $DB->get_record("scale", array("id"=>abs($glossary->scale)))) {
|
||||
echo $OUTPUT->help_button(help_button::make_scale_menu($course->id, $scale));
|
||||
}
|
||||
}
|
||||
echo "</div>";
|
||||
}
|
||||
|
||||
if (!empty($formsent)) {
|
||||
// close the form properly if used
|
||||
echo "</div>";
|
||||
echo "</form>";
|
||||
}
|
||||
|
||||
if ( $paging ) {
|
||||
echo '<hr />';
|
||||
echo '<div class="paging">';
|
||||
echo $paging;
|
||||
echo '</div>';
|
||||
}
|
||||
echo '<br />';
|
||||
glossary_print_tabbed_table_end();
|
||||
if ( $paging ) {
|
||||
echo '<hr />';
|
||||
echo '<div class="paging">';
|
||||
echo $paging;
|
||||
echo '</div>';
|
||||
}
|
||||
echo '<br />';
|
||||
glossary_print_tabbed_table_end();
|
||||
|
||||
/// Finish the page
|
||||
echo $OUTPUT->footer();
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
/// Mark as viewed
|
||||
$completion=new completion_info($course);
|
||||
$completion->set_module_viewed($cm);
|
||||
?>
|
||||
$completion=new completion_info($course);
|
||||
$completion->set_module_viewed($cm);
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue