You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
300 lines
9.5 KiB
300 lines
9.5 KiB
<?php
|
|
|
|
/// This file allows to manage the default behaviour of the display formats
|
|
|
|
require_once("../../config.php");
|
|
require_once($CFG->libdir.'/adminlib.php');
|
|
require_once("lib.php");
|
|
|
|
$id = required_param('id', PARAM_INT);
|
|
$mode = optional_param('mode', '', PARAM_ALPHANUMEXT);
|
|
|
|
$url = new moodle_url('/mod/glossary/formats.php', array('id'=>$id));
|
|
if ($mode !== '') {
|
|
$url->param('mode', $mode);
|
|
}
|
|
$PAGE->set_url($url);
|
|
|
|
admin_externalpage_setup('managemodules'); // this is hacky, tehre should be a special hidden page for it
|
|
|
|
if ( !$displayformat = $DB->get_record("glossary_formats", array("id"=>$id))) {
|
|
print_error('invalidglossaryformat', 'glossary');
|
|
}
|
|
|
|
$form = data_submitted();
|
|
if ( $mode == 'visible' and confirm_sesskey()) {
|
|
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 and confirm_sesskey()) {
|
|
|
|
$displayformat->popupformatname = $form->popupformatname;
|
|
$displayformat->showgroup = $form->showgroup;
|
|
$displayformat->defaultmode = $form->defaultmode;
|
|
$displayformat->defaulthook = $form->defaulthook;
|
|
$displayformat->sortkey = $form->sortkey;
|
|
$displayformat->sortorder = $form->sortorder;
|
|
|
|
// Extract visible tabs from array into comma separated list.
|
|
$visibletabs = implode(',', $form->visibletabs);
|
|
// Include 'standard' tab by default along with other tabs.
|
|
// This way we don't run into the risk of users not selecting any tab for displayformat.
|
|
$displayformat->showtabs = GLOSSARY_STANDARD.','.$visibletabs;
|
|
|
|
$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");
|
|
|
|
echo $OUTPUT->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 echo html_writer::label(get_string('popupformat','glossary'), 'menupopupformatname'); ?></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 html_writer::select($formats, 'popupformatname', $displayformat->popupformatname, false);
|
|
?>
|
|
</td>
|
|
<td width="60%">
|
|
<?php print_string("cnfrelatedview", "glossary") ?><br /><br />
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td align="right" width="20%"><label for="defaultmode"><?php print_string('defaultmode','glossary'); ?></label></td>
|
|
<td>
|
|
<select size="1" id="defaultmode" 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%"><label for="defaulthook"><?php print_string('defaulthook','glossary'); ?></label></td>
|
|
<td>
|
|
<select size="1" id="defaulthook" 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%"><label for="sortkey"><?php print_string('defaultsortkey','glossary'); ?></label></td>
|
|
<td>
|
|
<select size="1" id="sortkey" 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%"><label for="sortorder"><?php print_string('defaultsortorder','glossary'); ?></label></td>
|
|
<td>
|
|
<select size="1" id="sortorder" 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%"><label for="showgroup"><?php print_string("includegroupbreaks", "glossary"); ?>:</label></td>
|
|
<td>
|
|
<select size="1" id="showgroup" 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 align="right" width="20%"><label for="visibletabs"><?php print_string("visibletabs", "glossary"); ?></label></td>
|
|
<td>
|
|
<?php
|
|
// Get all glossary tabs.
|
|
$glossarytabs = glossary_get_all_tabs();
|
|
// Extract showtabs value in an array.
|
|
$visibletabs = glossary_get_visible_tabs($displayformat);
|
|
$size = min(10, count($glossarytabs));
|
|
?>
|
|
<select id="visibletabs" name="visibletabs[]" size="<?php echo $size ?>" multiple="multiple">
|
|
<?php
|
|
$selected = "";
|
|
foreach ($glossarytabs as $tabkey => $tabvalue) {
|
|
if (in_array($tabkey, $visibletabs)) {
|
|
?>
|
|
<option value="<?php echo $tabkey ?>" selected="selected"><?php echo $tabvalue ?></option>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<option value="<?php echo $tabkey ?>"><?php echo $tabvalue ?></option>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
<td width="60%">
|
|
<?php print_string("cnftabs", "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="sesskey" value="<?php echo sesskey() ?>" />
|
|
<input type="hidden" name="mode" value="edit" />
|
|
<?php
|
|
|
|
echo '</table></form>';
|
|
|
|
echo $OUTPUT->footer();
|
|
?>
|