moodle/mod/glossary/exportentry.php
mattc-catalyst 01e3838853 MDL-9473: Initialise navlinks array before use
Author: Matt Clarkson <mattc@catalyst.net.nz>
2007-07-05 04:55:24 +00:00

108 lines
4.3 KiB
PHP

<?php // $Id$
require_once('../../config.php');
require_once('lib.php');
$id = required_param('id', PARAM_INT); // course module ID
$entry = required_param('entry', PARAM_INT); // Entry ID
$confirm = optional_param('confirm', 0, PARAM_INT); // confirmation
$hook = optional_param('hook', '', PARAM_ALPHANUM);
$mode = optional_param('mode', '', PARAM_ALPHA);
global $USER, $CFG;
$PermissionGranted = 1;
$cm = get_coursemodule_from_id('glossary', $id);
if ( ! $cm ) {
$PermissionGranted = 0;
} else {
$mainglossary = get_record('glossary','course',$cm->course, 'mainglossary',1);
if ( ! $mainglossary ) {
$PermissionGranted = 0;
}
}
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
require_capability('mod/glossary:export', $context);
if (! $course = get_record('course', 'id', $cm->course)) {
error('Course is misconfigured');
}
if (! $glossary = get_record('glossary', 'id', $cm->instance)) {
error('Course module is incorrect');
}
$strglossaries = get_string('modulenameplural', 'glossary');
$entryalreadyexist = get_string('entryalreadyexist','glossary');
$entryexported = get_string('entryexported','glossary');
$navlinks = array();
$navlinks[] = array('name' => $strglossaries, 'link' => "index.php?id=$course->id", 'type' => 'activity');
$navlinks[] = array('name' => format_string($glossary->name), 'link' => "view.php?id=$cm->id", 'type' => 'activityinstance');
$navigation = build_navigation($navlinks);
print_header_simple(format_string($glossary->name), '', $navigation, '', '', true, '', navmenu($course, $cm));
if ( $PermissionGranted ) {
$entry = get_record('glossary_entries', 'id', $entry);
if ( !$confirm ) {
echo '<div class="boxaligncenter">';
$areyousure = get_string('areyousureexport','glossary');
notice_yesno ('<h2>'.format_string($entry->concept).'</h2><p align="center">'.$areyousure.'<br /><b>'.format_string($mainglossary->name).'</b>?',
'exportentry.php?id='.$id.'&amp;mode='.$mode.'&amp;hook='.$hook.'&amp;entry='.$entry->id.'&amp;confirm=1',
'view.php?id='.$cm->id.'&amp;mode='.$mode.'&amp;hook='.$hook);
echo '</div>';
} else {
if ( ! $mainglossary->allowduplicatedentries ) {
$dupentry = get_record('glossary_entries','glossaryid', $mainglossary->id, 'lower(concept)',moodle_strtolower(addslashes($entry->concept)));
if ( $dupentry ) {
$PermissionGranted = 0;
}
}
if ( $PermissionGranted ) {
$dbentry = new stdClass;
$dbentry->id = $entry->id;
$dbentry->glossaryid = $mainglossary->id;
$dbentry->sourceglossaryid = $glossary->id;
if (! update_record('glossary_entries', $dbentry)) {
error('Could not export the entry to the main glossary');
} else {
print_simple_box_start('center', '60%');
echo '<p align="center"><font size="3">'.$entryexported.'</font></p></font>';
print_continue('view.php?id='.$cm->id.'&amp;mode=entry&amp;hook='.$entry->id);
print_simple_box_end();
print_footer();
redirect('view.php?id='.$cm->id.'&amp;mode=entry&amp;hook='.$entry->id);
die;
}
} else {
print_simple_box_start('center', '60%', '#FFBBBB');
echo '<p align="center"><font size="3">'.$entryalreadyexist.'</font></p></font>';
echo '<p align="center">';
print_continue('view.php?id='.$cm->id.'&amp;mode=entry&amp;hook='.$entry->id);
print_simple_box_end();
}
}
} else {
print_simple_box_start('center', '60%', '#FFBBBB');
notice('A weird error was found while trying to export this entry. Operation cancelled.');
print_continue('view.php?id='.$cm->id.'&amp;mode=entry&amp;hook='.$entry->id);
print_simple_box_end();
}
print_footer();
?>