radarrplexorganizrnginxsonarrdashboardserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpc
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
979 lines
24 KiB
979 lines
24 KiB
<?php
|
|
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\HtmlString;
|
|
use Illuminate\Container\Container;
|
|
use Illuminate\Contracts\Bus\Dispatcher;
|
|
use Illuminate\Contracts\Auth\Access\Gate;
|
|
use Illuminate\Contracts\Routing\UrlGenerator;
|
|
use Illuminate\Foundation\Bus\PendingDispatch;
|
|
use Illuminate\Contracts\Debug\ExceptionHandler;
|
|
use Illuminate\Contracts\Routing\ResponseFactory;
|
|
use Illuminate\Contracts\Auth\Factory as AuthFactory;
|
|
use Illuminate\Contracts\View\Factory as ViewFactory;
|
|
use Illuminate\Contracts\Cookie\Factory as CookieFactory;
|
|
use Symfony\Component\Debug\Exception\FatalThrowableError;
|
|
use Illuminate\Database\Eloquent\Factory as EloquentFactory;
|
|
use Illuminate\Contracts\Validation\Factory as ValidationFactory;
|
|
use Illuminate\Contracts\Broadcasting\Factory as BroadcastFactory;
|
|
|
|
if (! function_exists('abort')) {
|
|
/**
|
|
* Throw an HttpException with the given data.
|
|
*
|
|
* @param int $code
|
|
* @param string $message
|
|
* @param array $headers
|
|
* @return void
|
|
*
|
|
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
|
|
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
|
|
*/
|
|
function abort($code, $message = '', array $headers = [])
|
|
{
|
|
app()->abort($code, $message, $headers);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('abort_if')) {
|
|
/**
|
|
* Throw an HttpException with the given data if the given condition is true.
|
|
*
|
|
* @param bool $boolean
|
|
* @param int $code
|
|
* @param string $message
|
|
* @param array $headers
|
|
* @return void
|
|
*
|
|
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
|
|
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
|
|
*/
|
|
function abort_if($boolean, $code, $message = '', array $headers = [])
|
|
{
|
|
if ($boolean) {
|
|
abort($code, $message, $headers);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (! function_exists('abort_unless')) {
|
|
/**
|
|
* Throw an HttpException with the given data unless the given condition is true.
|
|
*
|
|
* @param bool $boolean
|
|
* @param int $code
|
|
* @param string $message
|
|
* @param array $headers
|
|
* @return void
|
|
*
|
|
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
|
|
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
|
|
*/
|
|
function abort_unless($boolean, $code, $message = '', array $headers = [])
|
|
{
|
|
if (! $boolean) {
|
|
abort($code, $message, $headers);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (! function_exists('action')) {
|
|
/**
|
|
* Generate the URL to a controller action.
|
|
*
|
|
* @param string $name
|
|
* @param array $parameters
|
|
* @param bool $absolute
|
|
* @return string
|
|
*/
|
|
function action($name, $parameters = [], $absolute = true)
|
|
{
|
|
return app('url')->action($name, $parameters, $absolute);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('app')) {
|
|
/**
|
|
* Get the available container instance.
|
|
*
|
|
* @param string $abstract
|
|
* @param array $parameters
|
|
* @return mixed|\Illuminate\Foundation\Application
|
|
*/
|
|
function app($abstract = null, array $parameters = [])
|
|
{
|
|
if (is_null($abstract)) {
|
|
return Container::getInstance();
|
|
}
|
|
|
|
return Container::getInstance()->make($abstract, $parameters);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('app_path')) {
|
|
/**
|
|
* Get the path to the application folder.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function app_path($path = '')
|
|
{
|
|
return app('path').($path ? DIRECTORY_SEPARATOR.$path : $path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('asset')) {
|
|
/**
|
|
* Generate an asset path for the application.
|
|
*
|
|
* @param string $path
|
|
* @param bool $secure
|
|
* @return string
|
|
*/
|
|
function asset($path, $secure = null)
|
|
{
|
|
return app('url')->asset($path, $secure);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('auth')) {
|
|
/**
|
|
* Get the available auth instance.
|
|
*
|
|
* @param string|null $guard
|
|
* @return \Illuminate\Contracts\Auth\Factory|\Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard
|
|
*/
|
|
function auth($guard = null)
|
|
{
|
|
if (is_null($guard)) {
|
|
return app(AuthFactory::class);
|
|
}
|
|
|
|
return app(AuthFactory::class)->guard($guard);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('back')) {
|
|
/**
|
|
* Create a new redirect response to the previous location.
|
|
*
|
|
* @param int $status
|
|
* @param array $headers
|
|
* @param mixed $fallback
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
*/
|
|
function back($status = 302, $headers = [], $fallback = false)
|
|
{
|
|
return app('redirect')->back($status, $headers, $fallback);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('base_path')) {
|
|
/**
|
|
* Get the path to the base of the install.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function base_path($path = '')
|
|
{
|
|
return app()->basePath().($path ? DIRECTORY_SEPARATOR.$path : $path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('bcrypt')) {
|
|
/**
|
|
* Hash the given value.
|
|
*
|
|
* @param string $value
|
|
* @param array $options
|
|
* @return string
|
|
*/
|
|
function bcrypt($value, $options = [])
|
|
{
|
|
return app('hash')->make($value, $options);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('broadcast')) {
|
|
/**
|
|
* Begin broadcasting an event.
|
|
*
|
|
* @param mixed|null $event
|
|
* @return \Illuminate\Broadcasting\PendingBroadcast
|
|
*/
|
|
function broadcast($event = null)
|
|
{
|
|
return app(BroadcastFactory::class)->event($event);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('cache')) {
|
|
/**
|
|
* Get / set the specified cache value.
|
|
*
|
|
* If an array is passed, we'll assume you want to put to the cache.
|
|
*
|
|
* @param dynamic key|key,default|data,expiration|null
|
|
* @return mixed|\Illuminate\Cache\CacheManager
|
|
*
|
|
* @throws \Exception
|
|
*/
|
|
function cache()
|
|
{
|
|
$arguments = func_get_args();
|
|
|
|
if (empty($arguments)) {
|
|
return app('cache');
|
|
}
|
|
|
|
if (is_string($arguments[0])) {
|
|
return app('cache')->get($arguments[0], $arguments[1] ?? null);
|
|
}
|
|
|
|
if (! is_array($arguments[0])) {
|
|
throw new Exception(
|
|
'When setting a value in the cache, you must pass an array of key / value pairs.'
|
|
);
|
|
}
|
|
|
|
if (! isset($arguments[1])) {
|
|
throw new Exception(
|
|
'You must specify an expiration time when setting a value in the cache.'
|
|
);
|
|
}
|
|
|
|
return app('cache')->put(key($arguments[0]), reset($arguments[0]), $arguments[1]);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('config')) {
|
|
/**
|
|
* Get / set the specified configuration value.
|
|
*
|
|
* If an array is passed as the key, we will assume you want to set an array of values.
|
|
*
|
|
* @param array|string $key
|
|
* @param mixed $default
|
|
* @return mixed|\Illuminate\Config\Repository
|
|
*/
|
|
function config($key = null, $default = null)
|
|
{
|
|
if (is_null($key)) {
|
|
return app('config');
|
|
}
|
|
|
|
if (is_array($key)) {
|
|
return app('config')->set($key);
|
|
}
|
|
|
|
return app('config')->get($key, $default);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('config_path')) {
|
|
/**
|
|
* Get the configuration path.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function config_path($path = '')
|
|
{
|
|
return app()->make('path.config').($path ? DIRECTORY_SEPARATOR.$path : $path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('cookie')) {
|
|
/**
|
|
* Create a new cookie instance.
|
|
*
|
|
* @param string $name
|
|
* @param string $value
|
|
* @param int $minutes
|
|
* @param string $path
|
|
* @param string $domain
|
|
* @param bool $secure
|
|
* @param bool $httpOnly
|
|
* @param bool $raw
|
|
* @param string|null $sameSite
|
|
* @return \Illuminate\Cookie\CookieJar|\Symfony\Component\HttpFoundation\Cookie
|
|
*/
|
|
function cookie($name = null, $value = null, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true, $raw = false, $sameSite = null)
|
|
{
|
|
$cookie = app(CookieFactory::class);
|
|
|
|
if (is_null($name)) {
|
|
return $cookie;
|
|
}
|
|
|
|
return $cookie->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly, $raw, $sameSite);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('csrf_field')) {
|
|
/**
|
|
* Generate a CSRF token form field.
|
|
*
|
|
* @return \Illuminate\Support\HtmlString
|
|
*/
|
|
function csrf_field()
|
|
{
|
|
return new HtmlString('<input type="hidden" name="_token" value="'.csrf_token().'">');
|
|
}
|
|
}
|
|
|
|
if (! function_exists('csrf_token')) {
|
|
/**
|
|
* Get the CSRF token value.
|
|
*
|
|
* @return string
|
|
*
|
|
* @throws \RuntimeException
|
|
*/
|
|
function csrf_token()
|
|
{
|
|
$session = app('session');
|
|
|
|
if (isset($session)) {
|
|
return $session->token();
|
|
}
|
|
|
|
throw new RuntimeException('Application session store not set.');
|
|
}
|
|
}
|
|
|
|
if (! function_exists('database_path')) {
|
|
/**
|
|
* Get the database path.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function database_path($path = '')
|
|
{
|
|
return app()->databasePath($path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('decrypt')) {
|
|
/**
|
|
* Decrypt the given value.
|
|
*
|
|
* @param string $value
|
|
* @return string
|
|
*/
|
|
function decrypt($value)
|
|
{
|
|
return app('encrypter')->decrypt($value);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('dispatch')) {
|
|
/**
|
|
* Dispatch a job to its appropriate handler.
|
|
*
|
|
* @param mixed $job
|
|
* @return \Illuminate\Foundation\Bus\PendingDispatch
|
|
*/
|
|
function dispatch($job)
|
|
{
|
|
return new PendingDispatch($job);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('dispatch_now')) {
|
|
/**
|
|
* Dispatch a command to its appropriate handler in the current process.
|
|
*
|
|
* @param mixed $job
|
|
* @param mixed $handler
|
|
* @return mixed
|
|
*/
|
|
function dispatch_now($job, $handler = null)
|
|
{
|
|
return app(Dispatcher::class)->dispatchNow($job, $handler);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('elixir')) {
|
|
/**
|
|
* Get the path to a versioned Elixir file.
|
|
*
|
|
* @param string $file
|
|
* @param string $buildDirectory
|
|
* @return string
|
|
*
|
|
* @throws \InvalidArgumentException
|
|
*/
|
|
function elixir($file, $buildDirectory = 'build')
|
|
{
|
|
static $manifest = [];
|
|
static $manifestPath;
|
|
|
|
if (empty($manifest) || $manifestPath !== $buildDirectory) {
|
|
$path = public_path($buildDirectory.'/rev-manifest.json');
|
|
|
|
if (file_exists($path)) {
|
|
$manifest = json_decode(file_get_contents($path), true);
|
|
$manifestPath = $buildDirectory;
|
|
}
|
|
}
|
|
|
|
$file = ltrim($file, '/');
|
|
|
|
if (isset($manifest[$file])) {
|
|
return '/'.trim($buildDirectory.'/'.$manifest[$file], '/');
|
|
}
|
|
|
|
$unversioned = public_path($file);
|
|
|
|
if (file_exists($unversioned)) {
|
|
return '/'.trim($file, '/');
|
|
}
|
|
|
|
throw new InvalidArgumentException("File {$file} not defined in asset manifest.");
|
|
}
|
|
}
|
|
|
|
if (! function_exists('encrypt')) {
|
|
/**
|
|
* Encrypt the given value.
|
|
*
|
|
* @param mixed $value
|
|
* @return string
|
|
*/
|
|
function encrypt($value)
|
|
{
|
|
return app('encrypter')->encrypt($value);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('event')) {
|
|
/**
|
|
* Dispatch an event and call the listeners.
|
|
*
|
|
* @param string|object $event
|
|
* @param mixed $payload
|
|
* @param bool $halt
|
|
* @return array|null
|
|
*/
|
|
function event(...$args)
|
|
{
|
|
return app('events')->dispatch(...$args);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('factory')) {
|
|
/**
|
|
* Create a model factory builder for a given class, name, and amount.
|
|
*
|
|
* @param dynamic class|class,name|class,amount|class,name,amount
|
|
* @return \Illuminate\Database\Eloquent\FactoryBuilder
|
|
*/
|
|
function factory()
|
|
{
|
|
$factory = app(EloquentFactory::class);
|
|
|
|
$arguments = func_get_args();
|
|
|
|
if (isset($arguments[1]) && is_string($arguments[1])) {
|
|
return $factory->of($arguments[0], $arguments[1])->times($arguments[2] ?? null);
|
|
} elseif (isset($arguments[1])) {
|
|
return $factory->of($arguments[0])->times($arguments[1]);
|
|
}
|
|
|
|
return $factory->of($arguments[0]);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('info')) {
|
|
/**
|
|
* Write some information to the log.
|
|
*
|
|
* @param string $message
|
|
* @param array $context
|
|
* @return void
|
|
*/
|
|
function info($message, $context = [])
|
|
{
|
|
app('log')->info($message, $context);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('logger')) {
|
|
/**
|
|
* Log a debug message to the logs.
|
|
*
|
|
* @param string $message
|
|
* @param array $context
|
|
* @return \Illuminate\Contracts\Logging\Log|null
|
|
*/
|
|
function logger($message = null, array $context = [])
|
|
{
|
|
if (is_null($message)) {
|
|
return app('log');
|
|
}
|
|
|
|
return app('log')->debug($message, $context);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('method_field')) {
|
|
/**
|
|
* Generate a form field to spoof the HTTP verb used by forms.
|
|
*
|
|
* @param string $method
|
|
* @return \Illuminate\Support\HtmlString
|
|
*/
|
|
function method_field($method)
|
|
{
|
|
return new HtmlString('<input type="hidden" name="_method" value="'.$method.'">');
|
|
}
|
|
}
|
|
|
|
if (! function_exists('mix')) {
|
|
/**
|
|
* Get the path to a versioned Mix file.
|
|
*
|
|
* @param string $path
|
|
* @param string $manifestDirectory
|
|
* @return \Illuminate\Support\HtmlString
|
|
*
|
|
* @throws \Exception
|
|
*/
|
|
function mix($path, $manifestDirectory = '')
|
|
{
|
|
static $manifests = [];
|
|
|
|
if (! Str::startsWith($path, '/')) {
|
|
$path = "/{$path}";
|
|
}
|
|
|
|
if ($manifestDirectory && ! Str::startsWith($manifestDirectory, '/')) {
|
|
$manifestDirectory = "/{$manifestDirectory}";
|
|
}
|
|
|
|
if (file_exists(public_path($manifestDirectory.'/hot'))) {
|
|
$url = file_get_contents(public_path($manifestDirectory.'/hot'));
|
|
|
|
if (Str::startsWith($url, ['http://', 'https://'])) {
|
|
return new HtmlString(Str::after($url, ':').$path);
|
|
}
|
|
|
|
return new HtmlString("//localhost:8080{$path}");
|
|
}
|
|
|
|
$manifestPath = public_path($manifestDirectory.'/mix-manifest.json');
|
|
|
|
if (! isset($manifests[$manifestPath])) {
|
|
if (! file_exists($manifestPath)) {
|
|
throw new Exception('The Mix manifest does not exist.');
|
|
}
|
|
|
|
$manifests[$manifestPath] = json_decode(file_get_contents($manifestPath), true);
|
|
}
|
|
|
|
$manifest = $manifests[$manifestPath];
|
|
|
|
if (! isset($manifest[$path])) {
|
|
report(new Exception("Unable to locate Mix file: {$path}."));
|
|
|
|
if (! app('config')->get('app.debug')) {
|
|
return $path;
|
|
}
|
|
}
|
|
|
|
return new HtmlString($manifestDirectory.$manifest[$path]);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('now')) {
|
|
/**
|
|
* Create a new Carbon instance for the current time.
|
|
*
|
|
* @param \DateTimeZone|string|null $tz
|
|
* @return \Illuminate\Support\Carbon
|
|
*/
|
|
function now($tz = null)
|
|
{
|
|
return Carbon::now($tz);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('old')) {
|
|
/**
|
|
* Retrieve an old input item.
|
|
*
|
|
* @param string $key
|
|
* @param mixed $default
|
|
* @return mixed
|
|
*/
|
|
function old($key = null, $default = null)
|
|
{
|
|
return app('request')->old($key, $default);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('policy')) {
|
|
/**
|
|
* Get a policy instance for a given class.
|
|
*
|
|
* @param object|string $class
|
|
* @return mixed
|
|
*
|
|
* @throws \InvalidArgumentException
|
|
*/
|
|
function policy($class)
|
|
{
|
|
return app(Gate::class)->getPolicyFor($class);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('public_path')) {
|
|
/**
|
|
* Get the path to the public folder.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function public_path($path = '')
|
|
{
|
|
return app()->make('path.public').($path ? DIRECTORY_SEPARATOR.ltrim($path, DIRECTORY_SEPARATOR) : $path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('redirect')) {
|
|
/**
|
|
* Get an instance of the redirector.
|
|
*
|
|
* @param string|null $to
|
|
* @param int $status
|
|
* @param array $headers
|
|
* @param bool $secure
|
|
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
|
|
*/
|
|
function redirect($to = null, $status = 302, $headers = [], $secure = null)
|
|
{
|
|
if (is_null($to)) {
|
|
return app('redirect');
|
|
}
|
|
|
|
return app('redirect')->to($to, $status, $headers, $secure);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('report')) {
|
|
/**
|
|
* Report an exception.
|
|
*
|
|
* @param \Exception $exception
|
|
* @return void
|
|
*/
|
|
function report($exception)
|
|
{
|
|
if ($exception instanceof Throwable &&
|
|
! $exception instanceof Exception) {
|
|
$exception = new FatalThrowableError($exception);
|
|
}
|
|
|
|
app(ExceptionHandler::class)->report($exception);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('request')) {
|
|
/**
|
|
* Get an instance of the current request or an input item from the request.
|
|
*
|
|
* @param array|string $key
|
|
* @param mixed $default
|
|
* @return \Illuminate\Http\Request|string|array
|
|
*/
|
|
function request($key = null, $default = null)
|
|
{
|
|
if (is_null($key)) {
|
|
return app('request');
|
|
}
|
|
|
|
if (is_array($key)) {
|
|
return app('request')->only($key);
|
|
}
|
|
|
|
$value = app('request')->__get($key);
|
|
|
|
return is_null($value) ? value($default) : $value;
|
|
}
|
|
}
|
|
|
|
if (! function_exists('rescue')) {
|
|
/**
|
|
* Catch a potential exception and return a default value.
|
|
*
|
|
* @param callable $callback
|
|
* @param mixed $rescue
|
|
* @return mixed
|
|
*/
|
|
function rescue(callable $callback, $rescue = null)
|
|
{
|
|
try {
|
|
return $callback();
|
|
} catch (Throwable $e) {
|
|
report($e);
|
|
|
|
return value($rescue);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (! function_exists('resolve')) {
|
|
/**
|
|
* Resolve a service from the container.
|
|
*
|
|
* @param string $name
|
|
* @return mixed
|
|
*/
|
|
function resolve($name)
|
|
{
|
|
return app($name);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('resource_path')) {
|
|
/**
|
|
* Get the path to the resources folder.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function resource_path($path = '')
|
|
{
|
|
return app()->resourcePath($path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('response')) {
|
|
/**
|
|
* Return a new response from the application.
|
|
*
|
|
* @param string $content
|
|
* @param int $status
|
|
* @param array $headers
|
|
* @return \Symfony\Component\HttpFoundation\Response|\Illuminate\Contracts\Routing\ResponseFactory
|
|
*/
|
|
function response($content = '', $status = 200, array $headers = [])
|
|
{
|
|
$factory = app(ResponseFactory::class);
|
|
|
|
if (func_num_args() === 0) {
|
|
return $factory;
|
|
}
|
|
|
|
return $factory->make($content, $status, $headers);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('route')) {
|
|
/**
|
|
* Generate the URL to a named route.
|
|
*
|
|
* @param string $name
|
|
* @param array $parameters
|
|
* @param bool $absolute
|
|
* @return string
|
|
*/
|
|
function route($name, $parameters = [], $absolute = true)
|
|
{
|
|
return app('url')->route($name, $parameters, $absolute);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('secure_asset')) {
|
|
/**
|
|
* Generate an asset path for the application.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function secure_asset($path)
|
|
{
|
|
return asset($path, true);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('secure_url')) {
|
|
/**
|
|
* Generate a HTTPS url for the application.
|
|
*
|
|
* @param string $path
|
|
* @param mixed $parameters
|
|
* @return string
|
|
*/
|
|
function secure_url($path, $parameters = [])
|
|
{
|
|
return url($path, $parameters, true);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('session')) {
|
|
/**
|
|
* Get / set the specified session value.
|
|
*
|
|
* If an array is passed as the key, we will assume you want to set an array of values.
|
|
*
|
|
* @param array|string $key
|
|
* @param mixed $default
|
|
* @return mixed|\Illuminate\Session\Store|\Illuminate\Session\SessionManager
|
|
*/
|
|
function session($key = null, $default = null)
|
|
{
|
|
if (is_null($key)) {
|
|
return app('session');
|
|
}
|
|
|
|
if (is_array($key)) {
|
|
return app('session')->put($key);
|
|
}
|
|
|
|
return app('session')->get($key, $default);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('storage_path')) {
|
|
/**
|
|
* Get the path to the storage folder.
|
|
*
|
|
* @param string $path
|
|
* @return string
|
|
*/
|
|
function storage_path($path = '')
|
|
{
|
|
return app('path.storage').($path ? DIRECTORY_SEPARATOR.$path : $path);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('today')) {
|
|
/**
|
|
* Create a new Carbon instance for the current date.
|
|
*
|
|
* @param \DateTimeZone|string|null $tz
|
|
* @return \Illuminate\Support\Carbon
|
|
*/
|
|
function today($tz = null)
|
|
{
|
|
return Carbon::today($tz);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('trans')) {
|
|
/**
|
|
* Translate the given message.
|
|
*
|
|
* @param string $key
|
|
* @param array $replace
|
|
* @param string $locale
|
|
* @return \Illuminate\Contracts\Translation\Translator|string|array|null
|
|
*/
|
|
function trans($key = null, $replace = [], $locale = null)
|
|
{
|
|
if (is_null($key)) {
|
|
return app('translator');
|
|
}
|
|
|
|
return app('translator')->trans($key, $replace, $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('trans_choice')) {
|
|
/**
|
|
* Translates the given message based on a count.
|
|
*
|
|
* @param string $key
|
|
* @param int|array|\Countable $number
|
|
* @param array $replace
|
|
* @param string $locale
|
|
* @return string
|
|
*/
|
|
function trans_choice($key, $number, array $replace = [], $locale = null)
|
|
{
|
|
return app('translator')->transChoice($key, $number, $replace, $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('__')) {
|
|
/**
|
|
* Translate the given message.
|
|
*
|
|
* @param string $key
|
|
* @param array $replace
|
|
* @param string $locale
|
|
* @return string|array|null
|
|
*/
|
|
function __($key, $replace = [], $locale = null)
|
|
{
|
|
return app('translator')->getFromJson($key, $replace, $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('url')) {
|
|
/**
|
|
* Generate a url for the application.
|
|
*
|
|
* @param string $path
|
|
* @param mixed $parameters
|
|
* @param bool $secure
|
|
* @return \Illuminate\Contracts\Routing\UrlGenerator|string
|
|
*/
|
|
function url($path = null, $parameters = [], $secure = null)
|
|
{
|
|
if (is_null($path)) {
|
|
return app(UrlGenerator::class);
|
|
}
|
|
|
|
return app(UrlGenerator::class)->to($path, $parameters, $secure);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('validator')) {
|
|
/**
|
|
* Create a new Validator instance.
|
|
*
|
|
* @param array $data
|
|
* @param array $rules
|
|
* @param array $messages
|
|
* @param array $customAttributes
|
|
* @return \Illuminate\Contracts\Validation\Validator
|
|
*/
|
|
function validator(array $data = [], array $rules = [], array $messages = [], array $customAttributes = [])
|
|
{
|
|
$factory = app(ValidationFactory::class);
|
|
|
|
if (func_num_args() === 0) {
|
|
return $factory;
|
|
}
|
|
|
|
return $factory->make($data, $rules, $messages, $customAttributes);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('view')) {
|
|
/**
|
|
* Get the evaluated view contents for the given view.
|
|
*
|
|
* @param string $view
|
|
* @param array $data
|
|
* @param array $mergeData
|
|
* @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory
|
|
*/
|
|
function view($view = null, $data = [], $mergeData = [])
|
|
{
|
|
$factory = app(ViewFactory::class);
|
|
|
|
if (func_num_args() === 0) {
|
|
return $factory;
|
|
}
|
|
|
|
return $factory->make($view, $data, $mergeData);
|
|
}
|
|
}
|
|
|