MDL-57660 mod_forum: Preserve forum ID selection after form submission

This commit is contained in:
Jun Pataleta 2017-01-16 16:02:36 +08:00
parent e7059ec5e2
commit 1da58a1a75
4 changed files with 22 additions and 3 deletions

View File

@ -148,6 +148,15 @@ class big_search_form implements renderable, templatable {
$this->words = $value;
}
/**
* Forum ID setter search criteria.
*
* @param int $forumid The forum ID.
*/
public function set_forumid($forumid) {
$this->forumid = $forumid;
}
public function export_for_template(renderer_base $output) {
$data = new stdClass();
@ -185,6 +194,15 @@ class big_search_form implements renderable, templatable {
. html_writer::select_time('hours', 'tohour', $dateto)
. html_writer::select_time('minutes', 'tominute', $dateto);
if ($this->forumid && !empty($this->forumoptions)) {
foreach ($this->forumoptions as $index => $option) {
if ($option['value'] == $this->forumid) {
$this->forumoptions[$index]['selected'] = true;
} else {
$this->forumoptions[$index]['selected'] = false;
}
}
}
$data->forumoptions = $this->forumoptions;
return $data;

View File

@ -318,7 +318,7 @@ echo $OUTPUT->footer();
* @return void The function prints the form.
*/
function forum_print_big_search_form($course) {
global $PAGE, $words, $subject, $phrase, $user, $userid, $fullwords, $notwords, $datefrom, $dateto, $OUTPUT;
global $PAGE, $words, $subject, $phrase, $user, $fullwords, $notwords, $datefrom, $dateto, $forumid;
$renderable = new \mod_forum\output\big_search_form($course, $user);
$renderable->set_words($words);
@ -329,6 +329,7 @@ function forum_print_big_search_form($course) {
$renderable->set_dateto($dateto);
$renderable->set_subject($subject);
$renderable->set_user($user);
$renderable->set_forumid($forumid);
$output = $PAGE->get_renderer('mod_forum');
echo $output->render($renderable);

View File

@ -123,7 +123,7 @@
<td class="c1">
<select name="forumid" id="menuforumid">
{{#forumoptions}}
<option value="{{value}}">{{name}}</option>
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/forumoptions}}
</select>
</td>

View File

@ -123,7 +123,7 @@
<td class="c1">
<select name="forumid" id="menuforumid" class="form-control">
{{#forumoptions}}
<option value="{{value}}">{{name}}</option>
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
{{/forumoptions}}
</select>
</td>