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/SBogers10/farmfun.komma.pro/app/Komma/Components/ComponentType/ComponentTypes.php
<?php

namespace App\Komma\Components\ComponentType;

use App\Komma\Base\Enum;
use Illuminate\Support\Str;

/**
 * Class ComponentTypes
 *
 * All component types and their ids.
 * Notice: The ids don't correspond to database records anymore
 */
class ComponentTypes extends Enum
{
    const UNKNOWN = 0;

    const TEXT_IMAGE = 1;

    const DOUBLE_TEXT = 2;

    const VIDEO = 3;

    const TEXT = 4;

    const IMAGE = 5;

    const VIDEO_TEXT = 6;

    const STREAMER = 7;

    const TESTIMONIAL_LOGOS = 8;

    const QUESTION_CATEGORY = 9;

    const REVIEWS = 10;

    const TEXT_FORM = 11;

    const INSPIRATION_GUIDE = 12;

    const LOCATIONS = 13;

    const USPS = 14;

    const PROGRAMS = 15;

    const BUTTON = 16;

    const TOP_REVIEWS = 17;

    const HERO = 18;

    const LOCATION_INFORMATION = 19;

    const LOCATION_CTA = 20;

    const CONTACT_FORM = 21;

    const PLAN_YOUR_DAY = 22;

    const FARMFOOD_PRODUCT = 23;

    const FARM_FOOD_ASSORTMENT = 24;

    public static $sets = [
        //        'legal' => [
        //            self::TEXT,
        //            self::IMAGE,
        //        ],
        //        'about' => [
        //            self::VIDEO_TEXT,
        //            self::STREAMER,
        //            self::TEXT_IMAGE,
        //        ],
        //        'home' => [
        //            self::TESTIMONIAL_LOGOS,
        //            self::VIDEO_TEXT,
        //            self::TEXT,
        //            self::TEXT_IMAGE,
        //        ],
        //        'products' => [
        //            self::TEXT_IMAGE
        //        ],
        //        'posts' => [
        //            self::STREAMER,
        //            self::TEXT,
        //            self::IMAGE,
        //            self::VIDEO,
        //        ],
        //        'vacancies' => [
        //            self::STREAMER,
        //            self::TEXT,
        //            self::IMAGE,
        //            self::VIDEO,
        //        ],
        //        'reviews' => [
        //            self::STREAMER,
        //            self::VIDEO,
        //            self::TESTIMONIAL_LOGOS,
        //            self::REVIEWS,
        //            self::TEXT,
        //        ],
        //        'locations' => [
        //            self::STREAMER,
        //            self::VIDEO,
        //            self::TEXT,
        //            self::TEXT_IMAGE,
        //        ],
    ];

    /**
     * Alias for code cleanness in the sections
     *
     * @return array
     */
    public static function all()
    {
        return self::getAsArray();
    }

    /**
     * @param $setName
     * @return bool
     */
    public static function hasSet($setName)
    {
        if (Str::startsWith($setName, 'locations.')) {
            $setName = 'locations';
        }

        return isset(self::$sets[$setName]);
    }

    public static function getSet($setName)
    {
        if (Str::startsWith($setName, 'locations.')) {
            $setName = 'locations';
        }

        if (isset(self::$sets[$setName])) {
            return self::$sets[$setName];
        }

        return self::all();
    }
}