diff --git a/mod/wiki/classes/external.php b/mod/wiki/classes/external.php index b8dd32738e1..a2afa3d87c0 100644 --- a/mod/wiki/classes/external.php +++ b/mod/wiki/classes/external.php @@ -449,15 +449,17 @@ class mod_wiki_external extends external_api { throw new moodle_exception('cannotviewpage', 'wiki'); } else if ($subwiki->id != -1) { - // Set sort param. $options = $params['options']; - if (!empty($options['sortby'])) { - if ($options['sortdirection'] != 'ASC' && $options['sortdirection'] != 'DESC') { - // Invalid sort direction. Use default. - $options['sortdirection'] = 'ASC'; - } - $sort = $options['sortby'] . ' ' . $options['sortdirection']; - } + + // Set sort param. + $sort = get_safe_orderby([ + 'id' => 'id', + 'title' => 'title', + 'timecreated' => 'timecreated', + 'timemodified' => 'timemodified', + 'pageviews' => 'pageviews', + 'default' => 'title', + ], $options['sortby'], $options['sortdirection'], false); $pages = wiki_get_page_list($subwiki->id, $sort); $caneditpages = wiki_user_can_edit($subwiki);