. // }}} namespace Plugin\Poll\Forms; use App\Core\Form; use function App\Core\I18n\_m; use App\Entity\Poll; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Form as SymfForm; /** * Form to respond a Poll * * @package GNUsocial * @category PollPlugin * * @author Daniel Brandao * @copyright 2020 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class ShowPollForm extends Form { /** * Creates a radio form with the options given * * @param array $opts options * * @return SymfForm */ public static function make(Poll $poll): SymfForm { $opts = $poll->getOptionsArr(); $question = $poll->getQuestion(); $formOptions = []; for ($i = 1; $i <= count($opts); ++$i) { $options[$opts[$i - 1]] = $i; } $formOptions[] = ['Question', TextType::class, ['data' => $question, 'label' => _m(('Question')), 'disabled' => true]]; $formOptions[] = ['Options:', ChoiceType::class, [ 'choices' => $options, 'expanded' => true, ]]; return parent::create($formOptions); } }