getStation(); if (!$station->getEnablePublicPage()) { throw new StationNotFoundException(); } if (!$station->getEnableOnDemand()) { throw new StationUnsupportedException(); } // Get list of custom fields. $customFieldsRaw = $this->em->createQuery( <<<'DQL' SELECT cf.id, cf.short_name, cf.name FROM App\Entity\CustomField cf ORDER BY cf.name ASC DQL )->getArrayResult(); $customFields = []; foreach ($customFieldsRaw as $row) { $customFields[] = [ 'display_key' => 'custom_field_' . $row['id'], 'key' => $row['short_name'], 'label' => $row['name'], ]; } $router = $request->getRouter(); $pageClass = 'ondemand station-' . $station->getShortName(); if (null !== $embed) { $pageClass .= ' embed'; } return $request->getView()->renderVuePage( response: $response->withHeader('X-Frame-Options', '*'), component: 'Vue_PublicOnDemand', id: 'station-on-demand', layout: 'minimal', title: __('On-Demand Media') . ' - ' . $station->getName(), layoutParams: [ 'page_class' => $pageClass, 'hide_footer' => true, ], props: [ 'listUrl' => $router->fromHere('api:stations:ondemand:list'), 'showDownloadButton' => $station->getEnableOnDemandDownload(), 'customFields' => $customFields, 'stationName' => $station->getName(), ] ); } }