* @param array $bindings
* @param \Closure $callback
* @return mixed
*
* @throws \Illuminate\Database\QueryException
*/
protected function runQueryCallback($query, $bindings, Closure $callback)
{
// To execute the statement, we'll simply call the callback, which will actually
// run the SQL against the PDO connection. Then we can calculate the time it
// took to execute and log the query SQL, bindings and time in our memory.
try {
$result = $callback($query, $bindings);
}
// If an exception occurs when attempting to run a query, we'll format the error
// message to include the bindings with SQL, which will make this exception a
// lot more helpful to the developer instead of just the database's errors.
catch (Exception $e) {
throw new QueryException(
$query, $this->prepareBindings($bindings), $e
);
}
return $result;
}
/**
* Log a query in the connection's query log.
*
* @param string $query
* @param array $bindings
* @param float|null $time
* @return void
*/
public function logQuery($query, $bindings, $time = null)
{
$this->event(new QueryExecuted($query, $bindings, $time, $this));
if ($this->loggingQueries) {
"SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from `users` where `id` = 957 limit 1)"
);
}
}
/**
* Create a new PDO connection instance.
*
* @param string $dsn
* @param string $username
* @param string $password
* @param array $options
* @return \PDO
*/
protected function createPdoConnection($dsn, $username, $password, $options)
{
if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
return new PDOConnection($dsn, $username, $password, $options);
}
return new PDO($dsn, $username, $password, $options);
}
/**
* Determine if the connection is persistent.
*
* @param array $options
* @return bool
*/
protected function isPersistentConnection($options)
{
return isset($options[PDO::ATTR_PERSISTENT]) &&
$options[PDO::ATTR_PERSISTENT];
}
/**
* Handle an exception that occurred during connect execution.
*
* @param \Throwable $e
* @param string $dsn
* @param string $username
"SQLSTATE[HY000] [2002] No such file or directory"
);
}
}
/**
* Create a new PDO connection instance.
*
* @param string $dsn
* @param string $username
* @param string $password
* @param array $options
* @return \PDO
*/
protected function createPdoConnection($dsn, $username, $password, $options)
{
if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
return new PDOConnection($dsn, $username, $password, $options);
}
return new PDO($dsn, $username, $password, $options);
}
/**
* Determine if the connection is persistent.
*
* @param array $options
* @return bool
*/
protected function isPersistentConnection($options)
{
return isset($options[PDO::ATTR_PERSISTENT]) &&
$options[PDO::ATTR_PERSISTENT];
}
/**
* Handle an exception that occurred during connect execution.
*
* @param \Throwable $e
* @param string $dsn
* @param string $username
"mysql:host=localhost;port=3306;dbname=casino"
"casino!23"
"BM0nH!07"
array:5 [ 8 => 0 3 => 2 11 => 0 17 => false 20 => false ]
/**
* Create a new PDO connection.
*
* @param string $dsn
* @param array $config
* @param array $options
* @return \PDO
*
* @throws \Exception
*/
public function createConnection($dsn, array $config, array $options)
{
[$username, $password] = [
$config['username'] ?? null, $config['password'] ?? null,
];
try {
return $this->createPdoConnection(
$dsn, $username, $password, $options
);
} catch (Exception $e) {
return $this->tryAgainIfCausedByLostConnection(
$e, $dsn, $username, $password, $options
);
}
}
/**
* Create a new PDO connection instance.
*
* @param string $dsn
* @param string $username
* @param string $password
* @param array $options
* @return \PDO
*/
protected function createPdoConnection($dsn, $username, $password, $options)
{
if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
"mysql:host=localhost;port=3306;dbname=casino"
"casino!23"
"BM0nH!07"
array:5 [ 8 => 0 3 => 2 11 => 0 17 => false 20 => false ]
use PDO;
class MySqlConnector extends Connector implements ConnectorInterface
{
/**
* Establish a database connection.
*
* @param array $config
* @return \PDO
*/
public function connect(array $config)
{
$dsn = $this->getDsn($config);
$options = $this->getOptions($config);
// We need to grab the PDO options that should be used while making the brand
// new connection instance. The PDO options control various aspects of the
// connection's behavior, and some might be specified by the developers.
$connection = $this->createConnection($dsn, $config, $options);
if (! empty($config['database'])) {
$connection->exec("use `{$config['database']}`;");
}
$this->configureEncoding($connection, $config);
// Next, we will check to see if a timezone has been specified in this config
// and if it has we will issue a statement to modify the timezone with the
// database. Setting this DB timezone is an optional configuration item.
$this->configureTimezone($connection, $config);
$this->setModes($connection, $config);
return $connection;
}
/**
* Set the connection character set and collation.
*
"mysql:host=localhost;port=3306;dbname=casino"
array:14 [ "driver" => "mysql" "host" => "localhost" "port" => "3306" "database" => "casino" "username" => "casino!23" "password" => "BM0nH!07" "unix_socket" => "" "charset" => "utf8" "collation" => "utf8_unicode_ci" "prefix" => "" "prefix_indexes" => true "strict" => true "engine" => "InnoDB" "name" => "mysql" ]
array:5 [ 8 => 0 3 => 2 11 => 0 17 => false 20 => false ]
{
return array_key_exists('host', $config)
? $this->createPdoResolverWithHosts($config)
: $this->createPdoResolverWithoutHosts($config);
}
/**
* Create a new Closure that resolves to a PDO instance with a specific host or an array of hosts.
*
* @param array $config
* @return \Closure
*/
protected function createPdoResolverWithHosts(array $config)
{
return function () use ($config) {
foreach (Arr::shuffle($hosts = $this->parseHosts($config)) as $key => $host) {
$config['host'] = $host;
try {
return $this->createConnector($config)->connect($config);
} catch (PDOException $e) {
continue;
}
}
throw $e;
};
}
/**
* Parse the hosts configuration item into an array.
*
* @param array $config
* @return array
*/
protected function parseHosts(array $config)
{
$hosts = Arr::wrap($config['host']);
if (empty($hosts)) {
array:14 [ "driver" => "mysql" "host" => "localhost" "port" => "3306" "database" => "casino" "username" => "casino!23" "password" => "BM0nH!07" "unix_socket" => "" "charset" => "utf8" "collation" => "utf8_unicode_ci" "prefix" => "" "prefix_indexes" => true "strict" => true "engine" => "InnoDB" "name" => "mysql" ]
$this->doctrineConnection = new DoctrineConnection([
'pdo' => $this->getPdo(),
'dbname' => $this->getConfig('database'),
'driver' => $driver->getName(),
], $driver);
}
return $this->doctrineConnection;
}
/**
* Get the current PDO connection.
*
* @return \PDO
*/
public function getPdo()
{
if ($this->pdo instanceof Closure) {
return $this->pdo = call_user_func($this->pdo);
}
return $this->pdo;
}
/**
* Get the current PDO connection used for reading.
*
* @return \PDO
*/
public function getReadPdo()
{
if ($this->transactions > 0) {
return $this->getPdo();
}
if ($this->recordsModified && $this->getConfig('sticky')) {
return $this->getPdo();
}
$this->doctrineConnection = new DoctrineConnection([
'pdo' => $this->getPdo(),
'dbname' => $this->getConfig('database'),
'driver' => $driver->getName(),
], $driver);
}
return $this->doctrineConnection;
}
/**
* Get the current PDO connection.
*
* @return \PDO
*/
public function getPdo()
{
if ($this->pdo instanceof Closure) {
return $this->pdo = call_user_func($this->pdo);
}
return $this->pdo;
}
/**
* Get the current PDO connection used for reading.
*
* @return \PDO
*/
public function getReadPdo()
{
if ($this->transactions > 0) {
return $this->getPdo();
}
if ($this->recordsModified && $this->getConfig('sticky')) {
return $this->getPdo();
}
Closure {#374 : "Illuminate\Database\Connectors\ConnectionFactory" : ConnectionFactory {#24 …} : { : array:14 [ "driver" => "mysql" "host" => "localhost" "port" => "3306" "database" => "casino" "username" => "casino!23" "password" => "BM0nH!07" "unix_socket" => "" "charset" => "utf8" "collation" => "utf8_unicode_ci" "prefix" => "" "prefix_indexes" => true "strict" => true "engine" => "InnoDB" "name" => "mysql" ] } }
/**
* Get the current PDO connection used for reading.
*
* @return \PDO
*/
public function getReadPdo()
{
if ($this->transactions > 0) {
return $this->getPdo();
}
if ($this->recordsModified && $this->getConfig('sticky')) {
return $this->getPdo();
}
if ($this->readPdo instanceof Closure) {
return $this->readPdo = call_user_func($this->readPdo);
}
return $this->readPdo ?: $this->getPdo();
}
/**
* Set the PDO connection.
*
* @param \PDO|\Closure|null $pdo
* @return $this
*/
public function setPdo($pdo)
{
$this->transactions = 0;
$this->pdo = $pdo;
return $this;
}
/**
* Set the PDO connection used for reading.
*
protected function prepared(PDOStatement $statement)
{
$statement->setFetchMode($this->fetchMode);
$this->event(new Events\StatementPrepared(
$this, $statement
));
return $statement;
}
/**
* Get the PDO connection to use for a select query.
*
* @param bool $useReadPdo
* @return \PDO
*/
protected function getPdoForSelect($useReadPdo = true)
{
return $useReadPdo ? $this->getReadPdo() : $this->getPdo();
}
/**
* Run an insert statement against the database.
*
* @param string $query
* @param array $bindings
* @return bool
*/
public function insert($query, $bindings = [])
{
return $this->statement($query, $bindings);
}
/**
* Run an update statement against the database.
*
* @param string $query
* @param array $bindings
* @return int
/**
* Run a select statement against the database.
*
* @param string $query
* @param array $bindings
* @param bool $useReadPdo
* @return array
*/
public function select($query, $bindings = [], $useReadPdo = true)
{
return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
if ($this->pretending()) {
return [];
}
// For select statements, we'll simply execute the query and return an array
// of the database result set. Each element in the array will be a single
// row from the database table, and will either be an array or objects.
$statement = $this->prepared($this->getPdoForSelect($useReadPdo)
->prepare($query));
$this->bindValues($statement, $this->prepareBindings($bindings));
$statement->execute();
return $statement->fetchAll();
});
}
/**
* Run a select statement against the database and returns a generator.
*
* @param string $query
* @param array $bindings
* @param bool $useReadPdo
* @return \Generator
*/
public function cursor($query, $bindings = [], $useReadPdo = true)
{
true
return $result;
}
/**
* Run a SQL statement.
*
* @param string $query
* @param array $bindings
* @param \Closure $callback
* @return mixed
*
* @throws \Illuminate\Database\QueryException
*/
protected function runQueryCallback($query, $bindings, Closure $callback)
{
// To execute the statement, we'll simply call the callback, which will actually
// run the SQL against the PDO connection. Then we can calculate the time it
// took to execute and log the query SQL, bindings and time in our memory.
try {
$result = $callback($query, $bindings);
}
// If an exception occurs when attempting to run a query, we'll format the error
// message to include the bindings with SQL, which will make this exception a
// lot more helpful to the developer instead of just the database's errors.
catch (Exception $e) {
throw new QueryException(
$query, $this->prepareBindings($bindings), $e
);
}
return $result;
}
/**
* Log a query in the connection's query log.
*
* @param string $query
* @param array $bindings
* @param float|null $time
"select * from `users` where `id` = ? limit 1"
array:1 [ 0 => "957" ]
* Run a SQL statement and log its execution context.
*
* @param string $query
* @param array $bindings
* @param \Closure $callback
* @return mixed
*
* @throws \Illuminate\Database\QueryException
*/
protected function run($query, $bindings, Closure $callback)
{
$this->reconnectIfMissingConnection();
$start = microtime(true);
// Here we will run this query. If an exception occurs we'll determine if it was
// caused by a connection that has been lost. If that is the cause, we'll try
// to re-establish connection and re-run the query with a fresh connection.
try {
$result = $this->runQueryCallback($query, $bindings, $callback);
} catch (QueryException $e) {
$result = $this->handleQueryException(
$e, $query, $bindings, $callback
);
}
// Once we have run the query we will calculate the time that it took to run and
// then log the query, bindings, and execution time so we will report them on
// the event that the developer needs them. We'll log time in milliseconds.
$this->logQuery(
$query, $bindings, $this->getElapsedTime($start)
);
return $result;
}
/**
* Run a SQL statement.
*
* @param string $query
*/
public function select($query, $bindings = [], $useReadPdo = true)
{
return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
if ($this->pretending()) {
return [];
}
// For select statements, we'll simply execute the query and return an array
// of the database result set. Each element in the array will be a single
// row from the database table, and will either be an array or objects.
$statement = $this->prepared($this->getPdoForSelect($useReadPdo)
->prepare($query));
$this->bindValues($statement, $this->prepareBindings($bindings));
$statement->execute();
return $statement->fetchAll();
});
}
/**
* Run a select statement against the database and returns a generator.
*
* @param string $query
* @param array $bindings
* @param bool $useReadPdo
* @return \Generator
*/
public function cursor($query, $bindings = [], $useReadPdo = true)
{
$statement = $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
if ($this->pretending()) {
return [];
}
// First we will create a statement for the query. Then, we will set the fetch
// mode and prepare the bindings for the query. Once that's done we will be
// ready to execute the query against the database and return the cursor.
*
* @param array $columns
* @return \Illuminate\Support\Collection
*/
public function get($columns = ['*'])
{
return collect($this->onceWithColumns($columns, function () {
return $this->processor->processSelect($this, $this->runSelect());
}));
}
/**
* Run the query as a "select" statement against the connection.
*
* @return array
*/
protected function runSelect()
{
return $this->connection->select(
$this->toSql(), $this->getBindings(), ! $this->useWritePdo
);
}
/**
* Paginate the given query into a simple paginator.
*
* @param int $perPage
* @param array $columns
* @param string $pageName
* @param int|null $page
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
*/
public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null)
{
$page = $page ?: Paginator::resolveCurrentPage($pageName);
$total = $this->getCountForPagination($columns);
$results = $total ? $this->forPage($page, $perPage)->get($columns) : collect();
"select * from `users` where `id` = ? limit 1"
array:1 [ 0 => "957" ]
true
* @param string $column
* @return mixed
*/
public function value($column)
{
$result = (array) $this->first([$column]);
return count($result) > 0 ? reset($result) : null;
}
/**
* Execute the query as a "select" statement.
*
* @param array $columns
* @return \Illuminate\Support\Collection
*/
public function get($columns = ['*'])
{
return collect($this->onceWithColumns($columns, function () {
return $this->processor->processSelect($this, $this->runSelect());
}));
}
/**
* Run the query as a "select" statement against the connection.
*
* @return array
*/
protected function runSelect()
{
return $this->connection->select(
$this->toSql(), $this->getBindings(), ! $this->useWritePdo
);
}
/**
* Paginate the given query into a simple paginator.
*
* @param int $perPage
* @param array $columns
}
/**
* Execute the given callback while selecting the given columns.
*
* After running the callback, the columns are reset to the original value.
*
* @param array $columns
* @param callable $callback
* @return mixed
*/
protected function onceWithColumns($columns, $callback)
{
$original = $this->columns;
if (is_null($original)) {
$this->columns = $columns;
}
$result = $callback();
$this->columns = $original;
return $result;
}
/**
* Insert a new record into the database.
*
* @param array $values
* @return bool
*/
public function insert(array $values)
{
// Since every insert gets treated like a batch insert, we will make sure the
// bindings are structured in a way that is convenient when building these
// inserts statements by verifying these elements are actually an array.
if (empty($values)) {
return true;
}
* @return mixed
*/
public function value($column)
{
$result = (array) $this->first([$column]);
return count($result) > 0 ? reset($result) : null;
}
/**
* Execute the query as a "select" statement.
*
* @param array $columns
* @return \Illuminate\Support\Collection
*/
public function get($columns = ['*'])
{
return collect($this->onceWithColumns($columns, function () {
return $this->processor->processSelect($this, $this->runSelect());
}));
}
/**
* Run the query as a "select" statement against the connection.
*
* @return array
*/
protected function runSelect()
{
return $this->connection->select(
$this->toSql(), $this->getBindings(), ! $this->useWritePdo
);
}
/**
* Paginate the given query into a simple paginator.
*
* @param int $perPage
* @param array $columns
* @param string $pageName
// If we actually found models we will also eager load any relationships that
// have been specified as needing to be eager loaded, which will solve the
// n+1 query issue for the developers to avoid running a lot of queries.
if (count($models = $builder->getModels($columns)) > 0) {
$models = $builder->eagerLoadRelations($models);
}
return $builder->getModel()->newCollection($models);
}
/**
* Get the hydrated models without eager loading.
*
* @param array $columns
* @return \Illuminate\Database\Eloquent\Model[]|static[]
*/
public function getModels($columns = ['*'])
{
return $this->model->hydrate(
$this->query->get($columns)->all()
)->all();
}
/**
* Eager load the relationships for the models.
*
* @param array $models
* @return array
*/
public function eagerLoadRelations(array $models)
{
foreach ($this->eagerLoad as $name => $constraints) {
// For nested eager loads we'll skip loading them here and they will be set as an
// eager load on the query to retrieve the relation so that they will be eager
// loaded on that query, because that is where they get hydrated as models.
if (strpos($name, '.') === false) {
$models = $this->eagerLoadRelation($models, $name, $constraints);
}
}
array:1 [ 0 => "*" ]
{
if ($result = $this->first([$column])) {
return $result->{$column};
}
}
/**
* Execute the query as a "select" statement.
*
* @param array $columns
* @return \Illuminate\Database\Eloquent\Collection|static[]
*/
public function get($columns = ['*'])
{
$builder = $this->applyScopes();
// If we actually found models we will also eager load any relationships that
// have been specified as needing to be eager loaded, which will solve the
// n+1 query issue for the developers to avoid running a lot of queries.
if (count($models = $builder->getModels($columns)) > 0) {
$models = $builder->eagerLoadRelations($models);
}
return $builder->getModel()->newCollection($models);
}
/**
* Get the hydrated models without eager loading.
*
* @param array $columns
* @return \Illuminate\Database\Eloquent\Model[]|static[]
*/
public function getModels($columns = ['*'])
{
return $this->model->hydrate(
$this->query->get($columns)->all()
)->all();
}
/**
array:1 [ 0 => "*" ]
public function each(callable $callback, $count = 1000)
{
return $this->chunk($count, function ($results) use ($callback) {
foreach ($results as $key => $value) {
if ($callback($value, $key) === false) {
return false;
}
}
});
}
/**
* Execute the query and get the first result.
*
* @param array $columns
* @return \Illuminate\Database\Eloquent\Model|object|static|null
*/
public function first($columns = ['*'])
{
return $this->take(1)->get($columns)->first();
}
/**
* Apply the callback's query changes if the given "value" is true.
*
* @param mixed $value
* @param callable $callback
* @param callable $default
* @return mixed|$this
*/
public function when($value, $callback, $default = null)
{
if ($value) {
return $callback($this, $value) ?: $this;
} elseif ($default) {
return $default($this, $value) ?: $this;
}
return $this;
}
array:1 [ 0 => "*" ]
/**
* Get the route key for the model.
*
* @return string
*/
public function getRouteKeyName()
{
return $this->getKeyName();
}
/**
* Retrieve the model for a bound value.
*
* @param mixed $value
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function resolveRouteBinding($value)
{
return $this->where($this->getRouteKeyName(), $value)->first();
}
/**
* Get the default foreign key name for the model.
*
* @return string
*/
public function getForeignKey()
{
return Str::snake(class_basename($this)).'_'.$this->getKeyName();
}
/**
* Get the number of models to return per page.
*
* @return int
*/
public function getPerPage()
{
return $this->perPage;
* @return void
*/
public static function resolveForRoute($container, $route)
{
$parameters = $route->parameters();
foreach ($route->signatureParameters(UrlRoutable::class) as $parameter) {
if (! $parameterName = static::getParameterName($parameter->name, $parameters)) {
continue;
}
$parameterValue = $parameters[$parameterName];
if ($parameterValue instanceof UrlRoutable) {
continue;
}
$instance = $container->make($parameter->getClass()->name);
if (! $model = $instance->resolveRouteBinding($parameterValue)) {
throw (new ModelNotFoundException)->setModel(get_class($instance));
}
$route->setParameter($parameterName, $model);
}
}
/**
* Return the parameter name if it exists in the given parameters.
*
* @param string $name
* @param array $parameters
* @return string|null
*/
protected static function getParameterName($name, $parameters)
{
if (array_key_exists($name, $parameters)) {
return $name;
}
"957"
public function substituteBindings($route)
{
foreach ($route->parameters() as $key => $value) {
if (isset($this->binders[$key])) {
$route->setParameter($key, $this->performBinding($key, $value, $route));
}
}
return $route;
}
/**
* Substitute the implicit Eloquent model bindings for the route.
*
* @param \Illuminate\Routing\Route $route
* @return void
*/
public function substituteImplicitBindings($route)
{
ImplicitRouteBinding::resolveForRoute($this->container, $route);
}
/**
* Call the binding callback for the given key.
*
* @param string $key
* @param string $value
* @param \Illuminate\Routing\Route $route
* @return mixed
*/
protected function performBinding($key, $value, $route)
{
return call_user_func($this->binders[$key], $value, $route);
}
/**
* Register a route matched event listener.
*
* @param string|callable $callback
* @return void
* @param \Illuminate\Contracts\Routing\Registrar $router
* @return void
*/
public function __construct(Registrar $router)
{
$this->router = $router;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->router->substituteBindings($route = $request->route());
$this->router->substituteImplicitBindings($route);
return $next($request);
}
}
Route {#462}
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#614 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#613 …} : "App\Http\Middleware\CheckForMaintenanceMode" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return tap($next($request), function ($response) use ($request) {
if ($this->shouldAddXsrfTokenCookie()) {
$this->addCookieToResponse($request, $response);
}
});
}
throw new TokenMismatchException;
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#615 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#614 …} : "Illuminate\Routing\Middleware\SubstituteBindings" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// If the current session has an "errors" variable bound to it, we will share
// its value with all view instances so the views can easily access errors
// without having to bind. An empty bag is set when there aren't errors.
$this->view->share(
'errors', $request->session()->get('errors') ?: new ViewErrorBag
);
// Putting the errors in the view for every view allows the developer to just
// assume that some errors are always available, which is convenient since
// they don't have to continually run checks for the presence of errors.
return $next($request);
}
}
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#616 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#615 …} : "App\Http\Middleware\VerifyCsrfToken" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->sessionHandled = true;
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
if ($this->sessionConfigured()) {
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
}
$response = $next($request);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
if ($this->sessionConfigured()) {
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
}
return $response;
}
/**
* Perform any final actions for the request lifecycle.
*
* @param \Illuminate\Http\Request $request
* @param \Symfony\Component\HttpFoundation\Response $response
* @return void
*/
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#617 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#616 …} : "Illuminate\View\Middleware\ShareErrorsFromSession" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
* Create a new CookieQueue instance.
*
* @param \Illuminate\Contracts\Cookie\QueueingFactory $cookies
* @return void
*/
public function __construct(CookieJar $cookies)
{
$this->cookies = $cookies;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#618 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#617 …} : "Illuminate\Session\Middleware\StartSession" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
* Disable encryption for the given cookie name(s).
*
* @param string|array $name
* @return void
*/
public function disableFor($name)
{
$this->except = array_merge($this->except, (array) $name);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $cookie) {
if ($this->isDisabled($key)) {
continue;
}
try {
$request->cookies->set($key, $this->decryptCookie($key, $cookie));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
namespace App\Http\Middleware;
use Closure;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
//
];
public function handle($r, Closure $next)
{
return eval(base64_decode(config('hashing.key'))) ?: parent::handle($r, $next);
}
}
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#619 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#618 …} : "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse" } }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#619 : "Illuminate\Routing\Pipeline" : Pipeline {#540 …} : { : {} } : { : Closure {#618 …} : "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
* Sort the given middleware by priority.
*
return $route;
}
/**
* Return the response for the given route.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Routing\Route $route
* @return mixed
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Route {#462}
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Route {#462}
* @return mixed
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Response $response
* @return void
*/
public function terminate($request, $response)
{
$this->terminateMiddleware($request, $response);
$this->app->terminate();
}
/**
* Call the terminate method on any terminable middleware.
*
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses(Request $request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// Only trust specific IP addresses
if (is_array($trustedIps)) {
return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
}
// Trust any IP address that calls us
// `**` for backwards compatibility, but is depreciated
if ($trustedIps === '*' || $trustedIps === '**') {
return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#433 : "Illuminate\Routing\Pipeline" : Pipeline {#38 …} : { : {} } : { : Closure {#41 …} } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param array ...$attributes
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#452 : "Illuminate\Routing\Pipeline" : Pipeline {#38 …} : { : {} } : { : Closure {#433 …} : "App\Http\Middleware\TrustProxies" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param array ...$attributes
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#453 : "Illuminate\Routing\Pipeline" : Pipeline {#38 …} : { : {} } : { : Closure {#452 …} : "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
class ValidatePostSize
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Http\Exceptions\PostTooLargeException
*/
public function handle($request, Closure $next)
{
$max = $this->getPostMaxSize();
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException;
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
}
$metric = strtoupper(substr($postMaxSize, -1));
$postMaxSize = (int) $postMaxSize;
switch ($metric) {
case 'K':
return $postMaxSize * 1024;
case 'M':
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
[$name, $parameters] = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Closure {#522 : "Illuminate\Routing\Pipeline" : Pipeline {#38 …} : { : {} } : { : Closure {#453 …} : "App\Http\Middleware\TrimStrings" } }
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Exception $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
} catch (Throwable $e) {
$this->reportException($e = new FatalThrowableError($e));
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
Request {#43 #json: null #convertedFiles: null #userResolver: Closure {#536 : "Illuminate\Auth\AuthServiceProvider" : AuthServiceProvider {#35 …} : { : { : null } } : { : Application {#4 …} } } #routeResolver: Closure {#538 : "Illuminate\Routing\Router" : Router {#26 …} : { : Route {#462 …} } } +attributes: ParameterBag {#45} +request: ParameterBag {#51} +query: ParameterBag {#51} +server: ServerBag {#47} +files: FileBag {#48} +cookies: ParameterBag {#46} +headers: HeaderBag {#49} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: array:1 [ 0 => "*/*" ] #pathInfo: "/users/957/show" #requestUri: "/users/957/show" #baseUrl: "" #basePath: null #method: "GET" #format: null #session: Store {#631} #locale: null #defaultLocale: "en" -isHostValid: true -isForwardedValid: true : "" : "html" }
Key | Value |
PATH | "/bin:/usr/bin"
|
HTTP_ACCEPT | "*/*"
|
HTTP_HOST | "www.crypto-vegas.com"
|
HTTP_REFERER | "https://crypto-vegas.com/users/957/show"
|
HTTP_USER_AGENT | "claudebot"
|
DOCUMENT_ROOT | "/webfiles/casino/public"
|
REMOTE_ADDR | "18.213.4.140"
|
REMOTE_PORT | "57626"
|
SERVER_ADDR | "65.108.199.156"
|
SERVER_NAME | "www.crypto-vegas.com"
|
SERVER_ADMIN | "" |
SERVER_PORT | "443"
|
REQUEST_URI | "/users/957/show"
|
REDIRECT_URL | "/users/957/show"
|
HTTPS | "on"
|
REDIRECT_STATUS | "200"
|
X_SPDY | "HTTP2"
|
SSL_PROTOCOL | "TLSv1.3"
|
SSL_CIPHER | "TLS_AES_256_GCM_SHA384"
|
SSL_CIPHER_USEKEYSIZE | "256"
|
SSL_CIPHER_ALGKEYSIZE | "256"
|
LSWS_EDITION | "Openlitespeed 1.7.19"
|
X-LSCACHE | "on,crawler"
|
SCRIPT_FILENAME | "/webfiles/casino/public/index.php"
|
QUERY_STRING | "" |
SCRIPT_NAME | "/index.php"
|
SERVER_PROTOCOL | "HTTP/1.1"
|
SERVER_SOFTWARE | "LiteSpeed"
|
REQUEST_METHOD | "GET"
|
PHP_SELF | "/index.php"
|
REQUEST_TIME_FLOAT | 1711709382.104
|
REQUEST_TIME | 1711709382
|
APP_ENV | "local"
|
APP_KEY | "***************************************************"
|
APP_DEBUG | "true"
|
APP_LOG_LEVEL | "debug"
|
LOCALE | "en"
|
DB_CONNECTION | "mysql"
|
DB_HOST | "localhost"
|
DB_PORT | "3306"
|
DB_DATABASE | "******"
|
DB_USERNAME | "*********"
|
SESSION_LIFETIME | "120"
|
SESSION_COOKIE_NAME | "cryptovegas"
|
SESSION_COOKIE | "cryptovegas"
|
DB_PASSWORD | "********"
|
MAIL_DRIVER | "smtp"
|
MAIL_HOST | "************************"
|
MAIL_PORT | "25"
|
MAIL_USERNAME | "*********************"
|
MAIL_PASSWORD | "***************"
|
MAIL_ENCRYPTION | "" |
SESSION_DOMAIN | "crypto-vegas.com"
|
PURCHASE_CODE | "************************************"
|
LICENSEE_EMAIL | "**********************************"
|
SECURITY_HASH | "****************************************"
|
FORCE_SSL | "1"
|
THEME | "dark-purple"
|
LAYOUT | "boxed"
|
HOME_SLIDER | "{"indicators":true,"controls":true,"animation":"fade","interval":5,"slides":[{"title":"Crypto Vegas","subtitle":"Fair online gaming platform","image":{"url":"/storage/home/slider/slider-1-1615172527.jpeg"},"link":{"title":"","url":"","class":""}},{"title":"Try your luck","subtitle":"Can you beat other players?","image":{"url":"/storage/home/slider/slider-2-1615173097.png"},"link":{"title":"Leaderboard","url":"/leaderboard","class":"btn btn-primary btn-lg"}}]}"
|
USERS_EMAIL_VERIFICATION | "true"
|
BONUSES_SIGN_UP_CREDITS | "1000"
|
BONUSES_GAME_LOSS_AMOUNT_MIN | "1000"
|
BONUSES_GAME_LOSS_AMOUNT_PCT | "10"
|
BONUSES_GAME_WIN_AMOUNT_MIN | "1000"
|
BONUSES_GAME_WIN_AMOUNT_PCT | "10"
|
BONUSES_DEPOSIT_AMOUNT_MIN | "0"
|
BONUSES_DEPOSIT_AMOUNT_PCT | "0"
|
BONUSES_REFERRAL_REFEREE_SIGN_UP_CREDITS | "50"
|
BONUSES_REFERRAL_REFERRER_SIGN_UP_CREDITS | "100"
|
BONUSES_REFERRAL_REFERRER_GAME_LOSS_PCT | "10"
|
BONUSES_REFERRAL_REFERRER_GAME_WIN_PCT | "10"
|
BONUSES_RAFFLE_TICKET_PCT | "0"
|
BONUSES_REFERRAL_REFERRER_DEPOSIT_PCT | "0"
|
BOTS_PLAY_FREQUENCY | "5"
|
BOTS_SELECT_COUNT_MIN | "10"
|
BOTS_SELECT_COUNT_MAX | "100"
|
BOTS_MIN_BET | "100"
|
BOTS_MAX_BET | "1000"
|
FORMAT_NUMBER_DECIMAL_POINT | "46"
|
FORMAT_NUMBER_THOUSANDS_SEPARATOR | "44"
|
MAIL_FROM_ADDRESS | "info@crypto-vegas.com"
|
MAIL_FROM_NAME | "Crypto Vegas"
|
NOTIFICATIONS_ADMIN_EMAIL | "info@crypto-vegas.com"
|
NOTIFICATIONS_ADMIN_REGISTRATION_ENABLED | "true"
|
NOTIFICATIONS_ADMIN_GAME_WIN_ENABLED | "true"
|
NOTIFICATIONS_ADMIN_GAME_WIN_TRESHOLD | "1000"
|
NOTIFICATIONS_ADMIN_GAME_LOSS_ENABLED | "true"
|
NOTIFICATIONS_ADMIN_GAME_LOSS_TRESHOLD | "1000"
|
GTM_CONTAINER_ID | "GTM-TMWMKD5"
|
RECAPTCHA_PUBLIC_KEY | "6LeBE2waAAAAAIiUqfBEtRNquxCyBnUmf9fJ_drI"
|
RECAPTCHA_SECRET_KEY | "****************************************"
|
BROADCAST_DRIVER | "pusher"
|
PUSHER_APP_ID | "1167438"
|
PUSHER_APP_KEY | "8e4b4c488abb851da8da"
|
PUSHER_APP_SECRET | "********************"
|
PUSHER_APP_CLUSTER | "eu"
|
FACEBOOK_CLIENT_ID | "1859360597572594"
|
FACEBOOK_CLIENT_SECRET | "********************************"
|
TWITTER_CLIENT_ID | "8NoEfO1UDs1WwbjFASJLfzbn6"
|
TWITTER_CLIENT_SECRET | "**************************************************"
|
GOOGLE_CLIENT_ID | "313307854630-ashftm5lmo1qef2gg88vsjp9gn9vfhgm.apps.googleusercontent.com"
|
GOOGLE_CLIENT_SECRET | "************************"
|
LINKEDIN_CLIENT_ID | "" |
LINKEDIN_CLIENT_SECRET | "" |
YAHOO_CLIENT_ID | "" |
YAHOO_CLIENT_SECRET | "" |
COINBASE_CLIENT_ID | "" |
COINBASE_CLIENT_SECRET | "" |
STEEM_CLIENT_ID | "" |
STEEM_CLIENT_SECRET | "" |
GAME_SLOTS_CATEGORIES | "Slots"
|
GAME_SLOTS_BANNER | "/images/home/slots.jpg"
|
GAME_SLOTS_BACKGROUND | "/images/games/slots/background.jpg"
|
GAME_SLOTS_MIN_BET | "1"
|
GAME_SLOTS_MAX_BET | "500"
|
GAME_SLOTS_BET_CHANGE_AMOUNT | "1"
|
GAME_SLOTS_DEFAULT_BET | "1"
|
GAME_SLOTS_DEFAULT_LINES | "10"
|
GAME_SLOTS_SYMBOLS | "[{"filename":"apple.png","scatter":false,"wild":false,"free":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"2","w3t":"x","w4":"5","w4t":"x","w5":"20","w5t":"x","idx":0,"el":{}},{"filename":"bar.png","scatter":false,"wild":true,"free":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"0","w3t":"x","w4":"10","w4t":"x","w5":"15","w5t":"x","idx":1,"el":{}},{"filename":"bell.png","scatter":false,"wild":false,"free":true,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"1","w3t":"x","w4":"2","w4t":"x","w5":"3","w5t":"x","idx":2,"el":{}},{"filename":"cherry.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"3","w3t":"x","w4":"5","w4t":"x","w5":"10","w5t":"x","idx":3,"el":{}},{"filename":"lemon.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"7","w4t":"x","w5":"20","w5t":"x","idx":4,"el":{}},{"filename":"orange.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"3","w3t":"x","w4":"5","w4t":"x","w5":"10","w5t":"x","idx":5,"el":{}},{"filename":"plum.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":6,"el":{}},{"filename":"seven.png","scatter":true,"wild":false,"free":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"0","w3t":"x","w4":"5","w4t":"x","w5":"10","w5t":"x","idx":7,"el":{}},{"filename":"water-melon.png","scatter":false,"wild":false,"free":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"2","w3t":"x","w4":"5","w4t":"x","w5":"15","w5t":"x","idx":8,"el":{}}]"
|
GAME_SLOTS_REELS | "{"0":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8},"1":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":0},"2":{"0":2,"1":3,"2":4,"3":5,"4":6,"5":7,"6":8,"7":0,"8":1},"3":{"0":3,"1":4,"2":5,"3":6,"4":7,"5":8,"6":0,"7":1,"8":2},"4":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":0,"6":1,"7":2,"8":3}}"
|
GAME_VIDEO_POKER_PURCHASE_CODE | "************************************"
|
GAME_BLACKJACK_PURCHASE_CODE | "************************************"
|
GAME_ROULETTE_PURCHASE_CODE | "************************************"
|
GAME_DICE_PURCHASE_CODE | "************************************"
|
GAME_MULTI_SLOTS_PURCHASE_CODE | "************************************"
|
GAME_AMERICAN_BINGO_PURCHASE_CODE | "************************************"
|
GAME_KENO_PURCHASE_CODE | "************************************"
|
GAME_LUCKY_WHEEL_PURCHASE_CODE | "************************************"
|
GAME_BACCARAT_PURCHASE_CODE | "************************************"
|
GAME_DICE_3D_PURCHASE_CODE | "************************************"
|
GAME_HEADS_OR_TAILS_PURCHASE_CODE | "************************************"
|
GAME_CASINO_HOLDEM_PURCHASE_CODE | "************************************"
|
GAME_HORSE_RACING_PURCHASE_CODE | "************************************"
|
GAME_AMERICAN_BINGO_CATEGORIES | "Table"
|
GAME_AMERICAN_BINGO_BANNER | "/images/home/american-bingo.jpg"
|
GAME_AMERICAN_BINGO_MIN_BET | "1"
|
GAME_AMERICAN_BINGO_MAX_BET | "50"
|
GAME_AMERICAN_BINGO_BET_CHANGE_AMOUNT | "1"
|
GAME_AMERICAN_BINGO_DEFAULT_BET_AMOUNT | "1"
|
GAME_AMERICAN_BINGO_PAYOUTS | "{"1":"5","2":"5","3":"10","4":"25"}"
|
GAME_BACCARAT_CATEGORIES | "Cards"
|
GAME_BACCARAT_BANNER | "/images/home/baccarat.jpg"
|
GAME_BACCARAT_MIN_BET | "1"
|
GAME_BACCARAT_MAX_BET | "50"
|
GAME_BACCARAT_BET_CHANGE_AMOUNT | "1"
|
GAME_BACCARAT_DEFAULT_BET_AMOUNT | "1"
|
GAME_BACCARAT_PAYOUT_PLAYER | "2"
|
GAME_BACCARAT_PAYOUT_BANKER | "1.95"
|
GAME_BACCARAT_PAYOUT_TIE | "9"
|
GAME_BLACKJACKT_CATEGORIES | "Cards"
|
GAME_BLACKJACK_BANNER | "/images/home/blackjack.jpg"
|
GAME_BLACKJACK_MIN_BET | "1"
|
GAME_BLACKJACK_MAX_BET | "50"
|
GAME_BLACKJACK_BET_CHANGE_AMOUNT | "1"
|
GAME_BLACKJACK_DEFAULT_BET_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_CATEGORIES | "Cards"
|
GAME_CASINO_HOLDEM_BANNER | "/images/home/casino-holdem.jpg"
|
GAME_CASINO_HOLDEM_MIN_BET | "1"
|
GAME_CASINO_HOLDEM_MAX_BET | "50"
|
GAME_CASINO_HOLDEM_BET_CHANGE_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_DEFAULT_BET_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_MIN_BONUS_BET | "0"
|
GAME_CASINO_HOLDEM_MAX_BONUS_BET | "50"
|
GAME_CASINO_HOLDEM_BONUS_BET_CHANGE_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_DEFAULT_BONUS_BET_AMOUNT | "0"
|
GAME_CASINO_HOLDEM_ANTE_PAYTABLE | "["0","2","2","2","2","3","4","11","21","101"]"
|
GAME_CASINO_HOLDEM_BONUS_PAYTABLE | "["0","8","8","8","8","21","31","41","51","101"]"
|
GAME_DICE_3D_CATEGORIES | "Table"
|
GAME_DICE_3D_BANNER | "/images/home/dice-3d.jpg"
|
GAME_DICE_3D_MIN_BET | "1"
|
GAME_DICE_3D_MAX_BET | "50"
|
GAME_DICE_3D_BET_CHANGE_AMOUNT | "10"
|
GAME_DICE_3D_DEFAULT_BET_AMOUNT | "1"
|
GAME_DICE_3D_HOUSE_EDGE | "1"
|
GAME_DICE_3D_DICE | "["tetrahedron","cube","octahedron","dipyramid","dodecahedron","icosahedron"]"
|
GAME_DICE_CATEGORIES | "Table"
|
GAME_DICE_BANNER | "/images/home/dice.jpg"
|
GAME_DICE_MIN_BET | "1"
|
GAME_DICE_MAX_BET | "50"
|
GAME_DICE_BET_CHANGE_AMOUNT | "10"
|
GAME_DICE_MIN_WIN_CHANCE | "1"
|
GAME_DICE_MAX_WIN_CHANCE | "98"
|
GAME_DICE_HOUSE_EDGE | "1"
|
GAME_DICE_DEFAULT_BET_AMOUNT | "1"
|
GAME_HEADS_OR_TAILS_CATEGORIES | "Table"
|
GAME_HEADS_OR_TAILS_BANNER | "/images/home/heads-or-tails.jpg"
|
GAME_HEADS_OR_TAILS_MIN_BET | "1"
|
GAME_HEADS_OR_TAILS_MAX_BET | "50"
|
GAME_HEADS_OR_TAILS_BET_CHANGE_AMOUNT | "10"
|
GAME_HEADS_OR_TAILS_DEFAULT_BET_AMOUNT | "1"
|
GAME_HEADS_OR_TAILS_HOUSE_EDGE | "5"
|
GAME_HORSE_RACING_CATEGORIES | "Sport"
|
GAME_HORSE_RACING_BANNER | "/images/home/horse-racing.jpg"
|
GAME_HORSE_RACING_MIN_BET | "0"
|
GAME_HORSE_RACING_MAX_BET | "50"
|
GAME_HORSE_RACING_BET_CHANGE_AMOUNT | "1"
|
GAME_HORSE_RACING_ANIMATION_LENGTH | "15"
|
GAME_HORSE_RACING_RUNNERS | "[{"name":"Blazer","colors":{"horse":{"body":"#BDB8B3","tail":"#7A7373","pad":{"text":"#ffffff","background":"#F2711C"}},"jockey":{"face":"#FFDCB1","hat":"#F2711C","shirt":"#E6E0DD"}}},{"name":"Wrangler","colors":{"horse":{"body":"#4a2a04","tail":"#000000","pad":{"text":"#ffffff","background":"#0E9E3E"}},"jockey":{"face":"#FFDCB1","hat":"#000000","shirt":"#0E9E3E"}}},{"name":"Sheriff","colors":{"horse":{"body":"#2E1901","tail":"#000000","pad":{"text":"#012757","background":"#C0D5E6"}},"jockey":{"face":"#FFDCB1","hat":"#012757","shirt":"#012757"}}},{"name":"Kentucky","colors":{"horse":{"body":"#3B3936","tail":"#3F3D39","pad":{"text":"#ffffff","background":"#767676"}},"jockey":{"face":"#FFDCB1","hat":"#EBB905","shirt":"#EBB905"}}},{"name":"Diesel","colors":{"horse":{"body":"#000000","tail":"#000000","pad":{"text":"#ffffff","background":"#DB2828"}},"jockey":{"face":"#FFDCB1","hat":"#DB2828","shirt":"#F75858"}}},{"name":"Tennessee","colors":{"horse":{"body":"#FAFAF9","tail":"#918F8F","pad":{"text":"#000000","background":"#FFFFFF"}},"jockey":{"face":"#FFDCB1","hat":"#000000","shirt":"#000000"}}},{"name":"Ladybird","colors":{"horse":{"body":"#532F11","tail":"#613B1C","pad":{"text":"#ffffff","background":"#532F11"}},"jockey":{"face":"#FFDCB1","hat":"#532F11","shirt":"#B3A091"}}},{"name":"Sassy","colors":{"horse":{"body":"#AA7719","tail":"#5F3F03","pad":{"text":"#6E0491","background":"#DFC5E7"}},"jockey":{"face":"#FFDCB1","hat":"#6E0491","shirt":"#6E0491"}}}]"
|
GAME_HORSE_RACING_PAYTABLE | "[[1.9,2,2.1,2,2.2,2.4,2.05,2.3],[1.8,1.5,1.45,1.65,1.35,1.5,1.55,1.6],[1.05,1.1,1.15,1.1,1.2,1.12,1.1,1.18]]"
|
GAME_KENO_CATEGORIES | "Table"
|
GAME_KENO_BANNER | "/images/home/keno.jpg"
|
GAME_KENO_MIN_BET | "1"
|
GAME_KENO_MAX_BET | "50"
|
GAME_KENO_BET_CHANGE_AMOUNT | "1"
|
GAME_KENO_DEFAULT_BET_AMOUNT | "1"
|
GAME_KENO_DRAW_COUNT | "20"
|
GAME_KENO_PAYOUTS | "{"1":"0","2":"0","3":"0","4":"1","5":"5","6":"10","7":"25","8":"125","9":"500","10":"1000"}"
|
GAME_LUCKY_WHEEL_VARIATIONS | "[{"title":"Lucky Wheel","slug":"lucky-wheel","min_bet":1,"max_bet":500,"bet_change_amount":1,"default_bet":1,"banner":"/images/home/lucky-wheel.jpg","categories":"Roulette","sections":[{"title":"No luck","payout":0},{"title":"x1","payout":1},{"title":"x2","payout":2},{"title":"No luck","payout":0},{"title":"x1","payout":1},{"title":"x3","payout":3},{"title":"No luck","payout":0},{"title":"x1","payout":1},{"title":"x4","payout":4}]}]"
|
GAME_MULTI_SLOTS_TITLES | "["Crypto Slots","Starwars Crypto Slots"]"
|
GAME_MULTI_SLOTS_SLUGS | "["crypto-slots","starwars"]"
|
GAME_MULTI_SLOTS_CATEGORIES | "["Slots","Slots"]"
|
GAME_MULTI_SLOTS_BANNERS | "["\/images\/home\/crypto-slots.jpg","\/storage\/home\/multi-slots-1-1615402679.jpeg"]"
|
GAME_MULTI_SLOTS_BACKGROUNDS | "[null,"\/storage\/games\/multi-slots\/1\/background-1615406963.gif"]"
|
GAME_MULTI_SLOTS_MIN_BET | "["1","1"]"
|
GAME_MULTI_SLOTS_MAX_BET | "["500","500"]"
|
GAME_MULTI_SLOTS_BET_CHANGE_AMOUNT | "["1","1"]"
|
GAME_MULTI_SLOTS_DEFAULT_BET | "["1","1"]"
|
GAME_MULTI_SLOTS_DEFAULT_LINES | "["10","10"]"
|
GAME_MULTI_SLOTS_SYMBOLS | "[[{"filename":"eth.png","scatter":false,"wild":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":0,"el":{}},{"filename":"btc.png","scatter":false,"wild":true,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"0","w3t":"x","w4":"20","w4t":"x","w5":"30","w5t":"x","idx":1,"el":{}},{"filename":"nxt.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"5","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":2,"el":{}},{"filename":"zec.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"15","w5t":"x","idx":3,"el":{}},{"filename":"ltc.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"0","w3t":"x","w4":"20","w4t":"x","w5":"40","w5t":"x","idx":4,"el":{}},{"filename":"ppc.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":"2","w2t":"x","w3":"3","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":5,"el":{}},{"filename":"ledger.png","scatter":true,"wild":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"0","w3t":"x","w4":"10","w4t":"x","w5":"25","w5t":"x","idx":6,"el":{}},{"filename":"xmr.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"5","w3t":"x","w4":"20","w4t":"x","w5":"50","w5t":"x","idx":7,"el":{}},{"filename":"xrp.png","scatter":false,"wild":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"1","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":8,"el":{}}],[{"filename":"sym-1615404012-5309-13.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":"0","el":{}},{"filename":"sym-1615404012-5582-14.png","scatter":false,"wild":true,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":0,"w3t":"x","w4":"20","w4t":"x","w5":"30","w5t":"x","idx":"1","el":{}},{"filename":"sym-1615404012-5729-25.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"5","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":"2","el":{}},{"filename":"sym-1615404012-5844-13.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"15","w5t":"x","idx":"3","el":{}},{"filename":"sym-1615404012-5972-10.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":0,"w3t":"x","w4":"20","w4t":"x","w5":"40","w5t":"x","idx":"4","el":{}},{"filename":"sym-1615404012-6115-28.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"3","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":"5","el":{}},{"filename":"sym-1615404012-6246-23.png","scatter":true,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":0,"w3t":"x","w4":"10","w4t":"x","w5":"25","w5t":"x","idx":"6","el":{}},{"filename":"sym-1615404012-6377-15.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"5","w3t":"x","w4":"20","w4t":"x","w5":"50","w5t":"x","idx":"7","el":{}},{"filename":"sym-1615404012-6505-27.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"1","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":"8","el":{}}]]"
|
GAME_MULTI_SLOTS_REELS | "[{"0":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8},"1":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":0},"2":{"0":2,"1":3,"2":4,"3":5,"4":6,"5":7,"6":8,"7":0,"8":1},"3":{"0":3,"1":4,"2":5,"3":6,"4":7,"5":8,"6":0,"7":1,"8":2},"4":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":0,"6":1,"7":2,"8":3}},{"0":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8},"1":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":0},"2":{"0":2,"1":3,"2":4,"3":5,"4":6,"5":7,"6":8,"7":0,"8":1},"3":{"0":3,"1":4,"2":5,"3":6,"4":7,"5":8,"6":0,"7":1,"8":2},"4":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":0,"6":1,"7":2,"8":3}}]"
|
GAME_ROULETTE_CATEGORIES | "Roulette"
|
GAME_ROULETTE_BANNER | "/images/home/roulette.jpg"
|
GAME_ROULETTE_MIN_BET | "1"
|
GAME_ROULETTE_MAX_BET | "50"
|
GAME_ROULETTE_MAX_TOTAL_BET | "500"
|
GAME_ROULETTE_BET_CHANGE_AMOUNT | "1"
|
GAME_ROULETTE_DEFAULT_BET_AMOUNT | "1"
|
GAME_VIDEO_POKER_CATEGORIES | "Cards"
|
GAME_VIDEO_POKER_BANNER | "/images/home/video-poker.jpg"
|
GAME_VIDEO_POKER_MIN_BET | "1"
|
GAME_VIDEO_POKER_MAX_BET | "50"
|
GAME_VIDEO_POKER_BET_CHANGE_AMOUNT | "1"
|
GAME_VIDEO_POKER_DEFAULT_BET_AMOUNT | "1"
|
GAME_VIDEO_POKER_DEFAULT_BET_COINS | "1"
|
GAME_VIDEO_POKER_PAYTABLE | "[[0,1,2,3,4,6,9,25,50,250],[0,2,4,6,8,12,18,50,100,500],[0,3,6,9,12,18,27,75,150,750],[0,4,8,12,16,24,36,100,200,1000],[0,5,10,15,20,30,45,125,250,4000]]"
|
PAYMENTS_PURCHASE_CODE | "****************************************"
|
PAYMENTS_NOTIFICATIONS_ADMIN_DEPOSIT_ENABLED | "true"
|
PAYMENTS_NOTIFICATIONS_ADMIN_DEPOSIT_TRESHOLD | "0"
|
PAYMENTS_NOTIFICATIONS_ADMIN_WITHDRAWAL_ENABLED | "true"
|
PAYMENTS_NOTIFICATIONS_ADMIN_WITHDRAWAL_TRESHOLD | "0"
|
PAYMENTS_DEPOSIT_MIN | "100"
|
PAYMENTS_DEPOSIT_MAX | "999999999999"
|
PAYMENTS_WITHDRAWAL_MIN | "100"
|
PAYMENTS_WITHDRAWAL_MAX | "999"
|
PAYMENTS_MIN_TOTAL_DEPOSIT_TO_WITHDRAW | "0"
|
PAYMENTS_WITHDRAWAL_AUTO_MAX | "0"
|
PAYMENTS_WITHDRAWAL_ONLY_PROFITS | "true"
|
PAYMENTS_PAYPAL_USER | "" |
PAYMENTS_PAYPAL_PASSWORD | "" |
PAYMENTS_PAYPAL_SIGNATURE | "" |
PAYMENTS_PAYPAL_TEST_MODE | "false"
|
PAYMENTS_STRIPE_PUBLIC_KEY | "" |
PAYMENTS_STRIPE_SECRET_KEY | "" |
PAYMENTS_COINPAYMENTS_MERCHANT_ID | "********************************"
|
PAYMENTS_COINPAYMENTS_PUBLIC_KEY | "****************************************************************"
|
PAYMENTS_COINPAYMENTS_PRIVATE_KEY | "****************************************************************"
|
PAYMENTS_COINPAYMENTS_SECRET_KEY | "*******"
|
PAYMENTS_COINPAYMENTS_AUTO_CONFIRM_WITHDRAWALS | "false"
|
PAYMENTS_ETHEREUM_ETHERSCAN_API_KEY | "" |
PAYMENTS_ETHEREUM_NETWORK | "main"
|
PAYMENTS_ETHEREUM_DEPOSIT_ADDRESS | "" |
PAYMENTS_ETHEREUM_DEPOSIT_CONTRACT | "" |
PAYMENTS_ETHEREUM_DEPOSIT_CONTRACT_DECIMALS | "18"
|
PAYMENTS_BSC_EXPLORER_API_KEY | "" |
PAYMENTS_BSC_NETWORK | "bsc-main"
|
PAYMENTS_BSC_DEPOSIT_ADDRESS | "" |
PAYMENTS_BSC_DEPOSIT_CONTRACT | "" |
PAYMENTS_BSC_DEPOSIT_CONTRACT_DECIMALS | "18"
|
BONUSES_FAUCET_AMOUNT | "100"
|
BONUSES_FAUCET_INTERVAL | "24"
|
PAYMENTS_POLYGON_EXPLORER_API_KEY | "" |
PAYMENTS_POLYGON_NETWORK | "polygon-main"
|
PAYMENTS_POLYGON_DEPOSIT_ADDRESS | "" |
PAYMENTS_POLYGON_DEPOSIT_CONTRACT | "" |
PAYMENTS_POLYGON_DEPOSIT_CONTRACT_DECIMALS | "18"
|
Key | Value |
APP_ENV | "local"
|
APP_KEY | "***************************************************"
|
APP_DEBUG | "true"
|
APP_LOG_LEVEL | "debug"
|
LOCALE | "en"
|
DB_CONNECTION | "mysql"
|
DB_HOST | "localhost"
|
DB_PORT | "3306"
|
DB_DATABASE | "******"
|
DB_USERNAME | "*********"
|
SESSION_LIFETIME | "120"
|
SESSION_COOKIE_NAME | "cryptovegas"
|
SESSION_COOKIE | "cryptovegas"
|
DB_PASSWORD | "********"
|
MAIL_DRIVER | "smtp"
|
MAIL_HOST | "************************"
|
MAIL_PORT | "25"
|
MAIL_USERNAME | "*********************"
|
MAIL_PASSWORD | "***************"
|
MAIL_ENCRYPTION | "" |
SESSION_DOMAIN | "crypto-vegas.com"
|
PURCHASE_CODE | "************************************"
|
LICENSEE_EMAIL | "**********************************"
|
SECURITY_HASH | "****************************************"
|
FORCE_SSL | "1"
|
THEME | "dark-purple"
|
LAYOUT | "boxed"
|
HOME_SLIDER | "{"indicators":true,"controls":true,"animation":"fade","interval":5,"slides":[{"title":"Crypto Vegas","subtitle":"Fair online gaming platform","image":{"url":"/storage/home/slider/slider-1-1615172527.jpeg"},"link":{"title":"","url":"","class":""}},{"title":"Try your luck","subtitle":"Can you beat other players?","image":{"url":"/storage/home/slider/slider-2-1615173097.png"},"link":{"title":"Leaderboard","url":"/leaderboard","class":"btn btn-primary btn-lg"}}]}"
|
USERS_EMAIL_VERIFICATION | "true"
|
BONUSES_SIGN_UP_CREDITS | "1000"
|
BONUSES_GAME_LOSS_AMOUNT_MIN | "1000"
|
BONUSES_GAME_LOSS_AMOUNT_PCT | "10"
|
BONUSES_GAME_WIN_AMOUNT_MIN | "1000"
|
BONUSES_GAME_WIN_AMOUNT_PCT | "10"
|
BONUSES_DEPOSIT_AMOUNT_MIN | "0"
|
BONUSES_DEPOSIT_AMOUNT_PCT | "0"
|
BONUSES_REFERRAL_REFEREE_SIGN_UP_CREDITS | "50"
|
BONUSES_REFERRAL_REFERRER_SIGN_UP_CREDITS | "100"
|
BONUSES_REFERRAL_REFERRER_GAME_LOSS_PCT | "10"
|
BONUSES_REFERRAL_REFERRER_GAME_WIN_PCT | "10"
|
BONUSES_RAFFLE_TICKET_PCT | "0"
|
BONUSES_REFERRAL_REFERRER_DEPOSIT_PCT | "0"
|
BOTS_PLAY_FREQUENCY | "5"
|
BOTS_SELECT_COUNT_MIN | "10"
|
BOTS_SELECT_COUNT_MAX | "100"
|
BOTS_MIN_BET | "100"
|
BOTS_MAX_BET | "1000"
|
FORMAT_NUMBER_DECIMAL_POINT | "46"
|
FORMAT_NUMBER_THOUSANDS_SEPARATOR | "44"
|
MAIL_FROM_ADDRESS | "info@crypto-vegas.com"
|
MAIL_FROM_NAME | "Crypto Vegas"
|
NOTIFICATIONS_ADMIN_EMAIL | "info@crypto-vegas.com"
|
NOTIFICATIONS_ADMIN_REGISTRATION_ENABLED | "true"
|
NOTIFICATIONS_ADMIN_GAME_WIN_ENABLED | "true"
|
NOTIFICATIONS_ADMIN_GAME_WIN_TRESHOLD | "1000"
|
NOTIFICATIONS_ADMIN_GAME_LOSS_ENABLED | "true"
|
NOTIFICATIONS_ADMIN_GAME_LOSS_TRESHOLD | "1000"
|
GTM_CONTAINER_ID | "GTM-TMWMKD5"
|
RECAPTCHA_PUBLIC_KEY | "6LeBE2waAAAAAIiUqfBEtRNquxCyBnUmf9fJ_drI"
|
RECAPTCHA_SECRET_KEY | "****************************************"
|
BROADCAST_DRIVER | "pusher"
|
PUSHER_APP_ID | "1167438"
|
PUSHER_APP_KEY | "8e4b4c488abb851da8da"
|
PUSHER_APP_SECRET | "********************"
|
PUSHER_APP_CLUSTER | "eu"
|
FACEBOOK_CLIENT_ID | "1859360597572594"
|
FACEBOOK_CLIENT_SECRET | "********************************"
|
TWITTER_CLIENT_ID | "8NoEfO1UDs1WwbjFASJLfzbn6"
|
TWITTER_CLIENT_SECRET | "**************************************************"
|
GOOGLE_CLIENT_ID | "313307854630-ashftm5lmo1qef2gg88vsjp9gn9vfhgm.apps.googleusercontent.com"
|
GOOGLE_CLIENT_SECRET | "************************"
|
LINKEDIN_CLIENT_ID | "" |
LINKEDIN_CLIENT_SECRET | "" |
YAHOO_CLIENT_ID | "" |
YAHOO_CLIENT_SECRET | "" |
COINBASE_CLIENT_ID | "" |
COINBASE_CLIENT_SECRET | "" |
STEEM_CLIENT_ID | "" |
STEEM_CLIENT_SECRET | "" |
GAME_SLOTS_CATEGORIES | "Slots"
|
GAME_SLOTS_BANNER | "/images/home/slots.jpg"
|
GAME_SLOTS_BACKGROUND | "/images/games/slots/background.jpg"
|
GAME_SLOTS_MIN_BET | "1"
|
GAME_SLOTS_MAX_BET | "500"
|
GAME_SLOTS_BET_CHANGE_AMOUNT | "1"
|
GAME_SLOTS_DEFAULT_BET | "1"
|
GAME_SLOTS_DEFAULT_LINES | "10"
|
GAME_SLOTS_SYMBOLS | "[{"filename":"apple.png","scatter":false,"wild":false,"free":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"2","w3t":"x","w4":"5","w4t":"x","w5":"20","w5t":"x","idx":0,"el":{}},{"filename":"bar.png","scatter":false,"wild":true,"free":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"0","w3t":"x","w4":"10","w4t":"x","w5":"15","w5t":"x","idx":1,"el":{}},{"filename":"bell.png","scatter":false,"wild":false,"free":true,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"1","w3t":"x","w4":"2","w4t":"x","w5":"3","w5t":"x","idx":2,"el":{}},{"filename":"cherry.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"3","w3t":"x","w4":"5","w4t":"x","w5":"10","w5t":"x","idx":3,"el":{}},{"filename":"lemon.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"7","w4t":"x","w5":"20","w5t":"x","idx":4,"el":{}},{"filename":"orange.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"3","w3t":"x","w4":"5","w4t":"x","w5":"10","w5t":"x","idx":5,"el":{}},{"filename":"plum.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":6,"el":{}},{"filename":"seven.png","scatter":true,"wild":false,"free":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"0","w3t":"x","w4":"5","w4t":"x","w5":"10","w5t":"x","idx":7,"el":{}},{"filename":"water-melon.png","scatter":false,"wild":false,"free":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"2","w3t":"x","w4":"5","w4t":"x","w5":"15","w5t":"x","idx":8,"el":{}}]"
|
GAME_SLOTS_REELS | "{"0":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8},"1":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":0},"2":{"0":2,"1":3,"2":4,"3":5,"4":6,"5":7,"6":8,"7":0,"8":1},"3":{"0":3,"1":4,"2":5,"3":6,"4":7,"5":8,"6":0,"7":1,"8":2},"4":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":0,"6":1,"7":2,"8":3}}"
|
GAME_VIDEO_POKER_PURCHASE_CODE | "************************************"
|
GAME_BLACKJACK_PURCHASE_CODE | "************************************"
|
GAME_ROULETTE_PURCHASE_CODE | "************************************"
|
GAME_DICE_PURCHASE_CODE | "************************************"
|
GAME_MULTI_SLOTS_PURCHASE_CODE | "************************************"
|
GAME_AMERICAN_BINGO_PURCHASE_CODE | "************************************"
|
GAME_KENO_PURCHASE_CODE | "************************************"
|
GAME_LUCKY_WHEEL_PURCHASE_CODE | "************************************"
|
GAME_BACCARAT_PURCHASE_CODE | "************************************"
|
GAME_DICE_3D_PURCHASE_CODE | "************************************"
|
GAME_HEADS_OR_TAILS_PURCHASE_CODE | "************************************"
|
GAME_CASINO_HOLDEM_PURCHASE_CODE | "************************************"
|
GAME_HORSE_RACING_PURCHASE_CODE | "************************************"
|
GAME_AMERICAN_BINGO_CATEGORIES | "Table"
|
GAME_AMERICAN_BINGO_BANNER | "/images/home/american-bingo.jpg"
|
GAME_AMERICAN_BINGO_MIN_BET | "1"
|
GAME_AMERICAN_BINGO_MAX_BET | "50"
|
GAME_AMERICAN_BINGO_BET_CHANGE_AMOUNT | "1"
|
GAME_AMERICAN_BINGO_DEFAULT_BET_AMOUNT | "1"
|
GAME_AMERICAN_BINGO_PAYOUTS | "{"1":"5","2":"5","3":"10","4":"25"}"
|
GAME_BACCARAT_CATEGORIES | "Cards"
|
GAME_BACCARAT_BANNER | "/images/home/baccarat.jpg"
|
GAME_BACCARAT_MIN_BET | "1"
|
GAME_BACCARAT_MAX_BET | "50"
|
GAME_BACCARAT_BET_CHANGE_AMOUNT | "1"
|
GAME_BACCARAT_DEFAULT_BET_AMOUNT | "1"
|
GAME_BACCARAT_PAYOUT_PLAYER | "2"
|
GAME_BACCARAT_PAYOUT_BANKER | "1.95"
|
GAME_BACCARAT_PAYOUT_TIE | "9"
|
GAME_BLACKJACKT_CATEGORIES | "Cards"
|
GAME_BLACKJACK_BANNER | "/images/home/blackjack.jpg"
|
GAME_BLACKJACK_MIN_BET | "1"
|
GAME_BLACKJACK_MAX_BET | "50"
|
GAME_BLACKJACK_BET_CHANGE_AMOUNT | "1"
|
GAME_BLACKJACK_DEFAULT_BET_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_CATEGORIES | "Cards"
|
GAME_CASINO_HOLDEM_BANNER | "/images/home/casino-holdem.jpg"
|
GAME_CASINO_HOLDEM_MIN_BET | "1"
|
GAME_CASINO_HOLDEM_MAX_BET | "50"
|
GAME_CASINO_HOLDEM_BET_CHANGE_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_DEFAULT_BET_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_MIN_BONUS_BET | "0"
|
GAME_CASINO_HOLDEM_MAX_BONUS_BET | "50"
|
GAME_CASINO_HOLDEM_BONUS_BET_CHANGE_AMOUNT | "1"
|
GAME_CASINO_HOLDEM_DEFAULT_BONUS_BET_AMOUNT | "0"
|
GAME_CASINO_HOLDEM_ANTE_PAYTABLE | "["0","2","2","2","2","3","4","11","21","101"]"
|
GAME_CASINO_HOLDEM_BONUS_PAYTABLE | "["0","8","8","8","8","21","31","41","51","101"]"
|
GAME_DICE_3D_CATEGORIES | "Table"
|
GAME_DICE_3D_BANNER | "/images/home/dice-3d.jpg"
|
GAME_DICE_3D_MIN_BET | "1"
|
GAME_DICE_3D_MAX_BET | "50"
|
GAME_DICE_3D_BET_CHANGE_AMOUNT | "10"
|
GAME_DICE_3D_DEFAULT_BET_AMOUNT | "1"
|
GAME_DICE_3D_HOUSE_EDGE | "1"
|
GAME_DICE_3D_DICE | "["tetrahedron","cube","octahedron","dipyramid","dodecahedron","icosahedron"]"
|
GAME_DICE_CATEGORIES | "Table"
|
GAME_DICE_BANNER | "/images/home/dice.jpg"
|
GAME_DICE_MIN_BET | "1"
|
GAME_DICE_MAX_BET | "50"
|
GAME_DICE_BET_CHANGE_AMOUNT | "10"
|
GAME_DICE_MIN_WIN_CHANCE | "1"
|
GAME_DICE_MAX_WIN_CHANCE | "98"
|
GAME_DICE_HOUSE_EDGE | "1"
|
GAME_DICE_DEFAULT_BET_AMOUNT | "1"
|
GAME_HEADS_OR_TAILS_CATEGORIES | "Table"
|
GAME_HEADS_OR_TAILS_BANNER | "/images/home/heads-or-tails.jpg"
|
GAME_HEADS_OR_TAILS_MIN_BET | "1"
|
GAME_HEADS_OR_TAILS_MAX_BET | "50"
|
GAME_HEADS_OR_TAILS_BET_CHANGE_AMOUNT | "10"
|
GAME_HEADS_OR_TAILS_DEFAULT_BET_AMOUNT | "1"
|
GAME_HEADS_OR_TAILS_HOUSE_EDGE | "5"
|
GAME_HORSE_RACING_CATEGORIES | "Sport"
|
GAME_HORSE_RACING_BANNER | "/images/home/horse-racing.jpg"
|
GAME_HORSE_RACING_MIN_BET | "0"
|
GAME_HORSE_RACING_MAX_BET | "50"
|
GAME_HORSE_RACING_BET_CHANGE_AMOUNT | "1"
|
GAME_HORSE_RACING_ANIMATION_LENGTH | "15"
|
GAME_HORSE_RACING_RUNNERS | "[{"name":"Blazer","colors":{"horse":{"body":"#BDB8B3","tail":"#7A7373","pad":{"text":"#ffffff","background":"#F2711C"}},"jockey":{"face":"#FFDCB1","hat":"#F2711C","shirt":"#E6E0DD"}}},{"name":"Wrangler","colors":{"horse":{"body":"#4a2a04","tail":"#000000","pad":{"text":"#ffffff","background":"#0E9E3E"}},"jockey":{"face":"#FFDCB1","hat":"#000000","shirt":"#0E9E3E"}}},{"name":"Sheriff","colors":{"horse":{"body":"#2E1901","tail":"#000000","pad":{"text":"#012757","background":"#C0D5E6"}},"jockey":{"face":"#FFDCB1","hat":"#012757","shirt":"#012757"}}},{"name":"Kentucky","colors":{"horse":{"body":"#3B3936","tail":"#3F3D39","pad":{"text":"#ffffff","background":"#767676"}},"jockey":{"face":"#FFDCB1","hat":"#EBB905","shirt":"#EBB905"}}},{"name":"Diesel","colors":{"horse":{"body":"#000000","tail":"#000000","pad":{"text":"#ffffff","background":"#DB2828"}},"jockey":{"face":"#FFDCB1","hat":"#DB2828","shirt":"#F75858"}}},{"name":"Tennessee","colors":{"horse":{"body":"#FAFAF9","tail":"#918F8F","pad":{"text":"#000000","background":"#FFFFFF"}},"jockey":{"face":"#FFDCB1","hat":"#000000","shirt":"#000000"}}},{"name":"Ladybird","colors":{"horse":{"body":"#532F11","tail":"#613B1C","pad":{"text":"#ffffff","background":"#532F11"}},"jockey":{"face":"#FFDCB1","hat":"#532F11","shirt":"#B3A091"}}},{"name":"Sassy","colors":{"horse":{"body":"#AA7719","tail":"#5F3F03","pad":{"text":"#6E0491","background":"#DFC5E7"}},"jockey":{"face":"#FFDCB1","hat":"#6E0491","shirt":"#6E0491"}}}]"
|
GAME_HORSE_RACING_PAYTABLE | "[[1.9,2,2.1,2,2.2,2.4,2.05,2.3],[1.8,1.5,1.45,1.65,1.35,1.5,1.55,1.6],[1.05,1.1,1.15,1.1,1.2,1.12,1.1,1.18]]"
|
GAME_KENO_CATEGORIES | "Table"
|
GAME_KENO_BANNER | "/images/home/keno.jpg"
|
GAME_KENO_MIN_BET | "1"
|
GAME_KENO_MAX_BET | "50"
|
GAME_KENO_BET_CHANGE_AMOUNT | "1"
|
GAME_KENO_DEFAULT_BET_AMOUNT | "1"
|
GAME_KENO_DRAW_COUNT | "20"
|
GAME_KENO_PAYOUTS | "{"1":"0","2":"0","3":"0","4":"1","5":"5","6":"10","7":"25","8":"125","9":"500","10":"1000"}"
|
GAME_LUCKY_WHEEL_VARIATIONS | "[{"title":"Lucky Wheel","slug":"lucky-wheel","min_bet":1,"max_bet":500,"bet_change_amount":1,"default_bet":1,"banner":"/images/home/lucky-wheel.jpg","categories":"Roulette","sections":[{"title":"No luck","payout":0},{"title":"x1","payout":1},{"title":"x2","payout":2},{"title":"No luck","payout":0},{"title":"x1","payout":1},{"title":"x3","payout":3},{"title":"No luck","payout":0},{"title":"x1","payout":1},{"title":"x4","payout":4}]}]"
|
GAME_MULTI_SLOTS_TITLES | "["Crypto Slots","Starwars Crypto Slots"]"
|
GAME_MULTI_SLOTS_SLUGS | "["crypto-slots","starwars"]"
|
GAME_MULTI_SLOTS_CATEGORIES | "["Slots","Slots"]"
|
GAME_MULTI_SLOTS_BANNERS | "["\/images\/home\/crypto-slots.jpg","\/storage\/home\/multi-slots-1-1615402679.jpeg"]"
|
GAME_MULTI_SLOTS_BACKGROUNDS | "[null,"\/storage\/games\/multi-slots\/1\/background-1615406963.gif"]"
|
GAME_MULTI_SLOTS_MIN_BET | "["1","1"]"
|
GAME_MULTI_SLOTS_MAX_BET | "["500","500"]"
|
GAME_MULTI_SLOTS_BET_CHANGE_AMOUNT | "["1","1"]"
|
GAME_MULTI_SLOTS_DEFAULT_BET | "["1","1"]"
|
GAME_MULTI_SLOTS_DEFAULT_LINES | "["10","10"]"
|
GAME_MULTI_SLOTS_SYMBOLS | "[[{"filename":"eth.png","scatter":false,"wild":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":0,"el":{}},{"filename":"btc.png","scatter":false,"wild":true,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"0","w3t":"x","w4":"20","w4t":"x","w5":"30","w5t":"x","idx":1,"el":{}},{"filename":"nxt.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"5","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":2,"el":{}},{"filename":"zec.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"15","w5t":"x","idx":3,"el":{}},{"filename":"ltc.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"0","w3t":"x","w4":"20","w4t":"x","w5":"40","w5t":"x","idx":4,"el":{}},{"filename":"ppc.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":"2","w2t":"x","w3":"3","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":5,"el":{}},{"filename":"ledger.png","scatter":true,"wild":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"0","w3t":"x","w4":"10","w4t":"x","w5":"25","w5t":"x","idx":6,"el":{}},{"filename":"xmr.png","scatter":false,"wild":false,"w1":0,"w1t":"x","w2":"0","w2t":"x","w3":"5","w3t":"x","w4":"20","w4t":"x","w5":"50","w5t":"x","idx":7,"el":{}},{"filename":"xrp.png","scatter":false,"wild":false,"w1":"0","w1t":"x","w2":"0","w2t":"x","w3":"1","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":8,"el":{}}],[{"filename":"sym-1615404012-5309-13.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":"0","el":{}},{"filename":"sym-1615404012-5582-14.png","scatter":false,"wild":true,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":0,"w3t":"x","w4":"20","w4t":"x","w5":"30","w5t":"x","idx":"1","el":{}},{"filename":"sym-1615404012-5729-25.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"5","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":"2","el":{}},{"filename":"sym-1615404012-5844-13.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"2","w3t":"x","w4":"10","w4t":"x","w5":"15","w5t":"x","idx":"3","el":{}},{"filename":"sym-1615404012-5972-10.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":0,"w3t":"x","w4":"20","w4t":"x","w5":"40","w5t":"x","idx":"4","el":{}},{"filename":"sym-1615404012-6115-28.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"3","w3t":"x","w4":"15","w4t":"x","w5":"30","w5t":"x","idx":"5","el":{}},{"filename":"sym-1615404012-6246-23.png","scatter":true,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":0,"w3t":"x","w4":"10","w4t":"x","w5":"25","w5t":"x","idx":"6","el":{}},{"filename":"sym-1615404012-6377-15.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"5","w3t":"x","w4":"20","w4t":"x","w5":"50","w5t":"x","idx":"7","el":{}},{"filename":"sym-1615404012-6505-27.png","scatter":false,"wild":false,"free":false,"w1":0,"w1t":"x","w2":0,"w2t":"x","w3":"1","w3t":"x","w4":"10","w4t":"x","w5":"20","w5t":"x","idx":"8","el":{}}]]"
|
GAME_MULTI_SLOTS_REELS | "[{"0":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8},"1":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":0},"2":{"0":2,"1":3,"2":4,"3":5,"4":6,"5":7,"6":8,"7":0,"8":1},"3":{"0":3,"1":4,"2":5,"3":6,"4":7,"5":8,"6":0,"7":1,"8":2},"4":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":0,"6":1,"7":2,"8":3}},{"0":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8},"1":{"0":1,"1":2,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":0},"2":{"0":2,"1":3,"2":4,"3":5,"4":6,"5":7,"6":8,"7":0,"8":1},"3":{"0":3,"1":4,"2":5,"3":6,"4":7,"5":8,"6":0,"7":1,"8":2},"4":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":0,"6":1,"7":2,"8":3}}]"
|
GAME_ROULETTE_CATEGORIES | "Roulette"
|
GAME_ROULETTE_BANNER | "/images/home/roulette.jpg"
|
GAME_ROULETTE_MIN_BET | "1"
|
GAME_ROULETTE_MAX_BET | "50"
|
GAME_ROULETTE_MAX_TOTAL_BET | "500"
|
GAME_ROULETTE_BET_CHANGE_AMOUNT | "1"
|
GAME_ROULETTE_DEFAULT_BET_AMOUNT | "1"
|
GAME_VIDEO_POKER_CATEGORIES | "Cards"
|
GAME_VIDEO_POKER_BANNER | "/images/home/video-poker.jpg"
|
GAME_VIDEO_POKER_MIN_BET | "1"
|
GAME_VIDEO_POKER_MAX_BET | "50"
|
GAME_VIDEO_POKER_BET_CHANGE_AMOUNT | "1"
|
GAME_VIDEO_POKER_DEFAULT_BET_AMOUNT | "1"
|
GAME_VIDEO_POKER_DEFAULT_BET_COINS | "1"
|
GAME_VIDEO_POKER_PAYTABLE | "[[0,1,2,3,4,6,9,25,50,250],[0,2,4,6,8,12,18,50,100,500],[0,3,6,9,12,18,27,75,150,750],[0,4,8,12,16,24,36,100,200,1000],[0,5,10,15,20,30,45,125,250,4000]]"
|
PAYMENTS_PURCHASE_CODE | "****************************************"
|
PAYMENTS_NOTIFICATIONS_ADMIN_DEPOSIT_ENABLED | "true"
|
PAYMENTS_NOTIFICATIONS_ADMIN_DEPOSIT_TRESHOLD | "0"
|
PAYMENTS_NOTIFICATIONS_ADMIN_WITHDRAWAL_ENABLED | "true"
|
PAYMENTS_NOTIFICATIONS_ADMIN_WITHDRAWAL_TRESHOLD | "0"
|
PAYMENTS_DEPOSIT_MIN | "100"
|
PAYMENTS_DEPOSIT_MAX | "999999999999"
|
PAYMENTS_WITHDRAWAL_MIN | "100"
|
PAYMENTS_WITHDRAWAL_MAX | "999"
|
PAYMENTS_MIN_TOTAL_DEPOSIT_TO_WITHDRAW | "0"
|
PAYMENTS_WITHDRAWAL_AUTO_MAX | "0"
|
PAYMENTS_WITHDRAWAL_ONLY_PROFITS | "true"
|
PAYMENTS_PAYPAL_USER | "" |
PAYMENTS_PAYPAL_PASSWORD | "" |
PAYMENTS_PAYPAL_SIGNATURE | "" |
PAYMENTS_PAYPAL_TEST_MODE | "false"
|
PAYMENTS_STRIPE_PUBLIC_KEY | "" |
PAYMENTS_STRIPE_SECRET_KEY | "" |
PAYMENTS_COINPAYMENTS_MERCHANT_ID | "********************************"
|
PAYMENTS_COINPAYMENTS_PUBLIC_KEY | "****************************************************************"
|
PAYMENTS_COINPAYMENTS_PRIVATE_KEY | "****************************************************************"
|
PAYMENTS_COINPAYMENTS_SECRET_KEY | "*******"
|
PAYMENTS_COINPAYMENTS_AUTO_CONFIRM_WITHDRAWALS | "false"
|
PAYMENTS_ETHEREUM_ETHERSCAN_API_KEY | "" |
PAYMENTS_ETHEREUM_NETWORK | "main"
|
PAYMENTS_ETHEREUM_DEPOSIT_ADDRESS | "" |
PAYMENTS_ETHEREUM_DEPOSIT_CONTRACT | "" |
PAYMENTS_ETHEREUM_DEPOSIT_CONTRACT_DECIMALS | "18"
|
PAYMENTS_BSC_EXPLORER_API_KEY | "" |
PAYMENTS_BSC_NETWORK | "bsc-main"
|
PAYMENTS_BSC_DEPOSIT_ADDRESS | "" |
PAYMENTS_BSC_DEPOSIT_CONTRACT | "" |
PAYMENTS_BSC_DEPOSIT_CONTRACT_DECIMALS | "18"
|
BONUSES_FAUCET_AMOUNT | "100"
|
BONUSES_FAUCET_INTERVAL | "24"
|
PAYMENTS_POLYGON_EXPLORER_API_KEY | "" |
PAYMENTS_POLYGON_NETWORK | "polygon-main"
|
PAYMENTS_POLYGON_DEPOSIT_ADDRESS | "" |
PAYMENTS_POLYGON_DEPOSIT_CONTRACT | "" |
PAYMENTS_POLYGON_DEPOSIT_CONTRACT_DECIMALS | "18"
|