diff --git a/application/helpers/common_helper.php b/application/helpers/common_helper.php index 04232eb04f2..18aeb1e72e3 100644 --- a/application/helpers/common_helper.php +++ b/application/helpers/common_helper.php @@ -1933,6 +1933,12 @@ function categorySort($a, $b) return $result; } +function questionTitleSort($a, $b) +{ + $result = strnatcasecmp($a['description'], $b['description']); + return $result; +} + /** * make a string safe to include in an HTML 'value' attribute. * @deprecated If you need this you are doing something wrong. Use CHTML functions instead. diff --git a/application/views/admin/survey/Question/editQuestion_view.php b/application/views/admin/survey/Question/editQuestion_view.php index 76e82bbe6da..a2c5e3be1d0 100644 --- a/application/views/admin/survey/Question/editQuestion_view.php +++ b/application/views/admin/survey/Question/editQuestion_view.php @@ -19,6 +19,7 @@ $question_template_preview = \LimeSurvey\Helpers\questionHelper::getQuestionThemePreviewUrl($oQuestion->type); $selected = null; +uasort($aQuestionTypeList, "questionTitleSort"); foreach ($aQuestionTypeList as $key=> $questionType) { $htmlReadyGroup = str_replace(' ', '_', strtolower($questionType['group'])); if (!isset($aQuestionTypeGroups[$htmlReadyGroup])) { diff --git a/application/views/admin/survey/Question/neditQuestion_view.php b/application/views/admin/survey/Question/neditQuestion_view.php index 7d7f1da23a2..14183dc350b 100644 --- a/application/views/admin/survey/Question/neditQuestion_view.php +++ b/application/views/admin/survey/Question/neditQuestion_view.php @@ -19,6 +19,7 @@ $question_template_preview = \LimeSurvey\Helpers\questionHelper::getQuestionThemePreviewUrl($oQuestion->type); $selected = null; +uasort($aQuestionTypeList, "questionTitleSort"); foreach ($aQuestionTypeList as $key=> $questionType) { $htmlReadyGroup = str_replace(' ', '_', strtolower($questionType['group'])); if (!isset($aQuestionTypeGroups[$htmlReadyGroup])) { diff --git a/application/views/admin/survey/Question2/view.php b/application/views/admin/survey/Question2/view.php index 7b81c2be4cd..1a264430111 100644 --- a/application/views/admin/survey/Question2/view.php +++ b/application/views/admin/survey/Question2/view.php @@ -8,7 +8,8 @@ } else { $selectormodeclass = getGlobalSetting('defaultquestionselectormode'); } - + + uasort($aQuestionTypeList, "questionTitleSort"); foreach ($aQuestionTypeList as $key=> $questionType) { $htmlReadyGroup = str_replace(' ', '_', strtolower($questionType['group'])); if (!isset($aQuestionTypeGroups[$htmlReadyGroup])) { diff --git a/application/views/admin/user/personalsettings.php b/application/views/admin/user/personalsettings.php index ee3ef6a72b7..f76273b58e3 100644 --- a/application/views/admin/user/personalsettings.php +++ b/application/views/admin/user/personalsettings.php @@ -11,7 +11,8 @@ } else { $selectormodeclass = getGlobalSetting('defaultquestionselectormode'); } - + + uasort($aQuestionTypeList, "questionTitleSort"); foreach ($aQuestionTypeList as $key=> $questionType) { $htmlReadyGroup = str_replace(' ', '_', strtolower($questionType['group'])); if (!isset($aQuestionTypeGroups[$htmlReadyGroup])) {