I am a hacker in the dark of a very cold night
path :/var/www/html/vorne.webheaydemo.com
upload file:
List of files:
| name file |
size |
edit |
permission |
action |
| .editorconfig | 276 KB | March 05 2024 07:12:34 | 0666 |
|
| .env | 1385 KB | May 24 2024 16:43:55 | 0666 |
|
| .env.example | 1088 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitattributes | 190 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitignore | 245 KB | March 05 2024 07:12:34 | 0666 |
|
| .htaccess | 947 KB | July 04 2023 21:25:08 | 0664 |
|
| .rnd | 1024 KB | March 13 2024 04:51:14 | 0666 |
|
| README.md | 472 KB | March 22 2024 10:35:00 | 0666 |
|
| app | - | March 05 2024 07:12:34 | 0777 |
|
| artisan | 1739 KB | March 05 2024 07:12:34 | 0666 |
|
| bootstrap | - | March 05 2024 07:12:34 | 0777 |
|
| composer.json | 2829 KB | May 13 2024 12:10:04 | 0666 |
|
| composer.lock | 417205 KB | March 19 2024 12:13:14 | 0666 |
|
| config | - | July 03 2025 02:53:36 | 0777 |
|
| database | - | March 05 2024 07:12:34 | 0777 |
|
| index.php | 1816 KB | May 13 2024 10:32:36 | 0666 |
|
| lang | - | May 13 2024 14:53:26 | 0777 |
|
| manifest.json | 913 KB | May 14 2024 03:57:26 | 0664 |
|
| package.json | 398 KB | March 05 2024 07:12:34 | 0666 |
|
| phpunit.xml | 1206 KB | March 05 2024 07:12:34 | 0666 |
|
| public | - | July 03 2025 02:37:20 | 0777 |
|
| resources | - | May 13 2024 12:09:36 | 0777 |
|
| routes | - | March 05 2024 07:12:34 | 0777 |
|
| service-worker.js | 924 KB | March 05 2024 07:12:34 | 0666 |
|
| storage | - | March 05 2024 10:03:52 | 0777 |
|
| symlink.php | 218 KB | March 05 2024 07:12:34 | 0666 |
|
| tests | - | March 05 2024 07:12:34 | 0777 |
|
| vendor | - | March 19 2024 12:13:14 | 0777 |
|
| vite.config.js | 326 KB | March 05 2024 07:12:34 | 0666 |
|
$elements
* @return array
*/
public function __invoke(array $elements, Styles $styles): array
{
$elements = array_values($elements);
foreach ($elements as &$element) {
if (is_string($element)) {
$element = Termwind::raw($element);
}
$element->inheritFromStyles($styles);
}
/** @var Element[] $elements */
if (($styles->getProperties()['styles']['display'] ?? 'inline') === 'flex') {
$elements = $this->applyFlex($elements);
}
return match ($styles->getProperties()['styles']['justifyContent'] ?? false) {
'between' => $this->applyJustifyBetween($elements),
'evenly' => $this->applyJustifyEvenly($elements),
'around' => $this->applyJustifyAround($elements),
'center' => $this->applyJustifyCenter($elements),
default => $elements,
};
}
/**
* Applies flex-1 to child elements with the class.
*
* @param array $elements
* @return array
*/
private function applyFlex(array $elements): array
{
[$totalWidth, $parentWidth] = $this->getWidthFromElements($elements);
$width = max(0, array_reduce($elements, function ($carry, $element) {
return $carry += $element->hasStyle('flex-1') ? $element->getInnerWidth() : 0;
}, $parentWidth - $totalWidth));
$flexed = array_values(array_filter(
$elements, fn ($element) => $element->hasStyle('flex-1')
));
foreach ($flexed as $index => &$element) {
if ($width === 0 && ! ($element->getProperties()['styles']['contentRepeat'] ?? false)) {
continue;
}
$float = $width / count($flexed);
$elementWidth = floor($float);
if ($index === count($flexed) - 1) {
$elementWidth += ($float - floor($float)) * count($flexed);
}
$element->addStyle("w-{$elementWidth}");
}
return $elements;
}
/**
* Applies the space between the elements.
*
* @param array $elements
* @return array
*/
private function applyJustifyBetween(array $elements): array
{
if (count($elements) <= 1) {
return $elements;
}
[$totalWidth, $parentWidth] = $this->getWidthFromElements($elements);
$space = ($parentWidth - $totalWidth) / (count($elements) - 1);
if ($space < 1) {
return $elements;
}
$arr = [];
foreach ($elements as $index => &$element) {
if ($index !== 0) {
// Since there is no float pixel, on the last one it should round up...
$length = $index === count($elements) - 1 ? ceil($space) : floor($space);
$arr[] = str_repeat(' ', (int) $length);
}
$arr[] = $element;
}
return $arr;
}
/**
* Applies the space between and around the elements.
*
* @param array $elements
* @return array
*/
private function applyJustifyEvenly(array $elements): array
{
[$totalWidth, $parentWidth] = $this->getWidthFromElements($elements);
$space = ($parentWidth - $totalWidth) / (count($elements) + 1);
if ($space < 1) {
return $elements;
}
$arr = [];
foreach ($elements as &$element) {
$arr[] = str_repeat(' ', (int) floor($space));
$arr[] = $element;
}
$decimals = ceil(($space - floor($space)) * (count($elements) + 1));
$arr[] = str_repeat(' ', (int) (floor($space) + $decimals));
return $arr;
}
/**
* Applies the space around the elements.
*
* @param array $elements
* @return array
*/
private function applyJustifyAround(array $elements): array
{
if (count($elements) === 0) {
return $elements;
}
[$totalWidth, $parentWidth] = $this->getWidthFromElements($elements);
$space = ($parentWidth - $totalWidth) / count($elements);
if ($space < 1) {
return $elements;
}
$contentSize = $totalWidth;
$arr = [];
foreach ($elements as $index => &$element) {
if ($index !== 0) {
$arr[] = str_repeat(' ', (int) ceil($space));
$contentSize += ceil($space);
}
$arr[] = $element;
}
return [
str_repeat(' ', (int) floor(($parentWidth - $contentSize) / 2)),
...$arr,
str_repeat(' ', (int) ceil(($parentWidth - $contentSize) / 2)),
];
}
/**
* Applies the space on before first element and after last element.
*
* @param array $elements
* @return array
*/
private function applyJustifyCenter(array $elements): array
{
[$totalWidth, $parentWidth] = $this->getWidthFromElements($elements);
$space = $parentWidth - $totalWidth;
if ($space < 1) {
return $elements;
}
return [
str_repeat(' ', (int) floor($space / 2)),
...$elements,
str_repeat(' ', (int) ceil($space / 2)),
];
}
/**
* Gets the total width for the elements and their parent width.
*
* @param array $elements
* @return int[]
*/
private function getWidthFromElements(array $elements)
{
$totalWidth = (int) array_reduce($elements, fn ($carry, $element) => $carry += $element->getLength(), 0);
$parentWidth = Styles::getParentWidth($elements[0]->getProperties()['parentStyles'] ?? []);
return [$totalWidth, $parentWidth];
}
}