# fluent-booking/1.10.01/app/Http/Controllers/WidgetController.php

Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution, version 1.10.01. 35 lines.

- Page: https://pluginprobe.com/plugins/fluent-booking/1.10.01/code/app/Http/Controllers/WidgetController.php
- Raw: https://pluginprobe.com/plugins/fluent-booking/1.10.01/raw/app/Http/Controllers/WidgetController.php
- Modified: 2024-07-16T14:25:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-booking/1.10.01/code/app/Http/Controllers/WidgetController.php#L10-L20`.

```php
<?php

namespace FluentBooking\App\Http\Controllers;

use FluentBooking\App\Hooks\Handlers\FrontEndHandler;
use FluentBooking\App\Models\CalendarSlot;
use FluentBooking\App\Services\BookingFieldService;
use FluentBooking\App\Services\BookingService;
use FluentBooking\Framework\Http\Request\Request;

class WidgetController extends Controller
{
    public function getPublicVars(Request $request)
    {
        $slotId = (int)$request->get('event_id');
        $slot = CalendarSlot::findOrFail($slotId);
        $formFields = BookingFieldService::getBookingFields($slot);

        $calendarVars = [
            'slot'           => $slot,
            'calendar'       => $slot->calendar,
            'author_profile' => $slot->getAuthorProfile(true),
            'form_fields'    => $formFields,
            'disable_author' => false
        ];

        $globalVars = (new FrontEndHandler())->getGlobalVars();

        return [
            'global_vars' => $globalVars,
            'app_vars'    => $calendarVars
        ];
    }
}

```
