HEX
Server: Apache
System: Linux server1.ariadata.co 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: nepi (1051)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,show_source,popen,proc_open
Upload Files
File: /home/nepi/public_html/src/core/Directus/Config/StatusItem.php
<?php

namespace Directus\Config;

use Directus\Util\ArrayUtils;

class StatusItem
{
    /**
     * @var int
     */
    protected $value;

    /**
     * @var string
     */
    protected $name;

    /**
     * @var int
     */
    protected $sort;

    /**
     * @var array
     */
    protected $attributes;

    /**
     * @var array
     */
    protected $defaultAttributes = [
        'text_color' => '#000000',
        'background_color' => '#FFFFFF',
        'listing_subdued' => false,
        'listing_badge' => false,
        'soft_delete' => false,
        'hard_delete' => false,
    ];

    public function __construct($value, $name, $sort, array $attributes = [])
    {
        $this->value = $value;
        $this->name = $name;
        $this->sort = $sort;
        $this->attributes = array_merge($this->defaultAttributes, $attributes);
    }

    /**
     * @return int
     */
    public function getValue()
    {
        return $this->value;
    }

    /**
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * @return int
     */
    public function getSort()
    {
        return $this->sort;
    }

    /**
     * @return bool
     */
    public function isSoftDelete()
    {
        return $this->getAttribute('soft_delete') == true;
    }

    /**
     * @return array
     */
    public function getAttributes()
    {
        return $this->attributes;
    }

    /**
     * @param $key
     *
     * @return mixed
     */
    public function getAttribute($key)
    {
        return ArrayUtils::get($this->attributes, $key);
    }
}