Merge branch 'MDL-44822' of git://github.com/aolley/moodle
[moodle.git] / mod / glossary / formats.php
blobc1cd49829a286c6b019edc453924e6c55b06a197
1 <?php
3 /// This file allows to manage the default behaviour of the display formats
5 require_once("../../config.php");
6 require_once($CFG->libdir.'/adminlib.php');
7 require_once("lib.php");
9 $id = required_param('id', PARAM_INT);
10 $mode = optional_param('mode', '', PARAM_ALPHANUMEXT);
12 $url = new moodle_url('/mod/glossary/formats.php', array('id'=>$id));
13 if ($mode !== '') {
14 $url->param('mode', $mode);
16 $PAGE->set_url($url);
18 admin_externalpage_setup('managemodules'); // this is hacky, tehre should be a special hidden page for it
20 if ( !$displayformat = $DB->get_record("glossary_formats", array("id"=>$id))) {
21 print_error('invalidglossaryformat', 'glossary');
24 $form = data_submitted();
25 if ( $mode == 'visible' and confirm_sesskey()) {
26 if ( $displayformat ) {
27 if ( $displayformat->visible ) {
28 $displayformat->visible = 0;
29 } else {
30 $displayformat->visible = 1;
32 $DB->update_record("glossary_formats",$displayformat);
34 redirect("$CFG->wwwroot/$CFG->admin/settings.php?section=modsettingglossary#glossary_formats_header");
35 die;
36 } elseif ( $mode == 'edit' and $form and confirm_sesskey()) {
38 $displayformat->popupformatname = $form->popupformatname;
39 $displayformat->showgroup = $form->showgroup;
40 $displayformat->defaultmode = $form->defaultmode;
41 $displayformat->defaulthook = $form->defaulthook;
42 $displayformat->sortkey = $form->sortkey;
43 $displayformat->sortorder = $form->sortorder;
45 $DB->update_record("glossary_formats",$displayformat);
46 redirect("$CFG->wwwroot/$CFG->admin/settings.php?section=modsettingglossary#glossary_formats_header");
47 die;
50 $strmodulename = get_string("modulename", "glossary");
51 $strdisplayformats = get_string("displayformats","glossary");
53 echo $OUTPUT->header();
55 echo $OUTPUT->heading($strmodulename . ': ' . get_string("displayformats","glossary"));
57 echo $OUTPUT->box(get_string("configwarning", 'admin'), "generalbox boxaligncenter boxwidthnormal");
58 echo "<br />";
60 $yes = get_string("yes");
61 $no = get_string("no");
63 echo '<form method="post" action="formats.php" id="form">';
64 echo '<table width="90%" align="center" class="generalbox">';
66 <tr>
67 <td colspan="3" align="center"><strong>
68 <?php echo get_string('displayformat'.$displayformat->name,'glossary'); ?>
69 </strong></td>
70 </tr>
71 <tr valign="top">
72 <td align="right" width="20%"><?php echo html_writer::label(get_string('popupformat','glossary'), 'menupopupformatname'); ?></td>
73 <td>
74 <?php
75 //get and update available formats
76 $recformats = glossary_get_available_formats();
78 $formats = array();
80 //Take names
81 foreach ($recformats as $format) {
82 $formats[$format->name] = get_string("displayformat$format->name", "glossary");
84 //Sort it
85 asort($formats);
87 echo html_writer::select($formats, 'popupformatname', $displayformat->popupformatname, false);
89 </td>
90 <td width="60%">
91 <?php print_string("cnfrelatedview", "glossary") ?><br /><br />
92 </td>
93 </tr>
94 <tr valign="top">
95 <td align="right" width="20%"><label for="defaultmode"><?php print_string('defaultmode','glossary'); ?></label></td>
96 <td>
97 <select size="1" id="defaultmode" name="defaultmode">
98 <?php
99 $sletter = '';
100 $scat = '';
101 $sauthor = '';
102 $sdate = '';
103 switch ( strtolower($displayformat->defaultmode) ) {
104 case 'letter':
105 $sletter = ' selected="selected" ';
106 break;
108 case 'cat':
109 $scat = ' selected="selected" ';
110 break;
112 case 'date':
113 $sdate = ' selected="selected" ';
114 break;
116 case 'author':
117 $sauthor = ' selected="selected" ';
118 break;
121 <option value="letter" <?php p($sletter)?>><?php print_string("letter", "glossary"); ?></option>
122 <option value="cat" <?php p($scat)?>><?php print_string("cat", "glossary"); ?></option>
123 <option value="date" <?php p($sdate)?>><?php print_string("date", "glossary"); ?></option>
124 <option value="author" <?php p($sauthor)?>><?php print_string("author", "glossary"); ?></option>
125 </select>
126 </td>
127 <td width="60%">
128 <?php print_string("cnfdefaultmode", "glossary") ?><br /><br />
129 </td>
130 </tr>
131 <tr valign="top">
132 <td align="right" width="20%"><label for="defaulthook"><?php print_string('defaulthook','glossary'); ?></label></td>
133 <td>
134 <select size="1" id="defaulthook" name="defaulthook">
135 <?php
136 $sall = '';
137 $sspecial = '';
138 $sallcategories = '';
139 $snocategorised = '';
140 switch ( strtolower($displayformat->defaulthook) ) {
141 case 'all':
142 $sall = ' selected="selected" ';
143 break;
145 case 'special':
146 $sspecial = ' selected="selected" ';
147 break;
149 case '0':
150 $sallcategories = ' selected="selected" ';
151 break;
153 case '-1':
154 $snocategorised = ' selected="selected" ';
155 break;
158 <option value="ALL" <?php p($sall)?>><?php p(get_string("allentries","glossary"))?></option>
159 <option value="SPECIAL" <?php p($sspecial)?>><?php p(get_string("special","glossary"))?></option>
160 <option value="0" <?php p($sallcategories)?>><?php p(get_string("allcategories","glossary"))?></option>
161 <option value="-1" <?php p($snocategorised)?>><?php p(get_string("notcategorised","glossary"))?></option>
162 </select>
163 </td>
164 <td width="60%">
165 <?php print_string("cnfdefaulthook", "glossary") ?><br /><br />
166 </td>
167 </tr>
168 <tr valign="top">
169 <td align="right" width="20%"><label for="sortkey"><?php print_string('defaultsortkey','glossary'); ?></label></td>
170 <td>
171 <select size="1" id="sortkey" name="sortkey">
172 <?php
173 $sfname = '';
174 $slname = '';
175 $supdate = '';
176 $screation = '';
177 switch ( strtolower($displayformat->sortkey) ) {
178 case 'firstname':
179 $sfname = ' selected="selected" ';
180 break;
182 case 'lastname':
183 $slname = ' selected="selected" ';
184 break;
186 case 'creation':
187 $screation = ' selected="selected" ';
188 break;
190 case 'update':
191 $supdate = ' selected="selected" ';
192 break;
195 <option value="CREATION" <?php p($screation)?>><?php p(get_string("sortbycreation","glossary"))?></option>
196 <option value="UPDATE" <?php p($supdate)?>><?php p(get_string("sortbylastupdate","glossary"))?></option>
197 <option value="FIRSTNAME" <?php p($sfname)?>><?php p(get_string("firstname"))?></option>
198 <option value="LASTNAME" <?php p($slname)?>><?php p(get_string("lastname"))?></option>
199 </select>
200 </td>
201 <td width="60%">
202 <?php print_string("cnfsortkey", "glossary") ?><br /><br />
203 </td>
204 </tr>
205 <tr valign="top">
206 <td align="right" width="20%"><label for="sortorder"><?php print_string('defaultsortorder','glossary'); ?></label></td>
207 <td>
208 <select size="1" id="sortorder" name="sortorder">
209 <?php
210 $sasc = '';
211 $sdesc = '';
212 switch ( strtolower($displayformat->sortorder) ) {
213 case 'asc':
214 $sasc = ' selected="selected" ';
215 break;
217 case 'desc':
218 $sdesc = ' selected="selected" ';
219 break;
222 <option value="asc" <?php p($sasc)?>><?php p(get_string("ascending","glossary"))?></option>
223 <option value="desc" <?php p($sdesc)?>><?php p(get_string("descending","glossary"))?></option>
224 </select>
225 </td>
226 <td width="60%">
227 <?php print_string("cnfsortorder", "glossary") ?><br /><br />
228 </td>
229 </tr>
230 <tr valign="top">
231 <td align="right" width="20%"><label for="showgroup"><?php print_string("includegroupbreaks", "glossary"); ?>:</label></td>
232 <td>
233 <select size="1" id="showgroup" name="showgroup">
234 <?php
235 $yselected = "";
236 $nselected = "";
237 if ($displayformat->showgroup) {
238 $yselected = " selected=\"selected\" ";
239 } else {
240 $nselected = " selected=\"selected\" ";
243 <option value="1" <?php echo $yselected ?>><?php p($yes)?></option>
244 <option value="0" <?php echo $nselected ?>><?php p($no)?></option>
245 </select>
246 </td>
247 <td width="60%">
248 <?php print_string("cnfshowgroup", "glossary") ?><br /><br />
249 </td>
250 </tr>
251 <tr>
252 <td colspan="3" align="center">
253 <input type="submit" value="<?php print_string("savechanges") ?>" /></td>
254 </tr>
255 <input type="hidden" name="id" value="<?php p($id) ?>" />
256 <input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
257 <input type="hidden" name="mode" value="edit" />
258 <?php
260 echo '</table></form>';
262 echo $OUTPUT->footer();