+ private static function addQuestions(array $item, string $content): string
+ {
+ DI::profiler()->startRecording('rendering');
+ if (!empty($item['question-id'])) {
+ $question = [
+ 'id' => $item['question-id'],
+ 'multiple' => $item['question-multiple'],
+ 'voters' => $item['question-voters'],
+ 'endtime' => $item['question-end-time']
+ ];
+
+ $options = Post\QuestionOption::getByURIId($item['uri-id']);
+ foreach ($options as $key => $option) {
+ $percent = $question['voters'] ? ($option['replies'] / $question['voters'] * 100) : 0;
+
+ $options[$key]['percent'] = $percent;
+
+ if ($question['voters'] > 0) {
+ $options[$key]['vote'] = DI::l10n()->t('%s (%d%s, %d votes)', $option['name'], round($percent, 1), '%', $option['replies']);
+ } else {
+ $options[$key]['vote'] = DI::l10n()->t('%s (%d votes)', $option['name'], $option['replies']);
+ }
+ }
+
+ if (!empty($question['voters']) && !empty($question['endtime'])) {
+ $summary = DI::l10n()->t('%d voters. Poll end: %s', $question['voters'], Temporal::getRelativeDate($question['endtime']));
+ } elseif (!empty($question['voters'])) {
+ $summary = DI::l10n()->t('%d voters.', $question['voters']);
+ } elseif (!empty($question['endtime'])) {
+ $summary = DI::l10n()->t('Poll end: %s', Temporal::getRelativeDate($question['endtime']));
+ } else {
+ $summary = '';
+ }
+
+ $content .= Renderer::replaceMacros(Renderer::getMarkupTemplate('content/question.tpl'), [
+ '$question' => $question,
+ '$options' => $options,
+ '$summary' => $summary,
+ ]);
+ }
+ DI::profiler()->stopRecording();
+ return $content;
+ }
+