Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.
<?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');
> throw new \moodle_exception('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 available formats. $recformats = $DB->get_records("glossary_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(); ?>