HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/debout/debout.nl/app/Composers/CalloutBarComposer.php
<?php


namespace App\Composers;


use Illuminate\View\View;

class CalloutBarComposer
{
    /**
     * @param View $view
     */
    public function compose(View $view)
    {
        $viewData = $view->getData();
        $heading = $viewData['calloutBarHeading'] ?? $viewData['heading'] ?? '';


        //1. Check for button data in component (blade),
        //2. Check in button translation.
        //First step that returns data, is used.

        //Step 1
        $buttonText = (isset($viewData['calloutBarButtonText'])) ? $viewData['calloutBarButtonText'] : null;
        $buttonLink = (isset($viewData['calloutBarButtonLink'])) ? $viewData['calloutBarButtonLink'] : null;

        //Step 2
        if(isset($viewData['button']) && isset($viewData['button']->translation)) {
            if (!$buttonText) $buttonText = $viewData['button']->translation->label ?: null;
            if (!$buttonLink) $buttonLink = $viewData['button']->translation->url ?: null;
        }

        //1. Check for phone data in component (blade),
        //2. Check in servicepoint translation.
        //3 Check in config(), otherwise null
        //First step that returns data, is used.

        //Step 1
        $phoneDisplay = (isset($viewData['phoneDisplay'])) ? $viewData['phoneDisplay'] : null;
        $phoneCall = (isset($viewData['phoneCall'])) ? $viewData['phoneCall'] : null;

        //Step 2
        if(!$phoneCall || !$phoneDisplay) {
            if (isset($viewData['servicepoint']) && $viewData['servicepoint']->translation) {
                $phoneDisplay = $viewData['servicepoint']->translation->telephone_label;
                $phoneCall = $viewData['servicepoint']->translation->telephone_url;
            }
        }

        //Step 3
        if(!$phoneCall) config('site.company_phone_call');
        if(!$phoneDisplay) config('site.company_phone_display');

        $view->with([
            'heading' => $heading,           
            'buttonText' => $buttonText,     
            'buttonLink' => $buttonLink,     
            'phoneDisplay' => $phoneDisplay, 
            'phoneCall' => $phoneCall        
        ]);
    }
}