/** * Get a list of most provided answers for the question. * * @since 0.1 * * @param SurveyQuestion $question * * @return string */ protected function getAnswerList(SurveyQuestion $question) { if ($question->isRestrictiveType()) { $list = '<ul>'; $answers = array(); $answerTranslations = array(); if ($question->getField('type') == SurveyQuestion::$TYPE_CHECK) { $possibilities = array('0', '1'); $answerTranslations['0'] = wfMsg('surveys-surveystats-unchecked'); $answerTranslations['1'] = wfMsg('surveys-surveystats-checked'); } else { $possibilities = $question->getField('answers'); } foreach ($possibilities as $answer) { $answers[$answer] = SurveyAnswer::count(array('text' => $answer)); } asort($answers, SORT_NUMERIC); foreach (array_reverse($answers) as $answer => $answerCount) { if (array_key_exists($answer, $answerTranslations)) { $answer = $answerTranslations[$answer]; } $list .= Html::element('li', array(), wfMsgExt('surveys-surveystats-question-answer', 'parsemag', $answer, $this->getLanguage()->formatNum($answerCount))); } return $list . '</ul>'; } else { return ''; } }