laravel horizon
This commit is contained in:
20
vendor/cakephp/chronos/LICENSE
vendored
Normal file
20
vendor/cakephp/chronos/LICENSE
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright (C) Brian Nesbitt
|
||||
Copyright (C) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
147
vendor/cakephp/chronos/README.md
vendored
Normal file
147
vendor/cakephp/chronos/README.md
vendored
Normal file
@@ -0,0 +1,147 @@
|
||||
# CakePHP Chronos
|
||||
|
||||
[](LICENSE)
|
||||
[](https://travis-ci.org/cakephp/chronos)
|
||||
[](https://coveralls.io/r/cakephp/chronos?branch=master)
|
||||
[](https://packagist.org/packages/cakephp/chronos)
|
||||
|
||||
Chronos aims to be a drop-in replacement for `nesbot/carbon`. It focuses on providing
|
||||
immutable date/datetime objects. Immutable objects help ensure that datetime objects
|
||||
aren't accidentally modified keeping data more predictable.
|
||||
|
||||
# Installation
|
||||
|
||||
Installing with composer:
|
||||
|
||||
```
|
||||
$ composer require cakephp/chronos
|
||||
```
|
||||
|
||||
You can then use Chronos:
|
||||
|
||||
```php
|
||||
<?php
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Cake\Chronos\Chronos;
|
||||
|
||||
printf("Now: %s", Chronos::now());
|
||||
```
|
||||
|
||||
# Differences with nesbot/carbon
|
||||
|
||||
The biggest and main difference is that `Chronos` extends `DateTimeImmutable` instead of `DateTime`.
|
||||
Immutability for date values has proven to be a great way of avoiding bugs and reduce the amount of code,
|
||||
since developers don't have to manually copy the instance every time they need a change.
|
||||
|
||||
Another important feature it offers is the `Date` class, which is used for representing dates without time (calendar dates).
|
||||
Any time method called on this type of object is basically a no-op.
|
||||
|
||||
A minor but still noticeable difference is that `Chronos` has no external dependencies, it is completely standalone.
|
||||
|
||||
Finally, Chronos is faster than Carbon as it has been optimized for the creation of hundreds of instances with minimal
|
||||
overhead.
|
||||
|
||||
Chronos also strives for HHVM compatibility, this library can be used safely with HHVM 3.11.
|
||||
|
||||
# Migrating from Carbon
|
||||
|
||||
|
||||
First add `cakephp/chronos` to your `composer.json`:
|
||||
|
||||
```shell
|
||||
php composer.phar require cakephp/chronos
|
||||
```
|
||||
|
||||
By default Chronos includes a compatibility script that creates aliases for the
|
||||
relevant Carbon classes. This will let most applications upgrade with very
|
||||
little effort. If you'd like to permanently update your code, you will
|
||||
need to update imports and typehints. Assuming `src` contains the files you
|
||||
want to migrate, we could use the following to update files:
|
||||
|
||||
```
|
||||
# Replace imports
|
||||
find ./src -type f -exec sed -i '' 's/use Carbon\\CarbonInterval/use Cake\\Chronos\\ChronosInterval/g' {} \;
|
||||
find ./src -type f -exec sed -i '' 's/use Carbon\\Carbon/use Cake\\Chronos\\Chronos/g' {} \;
|
||||
|
||||
# Replace typehints and extensions
|
||||
find ./src -type f -exec sed -i '' 's/CarbonInterval/ChronosInterval/g' {} \;
|
||||
find ./src -type f -exec sed -i '' 's/Carbon/Chronos/g' {} \;
|
||||
```
|
||||
|
||||
At this point your code should mostly work as it did before. The biggest
|
||||
difference is that Chronos instances are immutable.
|
||||
|
||||
## Immutable Object Changes
|
||||
|
||||
Immutable objects have a number of advantages:
|
||||
|
||||
1. Using immutable objects is always free of side-effects.
|
||||
2. Dates and times don't accidentally change underneath other parts of your code.
|
||||
|
||||
With those benefits in mind, there are a few things you need to keep in mind
|
||||
when modifying immutable objects:
|
||||
|
||||
```php
|
||||
// This will lose modifications
|
||||
$date = new Chronos('2015-10-21 16:29:00');
|
||||
$date->modify('+2 hours');
|
||||
|
||||
// This will keep modifications
|
||||
$date = new Chronos('2015-10-21 16:29:00');
|
||||
$date = $date->modify('+2 hours');
|
||||
```
|
||||
|
||||
## Getting Mutable Objects
|
||||
|
||||
In the case that you need a mutable instance you can get one:
|
||||
|
||||
```php
|
||||
$time = new Chronos('2015-10-21 16:29:00');
|
||||
$mutable = $time->toMutable();
|
||||
|
||||
$date = new Date('2015-10-21');
|
||||
$mutable = $date->toMutable();
|
||||
```
|
||||
|
||||
## Converting Mutable Objects into Immutable ones.
|
||||
|
||||
If you have a mutable object and want an immutable variant you can do the following:
|
||||
|
||||
```php
|
||||
$time = new MutableDateTime('2015-10-21 16:29:00');
|
||||
$fixed = $time->toImmutable();
|
||||
|
||||
$date = new MutableDate('2015-10-21');
|
||||
$fixed = $date->toImmutable();
|
||||
```
|
||||
|
||||
# Calendar Dates
|
||||
|
||||
PHP only offers datetime objects as part of the native extensions. Chronos
|
||||
adds a number of conveniences to the traditional DateTime object and introduces
|
||||
a `Date` object. `Date` instances offer compatibility with the `ChronosInterface`, but
|
||||
have their time & timezone frozen to `00:00:00 UTC`. This makes them ideal when working with
|
||||
calendar dates as the time components will always match.
|
||||
|
||||
```php
|
||||
use Cake\Chronos\Date;
|
||||
|
||||
$today = new Date();
|
||||
echo $today;
|
||||
// Outputs '2015-10-21'
|
||||
|
||||
echo $today->modify('+3 hours');
|
||||
// Outputs '2015-10-21'
|
||||
```
|
||||
|
||||
Like instances of `Chronos`, `Date` objects are also *immutable*. The `MutableDate` class provides
|
||||
a mutable variant of `Date`.
|
||||
|
||||
# Documentation
|
||||
|
||||
A more descriptive documentation can be found at [book.cakephp.org/3.0/en/chronos.html](http://book.cakephp.org/3.0/en/chronos.html).
|
||||
|
||||
# API Documentation
|
||||
|
||||
API documentation can be found on [api.cakephp.org/chronos](http://api.cakephp.org/chronos).
|
||||
62
vendor/cakephp/chronos/composer.json
vendored
Normal file
62
vendor/cakephp/chronos/composer.json
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"name": "cakephp/chronos",
|
||||
"type": "library",
|
||||
"description": "A simple API extension for DateTime.",
|
||||
"keywords": [
|
||||
"date",
|
||||
"time",
|
||||
"DateTime"
|
||||
],
|
||||
"homepage": "http://cakephp.org",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Brian Nesbitt",
|
||||
"email": "brian@nesbot.com",
|
||||
"homepage": "http://nesbot.com"
|
||||
},
|
||||
{
|
||||
"name": "The CakePHP Team",
|
||||
"homepage": "http://cakephp.org"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/cakephp/chronos/issues",
|
||||
"irc": "irc://irc.freenode.org/cakephp",
|
||||
"source": "https://github.com/cakephp/chronos"
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.5.9|^7"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "<6.0 || ^7.0",
|
||||
"athletic/athletic": "~0.1",
|
||||
"cakephp/cakephp-codesniffer": "^3.0",
|
||||
"phpbench/phpbench": "@dev",
|
||||
"phpstan/phpstan": "^0.6.4"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Cake\\Chronos\\": "src/"
|
||||
},
|
||||
"files": ["src/carbon_compat.php"]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Cake\\Chronos\\Test\\": "tests/"
|
||||
},
|
||||
"files": ["tests/TestCase.php"]
|
||||
},
|
||||
"scripts": {
|
||||
"check": [
|
||||
"@test",
|
||||
"@cs-check",
|
||||
"@phpstan"
|
||||
],
|
||||
"test": "phpunit",
|
||||
"cs-check": "phpcs",
|
||||
"cs-fix": "phpcbf",
|
||||
"bench": "phpbench run",
|
||||
"phpstan": "phpstan analyze -c phpstan.neon -l 3 src tests"
|
||||
}
|
||||
}
|
||||
211
vendor/cakephp/chronos/src/Chronos.php
vendored
Normal file
211
vendor/cakephp/chronos/src/Chronos.php
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos;
|
||||
|
||||
use DateTimeImmutable;
|
||||
use DateTimeZone;
|
||||
|
||||
/**
|
||||
* An Immutable extension on the native DateTime object.
|
||||
*
|
||||
* Adds a number of convenience APIs methods and the ability
|
||||
* to easily convert into a mutable object.
|
||||
*
|
||||
* @property-read int $year
|
||||
* @property-read int $yearIso
|
||||
* @property-read int $month
|
||||
* @property-read int $day
|
||||
* @property-read int $hour
|
||||
* @property-read int $minute
|
||||
* @property-read int $second
|
||||
* @property-read int $timestamp seconds since the Unix Epoch
|
||||
* @property-read DateTimeZone $timezone the current timezone
|
||||
* @property-read DateTimeZone $tz alias of timezone
|
||||
* @property-read int $micro
|
||||
* @property-read int $dayOfWeek 1 (for Monday) through 7 (for Sunday)
|
||||
* @property-read int $dayOfYear 0 through 365
|
||||
* @property-read int $weekOfMonth 1 through 5
|
||||
* @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday
|
||||
* @property-read int $daysInMonth number of days in the given month
|
||||
* @property-read int $age does a diffInYears() with default parameters
|
||||
* @property-read int $quarter the quarter of this instance, 1 - 4
|
||||
* @property-read int $offset the timezone offset in seconds from UTC
|
||||
* @property-read int $offsetHours the timezone offset in hours from UTC
|
||||
* @property-read bool $dst daylight savings time indicator, true if DST, false otherwise
|
||||
* @property-read bool $local checks if the timezone is local, true if local, false otherwise
|
||||
* @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise
|
||||
* @property-read string $timezoneName
|
||||
* @property-read string $tzName
|
||||
*/
|
||||
class Chronos extends DateTimeImmutable implements ChronosInterface
|
||||
{
|
||||
use Traits\ComparisonTrait;
|
||||
use Traits\DifferenceTrait;
|
||||
use Traits\FactoryTrait;
|
||||
use Traits\FormattingTrait;
|
||||
use Traits\MagicPropertyTrait;
|
||||
use Traits\ModifierTrait;
|
||||
use Traits\RelativeKeywordTrait;
|
||||
use Traits\TimezoneTrait;
|
||||
|
||||
/**
|
||||
* A test ChronosInterface instance to be returned when now instances are created
|
||||
*
|
||||
* There is a single test now for all date/time classes provided by Chronos.
|
||||
* This aims to emulate stubbing out 'now' which is a single global fact.
|
||||
*
|
||||
* @var \Cake\Chronos\ChronosInterface
|
||||
*/
|
||||
protected static $testNow;
|
||||
|
||||
/**
|
||||
* Format to use for __toString method when type juggling occurs.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected static $toStringFormat = ChronosInterface::DEFAULT_TO_STRING_FORMAT;
|
||||
|
||||
/**
|
||||
* Create a new Chronos instance.
|
||||
*
|
||||
* Please see the testing aids section (specifically static::setTestNow())
|
||||
* for more on the possibility of this constructor returning a test instance.
|
||||
*
|
||||
* @param string|null $time Fixed or relative time
|
||||
* @param \DateTimeZone|string|null $tz The timezone for the instance
|
||||
*/
|
||||
public function __construct($time = 'now', $tz = null)
|
||||
{
|
||||
if ($tz !== null) {
|
||||
$tz = $tz instanceof DateTimeZone ? $tz : new DateTimeZone($tz);
|
||||
}
|
||||
|
||||
static::$_lastErrors = [];
|
||||
$testNow = static::getTestNow();
|
||||
if ($testNow === null) {
|
||||
parent::__construct($time === null ? 'now' : $time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$relative = static::hasRelativeKeywords($time);
|
||||
if (!empty($time) && $time !== 'now' && !$relative) {
|
||||
parent::__construct($time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$testNow = clone $testNow;
|
||||
if ($relative) {
|
||||
$testNow = $testNow->modify($time);
|
||||
}
|
||||
|
||||
if ($tz !== $testNow->getTimezone()) {
|
||||
$testNow = $testNow->setTimezone($tz === null ? date_default_timezone_get() : $tz);
|
||||
}
|
||||
|
||||
$time = $testNow->format('Y-m-d H:i:s.u');
|
||||
parent::__construct($time, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new mutable instance from current immutable instance.
|
||||
*
|
||||
* @return \Cake\Chronos\MutableDateTime
|
||||
*/
|
||||
public function toMutable()
|
||||
{
|
||||
return MutableDateTime::instance($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a copy of the instance
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function copy()
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a ChronosInterface instance (real or mock) to be returned when a "now"
|
||||
* instance is created. The provided instance will be returned
|
||||
* specifically under the following conditions:
|
||||
* - A call to the static now() method, ex. ChronosInterface::now()
|
||||
* - When a null (or blank string) is passed to the constructor or parse(), ex. new Chronos(null)
|
||||
* - When the string "now" is passed to the constructor or parse(), ex. new Chronos('now')
|
||||
* - When a string containing the desired time is passed to ChronosInterface::parse()
|
||||
*
|
||||
* Note the timezone parameter was left out of the examples above and
|
||||
* has no affect as the mock value will be returned regardless of its value.
|
||||
*
|
||||
* To clear the test instance call this method using the default
|
||||
* parameter of null.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|string|null $testNow The instance to use for all future instances.
|
||||
* @return void
|
||||
*/
|
||||
public static function setTestNow($testNow = null)
|
||||
{
|
||||
static::$testNow = is_string($testNow) ? static::parse($testNow) : $testNow;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ChronosInterface instance (real or mock) to be returned when a "now"
|
||||
* instance is created.
|
||||
*
|
||||
* @return \Cake\Chronos\ChronosInterface The current instance used for testing
|
||||
*/
|
||||
public static function getTestNow()
|
||||
{
|
||||
return static::$testNow;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if there is a valid test instance set. A valid test instance
|
||||
* is anything that is not null.
|
||||
*
|
||||
* @return bool True if there is a test instance, otherwise false
|
||||
*/
|
||||
public static function hasTestNow()
|
||||
{
|
||||
return static::$testNow !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return properties for debugging.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function __debugInfo()
|
||||
{
|
||||
// Conditionally add properties if state exists to avoid
|
||||
// errors when using a debugger.
|
||||
$vars = get_object_vars($this);
|
||||
|
||||
$properties = [
|
||||
'hasFixedNow' => static::hasTestNow(),
|
||||
];
|
||||
|
||||
if (isset($vars['date'])) {
|
||||
$properties['time'] = $this->format('Y-m-d H:i:s.u');
|
||||
}
|
||||
|
||||
if (isset($vars['timezone'])) {
|
||||
$properties['timezone'] = $this->getTimezone()->getName();
|
||||
}
|
||||
|
||||
return $properties;
|
||||
}
|
||||
}
|
||||
1254
vendor/cakephp/chronos/src/ChronosInterface.php
vendored
Normal file
1254
vendor/cakephp/chronos/src/ChronosInterface.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
526
vendor/cakephp/chronos/src/ChronosInterval.php
vendored
Normal file
526
vendor/cakephp/chronos/src/ChronosInterval.php
vendored
Normal file
@@ -0,0 +1,526 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos;
|
||||
|
||||
use DateInterval;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* A simple API extension for DateInterval.
|
||||
* The implementation provides helpers to handle weeks but only days are saved.
|
||||
* Weeks are calculated based on the total days of the current instance.
|
||||
*
|
||||
* @property int $years Total years of the current interval.
|
||||
* @property int $months Total months of the current interval.
|
||||
* @property int $weeks Total weeks of the current interval calculated from the days.
|
||||
* @property int $dayz Total days of the current interval (weeks * 7 + days).
|
||||
* @property int $hours Total hours of the current interval.
|
||||
* @property int $minutes Total minutes of the current interval.
|
||||
* @property int $seconds Total seconds of the current interval.
|
||||
*
|
||||
* @property-read int $dayzExcludeWeeks Total days remaining in the final week of the current instance (days % 7).
|
||||
* @property-read int $daysExcludeWeeks alias of dayzExcludeWeeks
|
||||
*
|
||||
* @method static ChronosInterval years($years = 1) Create instance specifying a number of years.
|
||||
* @method static ChronosInterval year($years = 1) Alias for years
|
||||
* @method static ChronosInterval months($months = 1) Create instance specifying a number of months.
|
||||
* @method static ChronosInterval month($months = 1) Alias for months
|
||||
* @method static ChronosInterval weeks($weeks = 1) Create instance specifying a number of weeks.
|
||||
* @method static ChronosInterval week($weeks = 1) Alias for weeks
|
||||
* @method static ChronosInterval days($days = 1) Create instance specifying a number of days.
|
||||
* @method static ChronosInterval dayz($days = 1) Alias for days
|
||||
* @method static ChronosInterval day($days = 1) Alias for days
|
||||
* @method static ChronosInterval hours($hours = 1) Create instance specifying a number of hours.
|
||||
* @method static ChronosInterval hour($hours = 1) Alias for hours
|
||||
* @method static ChronosInterval minutes($minutes = 1) Create instance specifying a number of minutes.
|
||||
* @method static ChronosInterval minute($minutes = 1) Alias for minutes
|
||||
* @method static ChronosInterval seconds($seconds = 1) Create instance specifying a number of seconds.
|
||||
* @method static ChronosInterval second($seconds = 1) Alias for seconds
|
||||
*
|
||||
* @method ChronosInterval years() years($years = 1) Set the years portion of the current interval.
|
||||
* @method ChronosInterval year() year($years = 1) Alias for years.
|
||||
* @method ChronosInterval months() months($months = 1) Set the months portion of the current interval.
|
||||
* @method ChronosInterval month() month($months = 1) Alias for months.
|
||||
* @method ChronosInterval weeks() weeks($weeks = 1) Set the weeks portion of the current interval. Will overwrite dayz value.
|
||||
* @method ChronosInterval week() week($weeks = 1) Alias for weeks.
|
||||
* @method ChronosInterval days() days($days = 1) Set the days portion of the current interval.
|
||||
* @method ChronosInterval dayz() dayz($days = 1) Alias for days.
|
||||
* @method ChronosInterval day() day($days = 1) Alias for days.
|
||||
* @method ChronosInterval hours() hours($hours = 1) Set the hours portion of the current interval.
|
||||
* @method ChronosInterval hour() hour($hours = 1) Alias for hours.
|
||||
* @method ChronosInterval minutes() minutes($minutes = 1) Set the minutes portion of the current interval.
|
||||
* @method ChronosInterval minute() minute($minutes = 1) Alias for minutes.
|
||||
* @method ChronosInterval seconds() seconds($seconds = 1) Set the seconds portion of the current interval.
|
||||
* @method ChronosInterval second() second($seconds = 1) Alias for seconds.
|
||||
*/
|
||||
class ChronosInterval extends DateInterval
|
||||
{
|
||||
/**
|
||||
* Interval spec period designators
|
||||
*/
|
||||
const PERIOD_PREFIX = 'P';
|
||||
const PERIOD_YEARS = 'Y';
|
||||
const PERIOD_MONTHS = 'M';
|
||||
const PERIOD_DAYS = 'D';
|
||||
const PERIOD_TIME_PREFIX = 'T';
|
||||
const PERIOD_HOURS = 'H';
|
||||
const PERIOD_MINUTES = 'M';
|
||||
const PERIOD_SECONDS = 'S';
|
||||
|
||||
/**
|
||||
* Before PHP 5.4.20/5.5.4 instead of `false` days will be set to -99999 when the interval instance
|
||||
* was created by DateTime:diff().
|
||||
*/
|
||||
const PHP_DAYS_FALSE = -99999;
|
||||
|
||||
/**
|
||||
* Whether or not this object was created in HHVM
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $isHHVM = false;
|
||||
|
||||
/**
|
||||
* Determine if the interval was created via DateTime:diff() or not.
|
||||
*
|
||||
* @param \DateInterval $interval The interval to check.
|
||||
* @return bool
|
||||
*/
|
||||
protected static function wasCreatedFromDiff(DateInterval $interval)
|
||||
{
|
||||
return ($interval->days !== false && $interval->days !== static::PHP_DAYS_FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new ChronosInterval instance.
|
||||
*
|
||||
* @param int|null $years The year to use.
|
||||
* @param int|null $months The month to use.
|
||||
* @param int|null $weeks The week to use.
|
||||
* @param int|null $days The day to use.
|
||||
* @param int|null $hours The hours to use.
|
||||
* @param int|null $minutes The minutes to use.
|
||||
* @param int|null $seconds The seconds to use.
|
||||
*/
|
||||
public function __construct($years = 1, $months = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null)
|
||||
{
|
||||
$this->isHHVM = defined('HHVM_VERSION');
|
||||
$spec = static::PERIOD_PREFIX;
|
||||
|
||||
$spec .= $years > 0 ? $years . static::PERIOD_YEARS : '';
|
||||
$spec .= $months > 0 ? $months . static::PERIOD_MONTHS : '';
|
||||
|
||||
$specDays = 0;
|
||||
$specDays += $weeks > 0 ? $weeks * ChronosInterface::DAYS_PER_WEEK : 0;
|
||||
$specDays += $days > 0 ? $days : 0;
|
||||
|
||||
$spec .= ($specDays > 0) ? $specDays . static::PERIOD_DAYS : '';
|
||||
|
||||
if ($spec === static::PERIOD_PREFIX) {
|
||||
$spec .= '0' . static::PERIOD_YEARS;
|
||||
}
|
||||
|
||||
if ($hours > 0 || $minutes > 0 || $seconds > 0) {
|
||||
$spec .= static::PERIOD_TIME_PREFIX;
|
||||
$spec .= $hours > 0 ? $hours . static::PERIOD_HOURS : '';
|
||||
$spec .= $minutes > 0 ? $minutes . static::PERIOD_MINUTES : '';
|
||||
$spec .= $seconds > 0 ? $seconds . static::PERIOD_SECONDS : '';
|
||||
}
|
||||
|
||||
parent::__construct($spec);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new ChronosInterval instance from specific values.
|
||||
* This is an alias for the constructor that allows better fluent
|
||||
* syntax as it allows you to do ChronosInterval::create(1)->fn() rather than
|
||||
* (new ChronosInterval(1))->fn().
|
||||
*
|
||||
* @param int|null $years The year to use.
|
||||
* @param int|null $months The month to use.
|
||||
* @param int|null $weeks The week to use.
|
||||
* @param int|null $days The day to use.
|
||||
* @param int|null $hours The hours to use.
|
||||
* @param int|null $minutes The minutes to use.
|
||||
* @param int|null $seconds The seconds to use.
|
||||
* @return static
|
||||
*/
|
||||
public static function create($years = 1, $months = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null)
|
||||
{
|
||||
return new static($years, $months, $weeks, $days, $hours, $minutes, $seconds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide static helpers to create instances. Allows:
|
||||
*
|
||||
* ```
|
||||
* ChronosInterval::years(3)
|
||||
* // or
|
||||
* ChronosInterval::month(1);
|
||||
* ```
|
||||
*
|
||||
* Note: This is done using the magic method to allow static and instance methods to
|
||||
* have the same names.
|
||||
*
|
||||
* @param string $name The property to configure. Accepts singular and plural forms.
|
||||
* @param array $args Contains the value to use.
|
||||
* @return static
|
||||
*/
|
||||
public static function __callStatic($name, $args)
|
||||
{
|
||||
$arg = count($args) === 0 ? 1 : $args[0];
|
||||
|
||||
switch ($name) {
|
||||
case 'years':
|
||||
case 'year':
|
||||
return new static($arg);
|
||||
|
||||
case 'months':
|
||||
case 'month':
|
||||
return new static(null, $arg);
|
||||
|
||||
case 'weeks':
|
||||
case 'week':
|
||||
return new static(null, null, $arg);
|
||||
|
||||
case 'days':
|
||||
case 'dayz':
|
||||
case 'day':
|
||||
return new static(null, null, null, $arg);
|
||||
|
||||
case 'hours':
|
||||
case 'hour':
|
||||
return new static(null, null, null, null, $arg);
|
||||
|
||||
case 'minutes':
|
||||
case 'minute':
|
||||
return new static(null, null, null, null, null, $arg);
|
||||
|
||||
case 'seconds':
|
||||
case 'second':
|
||||
return new static(null, null, null, null, null, null, $arg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterval instance from a DateInterval one. Can not instance
|
||||
* DateInterval objects created from DateTime::diff() as you can't externally
|
||||
* set the $days field.
|
||||
*
|
||||
* @param \DateInterval $di The DateInterval instance to copy.
|
||||
* @throws \InvalidArgumentException
|
||||
* @return static
|
||||
*/
|
||||
public static function instance(DateInterval $di)
|
||||
{
|
||||
if (static::wasCreatedFromDiff($di)) {
|
||||
throw new InvalidArgumentException(
|
||||
"Can not instance a DateInterval object created from DateTime::diff()."
|
||||
);
|
||||
}
|
||||
|
||||
$instance = new static($di->y, $di->m, 0, $di->d, $di->h, $di->i, $di->s);
|
||||
$instance->invert = $di->invert;
|
||||
$instance->days = $di->days;
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a part of the ChronosInterval object
|
||||
*
|
||||
* @param string $name The property to read.
|
||||
* @throws \InvalidArgumentException
|
||||
* @return int
|
||||
*/
|
||||
public function __get($name)
|
||||
{
|
||||
switch ($name) {
|
||||
case 'years':
|
||||
return $this->isHHVM ? parent::__get('y') : $this->y;
|
||||
|
||||
case 'months':
|
||||
return $this->isHHVM ? parent::__get('m') : $this->m;
|
||||
|
||||
case 'dayz':
|
||||
return $this->isHHVM ? parent::__get('d') : $this->d;
|
||||
|
||||
case 'hours':
|
||||
return $this->isHHVM ? parent::__get('h') : $this->h;
|
||||
|
||||
case 'minutes':
|
||||
return $this->isHHVM ? parent::__get('i') : $this->i;
|
||||
|
||||
case 'seconds':
|
||||
return $this->isHHVM ? parent::__get('s') : $this->s;
|
||||
|
||||
case 'weeks':
|
||||
return (int)floor(($this->isHHVM ? parent::__get('d') : $this->d) / ChronosInterface::DAYS_PER_WEEK);
|
||||
|
||||
case 'daysExcludeWeeks':
|
||||
case 'dayzExcludeWeeks':
|
||||
return $this->dayz % ChronosInterface::DAYS_PER_WEEK;
|
||||
case 'days':
|
||||
return $this->isHHVM ? parent::__get('days') : $this->days;
|
||||
case 'y':
|
||||
case 'm':
|
||||
case 'd':
|
||||
case 'h':
|
||||
case 'i':
|
||||
case 's':
|
||||
case 'invert':
|
||||
return parent::__get($name);
|
||||
default:
|
||||
throw new InvalidArgumentException(sprintf("Unknown getter '%s'", $name));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a part of the ChronosInterval object
|
||||
*
|
||||
* @param string $name The property to augment.
|
||||
* @param int $val The value to change.
|
||||
* @return void
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function __set($name, $val)
|
||||
{
|
||||
switch ($name) {
|
||||
case 'years':
|
||||
$this->isHHVM ? parent::__set('y', $val) : $this->y = $val;
|
||||
break;
|
||||
|
||||
case 'months':
|
||||
$this->isHHVM ? parent::__set('m', $val) : $this->m = $val;
|
||||
break;
|
||||
|
||||
case 'weeks':
|
||||
$val = $val * ChronosInterface::DAYS_PER_WEEK;
|
||||
$this->isHHVM ? parent::__set('d', $val) : $this->d = $val;
|
||||
break;
|
||||
|
||||
case 'dayz':
|
||||
$this->isHHVM ? parent::__set('d', $val) : $this->d = $val;
|
||||
break;
|
||||
|
||||
case 'hours':
|
||||
$this->isHHVM ? parent::__set('h', $val) : $this->h = $val;
|
||||
break;
|
||||
|
||||
case 'minutes':
|
||||
$this->isHHVM ? parent::__set('i', $val) : $this->i = $val;
|
||||
break;
|
||||
|
||||
case 'seconds':
|
||||
$this->isHHVM ? parent::__set('s', $val) : $this->s = $val;
|
||||
break;
|
||||
|
||||
case 'invert':
|
||||
$this->isHHVM ? parent::__set('invert', $val) : $this->invert = $val;
|
||||
break;
|
||||
default:
|
||||
if ($this->isHHVM) {
|
||||
parent::__set($name, $val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow setting of weeks and days to be cumulative.
|
||||
*
|
||||
* @param int $weeks Number of weeks to set
|
||||
* @param int $days Number of days to set
|
||||
* @return static
|
||||
*/
|
||||
public function weeksAndDays($weeks, $days)
|
||||
{
|
||||
$this->dayz = ($weeks * ChronosInterface::DAYS_PER_WEEK) + $days;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow fluent calls on the setters... ChronosInterval::years(3)->months(5)->day().
|
||||
*
|
||||
* Note: This is done using the magic method to allow static and instance methods to
|
||||
* have the same names.
|
||||
*
|
||||
* @param string $name The property name to augment. Accepts plural forms in addition
|
||||
* to singular ones.
|
||||
* @param array $args The value to set.
|
||||
* @return static
|
||||
*/
|
||||
public function __call($name, $args)
|
||||
{
|
||||
$arg = count($args) === 0 ? 1 : $args[0];
|
||||
|
||||
switch ($name) {
|
||||
case 'years':
|
||||
case 'year':
|
||||
$this->years = $arg;
|
||||
break;
|
||||
|
||||
case 'months':
|
||||
case 'month':
|
||||
$this->months = $arg;
|
||||
break;
|
||||
|
||||
case 'weeks':
|
||||
case 'week':
|
||||
$this->dayz = $arg * ChronosInterface::DAYS_PER_WEEK;
|
||||
break;
|
||||
|
||||
case 'days':
|
||||
case 'dayz':
|
||||
case 'day':
|
||||
$this->dayz = $arg;
|
||||
break;
|
||||
|
||||
case 'hours':
|
||||
case 'hour':
|
||||
$this->hours = $arg;
|
||||
break;
|
||||
|
||||
case 'minutes':
|
||||
case 'minute':
|
||||
$this->minutes = $arg;
|
||||
break;
|
||||
|
||||
case 'seconds':
|
||||
case 'second':
|
||||
$this->seconds = $arg;
|
||||
break;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the passed interval to the current instance
|
||||
*
|
||||
* @param \DateInterval $interval The interval to add.
|
||||
* @return static
|
||||
*/
|
||||
public function add(DateInterval $interval)
|
||||
{
|
||||
$sign = ($interval->invert === 1) ? -1 : 1;
|
||||
|
||||
if (static::wasCreatedFromDiff($interval)) {
|
||||
$this->dayz = $this->dayz + ($interval->days * $sign);
|
||||
} else {
|
||||
$this->years = $this->years + ($interval->y * $sign);
|
||||
$this->months = $this->months + ($interval->m * $sign);
|
||||
$this->dayz = $this->dayz + ($interval->d * $sign);
|
||||
$this->hours = $this->hours + ($interval->h * $sign);
|
||||
$this->minutes = $this->minutes + ($interval->i * $sign);
|
||||
$this->seconds = $this->seconds + ($interval->s * $sign);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ISO 8601 interval string.
|
||||
*
|
||||
* @return string Interval as string representation
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
// equivalence
|
||||
$oneMinuteInSeconds = 60;
|
||||
$oneHourInSeconds = $oneMinuteInSeconds * 60;
|
||||
$oneDayInSeconds = $oneHourInSeconds * 24;
|
||||
$oneMonthInDays = 365 / 12;
|
||||
$oneMonthInSeconds = $oneDayInSeconds * $oneMonthInDays;
|
||||
$oneYearInSeconds = 12 * $oneMonthInSeconds;
|
||||
|
||||
// convert
|
||||
$ySecs = $this->y * $oneYearInSeconds;
|
||||
$mSecs = $this->m * $oneMonthInSeconds;
|
||||
$dSecs = $this->d * $oneDayInSeconds;
|
||||
$hSecs = $this->h * $oneHourInSeconds;
|
||||
$iSecs = $this->i * $oneMinuteInSeconds;
|
||||
$sSecs = $this->s;
|
||||
|
||||
$totalSecs = $ySecs + $mSecs + $dSecs + $hSecs + $iSecs + $sSecs;
|
||||
|
||||
$y = null;
|
||||
$m = null;
|
||||
$d = null;
|
||||
$h = null;
|
||||
$i = null;
|
||||
|
||||
// years
|
||||
if ($totalSecs >= $oneYearInSeconds) {
|
||||
$y = floor($totalSecs / $oneYearInSeconds);
|
||||
$totalSecs = $totalSecs - $y * $oneYearInSeconds;
|
||||
}
|
||||
|
||||
// months
|
||||
if ($totalSecs >= $oneMonthInSeconds) {
|
||||
$m = floor($totalSecs / $oneMonthInSeconds);
|
||||
$totalSecs = $totalSecs - $m * $oneMonthInSeconds;
|
||||
}
|
||||
|
||||
// days
|
||||
if ($totalSecs >= $oneDayInSeconds) {
|
||||
$d = floor($totalSecs / $oneDayInSeconds);
|
||||
$totalSecs = $totalSecs - $d * $oneDayInSeconds;
|
||||
}
|
||||
|
||||
// hours
|
||||
if ($totalSecs >= $oneHourInSeconds) {
|
||||
$h = floor($totalSecs / $oneHourInSeconds);
|
||||
$totalSecs = $totalSecs - $h * $oneHourInSeconds;
|
||||
}
|
||||
|
||||
// minutes
|
||||
if ($totalSecs >= $oneMinuteInSeconds) {
|
||||
$i = floor($totalSecs / $oneMinuteInSeconds);
|
||||
$totalSecs = $totalSecs - $i * $oneMinuteInSeconds;
|
||||
}
|
||||
|
||||
$s = $totalSecs;
|
||||
|
||||
$date = array_filter([
|
||||
static::PERIOD_YEARS => $y,
|
||||
static::PERIOD_MONTHS => $m,
|
||||
static::PERIOD_DAYS => $d,
|
||||
]);
|
||||
|
||||
$time = array_filter([
|
||||
static::PERIOD_HOURS => $h,
|
||||
static::PERIOD_MINUTES => $i,
|
||||
static::PERIOD_SECONDS => $s,
|
||||
]);
|
||||
|
||||
$specString = static::PERIOD_PREFIX;
|
||||
|
||||
foreach ($date as $key => $value) {
|
||||
$specString .= $value . $key;
|
||||
}
|
||||
|
||||
if (count($time) > 0) {
|
||||
$specString .= static::PERIOD_TIME_PREFIX;
|
||||
foreach ($time as $key => $value) {
|
||||
$specString .= $value . $key;
|
||||
}
|
||||
}
|
||||
|
||||
if ($specString === static::PERIOD_PREFIX) {
|
||||
return 'PT0S';
|
||||
}
|
||||
|
||||
return $this->invert === 1 ? '-' . $specString : $specString;
|
||||
}
|
||||
}
|
||||
150
vendor/cakephp/chronos/src/Date.php
vendored
Normal file
150
vendor/cakephp/chronos/src/Date.php
vendored
Normal file
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
|
||||
namespace Cake\Chronos;
|
||||
|
||||
use DateTimeImmutable;
|
||||
use DateTimeZone;
|
||||
|
||||
/**
|
||||
* An immutable date object that converts all time components into 00:00:00.
|
||||
*
|
||||
* This class is useful when you want to represent a calendar date and ignore times.
|
||||
* This means that timezone changes take no effect as a calendar date exists in all timezones
|
||||
* in each respective date.
|
||||
*
|
||||
* @property-read int $year
|
||||
* @property-read int $yearIso
|
||||
* @property-read int $month
|
||||
* @property-read int $day
|
||||
* @property-read int $hour
|
||||
* @property-read int $minute
|
||||
* @property-read int $second
|
||||
* @property-read int $timestamp seconds since the Unix Epoch
|
||||
* @property-read DateTimeZone $timezone the current timezone
|
||||
* @property-read DateTimeZone $tz alias of timezone
|
||||
* @property-read int $micro
|
||||
* @property-read int $dayOfWeek 1 (for Monday) through 7 (for Sunday)
|
||||
* @property-read int $dayOfYear 0 through 365
|
||||
* @property-read int $weekOfMonth 1 through 5
|
||||
* @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday
|
||||
* @property-read int $daysInMonth number of days in the given month
|
||||
* @property-read int $age does a diffInYears() with default parameters
|
||||
* @property-read int $quarter the quarter of this instance, 1 - 4
|
||||
* @property-read int $offset the timezone offset in seconds from UTC
|
||||
* @property-read int $offsetHours the timezone offset in hours from UTC
|
||||
* @property-read bool $dst daylight savings time indicator, true if DST, false otherwise
|
||||
* @property-read bool $local checks if the timezone is local, true if local, false otherwise
|
||||
* @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise
|
||||
* @property-read string $timezoneName
|
||||
* @property-read string $tzName
|
||||
*/
|
||||
class Date extends DateTimeImmutable implements ChronosInterface
|
||||
{
|
||||
use Traits\ComparisonTrait;
|
||||
use Traits\DifferenceTrait;
|
||||
use Traits\FactoryTrait;
|
||||
use Traits\FormattingTrait;
|
||||
use Traits\FrozenTimeTrait;
|
||||
use Traits\MagicPropertyTrait;
|
||||
use Traits\ModifierTrait;
|
||||
use Traits\TestingAidTrait;
|
||||
|
||||
/**
|
||||
* Format to use for __toString method when type juggling occurs.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected static $toStringFormat = 'Y-m-d';
|
||||
|
||||
/**
|
||||
* Create a new Immutable Date instance.
|
||||
*
|
||||
* Please see the testing aids section (specifically static::setTestNow())
|
||||
* for more on the possibility of this constructor returning a test instance.
|
||||
*
|
||||
* Date instances lack time components, however due to limitations in PHP's
|
||||
* internal Datetime object the time will always be set to 00:00:00, and the
|
||||
* timezone will always be UTC. Normalizing the timezone allows for
|
||||
* subtraction/addition to have deterministic results.
|
||||
*
|
||||
* @param string|null $time Fixed or relative time
|
||||
*/
|
||||
public function __construct($time = 'now')
|
||||
{
|
||||
$tz = new DateTimeZone('UTC');
|
||||
$testNow = Chronos::getTestNow();
|
||||
if ($testNow === null) {
|
||||
$time = $this->stripTime($time);
|
||||
|
||||
parent::__construct($time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$relative = static::hasRelativeKeywords($time);
|
||||
if (!empty($time) && $time !== 'now' && !$relative) {
|
||||
$time = $this->stripTime($time);
|
||||
|
||||
parent::__construct($time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$testNow = clone $testNow;
|
||||
if ($relative) {
|
||||
$time = $this->stripRelativeTime($time);
|
||||
if (strlen($time) > 0) {
|
||||
$testNow = $testNow->modify($time);
|
||||
}
|
||||
}
|
||||
|
||||
if ($tz !== $testNow->getTimezone()) {
|
||||
$testNow = $testNow->setTimezone($tz === null ? date_default_timezone_get() : $tz);
|
||||
}
|
||||
|
||||
$time = $testNow->format('Y-m-d 00:00:00');
|
||||
parent::__construct($time, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new mutable instance from current immutable instance.
|
||||
*
|
||||
* @return \Cake\Chronos\MutableDate
|
||||
*/
|
||||
public function toMutable()
|
||||
{
|
||||
return MutableDate::instance($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return properties for debugging.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function __debugInfo()
|
||||
{
|
||||
// Conditionally add properties if state exists to avoid
|
||||
// errors when using a debugger.
|
||||
$vars = get_object_vars($this);
|
||||
|
||||
$properties = [
|
||||
'hasFixedNow' => static::hasTestNow(),
|
||||
];
|
||||
|
||||
if (isset($vars['date'])) {
|
||||
$properties['date'] = $this->format('Y-m-d');
|
||||
}
|
||||
|
||||
return $properties;
|
||||
}
|
||||
}
|
||||
103
vendor/cakephp/chronos/src/DifferenceFormatter.php
vendored
Normal file
103
vendor/cakephp/chronos/src/DifferenceFormatter.php
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos;
|
||||
|
||||
/**
|
||||
* Handles formatting differences in text.
|
||||
*
|
||||
* Provides a swappable component for other libraries to leverage.
|
||||
* when localizing or customizing the difference output.
|
||||
*/
|
||||
class DifferenceFormatter
|
||||
{
|
||||
|
||||
/**
|
||||
* The text translator object
|
||||
*
|
||||
* @var \Cake\Chronos\Translator
|
||||
*/
|
||||
protected $translate;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param \Cake\Chronos\Translator|null $translate The text translator object.
|
||||
*/
|
||||
public function __construct($translate = null)
|
||||
{
|
||||
$this->translate = $translate ?: new Translator();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in a human readable format.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $date The datetime to start with.
|
||||
* @param \Cake\Chronos\ChronosInterface|null $other The datetime to compare against.
|
||||
* @param bool $absolute removes time difference modifiers ago, after, etc
|
||||
* @return string The difference between the two days in a human readable format
|
||||
* @see \Cake\Chronos\ChronosInterface::diffForHumans
|
||||
*/
|
||||
public function diffForHumans(ChronosInterface $date, ChronosInterface $other = null, $absolute = false)
|
||||
{
|
||||
$isNow = $other === null;
|
||||
if ($isNow) {
|
||||
$other = $date->now($date->tz);
|
||||
}
|
||||
$diffInterval = $date->diff($other);
|
||||
|
||||
switch (true) {
|
||||
case ($diffInterval->y > 0):
|
||||
$unit = 'year';
|
||||
$count = $diffInterval->y;
|
||||
break;
|
||||
case ($diffInterval->m > 0):
|
||||
$unit = 'month';
|
||||
$count = $diffInterval->m;
|
||||
break;
|
||||
case ($diffInterval->d > 0):
|
||||
$unit = 'day';
|
||||
$count = $diffInterval->d;
|
||||
if ($count >= ChronosInterface::DAYS_PER_WEEK) {
|
||||
$unit = 'week';
|
||||
$count = (int)($count / ChronosInterface::DAYS_PER_WEEK);
|
||||
}
|
||||
break;
|
||||
case ($diffInterval->h > 0):
|
||||
$unit = 'hour';
|
||||
$count = $diffInterval->h;
|
||||
break;
|
||||
case ($diffInterval->i > 0):
|
||||
$unit = 'minute';
|
||||
$count = $diffInterval->i;
|
||||
break;
|
||||
default:
|
||||
$count = $diffInterval->s;
|
||||
$unit = 'second';
|
||||
break;
|
||||
}
|
||||
$time = $this->translate->plural($unit, $count, ['count' => $count]);
|
||||
if ($absolute) {
|
||||
return $time;
|
||||
}
|
||||
$isFuture = $diffInterval->invert === 1;
|
||||
$transId = $isNow ? ($isFuture ? 'from_now' : 'ago') : ($isFuture ? 'after' : 'before');
|
||||
|
||||
// Some langs have special pluralization for past and future tense.
|
||||
$tryKeyExists = $unit . '_' . $transId;
|
||||
if ($this->translate->exists($tryKeyExists)) {
|
||||
$time = $this->translate->plural($tryKeyExists, $count, ['count' => $count]);
|
||||
}
|
||||
|
||||
return $this->translate->singular($transId, ['time' => $time]);
|
||||
}
|
||||
}
|
||||
149
vendor/cakephp/chronos/src/MutableDate.php
vendored
Normal file
149
vendor/cakephp/chronos/src/MutableDate.php
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos;
|
||||
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
|
||||
/**
|
||||
* A mutable date object that converts all time components into 00:00:00.
|
||||
*
|
||||
* This class is useful when you want to represent a calendar date and ignore times.
|
||||
* This means that timezone changes take no effect as a calendar date exists in all timezones
|
||||
* in each respective date.
|
||||
*
|
||||
* @property-read int $year
|
||||
* @property-read int $yearIso
|
||||
* @property-read int $month
|
||||
* @property-read int $day
|
||||
* @property-read int $hour
|
||||
* @property-read int $minute
|
||||
* @property-read int $second
|
||||
* @property-read int $timestamp seconds since the Unix Epoch
|
||||
* @property-read DateTimeZone $timezone the current timezone
|
||||
* @property-read DateTimeZone $tz alias of timezone
|
||||
* @property-read int $micro
|
||||
* @property-read int $dayOfWeek 1 (for Monday) through 7 (for Sunday)
|
||||
* @property-read int $dayOfYear 0 through 365
|
||||
* @property-read int $weekOfMonth 1 through 5
|
||||
* @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday
|
||||
* @property-read int $daysInMonth number of days in the given month
|
||||
* @property-read int $age does a diffInYears() with default parameters
|
||||
* @property-read int $quarter the quarter of this instance, 1 - 4
|
||||
* @property-read int $offset the timezone offset in seconds from UTC
|
||||
* @property-read int $offsetHours the timezone offset in hours from UTC
|
||||
* @property-read bool $dst daylight savings time indicator, true if DST, false otherwise
|
||||
* @property-read bool $local checks if the timezone is local, true if local, false otherwise
|
||||
* @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise
|
||||
* @property-read string $timezoneName
|
||||
* @property-read string $tzName
|
||||
*/
|
||||
class MutableDate extends DateTime implements ChronosInterface
|
||||
{
|
||||
use Traits\ComparisonTrait;
|
||||
use Traits\DifferenceTrait;
|
||||
use Traits\FactoryTrait;
|
||||
use Traits\FormattingTrait;
|
||||
use Traits\FrozenTimeTrait;
|
||||
use Traits\MagicPropertyTrait;
|
||||
use Traits\ModifierTrait;
|
||||
use Traits\TestingAidTrait;
|
||||
|
||||
/**
|
||||
* Format to use for __toString method when type juggling occurs.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected static $toStringFormat = 'Y-m-d';
|
||||
|
||||
/**
|
||||
* Create a new mutable Date instance.
|
||||
*
|
||||
* Please see the testing aids section (specifically static::setTestNow())
|
||||
* for more on the possibility of this constructor returning a test instance.
|
||||
*
|
||||
* Date instances lack time components, however due to limitations in PHP's
|
||||
* internal Datetime object the time will always be set to 00:00:00, and the
|
||||
* timezone will always be UTC. Normalizing the timezone allows for
|
||||
* subtraction/addition to have deterministic results.
|
||||
*
|
||||
* @param string|null $time Fixed or relative time
|
||||
*/
|
||||
public function __construct($time = 'now')
|
||||
{
|
||||
$tz = new DateTimeZone('UTC');
|
||||
|
||||
$testNow = Chronos::getTestNow();
|
||||
if ($testNow === null) {
|
||||
$time = $this->stripTime($time);
|
||||
parent::__construct($time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$relative = static::hasRelativeKeywords($time);
|
||||
if (!empty($time) && $time !== 'now' && !$relative) {
|
||||
$time = $this->stripTime($time);
|
||||
|
||||
parent::__construct($time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$testNow = clone $testNow;
|
||||
if ($relative) {
|
||||
$time = $this->stripRelativeTime($time);
|
||||
if (strlen($time) > 0) {
|
||||
$testNow = $testNow->modify($time);
|
||||
}
|
||||
}
|
||||
|
||||
if ($tz !== $testNow->getTimezone()) {
|
||||
$testNow = $testNow->setTimezone($tz === null ? date_default_timezone_get() : $tz);
|
||||
}
|
||||
|
||||
$time = $testNow->format('Y-m-d 00:00:00');
|
||||
parent::__construct($time, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new immutable instance from current mutable instance.
|
||||
*
|
||||
* @return \Cake\Chronos\Date
|
||||
*/
|
||||
public function toImmutable()
|
||||
{
|
||||
return Date::instance($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return properties for debugging.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function __debugInfo()
|
||||
{
|
||||
// Conditionally add properties if state exists to avoid
|
||||
// errors when using a debugger.
|
||||
$vars = get_object_vars($this);
|
||||
|
||||
$properties = [
|
||||
'hasFixedNow' => static::hasTestNow(),
|
||||
];
|
||||
|
||||
if (isset($vars['date'])) {
|
||||
$properties['date'] = $this->format('Y-m-d');
|
||||
}
|
||||
|
||||
return $properties;
|
||||
}
|
||||
}
|
||||
196
vendor/cakephp/chronos/src/MutableDateTime.php
vendored
Normal file
196
vendor/cakephp/chronos/src/MutableDateTime.php
vendored
Normal file
@@ -0,0 +1,196 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos;
|
||||
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* A mutable datetime instance that implements the ChronosInterface.
|
||||
*
|
||||
* This object can be mutated in place using any setter method,
|
||||
* or __set().
|
||||
*
|
||||
* @property-read int $year
|
||||
* @property-read int $yearIso
|
||||
* @property-read int $month
|
||||
* @property-read int $day
|
||||
* @property-read int $hour
|
||||
* @property-read int $minute
|
||||
* @property-read int $second
|
||||
* @property-read int $timestamp seconds since the Unix Epoch
|
||||
* @property-read DateTimeZone $timezone the current timezone
|
||||
* @property-read DateTimeZone $tz alias of timezone
|
||||
* @property-read int $micro
|
||||
* @property-read int $dayOfWeek 1 (for Monday) through 7 (for Sunday)
|
||||
* @property-read int $dayOfYear 0 through 365
|
||||
* @property-read int $weekOfMonth 1 through 5
|
||||
* @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday
|
||||
* @property-read int $daysInMonth number of days in the given month
|
||||
* @property-read int $age does a diffInYears() with default parameters
|
||||
* @property-read int $quarter the quarter of this instance, 1 - 4
|
||||
* @property-read int $offset the timezone offset in seconds from UTC
|
||||
* @property-read int $offsetHours the timezone offset in hours from UTC
|
||||
* @property-read bool $dst daylight savings time indicator, true if DST, false otherwise
|
||||
* @property-read bool $local checks if the timezone is local, true if local, false otherwise
|
||||
* @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise
|
||||
* @property-read string $timezoneName
|
||||
* @property-read string $tzName
|
||||
*/
|
||||
class MutableDateTime extends DateTime implements ChronosInterface
|
||||
{
|
||||
use Traits\ComparisonTrait;
|
||||
use Traits\DifferenceTrait;
|
||||
use Traits\FactoryTrait;
|
||||
use Traits\FormattingTrait;
|
||||
use Traits\MagicPropertyTrait;
|
||||
use Traits\ModifierTrait;
|
||||
use Traits\RelativeKeywordTrait;
|
||||
use Traits\TestingAidTrait;
|
||||
use Traits\TimezoneTrait;
|
||||
|
||||
/**
|
||||
* Format to use for __toString method when type juggling occurs.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected static $toStringFormat = ChronosInterface::DEFAULT_TO_STRING_FORMAT;
|
||||
|
||||
/**
|
||||
* Create a new MutableDateTime instance.
|
||||
*
|
||||
* Please see the testing aids section (specifically static::setTestNow())
|
||||
* for more on the possibility of this constructor returning a test instance.
|
||||
*
|
||||
* @param string|null $time Fixed or relative time
|
||||
* @param \DateTimeZone|string|null $tz The timezone for the instance
|
||||
*/
|
||||
public function __construct($time = 'now', $tz = null)
|
||||
{
|
||||
if ($tz !== null) {
|
||||
$tz = $tz instanceof DateTimeZone ? $tz : new DateTimeZone($tz);
|
||||
}
|
||||
|
||||
$testNow = Chronos::getTestNow();
|
||||
if ($testNow === null) {
|
||||
parent::__construct($time === null ? 'now' : $time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$relative = static::hasRelativeKeywords($time);
|
||||
if (!empty($time) && $time !== 'now' && !$relative) {
|
||||
parent::__construct($time, $tz);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$testNow = clone $testNow;
|
||||
if ($relative) {
|
||||
$testNow = $testNow->modify($time);
|
||||
}
|
||||
|
||||
if ($tz !== $testNow->getTimezone()) {
|
||||
$testNow = $testNow->setTimezone($tz === null ? date_default_timezone_get() : $tz);
|
||||
}
|
||||
|
||||
$time = $testNow->format('Y-m-d H:i:s.u');
|
||||
parent::__construct($time, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new immutable instance from current mutable instance.
|
||||
*
|
||||
* @return Chronos
|
||||
*/
|
||||
public function toImmutable()
|
||||
{
|
||||
return Chronos::instance($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a part of the ChronosInterface object
|
||||
*
|
||||
* @param string $name The property to set.
|
||||
* @param string|int|\DateTimeZone $value The value to set.
|
||||
* @throws \InvalidArgumentException
|
||||
* @return void
|
||||
*/
|
||||
public function __set($name, $value)
|
||||
{
|
||||
switch ($name) {
|
||||
case 'year':
|
||||
$this->year($value);
|
||||
break;
|
||||
|
||||
case 'month':
|
||||
$this->month($value);
|
||||
break;
|
||||
|
||||
case 'day':
|
||||
$this->day($value);
|
||||
break;
|
||||
|
||||
case 'hour':
|
||||
$this->hour($value);
|
||||
break;
|
||||
|
||||
case 'minute':
|
||||
$this->minute($value);
|
||||
break;
|
||||
|
||||
case 'second':
|
||||
$this->second($value);
|
||||
break;
|
||||
|
||||
case 'timestamp':
|
||||
$this->timestamp($value);
|
||||
break;
|
||||
|
||||
case 'timezone':
|
||||
case 'tz':
|
||||
$this->timezone($value);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new InvalidArgumentException(sprintf("Unknown setter '%s'", $name));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return properties for debugging.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function __debugInfo()
|
||||
{
|
||||
// Conditionally add properties if state exists to avoid
|
||||
// errors when using a debugger.
|
||||
$vars = get_object_vars($this);
|
||||
|
||||
$properties = [
|
||||
'hasFixedNow' => static::hasTestNow(),
|
||||
];
|
||||
|
||||
if (isset($vars['date'])) {
|
||||
$properties['time'] = $this->format('Y-m-d H:i:s.u');
|
||||
}
|
||||
|
||||
if (isset($vars['timezone'])) {
|
||||
$properties['timezone'] = $this->getTimezone()->getName();
|
||||
}
|
||||
|
||||
return $properties;
|
||||
}
|
||||
}
|
||||
499
vendor/cakephp/chronos/src/Traits/ComparisonTrait.php
vendored
Normal file
499
vendor/cakephp/chronos/src/Traits/ComparisonTrait.php
vendored
Normal file
@@ -0,0 +1,499 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use Cake\Chronos\ChronosInterface;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
* Provides various comparison operator methods for datetime objects.
|
||||
*/
|
||||
trait ComparisonTrait
|
||||
{
|
||||
use CopyTrait;
|
||||
|
||||
/**
|
||||
* Days of weekend
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $weekendDays = [ChronosInterface::SATURDAY, ChronosInterface::SUNDAY];
|
||||
|
||||
/**
|
||||
* Get weekend days
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getWeekendDays()
|
||||
{
|
||||
return static::$weekendDays;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set weekend days
|
||||
*
|
||||
* @param array $days Which days are 'weekends'.
|
||||
* @return void
|
||||
*/
|
||||
public static function setWeekendDays($days)
|
||||
{
|
||||
static::$weekendDays = $days;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is equal to another
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to compare with.
|
||||
* @return bool
|
||||
*/
|
||||
public function eq(ChronosInterface $dt)
|
||||
{
|
||||
return $this == $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is not equal to another
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to compare with.
|
||||
* @return bool
|
||||
*/
|
||||
public function ne(ChronosInterface $dt)
|
||||
{
|
||||
return !$this->eq($dt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is greater (after) than another
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to compare with.
|
||||
* @return bool
|
||||
*/
|
||||
public function gt(ChronosInterface $dt)
|
||||
{
|
||||
return $this > $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is greater (after) than or equal to another
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to compare with.
|
||||
* @return bool
|
||||
*/
|
||||
public function gte(ChronosInterface $dt)
|
||||
{
|
||||
return $this >= $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is less (before) than another
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to compare with.
|
||||
* @return bool
|
||||
*/
|
||||
public function lt(ChronosInterface $dt)
|
||||
{
|
||||
return $this < $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is less (before) or equal to another
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to compare with.
|
||||
* @return bool
|
||||
*/
|
||||
public function lte(ChronosInterface $dt)
|
||||
{
|
||||
return $this <= $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is between two others
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt1 The instance to compare with.
|
||||
* @param \Cake\Chronos\ChronosInterface $dt2 The instance to compare with.
|
||||
* @param bool $equal Indicates if a > and < comparison should be used or <= or >=
|
||||
* @return bool
|
||||
*/
|
||||
public function between(ChronosInterface $dt1, ChronosInterface $dt2, $equal = true)
|
||||
{
|
||||
if ($dt1->gt($dt2)) {
|
||||
$temp = $dt1;
|
||||
$dt1 = $dt2;
|
||||
$dt2 = $temp;
|
||||
}
|
||||
|
||||
if ($equal) {
|
||||
return $this->gte($dt1) && $this->lte($dt2);
|
||||
}
|
||||
|
||||
return $this->gt($dt1) && $this->lt($dt2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the closest date from the instance.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt1 The instance to compare with.
|
||||
* @param \Cake\Chronos\ChronosInterface $dt2 The instance to compare with.
|
||||
* @return \Cake\Chronos\ChronosInterface
|
||||
*/
|
||||
public function closest(ChronosInterface $dt1, ChronosInterface $dt2)
|
||||
{
|
||||
return $this->diffInSeconds($dt1) < $this->diffInSeconds($dt2) ? $dt1 : $dt2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the farthest date from the instance.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt1 The instance to compare with.
|
||||
* @param \Cake\Chronos\ChronosInterface $dt2 The instance to compare with.
|
||||
* @return \Cake\Chronos\ChronosInterface
|
||||
*/
|
||||
public function farthest(ChronosInterface $dt1, ChronosInterface $dt2)
|
||||
{
|
||||
return $this->diffInSeconds($dt1) > $this->diffInSeconds($dt2) ? $dt1 : $dt2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the minimum instance between a given instance (default now) and the current instance.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to compare with.
|
||||
* @return static
|
||||
*/
|
||||
public function min(ChronosInterface $dt = null)
|
||||
{
|
||||
$dt = ($dt === null) ? static::now($this->tz) : $dt;
|
||||
|
||||
return $this->lt($dt) ? $this : $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the maximum instance between a given instance (default now) and the current instance.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to compare with.
|
||||
* @return static
|
||||
*/
|
||||
public function max(ChronosInterface $dt = null)
|
||||
{
|
||||
$dt = ($dt === null) ? static::now($this->tz) : $dt;
|
||||
|
||||
return $this->gt($dt) ? $this : $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is a weekday
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isWeekday()
|
||||
{
|
||||
return !$this->isWeekend();
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is a weekend day
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isWeekend()
|
||||
{
|
||||
return in_array($this->dayOfWeek, self::$weekendDays, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is yesterday
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isYesterday()
|
||||
{
|
||||
return $this->toDateString() === static::yesterday($this->tz)->toDateString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is today
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isToday()
|
||||
{
|
||||
return $this->toDateString() === static::now($this->tz)->toDateString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is tomorrow
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isTomorrow()
|
||||
{
|
||||
return $this->toDateString() === static::tomorrow($this->tz)->toDateString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is within the next week
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isNextWeek()
|
||||
{
|
||||
return $this->format('W o') === static::now($this->tz)->addWeek()->format('W o');
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is within the last week
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isLastWeek()
|
||||
{
|
||||
return $this->format('W o') === static::now($this->tz)->subWeek()->format('W o');
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is within the next month
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isNextMonth()
|
||||
{
|
||||
return $this->format('m Y') === static::now($this->tz)->addMonth()->format('m Y');
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is within the last month
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isLastMonth()
|
||||
{
|
||||
return $this->format('m Y') === static::now($this->tz)->subMonth()->format('m Y');
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is within the next year
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isNextYear()
|
||||
{
|
||||
return $this->year === static::now($this->tz)->addYear()->year;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is within the last year
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isLastYear()
|
||||
{
|
||||
return $this->year === static::now($this->tz)->subYear()->year;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is in the future, ie. greater (after) than now
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isFuture()
|
||||
{
|
||||
return $this->gt(static::now($this->tz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is in the past, ie. less (before) than now
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isPast()
|
||||
{
|
||||
return $this->lt(static::now($this->tz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the instance is a leap year
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isLeapYear()
|
||||
{
|
||||
return $this->format('L') === '1';
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the passed in date is the same day as the instance current day.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface $dt The instance to check against.
|
||||
* @return bool
|
||||
*/
|
||||
public function isSameDay(ChronosInterface $dt)
|
||||
{
|
||||
return $this->toDateString() === $dt->toDateString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Sunday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isSunday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::SUNDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Monday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isMonday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::MONDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Tuesday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isTuesday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::TUESDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Wednesday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isWednesday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::WEDNESDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Thursday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isThursday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::THURSDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Friday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isFriday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::FRIDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this day is a Saturday.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isSaturday()
|
||||
{
|
||||
return $this->dayOfWeek === ChronosInterface::SATURDAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this object represents a date within the current week
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isThisWeek()
|
||||
{
|
||||
return static::now($this->getTimezone())->format('W o') === $this->format('W o');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this object represents a date within the current month
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isThisMonth()
|
||||
{
|
||||
return static::now($this->getTimezone())->format('m Y') === $this->format('m Y');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this object represents a date within the current year
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isThisYear()
|
||||
{
|
||||
return static::now($this->getTimezone())->format('Y') === $this->format('Y');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if its the birthday. Compares the date/month values of the two dates.
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to compare with or null to use current day.
|
||||
* @return static
|
||||
*/
|
||||
public function isBirthday(ChronosInterface $dt = null)
|
||||
{
|
||||
if ($dt === null) {
|
||||
$dt = static::now($this->tz);
|
||||
}
|
||||
|
||||
return $this->format('md') === $dt->format('md');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true this instance happened within the specified interval
|
||||
*
|
||||
* @param string|int $timeInterval the numeric value with space then time type.
|
||||
* Example of valid types: 6 hours, 2 days, 1 minute.
|
||||
* @return bool
|
||||
*/
|
||||
public function wasWithinLast($timeInterval)
|
||||
{
|
||||
$now = new static();
|
||||
$interval = $now->copy()->modify('-' . $timeInterval);
|
||||
$thisTime = $this->format('U');
|
||||
|
||||
return $thisTime >= $interval->format('U') && $thisTime <= $now->format('U');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true this instance will happen within the specified interval
|
||||
*
|
||||
* @param string|int $timeInterval the numeric value with space then time type.
|
||||
* Example of valid types: 6 hours, 2 days, 1 minute.
|
||||
* @return bool
|
||||
*/
|
||||
public function isWithinNext($timeInterval)
|
||||
{
|
||||
$now = new static();
|
||||
$interval = $now->copy()->modify('+' . $timeInterval);
|
||||
$thisTime = $this->format('U');
|
||||
|
||||
return $thisTime <= $interval->format('U') && $thisTime >= $now->format('U');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if instance of ChronosInterface is mutable.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isMutable()
|
||||
{
|
||||
return $this instanceof DateTime;
|
||||
}
|
||||
}
|
||||
31
vendor/cakephp/chronos/src/Traits/CopyTrait.php
vendored
Normal file
31
vendor/cakephp/chronos/src/Traits/CopyTrait.php
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
/**
|
||||
* Provides methods for copying datetime objects.
|
||||
*
|
||||
* Expects that implementing classes provide a static `instance()` method.
|
||||
*/
|
||||
trait CopyTrait
|
||||
{
|
||||
/**
|
||||
* Get a copy of the instance
|
||||
*
|
||||
* @return static
|
||||
*/
|
||||
public function copy()
|
||||
{
|
||||
return static::instance($this);
|
||||
}
|
||||
}
|
||||
302
vendor/cakephp/chronos/src/Traits/DifferenceTrait.php
vendored
Normal file
302
vendor/cakephp/chronos/src/Traits/DifferenceTrait.php
vendored
Normal file
@@ -0,0 +1,302 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use Cake\Chronos\ChronosInterface;
|
||||
use Cake\Chronos\ChronosInterval;
|
||||
use Cake\Chronos\DifferenceFormatter;
|
||||
use DatePeriod;
|
||||
use DateTimeImmutable;
|
||||
use DateTimeInterface;
|
||||
|
||||
/**
|
||||
* Provides methods for getting differences between datetime objects.
|
||||
*
|
||||
* Expects that the implementing class implements:
|
||||
*
|
||||
* - static::now()
|
||||
* - static::instance()
|
||||
* - copy()
|
||||
*/
|
||||
trait DifferenceTrait
|
||||
{
|
||||
/**
|
||||
* Instance of the diff formatting object.
|
||||
*
|
||||
* @var \Cake\Chronos\DifferenceFormatter
|
||||
*/
|
||||
protected static $diffFormatter;
|
||||
|
||||
/**
|
||||
* Get the difference in years
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInYears(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
$dt = $dt === null ? static::now($this->tz) : $dt;
|
||||
|
||||
return (int)$this->diff($dt, $abs)->format('%r%y');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in months
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInMonths(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
$dt = $dt === null ? static::now($this->tz) : $dt;
|
||||
|
||||
return $this->diffInYears($dt, $abs) * ChronosInterface::MONTHS_PER_YEAR + (int)$this->diff($dt, $abs)->format('%r%m');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in weeks
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInWeeks(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return (int)($this->diffInDays($dt, $abs) / ChronosInterface::DAYS_PER_WEEK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in days
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInDays(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
$dt = $dt === null ? static::now($this->tz) : $dt;
|
||||
|
||||
return (int)$this->diff($dt, $abs)->format('%r%a');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in days using a filter callable
|
||||
*
|
||||
* @param callable $callback The callback to use for filtering.
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInDaysFiltered(callable $callback, ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return $this->diffFiltered(ChronosInterval::day(), $callback, $dt, $abs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in hours using a filter callable
|
||||
*
|
||||
* @param callable $callback The callback to use for filtering.
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInHoursFiltered(callable $callback, ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return $this->diffFiltered(ChronosInterval::hour(), $callback, $dt, $abs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference by the given interval using a filter callable
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterval $ci An interval to traverse by
|
||||
* @param callable $callback The callback to use for filtering.
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffFiltered(ChronosInterval $ci, callable $callback, ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
$start = $this;
|
||||
$end = $dt === null ? static::now($this->tz) : $dt;
|
||||
$inverse = false;
|
||||
|
||||
if (defined('HHVM_VERSION')) {
|
||||
$start = new DateTimeImmutable($this->toIso8601String());
|
||||
$end = new DateTimeImmutable($end->toIso8601String());
|
||||
}
|
||||
|
||||
if ($end < $start) {
|
||||
$start = $end;
|
||||
$end = $this;
|
||||
$inverse = true;
|
||||
}
|
||||
|
||||
$period = new DatePeriod($start, $ci, $end);
|
||||
$vals = array_filter(iterator_to_array($period), function (DateTimeInterface $date) use ($callback) {
|
||||
return $callback(static::instance($date));
|
||||
});
|
||||
|
||||
$diff = count($vals);
|
||||
|
||||
return $inverse && !$abs ? -$diff : $diff;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in weekdays
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInWeekdays(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return $this->diffInDaysFiltered(function (ChronosInterface $date) {
|
||||
return $date->isWeekday();
|
||||
}, $dt, $abs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in weekend days using a filter
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInWeekendDays(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return $this->diffInDaysFiltered(function (ChronosInterface $date) {
|
||||
return $date->isWeekend();
|
||||
}, $dt, $abs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in hours
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInHours(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return (int)($this->diffInSeconds($dt, $abs) / ChronosInterface::SECONDS_PER_MINUTE / ChronosInterface::MINUTES_PER_HOUR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in minutes
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInMinutes(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
return (int)($this->diffInSeconds($dt, $abs) / ChronosInterface::SECONDS_PER_MINUTE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in seconds
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $dt The instance to difference from.
|
||||
* @param bool $abs Get the absolute of the difference
|
||||
* @return int
|
||||
*/
|
||||
public function diffInSeconds(ChronosInterface $dt = null, $abs = true)
|
||||
{
|
||||
$dt = ($dt === null) ? static::now($this->tz) : $dt;
|
||||
$value = $dt->getTimestamp() - $this->getTimestamp();
|
||||
|
||||
return $abs ? abs($value) : $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* The number of seconds since midnight.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function secondsSinceMidnight()
|
||||
{
|
||||
return $this->diffInSeconds($this->copy()->startOfDay());
|
||||
}
|
||||
|
||||
/**
|
||||
* The number of seconds until 23:59:59.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function secondsUntilEndOfDay()
|
||||
{
|
||||
return $this->diffInSeconds($this->copy()->endOfDay());
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method for getting the remaining time from a given time.
|
||||
*
|
||||
* @param \DateTime|\DateTimeImmutable $datetime The date to get the remaining time from.
|
||||
* @return \DateInterval|bool The DateInterval object representing the difference between the two dates or FALSE on failure.
|
||||
*/
|
||||
public static function fromNow($datetime)
|
||||
{
|
||||
$timeNow = new static();
|
||||
|
||||
return $timeNow->diff($datetime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference in a human readable format.
|
||||
*
|
||||
* When comparing a value in the past to default now:
|
||||
* 1 hour ago
|
||||
* 5 months ago
|
||||
*
|
||||
* When comparing a value in the future to default now:
|
||||
* 1 hour from now
|
||||
* 5 months from now
|
||||
*
|
||||
* When comparing a value in the past to another value:
|
||||
* 1 hour before
|
||||
* 5 months before
|
||||
*
|
||||
* When comparing a value in the future to another value:
|
||||
* 1 hour after
|
||||
* 5 months after
|
||||
*
|
||||
* @param \Cake\Chronos\ChronosInterface|null $other The datetime to compare with.
|
||||
* @param bool $absolute removes time difference modifiers ago, after, etc
|
||||
* @return string
|
||||
*/
|
||||
public function diffForHumans(ChronosInterface $other = null, $absolute = false)
|
||||
{
|
||||
return static::diffFormatter()->diffForHumans($this, $other, $absolute);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the difference formatter instance or overwrite the current one.
|
||||
*
|
||||
* @param \Cake\Chronos\DifferenceFormatter|null $formatter The formatter instance when setting.
|
||||
* @return \Cake\Chronos\DifferenceFormatter The formatter instance.
|
||||
*/
|
||||
public static function diffFormatter($formatter = null)
|
||||
{
|
||||
if ($formatter === null) {
|
||||
if (static::$diffFormatter === null) {
|
||||
static::$diffFormatter = new DifferenceFormatter();
|
||||
}
|
||||
|
||||
return static::$diffFormatter;
|
||||
}
|
||||
|
||||
return static::$diffFormatter = $formatter;
|
||||
}
|
||||
}
|
||||
280
vendor/cakephp/chronos/src/Traits/FactoryTrait.php
vendored
Normal file
280
vendor/cakephp/chronos/src/Traits/FactoryTrait.php
vendored
Normal file
@@ -0,0 +1,280 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use DateTimeInterface;
|
||||
use DateTimeZone;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Provides a number of datetime related factory methods.
|
||||
*/
|
||||
trait FactoryTrait
|
||||
{
|
||||
/**
|
||||
* Holds the last error generated by createFromFormat
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $_lastErrors = [];
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from a DateTimeInterface one
|
||||
*
|
||||
* @param \DateTimeInterface $dt The datetime instance to convert.
|
||||
* @return static
|
||||
*/
|
||||
public static function instance(DateTimeInterface $dt)
|
||||
{
|
||||
if ($dt instanceof static) {
|
||||
return clone $dt;
|
||||
}
|
||||
|
||||
return new static($dt->format('Y-m-d H:i:s.u'), $dt->getTimezone());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from a string. This is an alias for the
|
||||
* constructor that allows better fluent syntax as it allows you to do
|
||||
* ChronosInterface::parse('Monday next week')->fn() rather than
|
||||
* (new Chronos('Monday next week'))->fn()
|
||||
*
|
||||
* @param string $time The strtotime compatible string to parse
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name.
|
||||
* @return static
|
||||
*/
|
||||
public static function parse($time = 'now', $tz = null)
|
||||
{
|
||||
return new static($time, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a ChronosInterface instance for the current date and time
|
||||
*
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name.
|
||||
* @return static
|
||||
*/
|
||||
public static function now($tz = null)
|
||||
{
|
||||
return new static('now', $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance for today
|
||||
*
|
||||
* @param \DateTimeZone|string|null $tz The timezone to use.
|
||||
* @return static
|
||||
*/
|
||||
public static function today($tz = null)
|
||||
{
|
||||
return new static('midnight', $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance for tomorrow
|
||||
*
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
*/
|
||||
public static function tomorrow($tz = null)
|
||||
{
|
||||
return new static('tomorrow, midnight', $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance for yesterday
|
||||
*
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
*/
|
||||
public static function yesterday($tz = null)
|
||||
{
|
||||
return new static('yesterday, midnight', $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance for the greatest supported date.
|
||||
*
|
||||
* @return \Cake\Chronos\ChronosInterface
|
||||
*/
|
||||
public static function maxValue()
|
||||
{
|
||||
return static::createFromTimestampUTC(PHP_INT_MAX);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance for the lowest supported date.
|
||||
*
|
||||
* @return \Cake\Chronos\ChronosInterface
|
||||
*/
|
||||
public static function minValue()
|
||||
{
|
||||
$max = PHP_INT_SIZE === 4 ? PHP_INT_MAX : PHP_INT_MAX / 10;
|
||||
|
||||
return static::createFromTimestampUTC(~$max);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new ChronosInterface instance from a specific date and time.
|
||||
*
|
||||
* If any of $year, $month or $day are set to null their now() values
|
||||
* will be used.
|
||||
*
|
||||
* If $hour is null it will be set to its now() value and the default values
|
||||
* for $minute and $second will be their now() values.
|
||||
* If $hour is not null then the default values for $minute and $second
|
||||
* will be 0.
|
||||
*
|
||||
* @param int|null $year The year to create an instance with.
|
||||
* @param int|null $month The month to create an instance with.
|
||||
* @param int|null $day The day to create an instance with.
|
||||
* @param int|null $hour The hour to create an instance with.
|
||||
* @param int|null $minute The minute to create an instance with.
|
||||
* @param int|null $second The second to create an instance with.
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
*/
|
||||
public static function create($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null)
|
||||
{
|
||||
$year = ($year === null) ? date('Y') : $year;
|
||||
$month = ($month === null) ? date('n') : $month;
|
||||
$day = ($day === null) ? date('j') : $day;
|
||||
|
||||
if ($hour === null) {
|
||||
$hour = date('G');
|
||||
$minute = ($minute === null) ? date('i') : $minute;
|
||||
$second = ($second === null) ? date('s') : $second;
|
||||
} else {
|
||||
$minute = ($minute === null) ? 0 : $minute;
|
||||
$second = ($second === null) ? 0 : $second;
|
||||
}
|
||||
|
||||
$instance = static::createFromFormat('Y-n-j G:i:s', sprintf('%s-%s-%s %s:%02s:%02s', 0, $month, $day, $hour, $minute, $second), $tz);
|
||||
|
||||
return $instance->addYears($year);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from just a date. The time portion is set to now.
|
||||
*
|
||||
* @param int $year The year to create an instance with.
|
||||
* @param int $month The month to create an instance with.
|
||||
* @param int $day The day to create an instance with.
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
*/
|
||||
public static function createFromDate($year = null, $month = null, $day = null, $tz = null)
|
||||
{
|
||||
return static::create($year, $month, $day, null, null, null, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from just a time. The date portion is set to today.
|
||||
*
|
||||
* @param int|null $hour The hour to create an instance with.
|
||||
* @param int|null $minute The minute to create an instance with.
|
||||
* @param int|null $second The second to create an instance with.
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
*/
|
||||
public static function createFromTime($hour = null, $minute = null, $second = null, $tz = null)
|
||||
{
|
||||
return static::create(null, null, null, $hour, $minute, $second, $tz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from a specific format
|
||||
*
|
||||
* @param string $format The date() compatible format string.
|
||||
* @param string $time The formatted date string to interpret.
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public static function createFromFormat($format, $time, $tz = null)
|
||||
{
|
||||
if ($tz !== null) {
|
||||
$dt = parent::createFromFormat($format, $time, static::safeCreateDateTimeZone($tz));
|
||||
} else {
|
||||
$dt = parent::createFromFormat($format, $time);
|
||||
}
|
||||
|
||||
$errors = parent::getLastErrors();
|
||||
if ($dt == false) {
|
||||
throw new InvalidArgumentException(implode(PHP_EOL, $errors['errors']));
|
||||
}
|
||||
|
||||
$dt = static::instance($dt);
|
||||
static::$_lastErrors = $errors;
|
||||
|
||||
return $dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from a timestamp
|
||||
*
|
||||
* @param int $timestamp The timestamp to create an instance from.
|
||||
* @param \DateTimeZone|string|null $tz The DateTimeZone object or timezone name the new instance should use.
|
||||
* @return static
|
||||
*/
|
||||
public static function createFromTimestamp($timestamp, $tz = null)
|
||||
{
|
||||
return static::now($tz)->setTimestamp($timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a ChronosInterface instance from an UTC timestamp
|
||||
*
|
||||
* @param int $timestamp The UTC timestamp to create an instance from.
|
||||
* @return static
|
||||
*/
|
||||
public static function createFromTimestampUTC($timestamp)
|
||||
{
|
||||
return new static('@' . $timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a DateTimeZone from a string or a DateTimeZone
|
||||
*
|
||||
* @param \DateTimeZone|string|null $object The value to convert.
|
||||
* @return \DateTimeZone
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
protected static function safeCreateDateTimeZone($object)
|
||||
{
|
||||
if ($object === null) {
|
||||
return new DateTimeZone(date_default_timezone_get());
|
||||
}
|
||||
|
||||
if ($object instanceof DateTimeZone) {
|
||||
return $object;
|
||||
}
|
||||
|
||||
return new DateTimeZone($object);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns any errors or warnings that were found during the parsing
|
||||
* of the last object created by this class.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getLastErrors()
|
||||
{
|
||||
if (empty(static::$_lastErrors)) {
|
||||
return parent::getLastErrors();
|
||||
}
|
||||
|
||||
return static::$_lastErrors;
|
||||
}
|
||||
}
|
||||
259
vendor/cakephp/chronos/src/Traits/FormattingTrait.php
vendored
Normal file
259
vendor/cakephp/chronos/src/Traits/FormattingTrait.php
vendored
Normal file
@@ -0,0 +1,259 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use Cake\Chronos\ChronosInterface;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
* Provides string formatting methods for datetime instances.
|
||||
*
|
||||
* Expects implementing classes to define static::$toStringFormat
|
||||
*/
|
||||
trait FormattingTrait
|
||||
{
|
||||
/**
|
||||
* Reset the format used to the default when type juggling a ChronosInterface instance to a string
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function resetToStringFormat()
|
||||
{
|
||||
static::setToStringFormat(ChronosInterface::DEFAULT_TO_STRING_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the default format used when type juggling a ChronosInterface instance to a string
|
||||
*
|
||||
* @param string $format The format to use in future __toString() calls.
|
||||
* @return void
|
||||
*/
|
||||
public static function setToStringFormat($format)
|
||||
{
|
||||
static::$toStringFormat = $format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as a string using the set format
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return $this->format(static::$toStringFormat);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as date
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toDateString()
|
||||
{
|
||||
return $this->format('Y-m-d');
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as a readable date
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toFormattedDateString()
|
||||
{
|
||||
return $this->format('M j, Y');
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as time
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toTimeString()
|
||||
{
|
||||
return $this->format('H:i:s');
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as date and time
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toDateTimeString()
|
||||
{
|
||||
return $this->format('Y-m-d H:i:s');
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance with day, date and time
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toDayDateTimeString()
|
||||
{
|
||||
return $this->format('D, M j, Y g:i A');
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as ATOM
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toAtomString()
|
||||
{
|
||||
return $this->format(DateTime::ATOM);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as COOKIE
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toCookieString()
|
||||
{
|
||||
return $this->format(DateTime::COOKIE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as ISO8601
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toIso8601String()
|
||||
{
|
||||
return $this->format(DateTime::ATOM);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RFC822
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRfc822String()
|
||||
{
|
||||
return $this->format(DateTime::RFC822);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RFC850
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRfc850String()
|
||||
{
|
||||
return $this->format(DateTime::RFC850);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RFC1036
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRfc1036String()
|
||||
{
|
||||
return $this->format(DateTime::RFC1036);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RFC1123
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRfc1123String()
|
||||
{
|
||||
return $this->format(DateTime::RFC1123);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RFC2822
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRfc2822String()
|
||||
{
|
||||
return $this->format(DateTime::RFC2822);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RFC3339
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRfc3339String()
|
||||
{
|
||||
return $this->format(DateTime::RFC3339);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as RSS
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toRssString()
|
||||
{
|
||||
return $this->format(DateTime::RSS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the instance as W3C
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toW3cString()
|
||||
{
|
||||
return $this->format(DateTime::W3C);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a UNIX timestamp.
|
||||
*
|
||||
* @return string UNIX timestamp
|
||||
*/
|
||||
public function toUnixString()
|
||||
{
|
||||
return $this->format('U');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the quarter
|
||||
*
|
||||
* @param bool $range Range.
|
||||
* @return int|array 1, 2, 3, or 4 quarter of year or array if $range true
|
||||
*/
|
||||
public function toQuarter($range = false)
|
||||
{
|
||||
$quarter = ceil($this->format('m') / 3);
|
||||
if ($range === false) {
|
||||
return $quarter;
|
||||
}
|
||||
|
||||
$year = $this->format('Y');
|
||||
switch ($quarter) {
|
||||
case 1:
|
||||
return [$year . '-01-01', $year . '-03-31'];
|
||||
case 2:
|
||||
return [$year . '-04-01', $year . '-06-30'];
|
||||
case 3:
|
||||
return [$year . '-07-01', $year . '-09-30'];
|
||||
case 4:
|
||||
return [$year . '-10-01', $year . '-12-31'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function toWeek()
|
||||
{
|
||||
return (int)$this->format('W');
|
||||
}
|
||||
}
|
||||
186
vendor/cakephp/chronos/src/Traits/FrozenTimeTrait.php
vendored
Normal file
186
vendor/cakephp/chronos/src/Traits/FrozenTimeTrait.php
vendored
Normal file
@@ -0,0 +1,186 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use DateTimeInterface;
|
||||
|
||||
/**
|
||||
* A trait for freezing the time aspect of a DateTime.
|
||||
*
|
||||
* Used in making calendar date objects, both mutable and immutable.
|
||||
*/
|
||||
trait FrozenTimeTrait
|
||||
{
|
||||
use RelativeKeywordTrait;
|
||||
|
||||
/**
|
||||
* Removes the time components from an input string.
|
||||
*
|
||||
* Used to ensure constructed objects always lack time.
|
||||
*
|
||||
* @param string|int $time The input time. Integer values will be assumed
|
||||
* to be in UTC. The 'now' and '' values will use the current local time.
|
||||
* @return string The date component of $time.
|
||||
*/
|
||||
protected function stripTime($time)
|
||||
{
|
||||
if (is_int($time) || ctype_digit($time)) {
|
||||
return gmdate('Y-m-d 00:00:00', $time);
|
||||
}
|
||||
if ($time instanceof DateTimeInterface) {
|
||||
$time = $time->format('Y-m-d 00:00:00');
|
||||
}
|
||||
if (substr($time, 0, 1) === '@') {
|
||||
return gmdate('Y-m-d 00:00:00', substr($time, 1));
|
||||
}
|
||||
if ($time === null || $time === 'now' || $time === '') {
|
||||
return date('Y-m-d 00:00:00');
|
||||
}
|
||||
if ($this->hasRelativeKeywords($time)) {
|
||||
return date('Y-m-d 00:00:00', strtotime($time));
|
||||
}
|
||||
|
||||
return preg_replace('/\d{1,2}:\d{1,2}:\d{1,2}(?:\.\d+)?/', '00:00:00', $time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove time components from strtotime relative strings.
|
||||
*
|
||||
* @param string $time The input expression
|
||||
* @return string The output expression with no time modifiers.
|
||||
*/
|
||||
protected function stripRelativeTime($time)
|
||||
{
|
||||
return preg_replace('/([-+]\s*\d+\s(?:minutes|seconds|hours|microseconds))/', '', $time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Modify the time on the Date.
|
||||
*
|
||||
* This method ignores all inputs and forces all inputs to 0.
|
||||
*
|
||||
* @param int $hours The hours to set (ignored)
|
||||
* @param int $minutes The minutes to set (ignored)
|
||||
* @param int $seconds The seconds to set (ignored)
|
||||
* @param int $microseconds The microseconds to set (ignored)
|
||||
* @return static A modified Date instance.
|
||||
*/
|
||||
public function setTime($hours, $minutes, $seconds = null, $microseconds = null)
|
||||
{
|
||||
if (CHRONOS_SUPPORTS_MICROSECONDS) {
|
||||
return parent::setTime(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
return parent::setTime(0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an Interval to a Date
|
||||
*
|
||||
* Any changes to the time will be ignored and reset to 00:00:00
|
||||
*
|
||||
* @param \DateInterval $interval The interval to modify this date by.
|
||||
* @return static A modified Date instance
|
||||
*/
|
||||
public function add($interval)
|
||||
{
|
||||
return parent::add($interval)->setTime(0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtract an Interval from a Date.
|
||||
*
|
||||
* Any changes to the time will be ignored and reset to 00:00:00
|
||||
*
|
||||
* @param \DateInterval $interval The interval to modify this date by.
|
||||
* @return static A modified Date instance
|
||||
*/
|
||||
public function sub($interval)
|
||||
{
|
||||
return parent::sub($interval)->setTime(0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* No-op method.
|
||||
*
|
||||
* Timezones have no effect on calendar dates.
|
||||
*
|
||||
* @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use.
|
||||
* @return $this
|
||||
*/
|
||||
public function timezone($value)
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* No-op method.
|
||||
*
|
||||
* Timezones have no effect on calendar dates.
|
||||
*
|
||||
* @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use.
|
||||
* @return $this
|
||||
*/
|
||||
public function tz($value)
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* No-op method.
|
||||
*
|
||||
* Timezones have no effect on calendar dates.
|
||||
*
|
||||
* @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use.
|
||||
* @return $this
|
||||
*/
|
||||
public function setTimezone($value)
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the timestamp value and get a new object back.
|
||||
*
|
||||
* This method will discard the time aspects of the timestamp
|
||||
* and only apply the date portions
|
||||
*
|
||||
* @param int $value The timestamp value to set.
|
||||
* @return static
|
||||
*/
|
||||
public function setTimestamp($value)
|
||||
{
|
||||
return parent::setTimestamp($value)->setTime(0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Overloaded to ignore time changes.
|
||||
*
|
||||
* Changing any aspect of the time will be ignored, and the resulting object
|
||||
* will have its time frozen to 00:00:00.
|
||||
*
|
||||
* @param string $relative The relative change to make.
|
||||
* @return static A new date with the applied date changes.
|
||||
*/
|
||||
public function modify($relative)
|
||||
{
|
||||
if (preg_match('/hour|minute|second/', $relative)) {
|
||||
return $this;
|
||||
}
|
||||
$new = parent::modify($relative);
|
||||
if ($new->format('H:i:s') !== '00:00:00') {
|
||||
return $new->setTime(0, 0, 0);
|
||||
}
|
||||
|
||||
return $new;
|
||||
}
|
||||
}
|
||||
131
vendor/cakephp/chronos/src/Traits/MagicPropertyTrait.php
vendored
Normal file
131
vendor/cakephp/chronos/src/Traits/MagicPropertyTrait.php
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice. Provides various operator methods for datetime
|
||||
* objects.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use Cake\Chronos\ChronosInterface;
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Provides the magic methods that allow read access
|
||||
* to magic properties.
|
||||
*
|
||||
* @property-read int $year
|
||||
* @property-read int $yearIso
|
||||
* @property-read int $month
|
||||
* @property-read int $day
|
||||
* @property-read int $hour
|
||||
* @property-read int $minute
|
||||
* @property-read int $second
|
||||
* @property-read int $micro
|
||||
* @property-read int $dayOfWeek
|
||||
* @property-read int $dayOfYear
|
||||
* @property-read int $weekOfYear
|
||||
* @property-read int $daysInMonth
|
||||
* @property-read int $timestamp
|
||||
* @property-read int $weekOfMonth
|
||||
* @property-read int $age
|
||||
* @property-read int $quarter
|
||||
* @property-read int $offset
|
||||
* @property-read int $offsetHours
|
||||
* @property-read boolean $dst
|
||||
* @property-read boolean $local
|
||||
* @property-read boolean $utc
|
||||
* @property-read \DateTimeZone $timezone
|
||||
* @property-read \DateTimeZone $tz
|
||||
* @property-read string $timezoneName
|
||||
* @property-read string $tzName
|
||||
*/
|
||||
trait MagicPropertyTrait
|
||||
{
|
||||
/**
|
||||
* Get a part of the ChronosInterface object
|
||||
*
|
||||
* @param string $name The property name to read.
|
||||
* @return string|int|\DateTimeZone The property value.
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function __get($name)
|
||||
{
|
||||
static $formats = [
|
||||
'year' => 'Y',
|
||||
'yearIso' => 'o',
|
||||
'month' => 'n',
|
||||
'day' => 'j',
|
||||
'hour' => 'G',
|
||||
'minute' => 'i',
|
||||
'second' => 's',
|
||||
'micro' => 'u',
|
||||
'dayOfWeek' => 'N',
|
||||
'dayOfYear' => 'z',
|
||||
'weekOfYear' => 'W',
|
||||
'daysInMonth' => 't',
|
||||
'timestamp' => 'U',
|
||||
];
|
||||
|
||||
switch (true) {
|
||||
case isset($formats[$name]):
|
||||
return (int)$this->format($formats[$name]);
|
||||
|
||||
case $name === 'weekOfMonth':
|
||||
return (int)ceil($this->day / ChronosInterface::DAYS_PER_WEEK);
|
||||
|
||||
case $name === 'age':
|
||||
return $this->diffInYears();
|
||||
|
||||
case $name === 'quarter':
|
||||
return (int)ceil($this->month / 3);
|
||||
|
||||
case $name === 'offset':
|
||||
return $this->getOffset();
|
||||
|
||||
case $name === 'offsetHours':
|
||||
return $this->getOffset() / ChronosInterface::SECONDS_PER_MINUTE / ChronosInterface::MINUTES_PER_HOUR;
|
||||
|
||||
case $name === 'dst':
|
||||
return $this->format('I') === '1';
|
||||
|
||||
case $name === 'local':
|
||||
return $this->offset === $this->copy()->setTimezone(date_default_timezone_get())->offset;
|
||||
|
||||
case $name === 'utc':
|
||||
return $this->offset === 0;
|
||||
|
||||
case $name === 'timezone' || $name === 'tz':
|
||||
return $this->getTimezone();
|
||||
|
||||
case $name === 'timezoneName' || $name === 'tzName':
|
||||
return $this->getTimezone()->getName();
|
||||
|
||||
default:
|
||||
throw new InvalidArgumentException(sprintf("Unknown getter '%s'", $name));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an attribute exists on the object
|
||||
*
|
||||
* @param string $name The property name to check.
|
||||
* @return bool Whether or not the property exists.
|
||||
*/
|
||||
public function __isset($name)
|
||||
{
|
||||
try {
|
||||
$this->__get($name);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
1082
vendor/cakephp/chronos/src/Traits/ModifierTrait.php
vendored
Normal file
1082
vendor/cakephp/chronos/src/Traits/ModifierTrait.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
39
vendor/cakephp/chronos/src/Traits/RelativeKeywordTrait.php
vendored
Normal file
39
vendor/cakephp/chronos/src/Traits/RelativeKeywordTrait.php
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice. Provides various operator methods for datetime
|
||||
* objects.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
/**
|
||||
* Provides methods for testing if strings contain relative keywords.
|
||||
*/
|
||||
trait RelativeKeywordTrait
|
||||
{
|
||||
protected static $relativePattern = '/this|next|last|tomorrow|yesterday|midnight|today|[+-]|first|last|ago/i';
|
||||
|
||||
/**
|
||||
* Determine if there is a relative keyword in the time string, this is to
|
||||
* create dates relative to now for test instances. e.g.: next tuesday
|
||||
*
|
||||
* @param string $time The time string to check.
|
||||
* @return bool true if there is a keyword, otherwise false
|
||||
*/
|
||||
public static function hasRelativeKeywords($time)
|
||||
{
|
||||
// skip common format with a '-' in it
|
||||
if (preg_match('/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}/', $time) !== 1) {
|
||||
return preg_match(static::$relativePattern, $time) > 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
59
vendor/cakephp/chronos/src/Traits/TestingAidTrait.php
vendored
Normal file
59
vendor/cakephp/chronos/src/Traits/TestingAidTrait.php
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice. Provides various operator methods for datetime
|
||||
* objects.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
use Cake\Chronos\Chronos;
|
||||
use Cake\Chronos\ChronosInterface;
|
||||
|
||||
/**
|
||||
* Provides methods for setting a 'test' now. This lets you
|
||||
* retrieve pre-determined times with now().
|
||||
*/
|
||||
trait TestingAidTrait
|
||||
{
|
||||
|
||||
/**
|
||||
* Set the test now used by Date and Time classes provided by Chronos
|
||||
*
|
||||
* @see \Cake\Chronos\Chronos::setTestNow()
|
||||
* @param \Cake\Chronos\ChronosInterface|string|null $testNow The instance to use for all future instances.
|
||||
* @return void
|
||||
*/
|
||||
public static function setTestNow($testNow = null)
|
||||
{
|
||||
Chronos::setTestNow($testNow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the test instance stored in Chronos
|
||||
*
|
||||
* @see \Cake\Chronos\Chronos::getTestNow()
|
||||
* @return static|null the current instance used for testing or null.
|
||||
*/
|
||||
public static function getTestNow()
|
||||
{
|
||||
return Chronos::getTestNow();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get whether or not Chronos has a test instance set.
|
||||
*
|
||||
* @see \Cake\Chronos\Chronos::hasTestNow()
|
||||
* @return bool True if there is a test instance, otherwise false
|
||||
*/
|
||||
public static function hasTestNow()
|
||||
{
|
||||
return Chronos::hasTestNow();
|
||||
}
|
||||
}
|
||||
60
vendor/cakephp/chronos/src/Traits/TimezoneTrait.php
vendored
Normal file
60
vendor/cakephp/chronos/src/Traits/TimezoneTrait.php
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice. Provides various operator methods for datetime
|
||||
* objects.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos\Traits;
|
||||
|
||||
/**
|
||||
* Methods for modifying/reading timezone data.
|
||||
*/
|
||||
trait TimezoneTrait
|
||||
{
|
||||
/**
|
||||
* Alias for setTimezone()
|
||||
*
|
||||
* @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use.
|
||||
* @return static
|
||||
*/
|
||||
public function timezone($value)
|
||||
{
|
||||
return $this->setTimezone($value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Alias for setTimezone()
|
||||
*
|
||||
* @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use.
|
||||
* @return static
|
||||
*/
|
||||
public function tz($value)
|
||||
{
|
||||
return $this->setTimezone($value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the instance's timezone from a string or object
|
||||
*
|
||||
* @param \DateTimeZone|string $value The DateTimeZone object or timezone name to use.
|
||||
* @return static
|
||||
*/
|
||||
public function setTimezone($value)
|
||||
{
|
||||
$date = parent::setTimezone(static::safeCreateDateTimeZone($value));
|
||||
|
||||
// https://bugs.php.net/bug.php?id=72338
|
||||
// this is workaround for this bug
|
||||
// Needed for PHP below 7.0 version
|
||||
$date->getTimestamp();
|
||||
|
||||
return $date;
|
||||
}
|
||||
}
|
||||
93
vendor/cakephp/chronos/src/Translator.php
vendored
Normal file
93
vendor/cakephp/chronos/src/Translator.php
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Cake\Chronos;
|
||||
|
||||
/**
|
||||
* Basic english only 'translator' for diffForHumans()
|
||||
*/
|
||||
class Translator
|
||||
{
|
||||
/**
|
||||
* Translation strings.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $strings = [
|
||||
'year' => '1 year',
|
||||
'year_plural' => '{count} years',
|
||||
'month' => '1 month',
|
||||
'month_plural' => '{count} months',
|
||||
'week' => '1 week',
|
||||
'week_plural' => '{count} weeks',
|
||||
'day' => '1 day',
|
||||
'day_plural' => '{count} days',
|
||||
'hour' => '1 hour',
|
||||
'hour_plural' => '{count} hours',
|
||||
'minute' => '1 minute',
|
||||
'minute_plural' => '{count} minutes',
|
||||
'second' => '1 second',
|
||||
'second_plural' => '{count} seconds',
|
||||
'ago' => '{time} ago',
|
||||
'from_now' => '{time} from now',
|
||||
'after' => '{time} after',
|
||||
'before' => '{time} before',
|
||||
];
|
||||
|
||||
/**
|
||||
* Check if a translation key exists.
|
||||
*
|
||||
* @param string $key The key to check.
|
||||
* @return bool Whether or not the key exists.
|
||||
*/
|
||||
public function exists($key)
|
||||
{
|
||||
return isset(static::$strings[$key]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a plural message.
|
||||
*
|
||||
* @param string $key The key to use.
|
||||
* @param int $count The number of items in the translation.
|
||||
* @param array $vars Additional context variables.
|
||||
* @return string The translated message or ''.
|
||||
*/
|
||||
public function plural($key, $count, array $vars = [])
|
||||
{
|
||||
if ($count === 1) {
|
||||
return $this->singular($key, $vars);
|
||||
}
|
||||
|
||||
return $this->singular($key . '_plural', ['count' => $count] + $vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a singular message.
|
||||
*
|
||||
* @param string $key The key to use.
|
||||
* @param array $vars Additional context variables.
|
||||
* @return string The translated message or ''.
|
||||
*/
|
||||
public function singular($key, array $vars = [])
|
||||
{
|
||||
if (isset(static::$strings[$key])) {
|
||||
$varKeys = array_keys($vars);
|
||||
foreach ($varKeys as $i => $k) {
|
||||
$varKeys[$i] = '{' . $k . '}';
|
||||
}
|
||||
|
||||
return str_replace($varKeys, $vars, static::$strings[$key]);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
20
vendor/cakephp/chronos/src/carbon_compat.php
vendored
Normal file
20
vendor/cakephp/chronos/src/carbon_compat.php
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @copyright Copyright (c) Brian Nesbitt <brian@nesbot.com>
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
define('CHRONOS_SUPPORTS_MICROSECONDS', version_compare(PHP_VERSION, '7.1.0', '>='));
|
||||
|
||||
if (!class_exists('Carbon\Carbon')) {
|
||||
// Create class aliases for Carbon so applications
|
||||
// can upgrade more easily.
|
||||
class_alias('Cake\Chronos\Chronos', 'Carbon\MutableDateTime');
|
||||
class_alias('Cake\Chronos\ChronosInterface', 'Carbon\CarbonInterface');
|
||||
}
|
||||
2
vendor/composer/ClassLoader.php
vendored
2
vendor/composer/ClassLoader.php
vendored
@@ -377,7 +377,7 @@ class ClassLoader
|
||||
$subPath = $class;
|
||||
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
||||
$subPath = substr($subPath, 0, $lastPos);
|
||||
$search = $subPath . '\\';
|
||||
$search = $subPath.'\\';
|
||||
if (isset($this->prefixDirsPsr4[$search])) {
|
||||
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
||||
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
||||
|
||||
184
vendor/composer/autoload_classmap.php
vendored
184
vendor/composer/autoload_classmap.php
vendored
@@ -8,26 +8,27 @@ $baseDir = dirname($vendorDir);
|
||||
return array(
|
||||
'App\\Console\\Commands\\CalculateMarketTaxCommand' => $baseDir . '/app/Console/Commands/calculatemarkettax.php',
|
||||
'App\\Console\\Commands\\CorpJournalCommand' => $baseDir . '/app/Console/Commands/corpJournal.php',
|
||||
'App\\Console\\Commands\\GetCorpsCommand' => $baseDir . '/app/Console/Commands/GetCorps.php',
|
||||
'App\\Console\\Commands\\GetCorpsCommand' => $baseDir . '/app/Console/Commands/getCorps.php',
|
||||
'App\\Console\\Commands\\HoldingFinancesCommand' => $baseDir . '/app/Console/Commands/holdingfinances.php',
|
||||
'App\\Console\\Commands\\MoonMailerCommand' => $baseDir . '/app/Console/Commands/moonmailer.php',
|
||||
'App\\Console\\Commands\\PiTransactionsCommand' => $baseDir . '/app/Console/Commands/pitransactions.php',
|
||||
'App\\Console\\Commands\\UpdateMoonPriceCommand' => $baseDir . '/app/Console/Commands/UpdateMoonPricing.php',
|
||||
'App\\Console\\Commands\\UpdateMoonRental' => $baseDir . '/app/Console/Commands/UpdateMoonRental.php',
|
||||
'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php',
|
||||
'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php',
|
||||
'App\\Http\\Controllers\\AdminController' => $baseDir . '/app/Http/Controllers/AdminController.php',
|
||||
'App\\Http\\Controllers\\Auth\\EsiScopeController' => $baseDir . '/app/Http/Controllers/Auth/EsiScopeController.php',
|
||||
'App\\Http\\Controllers\\Auth\\LoginController' => $baseDir . '/app/Http/Controllers/Auth/LoginController.php',
|
||||
'App\\Http\\Controllers\\ContractAdminController' => $baseDir . '/app/Http/Controllers/ContractAdminController.php',
|
||||
'App\\Http\\Controllers\\ContractController' => $baseDir . '/app/Http/Controllers/ContractController.php',
|
||||
'App\\Http\\Controllers\\Contracts\\ContractAdminController' => $baseDir . '/app/Http/Controllers/Contracts/ContractAdminController.php',
|
||||
'App\\Http\\Controllers\\Contracts\\ContractController' => $baseDir . '/app/Http/Controllers/Contracts/ContractController.php',
|
||||
'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php',
|
||||
'App\\Http\\Controllers\\DashboardController' => $baseDir . '/app/Http/Controllers/DashboardController.php',
|
||||
'App\\Http\\Controllers\\EsiScopeController' => $baseDir . '/app/Http/Controllers/EsiScopeController.php',
|
||||
'App\\Http\\Controllers\\MoonsAdminController' => $baseDir . '/app/Http/Controllers/MoonsAdminController.php',
|
||||
'App\\Http\\Controllers\\MoonsController' => $baseDir . '/app/Http/Controllers/MoonsController.php',
|
||||
'App\\Http\\Controllers\\RegisterStructureController' => $baseDir . '/app/Http/Controllers/RegisterStructureController.php',
|
||||
'App\\Http\\Controllers\\StructureAdminController' => $baseDir . '/app/Http/Controllers/StructureAdminController.php',
|
||||
'App\\Http\\Controllers\\StructureController' => $baseDir . '/app/Http/Controllers/StructureController.php',
|
||||
'App\\Http\\Controllers\\WikiController' => $baseDir . '/app/Http/Controllers/WikiController.php',
|
||||
'App\\Http\\Controllers\\Dashboard\\AdminController' => $baseDir . '/app/Http/Controllers/Dashboard/AdminController.php',
|
||||
'App\\Http\\Controllers\\Dashboard\\DashboardController' => $baseDir . '/app/Http/Controllers/Dashboard/DashboardController.php',
|
||||
'App\\Http\\Controllers\\Moons\\MoonsAdminController' => $baseDir . '/app/Http/Controllers/Moons/MoonsAdminController.php',
|
||||
'App\\Http\\Controllers\\Moons\\MoonsController' => $baseDir . '/app/Http/Controllers/Moons/MoonsController.php',
|
||||
'App\\Http\\Controllers\\Structures\\RegisterStructureController' => $baseDir . '/app/Http/Controllers/Structures/RegisterStructureController.php',
|
||||
'App\\Http\\Controllers\\Structures\\StructureAdminController' => $baseDir . '/app/Http/Controllers/Structures/StructureAdminController.php',
|
||||
'App\\Http\\Controllers\\Structures\\StructureController' => $baseDir . '/app/Http/Controllers/Structures/StructureController.php',
|
||||
'App\\Http\\Controllers\\Wiki\\WikiController' => $baseDir . '/app/Http/Controllers/Wiki/WikiController.php',
|
||||
'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php',
|
||||
'App\\Http\\Middleware\\Authenticate' => $baseDir . '/app/Http/Middleware/Authenticate.php',
|
||||
'App\\Http\\Middleware\\Callback' => $baseDir . '/app/Http/Middleware/Callback.php',
|
||||
@@ -40,7 +41,7 @@ return array(
|
||||
'App\\Http\\Middleware\\TrustProxies' => $baseDir . '/app/Http/Middleware/TrustProxies.php',
|
||||
'App\\Http\\Middleware\\VerifyCsrfToken' => $baseDir . '/app/Http/Middleware/VerifyCsrfToken.php',
|
||||
'App\\Jobs\\ProcessWalletJournalJob' => $baseDir . '/app/Jobs/ProcessWalletJournalJob.php',
|
||||
'App\\Jobs\\ProcessWalletTransactionJob' => $baseDir . '/app/Jobs/ProcessWalletTransactionJob.php',
|
||||
'App\\Jobs\\ProcessWalletTransactionJob' => $baseDir . '/app/Jobs/ProcessWallettransactionJob.php',
|
||||
'App\\Jobs\\SendEveMailJob' => $baseDir . '/app/Jobs/SendEveMailJob.php',
|
||||
'App\\Library\\Esi\\Esi' => $baseDir . '/app/Library/Esi/Esi.php',
|
||||
'App\\Library\\Esi\\Mail' => $baseDir . '/app/Library/Esi/Mail.php',
|
||||
@@ -55,7 +56,6 @@ return array(
|
||||
'App\\Library\\Finances\\StructureIndustryTax' => $baseDir . '/app/Library/Finances/StructureIndustryTax.php',
|
||||
'App\\Library\\Lookups\\LookupHelper' => $baseDir . '/app/Library/Lookups/LookupHelper.php',
|
||||
'App\\Library\\Moons\\MoonCalc' => $baseDir . '/app/Library/Moons/MoonCalc.php',
|
||||
'App\\Library\\Moons\\MoonMailer' => $baseDir . '/app/Library/Moons/MoonMailer.php',
|
||||
'App\\Library\\Structures\\JumpBridgeFuel' => $baseDir . '/app/Library/Structures/JumpBridgeFuel.php',
|
||||
'App\\Library\\Structures\\StructureTaxHelper' => $baseDir . '/app/Library/Structures/StructureTaxHelper.php',
|
||||
'App\\Library\\Taxes\\TaxesHelper' => $baseDir . '/app/Library/Taxes/TaxesHelper.php',
|
||||
@@ -94,9 +94,9 @@ return array(
|
||||
'App\\Models\\Mail\\EveMail' => $baseDir . '/app/Models/Mail/EveMail.php',
|
||||
'App\\Models\\Mail\\SentMail' => $baseDir . '/app/Models/Mail/SentMail.php',
|
||||
'App\\Models\\Market\\MarketOrder' => $baseDir . '/app/Models/Market/MarketOrder.php',
|
||||
'App\\Models\\MoonRent\\MoonRental' => $baseDir . '/app/Models/MoonRentals/MoonRental.php',
|
||||
'App\\Models\\Moon\\ItemComposition' => $baseDir . '/app/Models/Moon/ItemComposition.php',
|
||||
'App\\Models\\Moon\\Moon' => $baseDir . '/app/Models/Moon/Moon.php',
|
||||
'App\\Models\\Moon\\MoonRent' => $baseDir . '/app/Models/Moon/MoonRent.php',
|
||||
'App\\Models\\Moon\\OrePrice' => $baseDir . '/app/Models/Moon/OrePrice.php',
|
||||
'App\\Models\\Moon\\Price' => $baseDir . '/app/Models/Moon/Price.php',
|
||||
'App\\Models\\ScheduledTask\\ScheduleJob' => $baseDir . '/app/Models/ScheduledTask/ScheduleJob.php',
|
||||
@@ -114,6 +114,25 @@ return array(
|
||||
'BeyondCode\\DumpServer\\DumpServerServiceProvider' => $vendorDir . '/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php',
|
||||
'BeyondCode\\DumpServer\\Dumper' => $vendorDir . '/beyondcode/laravel-dump-server/src/Dumper.php',
|
||||
'BeyondCode\\DumpServer\\RequestContextProvider' => $vendorDir . '/beyondcode/laravel-dump-server/src/RequestContextProvider.php',
|
||||
'Cake\\Chronos\\Chronos' => $vendorDir . '/cakephp/chronos/src/Chronos.php',
|
||||
'Cake\\Chronos\\ChronosInterface' => $vendorDir . '/cakephp/chronos/src/ChronosInterface.php',
|
||||
'Cake\\Chronos\\ChronosInterval' => $vendorDir . '/cakephp/chronos/src/ChronosInterval.php',
|
||||
'Cake\\Chronos\\Date' => $vendorDir . '/cakephp/chronos/src/Date.php',
|
||||
'Cake\\Chronos\\DifferenceFormatter' => $vendorDir . '/cakephp/chronos/src/DifferenceFormatter.php',
|
||||
'Cake\\Chronos\\MutableDate' => $vendorDir . '/cakephp/chronos/src/MutableDate.php',
|
||||
'Cake\\Chronos\\MutableDateTime' => $vendorDir . '/cakephp/chronos/src/MutableDateTime.php',
|
||||
'Cake\\Chronos\\Traits\\ComparisonTrait' => $vendorDir . '/cakephp/chronos/src/Traits/ComparisonTrait.php',
|
||||
'Cake\\Chronos\\Traits\\CopyTrait' => $vendorDir . '/cakephp/chronos/src/Traits/CopyTrait.php',
|
||||
'Cake\\Chronos\\Traits\\DifferenceTrait' => $vendorDir . '/cakephp/chronos/src/Traits/DifferenceTrait.php',
|
||||
'Cake\\Chronos\\Traits\\FactoryTrait' => $vendorDir . '/cakephp/chronos/src/Traits/FactoryTrait.php',
|
||||
'Cake\\Chronos\\Traits\\FormattingTrait' => $vendorDir . '/cakephp/chronos/src/Traits/FormattingTrait.php',
|
||||
'Cake\\Chronos\\Traits\\FrozenTimeTrait' => $vendorDir . '/cakephp/chronos/src/Traits/FrozenTimeTrait.php',
|
||||
'Cake\\Chronos\\Traits\\MagicPropertyTrait' => $vendorDir . '/cakephp/chronos/src/Traits/MagicPropertyTrait.php',
|
||||
'Cake\\Chronos\\Traits\\ModifierTrait' => $vendorDir . '/cakephp/chronos/src/Traits/ModifierTrait.php',
|
||||
'Cake\\Chronos\\Traits\\RelativeKeywordTrait' => $vendorDir . '/cakephp/chronos/src/Traits/RelativeKeywordTrait.php',
|
||||
'Cake\\Chronos\\Traits\\TestingAidTrait' => $vendorDir . '/cakephp/chronos/src/Traits/TestingAidTrait.php',
|
||||
'Cake\\Chronos\\Traits\\TimezoneTrait' => $vendorDir . '/cakephp/chronos/src/Traits/TimezoneTrait.php',
|
||||
'Cake\\Chronos\\Translator' => $vendorDir . '/cakephp/chronos/src/Translator.php',
|
||||
'Carbon\\Carbon' => $vendorDir . '/nesbot/carbon/src/Carbon/Carbon.php',
|
||||
'Carbon\\CarbonInterval' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonInterval.php',
|
||||
'Carbon\\CarbonPeriod' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonPeriod.php',
|
||||
@@ -175,6 +194,7 @@ return array(
|
||||
'Dotenv\\Exception\\InvalidPathException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/InvalidPathException.php',
|
||||
'Dotenv\\Exception\\ValidationException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/ValidationException.php',
|
||||
'Dotenv\\Loader' => $vendorDir . '/vlucas/phpdotenv/src/Loader.php',
|
||||
'Dotenv\\Parser' => $vendorDir . '/vlucas/phpdotenv/src/Parser.php',
|
||||
'Dotenv\\Validator' => $vendorDir . '/vlucas/phpdotenv/src/Validator.php',
|
||||
'Egulias\\EmailValidator\\EmailLexer' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailLexer.php',
|
||||
'Egulias\\EmailValidator\\EmailParser' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailParser.php',
|
||||
@@ -1091,6 +1111,7 @@ return array(
|
||||
'Illuminate\\Database\\Eloquent\\Concerns\\QueriesRelationships' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php',
|
||||
'Illuminate\\Database\\Eloquent\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php',
|
||||
'Illuminate\\Database\\Eloquent\\FactoryBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php',
|
||||
'Illuminate\\Database\\Eloquent\\HigherOrderBuilderProxy' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php',
|
||||
'Illuminate\\Database\\Eloquent\\JsonEncodingException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php',
|
||||
'Illuminate\\Database\\Eloquent\\MassAssignmentException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php',
|
||||
'Illuminate\\Database\\Eloquent\\Model' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Model.php',
|
||||
@@ -1650,6 +1671,129 @@ return array(
|
||||
'JakubOnderka\\PhpConsoleColor\\InvalidStyleException' => $vendorDir . '/jakub-onderka/php-console-color/src/InvalidStyleException.php',
|
||||
'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => $vendorDir . '/jakub-onderka/php-console-highlighter/src/Highlighter.php',
|
||||
'JsonSerializable' => $vendorDir . '/nesbot/carbon/src/JsonSerializable.php',
|
||||
'Laravel\\Horizon\\AutoScaler' => $vendorDir . '/laravel/horizon/src/AutoScaler.php',
|
||||
'Laravel\\Horizon\\BackgroundProcess' => $vendorDir . '/laravel/horizon/src/BackgroundProcess.php',
|
||||
'Laravel\\Horizon\\Connectors\\RedisConnector' => $vendorDir . '/laravel/horizon/src/Connectors/RedisConnector.php',
|
||||
'Laravel\\Horizon\\Console\\AssetsCommand' => $vendorDir . '/laravel/horizon/src/Console/AssetsCommand.php',
|
||||
'Laravel\\Horizon\\Console\\ContinueCommand' => $vendorDir . '/laravel/horizon/src/Console/ContinueCommand.php',
|
||||
'Laravel\\Horizon\\Console\\HorizonCommand' => $vendorDir . '/laravel/horizon/src/Console/HorizonCommand.php',
|
||||
'Laravel\\Horizon\\Console\\InstallCommand' => $vendorDir . '/laravel/horizon/src/Console/InstallCommand.php',
|
||||
'Laravel\\Horizon\\Console\\ListCommand' => $vendorDir . '/laravel/horizon/src/Console/ListCommand.php',
|
||||
'Laravel\\Horizon\\Console\\PauseCommand' => $vendorDir . '/laravel/horizon/src/Console/PauseCommand.php',
|
||||
'Laravel\\Horizon\\Console\\PurgeCommand' => $vendorDir . '/laravel/horizon/src/Console/PurgeCommand.php',
|
||||
'Laravel\\Horizon\\Console\\SnapshotCommand' => $vendorDir . '/laravel/horizon/src/Console/SnapshotCommand.php',
|
||||
'Laravel\\Horizon\\Console\\StatusCommand' => $vendorDir . '/laravel/horizon/src/Console/StatusCommand.php',
|
||||
'Laravel\\Horizon\\Console\\SupervisorCommand' => $vendorDir . '/laravel/horizon/src/Console/SupervisorCommand.php',
|
||||
'Laravel\\Horizon\\Console\\SupervisorsCommand' => $vendorDir . '/laravel/horizon/src/Console/SupervisorsCommand.php',
|
||||
'Laravel\\Horizon\\Console\\TerminateCommand' => $vendorDir . '/laravel/horizon/src/Console/TerminateCommand.php',
|
||||
'Laravel\\Horizon\\Console\\TimeoutCommand' => $vendorDir . '/laravel/horizon/src/Console/TimeoutCommand.php',
|
||||
'Laravel\\Horizon\\Console\\WorkCommand' => $vendorDir . '/laravel/horizon/src/Console/WorkCommand.php',
|
||||
'Laravel\\Horizon\\Contracts\\HorizonCommandQueue' => $vendorDir . '/laravel/horizon/src/Contracts/HorizonCommandQueue.php',
|
||||
'Laravel\\Horizon\\Contracts\\JobRepository' => $vendorDir . '/laravel/horizon/src/Contracts/JobRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\MasterSupervisorRepository' => $vendorDir . '/laravel/horizon/src/Contracts/MasterSupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\MetricsRepository' => $vendorDir . '/laravel/horizon/src/Contracts/MetricsRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\Pausable' => $vendorDir . '/laravel/horizon/src/Contracts/Pausable.php',
|
||||
'Laravel\\Horizon\\Contracts\\ProcessRepository' => $vendorDir . '/laravel/horizon/src/Contracts/ProcessRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\Restartable' => $vendorDir . '/laravel/horizon/src/Contracts/Restartable.php',
|
||||
'Laravel\\Horizon\\Contracts\\SupervisorRepository' => $vendorDir . '/laravel/horizon/src/Contracts/SupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\TagRepository' => $vendorDir . '/laravel/horizon/src/Contracts/TagRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\Terminable' => $vendorDir . '/laravel/horizon/src/Contracts/Terminable.php',
|
||||
'Laravel\\Horizon\\Contracts\\WorkloadRepository' => $vendorDir . '/laravel/horizon/src/Contracts/WorkloadRepository.php',
|
||||
'Laravel\\Horizon\\EventMap' => $vendorDir . '/laravel/horizon/src/EventMap.php',
|
||||
'Laravel\\Horizon\\Events\\JobDeleted' => $vendorDir . '/laravel/horizon/src/Events/JobDeleted.php',
|
||||
'Laravel\\Horizon\\Events\\JobFailed' => $vendorDir . '/laravel/horizon/src/Events/JobFailed.php',
|
||||
'Laravel\\Horizon\\Events\\JobPushed' => $vendorDir . '/laravel/horizon/src/Events/JobPushed.php',
|
||||
'Laravel\\Horizon\\Events\\JobReleased' => $vendorDir . '/laravel/horizon/src/Events/JobReleased.php',
|
||||
'Laravel\\Horizon\\Events\\JobReserved' => $vendorDir . '/laravel/horizon/src/Events/JobReserved.php',
|
||||
'Laravel\\Horizon\\Events\\JobsMigrated' => $vendorDir . '/laravel/horizon/src/Events/JobsMigrated.php',
|
||||
'Laravel\\Horizon\\Events\\LongWaitDetected' => $vendorDir . '/laravel/horizon/src/Events/LongWaitDetected.php',
|
||||
'Laravel\\Horizon\\Events\\MasterSupervisorDeployed' => $vendorDir . '/laravel/horizon/src/Events/MasterSupervisorDeployed.php',
|
||||
'Laravel\\Horizon\\Events\\MasterSupervisorLooped' => $vendorDir . '/laravel/horizon/src/Events/MasterSupervisorLooped.php',
|
||||
'Laravel\\Horizon\\Events\\MasterSupervisorReviving' => $vendorDir . '/laravel/horizon/src/Events/MasterSupervisorReviving.php',
|
||||
'Laravel\\Horizon\\Events\\RedisEvent' => $vendorDir . '/laravel/horizon/src/Events/RedisEvent.php',
|
||||
'Laravel\\Horizon\\Events\\SupervisorLooped' => $vendorDir . '/laravel/horizon/src/Events/SupervisorLooped.php',
|
||||
'Laravel\\Horizon\\Events\\SupervisorProcessRestarting' => $vendorDir . '/laravel/horizon/src/Events/SupervisorProcessRestarting.php',
|
||||
'Laravel\\Horizon\\Events\\UnableToLaunchProcess' => $vendorDir . '/laravel/horizon/src/Events/UnableToLaunchProcess.php',
|
||||
'Laravel\\Horizon\\Events\\WorkerProcessRestarting' => $vendorDir . '/laravel/horizon/src/Events/WorkerProcessRestarting.php',
|
||||
'Laravel\\Horizon\\Exec' => $vendorDir . '/laravel/horizon/src/Exec.php',
|
||||
'Laravel\\Horizon\\Horizon' => $vendorDir . '/laravel/horizon/src/Horizon.php',
|
||||
'Laravel\\Horizon\\HorizonApplicationServiceProvider' => $vendorDir . '/laravel/horizon/src/HorizonApplicationServiceProvider.php',
|
||||
'Laravel\\Horizon\\HorizonServiceProvider' => $vendorDir . '/laravel/horizon/src/HorizonServiceProvider.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\Controller' => $vendorDir . '/laravel/horizon/src/Http/Controllers/Controller.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\DashboardStatsController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/DashboardStatsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\FailedJobsController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/FailedJobsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\HomeController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/HomeController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\JobMetricsController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/JobMetricsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\MasterSupervisorController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/MasterSupervisorController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\MonitoringController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/MonitoringController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\QueueMetricsController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/QueueMetricsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\RecentJobsController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/RecentJobsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\RetryController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/RetryController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\WorkloadController' => $vendorDir . '/laravel/horizon/src/Http/Controllers/WorkloadController.php',
|
||||
'Laravel\\Horizon\\Http\\Middleware\\Authenticate' => $vendorDir . '/laravel/horizon/src/Http/Middleware/Authenticate.php',
|
||||
'Laravel\\Horizon\\JobId' => $vendorDir . '/laravel/horizon/src/JobId.php',
|
||||
'Laravel\\Horizon\\JobPayload' => $vendorDir . '/laravel/horizon/src/JobPayload.php',
|
||||
'Laravel\\Horizon\\Jobs\\MonitorTag' => $vendorDir . '/laravel/horizon/src/Jobs/MonitorTag.php',
|
||||
'Laravel\\Horizon\\Jobs\\RetryFailedJob' => $vendorDir . '/laravel/horizon/src/Jobs/RetryFailedJob.php',
|
||||
'Laravel\\Horizon\\Jobs\\StopMonitoringTag' => $vendorDir . '/laravel/horizon/src/Jobs/StopMonitoringTag.php',
|
||||
'Laravel\\Horizon\\Listeners\\ExpireSupervisors' => $vendorDir . '/laravel/horizon/src/Listeners/ExpireSupervisors.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsComplete' => $vendorDir . '/laravel/horizon/src/Listeners/MarkJobAsComplete.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsFailed' => $vendorDir . '/laravel/horizon/src/Listeners/MarkJobAsFailed.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsReleased' => $vendorDir . '/laravel/horizon/src/Listeners/MarkJobAsReleased.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsReserved' => $vendorDir . '/laravel/horizon/src/Listeners/MarkJobAsReserved.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobsAsMigrated' => $vendorDir . '/laravel/horizon/src/Listeners/MarkJobsAsMigrated.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarshalFailedEvent' => $vendorDir . '/laravel/horizon/src/Listeners/MarshalFailedEvent.php',
|
||||
'Laravel\\Horizon\\Listeners\\MonitorMasterSupervisorMemory' => $vendorDir . '/laravel/horizon/src/Listeners/MonitorMasterSupervisorMemory.php',
|
||||
'Laravel\\Horizon\\Listeners\\MonitorSupervisorMemory' => $vendorDir . '/laravel/horizon/src/Listeners/MonitorSupervisorMemory.php',
|
||||
'Laravel\\Horizon\\Listeners\\MonitorWaitTimes' => $vendorDir . '/laravel/horizon/src/Listeners/MonitorWaitTimes.php',
|
||||
'Laravel\\Horizon\\Listeners\\PruneTerminatingProcesses' => $vendorDir . '/laravel/horizon/src/Listeners/PruneTerminatingProcesses.php',
|
||||
'Laravel\\Horizon\\Listeners\\SendNotification' => $vendorDir . '/laravel/horizon/src/Listeners/SendNotification.php',
|
||||
'Laravel\\Horizon\\Listeners\\StartTimingJob' => $vendorDir . '/laravel/horizon/src/Listeners/StartTimingJob.php',
|
||||
'Laravel\\Horizon\\Listeners\\StoreJob' => $vendorDir . '/laravel/horizon/src/Listeners/StoreJob.php',
|
||||
'Laravel\\Horizon\\Listeners\\StoreMonitoredTags' => $vendorDir . '/laravel/horizon/src/Listeners/StoreMonitoredTags.php',
|
||||
'Laravel\\Horizon\\Listeners\\StoreTagsForFailedJob' => $vendorDir . '/laravel/horizon/src/Listeners/StoreTagsForFailedJob.php',
|
||||
'Laravel\\Horizon\\Listeners\\TrimFailedJobs' => $vendorDir . '/laravel/horizon/src/Listeners/TrimFailedJobs.php',
|
||||
'Laravel\\Horizon\\Listeners\\TrimMonitoredJobs' => $vendorDir . '/laravel/horizon/src/Listeners/TrimMonitoredJobs.php',
|
||||
'Laravel\\Horizon\\Listeners\\TrimRecentJobs' => $vendorDir . '/laravel/horizon/src/Listeners/TrimRecentJobs.php',
|
||||
'Laravel\\Horizon\\Listeners\\UpdateJobMetrics' => $vendorDir . '/laravel/horizon/src/Listeners/UpdateJobMetrics.php',
|
||||
'Laravel\\Horizon\\ListensForSignals' => $vendorDir . '/laravel/horizon/src/ListensForSignals.php',
|
||||
'Laravel\\Horizon\\Lock' => $vendorDir . '/laravel/horizon/src/Lock.php',
|
||||
'Laravel\\Horizon\\LuaScripts' => $vendorDir . '/laravel/horizon/src/LuaScripts.php',
|
||||
'Laravel\\Horizon\\MasterSupervisor' => $vendorDir . '/laravel/horizon/src/MasterSupervisor.php',
|
||||
'Laravel\\Horizon\\MasterSupervisorCommands\\AddSupervisor' => $vendorDir . '/laravel/horizon/src/MasterSupervisorCommands/AddSupervisor.php',
|
||||
'Laravel\\Horizon\\Notifications\\LongWaitDetected' => $vendorDir . '/laravel/horizon/src/Notifications/LongWaitDetected.php',
|
||||
'Laravel\\Horizon\\PhpBinary' => $vendorDir . '/laravel/horizon/src/PhpBinary.php',
|
||||
'Laravel\\Horizon\\ProcessInspector' => $vendorDir . '/laravel/horizon/src/ProcessInspector.php',
|
||||
'Laravel\\Horizon\\ProcessPool' => $vendorDir . '/laravel/horizon/src/ProcessPool.php',
|
||||
'Laravel\\Horizon\\ProvisioningPlan' => $vendorDir . '/laravel/horizon/src/ProvisioningPlan.php',
|
||||
'Laravel\\Horizon\\QueueCommandString' => $vendorDir . '/laravel/horizon/src/QueueCommandString.php',
|
||||
'Laravel\\Horizon\\RedisHorizonCommandQueue' => $vendorDir . '/laravel/horizon/src/RedisHorizonCommandQueue.php',
|
||||
'Laravel\\Horizon\\RedisQueue' => $vendorDir . '/laravel/horizon/src/RedisQueue.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisJobRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisJobRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisMasterSupervisorRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisMasterSupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisMetricsRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisMetricsRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisProcessRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisProcessRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisSupervisorRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisSupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisTagRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisTagRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisWorkloadRepository' => $vendorDir . '/laravel/horizon/src/Repositories/RedisWorkloadRepository.php',
|
||||
'Laravel\\Horizon\\ServiceBindings' => $vendorDir . '/laravel/horizon/src/ServiceBindings.php',
|
||||
'Laravel\\Horizon\\Stopwatch' => $vendorDir . '/laravel/horizon/src/Stopwatch.php',
|
||||
'Laravel\\Horizon\\Supervisor' => $vendorDir . '/laravel/horizon/src/Supervisor.php',
|
||||
'Laravel\\Horizon\\SupervisorCommandString' => $vendorDir . '/laravel/horizon/src/SupervisorCommandString.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Balance' => $vendorDir . '/laravel/horizon/src/SupervisorCommands/Balance.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\ContinueWorking' => $vendorDir . '/laravel/horizon/src/SupervisorCommands/ContinueWorking.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Pause' => $vendorDir . '/laravel/horizon/src/SupervisorCommands/Pause.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Restart' => $vendorDir . '/laravel/horizon/src/SupervisorCommands/Restart.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Scale' => $vendorDir . '/laravel/horizon/src/SupervisorCommands/Scale.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Terminate' => $vendorDir . '/laravel/horizon/src/SupervisorCommands/Terminate.php',
|
||||
'Laravel\\Horizon\\SupervisorFactory' => $vendorDir . '/laravel/horizon/src/SupervisorFactory.php',
|
||||
'Laravel\\Horizon\\SupervisorOptions' => $vendorDir . '/laravel/horizon/src/SupervisorOptions.php',
|
||||
'Laravel\\Horizon\\SupervisorProcess' => $vendorDir . '/laravel/horizon/src/SupervisorProcess.php',
|
||||
'Laravel\\Horizon\\SystemProcessCounter' => $vendorDir . '/laravel/horizon/src/SystemProcessCounter.php',
|
||||
'Laravel\\Horizon\\Tags' => $vendorDir . '/laravel/horizon/src/Tags.php',
|
||||
'Laravel\\Horizon\\WaitTimeCalculator' => $vendorDir . '/laravel/horizon/src/WaitTimeCalculator.php',
|
||||
'Laravel\\Horizon\\WorkerCommandString' => $vendorDir . '/laravel/horizon/src/WorkerCommandString.php',
|
||||
'Laravel\\Horizon\\WorkerProcess' => $vendorDir . '/laravel/horizon/src/WorkerProcess.php',
|
||||
'Laravel\\Socialite\\AbstractUser' => $vendorDir . '/laravel/socialite/src/AbstractUser.php',
|
||||
'Laravel\\Socialite\\Contracts\\Factory' => $vendorDir . '/laravel/socialite/src/Contracts/Factory.php',
|
||||
'Laravel\\Socialite\\Contracts\\Provider' => $vendorDir . '/laravel/socialite/src/Contracts/Provider.php',
|
||||
@@ -1777,7 +1921,11 @@ return array(
|
||||
'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV7' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php',
|
||||
'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerTrait' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegration' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV8' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryTestCase' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV7AndPrevious' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV7AndPrevious.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV8' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php',
|
||||
'Mockery\\Adapter\\Phpunit\\TestListener' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php',
|
||||
'Mockery\\ClosureWrapper' => $vendorDir . '/mockery/mockery/library/Mockery/ClosureWrapper.php',
|
||||
'Mockery\\CompositeExpectation' => $vendorDir . '/mockery/mockery/library/Mockery/CompositeExpectation.php',
|
||||
@@ -1950,6 +2098,7 @@ return array(
|
||||
'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php',
|
||||
'Nexmo\\Account\\Balance' => $vendorDir . '/nexmo/client/src/Account/Balance.php',
|
||||
'Nexmo\\Account\\Client' => $vendorDir . '/nexmo/client/src/Account/Client.php',
|
||||
'Nexmo\\Account\\Config' => $vendorDir . '/nexmo/client/src/Account/Config.php',
|
||||
'Nexmo\\Account\\PrefixPrice' => $vendorDir . '/nexmo/client/src/Account/PrefixPrice.php',
|
||||
'Nexmo\\Account\\Price' => $vendorDir . '/nexmo/client/src/Account/Price.php',
|
||||
'Nexmo\\Account\\Secret' => $vendorDir . '/nexmo/client/src/Account/Secret.php',
|
||||
@@ -2044,6 +2193,10 @@ return array(
|
||||
'Nexmo\\Message\\Query' => $vendorDir . '/nexmo/client/src/Message/Query.php',
|
||||
'Nexmo\\Message\\Response\\Collection' => $vendorDir . '/nexmo/client/src/Message/Response/Collection.php',
|
||||
'Nexmo\\Message\\Response\\Message' => $vendorDir . '/nexmo/client/src/Message/Response/Message.php',
|
||||
'Nexmo\\Message\\Shortcode' => $vendorDir . '/nexmo/client/src/Message/Shortcode.php',
|
||||
'Nexmo\\Message\\Shortcode\\Alert' => $vendorDir . '/nexmo/client/src/Message/Shortcode/Alert.php',
|
||||
'Nexmo\\Message\\Shortcode\\Marketing' => $vendorDir . '/nexmo/client/src/Message/Shortcode/Marketing.php',
|
||||
'Nexmo\\Message\\Shortcode\\TwoFactor' => $vendorDir . '/nexmo/client/src/Message/Shortcode/TwoFactor.php',
|
||||
'Nexmo\\Message\\Text' => $vendorDir . '/nexmo/client/src/Message/Text.php',
|
||||
'Nexmo\\Message\\Unicode' => $vendorDir . '/nexmo/client/src/Message/Unicode.php',
|
||||
'Nexmo\\Message\\Vcal' => $vendorDir . '/nexmo/client/src/Message/Vcal.php',
|
||||
@@ -2585,6 +2738,7 @@ return array(
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php',
|
||||
|
||||
5
vendor/composer/autoload_files.php
vendored
5
vendor/composer/autoload_files.php
vendored
@@ -8,11 +8,11 @@ $baseDir = dirname($vendorDir);
|
||||
return array(
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
|
||||
'cf97c57bfe0f23854afd2f3818abb7a0' => $vendorDir . '/zendframework/zend-diactoros/src/functions/create_uploaded_file.php',
|
||||
@@ -24,6 +24,7 @@ return array(
|
||||
'1ca3bc274755662169f9629d5412a1da' => $vendorDir . '/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php',
|
||||
'40360c0b9b437e69bcbb7f1349ce029e' => $vendorDir . '/zendframework/zend-diactoros/src/functions/parse_cookie_header.php',
|
||||
'538ca81a9a966a6716601ecf48f4eaef' => $vendorDir . '/opis/closure/functions.php',
|
||||
'34122c0574b76bf21c9a8db62b5b9cf3' => $vendorDir . '/cakephp/chronos/src/carbon_compat.php',
|
||||
'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
|
||||
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
|
||||
2
vendor/composer/autoload_psr4.php
vendored
2
vendor/composer/autoload_psr4.php
vendored
@@ -47,6 +47,7 @@ return array(
|
||||
'Lcobucci\\JWT\\' => array($vendorDir . '/lcobucci/jwt/src'),
|
||||
'Laravel\\Tinker\\' => array($vendorDir . '/laravel/tinker/src'),
|
||||
'Laravel\\Socialite\\' => array($vendorDir . '/laravel/socialite/src'),
|
||||
'Laravel\\Horizon\\' => array($vendorDir . '/laravel/horizon/src'),
|
||||
'JakubOnderka\\PhpConsoleHighlighter\\' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'),
|
||||
'JakubOnderka\\PhpConsoleColor\\' => array($vendorDir . '/jakub-onderka/php-console-color/src'),
|
||||
'Illuminate\\Notifications\\' => array($vendorDir . '/laravel/nexmo-notification-channel/src', $vendorDir . '/laravel/slack-notification-channel/src'),
|
||||
@@ -67,6 +68,7 @@ return array(
|
||||
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
|
||||
'Cron\\' => array($vendorDir . '/dragonmantank/cron-expression/src/Cron'),
|
||||
'Collective\\Html\\' => array($vendorDir . '/laravelcollective/html/src'),
|
||||
'Cake\\Chronos\\' => array($vendorDir . '/cakephp/chronos/src'),
|
||||
'BeyondCode\\DumpServer\\' => array($vendorDir . '/beyondcode/laravel-dump-server/src'),
|
||||
'App\\' => array($baseDir . '/app'),
|
||||
'' => array($vendorDir . '/nesbot/carbon/src'),
|
||||
|
||||
199
vendor/composer/autoload_static.php
vendored
199
vendor/composer/autoload_static.php
vendored
@@ -9,11 +9,11 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
public static $files = array (
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
|
||||
'cf97c57bfe0f23854afd2f3818abb7a0' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/create_uploaded_file.php',
|
||||
@@ -25,6 +25,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'1ca3bc274755662169f9629d5412a1da' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/normalize_uploaded_files.php',
|
||||
'40360c0b9b437e69bcbb7f1349ce029e' => __DIR__ . '/..' . '/zendframework/zend-diactoros/src/functions/parse_cookie_header.php',
|
||||
'538ca81a9a966a6716601ecf48f4eaef' => __DIR__ . '/..' . '/opis/closure/functions.php',
|
||||
'34122c0574b76bf21c9a8db62b5b9cf3' => __DIR__ . '/..' . '/cakephp/chronos/src/carbon_compat.php',
|
||||
'f0906e6318348a765ffb6eb24e0d0938' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
|
||||
'58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
@@ -114,6 +115,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'Lcobucci\\JWT\\' => 13,
|
||||
'Laravel\\Tinker\\' => 15,
|
||||
'Laravel\\Socialite\\' => 18,
|
||||
'Laravel\\Horizon\\' => 16,
|
||||
),
|
||||
'J' =>
|
||||
array (
|
||||
@@ -158,6 +160,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
array (
|
||||
'Cron\\' => 5,
|
||||
'Collective\\Html\\' => 16,
|
||||
'Cake\\Chronos\\' => 13,
|
||||
),
|
||||
'B' =>
|
||||
array (
|
||||
@@ -336,6 +339,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/laravel/socialite/src',
|
||||
),
|
||||
'Laravel\\Horizon\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/laravel/horizon/src',
|
||||
),
|
||||
'JakubOnderka\\PhpConsoleHighlighter\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src',
|
||||
@@ -417,6 +424,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/laravelcollective/html/src',
|
||||
),
|
||||
'Cake\\Chronos\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/cakephp/chronos/src',
|
||||
),
|
||||
'BeyondCode\\DumpServer\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src',
|
||||
@@ -462,26 +473,27 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
public static $classMap = array (
|
||||
'App\\Console\\Commands\\CalculateMarketTaxCommand' => __DIR__ . '/../..' . '/app/Console/Commands/calculatemarkettax.php',
|
||||
'App\\Console\\Commands\\CorpJournalCommand' => __DIR__ . '/../..' . '/app/Console/Commands/corpJournal.php',
|
||||
'App\\Console\\Commands\\GetCorpsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/GetCorps.php',
|
||||
'App\\Console\\Commands\\GetCorpsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/getCorps.php',
|
||||
'App\\Console\\Commands\\HoldingFinancesCommand' => __DIR__ . '/../..' . '/app/Console/Commands/holdingfinances.php',
|
||||
'App\\Console\\Commands\\MoonMailerCommand' => __DIR__ . '/../..' . '/app/Console/Commands/moonmailer.php',
|
||||
'App\\Console\\Commands\\PiTransactionsCommand' => __DIR__ . '/../..' . '/app/Console/Commands/pitransactions.php',
|
||||
'App\\Console\\Commands\\UpdateMoonPriceCommand' => __DIR__ . '/../..' . '/app/Console/Commands/UpdateMoonPricing.php',
|
||||
'App\\Console\\Commands\\UpdateMoonRental' => __DIR__ . '/../..' . '/app/Console/Commands/UpdateMoonRental.php',
|
||||
'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
|
||||
'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php',
|
||||
'App\\Http\\Controllers\\AdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/AdminController.php',
|
||||
'App\\Http\\Controllers\\Auth\\EsiScopeController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/EsiScopeController.php',
|
||||
'App\\Http\\Controllers\\Auth\\LoginController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/LoginController.php',
|
||||
'App\\Http\\Controllers\\ContractAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/ContractAdminController.php',
|
||||
'App\\Http\\Controllers\\ContractController' => __DIR__ . '/../..' . '/app/Http/Controllers/ContractController.php',
|
||||
'App\\Http\\Controllers\\Contracts\\ContractAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Contracts/ContractAdminController.php',
|
||||
'App\\Http\\Controllers\\Contracts\\ContractController' => __DIR__ . '/../..' . '/app/Http/Controllers/Contracts/ContractController.php',
|
||||
'App\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/app/Http/Controllers/Controller.php',
|
||||
'App\\Http\\Controllers\\DashboardController' => __DIR__ . '/../..' . '/app/Http/Controllers/DashboardController.php',
|
||||
'App\\Http\\Controllers\\EsiScopeController' => __DIR__ . '/../..' . '/app/Http/Controllers/EsiScopeController.php',
|
||||
'App\\Http\\Controllers\\MoonsAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/MoonsAdminController.php',
|
||||
'App\\Http\\Controllers\\MoonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/MoonsController.php',
|
||||
'App\\Http\\Controllers\\RegisterStructureController' => __DIR__ . '/../..' . '/app/Http/Controllers/RegisterStructureController.php',
|
||||
'App\\Http\\Controllers\\StructureAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/StructureAdminController.php',
|
||||
'App\\Http\\Controllers\\StructureController' => __DIR__ . '/../..' . '/app/Http/Controllers/StructureController.php',
|
||||
'App\\Http\\Controllers\\WikiController' => __DIR__ . '/../..' . '/app/Http/Controllers/WikiController.php',
|
||||
'App\\Http\\Controllers\\Dashboard\\AdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Dashboard/AdminController.php',
|
||||
'App\\Http\\Controllers\\Dashboard\\DashboardController' => __DIR__ . '/../..' . '/app/Http/Controllers/Dashboard/DashboardController.php',
|
||||
'App\\Http\\Controllers\\Moons\\MoonsAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonsAdminController.php',
|
||||
'App\\Http\\Controllers\\Moons\\MoonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/Moons/MoonsController.php',
|
||||
'App\\Http\\Controllers\\Structures\\RegisterStructureController' => __DIR__ . '/../..' . '/app/Http/Controllers/Structures/RegisterStructureController.php',
|
||||
'App\\Http\\Controllers\\Structures\\StructureAdminController' => __DIR__ . '/../..' . '/app/Http/Controllers/Structures/StructureAdminController.php',
|
||||
'App\\Http\\Controllers\\Structures\\StructureController' => __DIR__ . '/../..' . '/app/Http/Controllers/Structures/StructureController.php',
|
||||
'App\\Http\\Controllers\\Wiki\\WikiController' => __DIR__ . '/../..' . '/app/Http/Controllers/Wiki/WikiController.php',
|
||||
'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php',
|
||||
'App\\Http\\Middleware\\Authenticate' => __DIR__ . '/../..' . '/app/Http/Middleware/Authenticate.php',
|
||||
'App\\Http\\Middleware\\Callback' => __DIR__ . '/../..' . '/app/Http/Middleware/Callback.php',
|
||||
@@ -494,7 +506,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'App\\Http\\Middleware\\TrustProxies' => __DIR__ . '/../..' . '/app/Http/Middleware/TrustProxies.php',
|
||||
'App\\Http\\Middleware\\VerifyCsrfToken' => __DIR__ . '/../..' . '/app/Http/Middleware/VerifyCsrfToken.php',
|
||||
'App\\Jobs\\ProcessWalletJournalJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessWalletJournalJob.php',
|
||||
'App\\Jobs\\ProcessWalletTransactionJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessWalletTransactionJob.php',
|
||||
'App\\Jobs\\ProcessWalletTransactionJob' => __DIR__ . '/../..' . '/app/Jobs/ProcessWallettransactionJob.php',
|
||||
'App\\Jobs\\SendEveMailJob' => __DIR__ . '/../..' . '/app/Jobs/SendEveMailJob.php',
|
||||
'App\\Library\\Esi\\Esi' => __DIR__ . '/../..' . '/app/Library/Esi/Esi.php',
|
||||
'App\\Library\\Esi\\Mail' => __DIR__ . '/../..' . '/app/Library/Esi/Mail.php',
|
||||
@@ -509,7 +521,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'App\\Library\\Finances\\StructureIndustryTax' => __DIR__ . '/../..' . '/app/Library/Finances/StructureIndustryTax.php',
|
||||
'App\\Library\\Lookups\\LookupHelper' => __DIR__ . '/../..' . '/app/Library/Lookups/LookupHelper.php',
|
||||
'App\\Library\\Moons\\MoonCalc' => __DIR__ . '/../..' . '/app/Library/Moons/MoonCalc.php',
|
||||
'App\\Library\\Moons\\MoonMailer' => __DIR__ . '/../..' . '/app/Library/Moons/MoonMailer.php',
|
||||
'App\\Library\\Structures\\JumpBridgeFuel' => __DIR__ . '/../..' . '/app/Library/Structures/JumpBridgeFuel.php',
|
||||
'App\\Library\\Structures\\StructureTaxHelper' => __DIR__ . '/../..' . '/app/Library/Structures/StructureTaxHelper.php',
|
||||
'App\\Library\\Taxes\\TaxesHelper' => __DIR__ . '/../..' . '/app/Library/Taxes/TaxesHelper.php',
|
||||
@@ -548,9 +559,9 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'App\\Models\\Mail\\EveMail' => __DIR__ . '/../..' . '/app/Models/Mail/EveMail.php',
|
||||
'App\\Models\\Mail\\SentMail' => __DIR__ . '/../..' . '/app/Models/Mail/SentMail.php',
|
||||
'App\\Models\\Market\\MarketOrder' => __DIR__ . '/../..' . '/app/Models/Market/MarketOrder.php',
|
||||
'App\\Models\\MoonRent\\MoonRental' => __DIR__ . '/../..' . '/app/Models/MoonRentals/MoonRental.php',
|
||||
'App\\Models\\Moon\\ItemComposition' => __DIR__ . '/../..' . '/app/Models/Moon/ItemComposition.php',
|
||||
'App\\Models\\Moon\\Moon' => __DIR__ . '/../..' . '/app/Models/Moon/Moon.php',
|
||||
'App\\Models\\Moon\\MoonRent' => __DIR__ . '/../..' . '/app/Models/Moon/MoonRent.php',
|
||||
'App\\Models\\Moon\\OrePrice' => __DIR__ . '/../..' . '/app/Models/Moon/OrePrice.php',
|
||||
'App\\Models\\Moon\\Price' => __DIR__ . '/../..' . '/app/Models/Moon/Price.php',
|
||||
'App\\Models\\ScheduledTask\\ScheduleJob' => __DIR__ . '/../..' . '/app/Models/ScheduledTask/ScheduleJob.php',
|
||||
@@ -568,6 +579,25 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'BeyondCode\\DumpServer\\DumpServerServiceProvider' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php',
|
||||
'BeyondCode\\DumpServer\\Dumper' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/Dumper.php',
|
||||
'BeyondCode\\DumpServer\\RequestContextProvider' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/RequestContextProvider.php',
|
||||
'Cake\\Chronos\\Chronos' => __DIR__ . '/..' . '/cakephp/chronos/src/Chronos.php',
|
||||
'Cake\\Chronos\\ChronosInterface' => __DIR__ . '/..' . '/cakephp/chronos/src/ChronosInterface.php',
|
||||
'Cake\\Chronos\\ChronosInterval' => __DIR__ . '/..' . '/cakephp/chronos/src/ChronosInterval.php',
|
||||
'Cake\\Chronos\\Date' => __DIR__ . '/..' . '/cakephp/chronos/src/Date.php',
|
||||
'Cake\\Chronos\\DifferenceFormatter' => __DIR__ . '/..' . '/cakephp/chronos/src/DifferenceFormatter.php',
|
||||
'Cake\\Chronos\\MutableDate' => __DIR__ . '/..' . '/cakephp/chronos/src/MutableDate.php',
|
||||
'Cake\\Chronos\\MutableDateTime' => __DIR__ . '/..' . '/cakephp/chronos/src/MutableDateTime.php',
|
||||
'Cake\\Chronos\\Traits\\ComparisonTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/ComparisonTrait.php',
|
||||
'Cake\\Chronos\\Traits\\CopyTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/CopyTrait.php',
|
||||
'Cake\\Chronos\\Traits\\DifferenceTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/DifferenceTrait.php',
|
||||
'Cake\\Chronos\\Traits\\FactoryTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/FactoryTrait.php',
|
||||
'Cake\\Chronos\\Traits\\FormattingTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/FormattingTrait.php',
|
||||
'Cake\\Chronos\\Traits\\FrozenTimeTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/FrozenTimeTrait.php',
|
||||
'Cake\\Chronos\\Traits\\MagicPropertyTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/MagicPropertyTrait.php',
|
||||
'Cake\\Chronos\\Traits\\ModifierTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/ModifierTrait.php',
|
||||
'Cake\\Chronos\\Traits\\RelativeKeywordTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/RelativeKeywordTrait.php',
|
||||
'Cake\\Chronos\\Traits\\TestingAidTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/TestingAidTrait.php',
|
||||
'Cake\\Chronos\\Traits\\TimezoneTrait' => __DIR__ . '/..' . '/cakephp/chronos/src/Traits/TimezoneTrait.php',
|
||||
'Cake\\Chronos\\Translator' => __DIR__ . '/..' . '/cakephp/chronos/src/Translator.php',
|
||||
'Carbon\\Carbon' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Carbon.php',
|
||||
'Carbon\\CarbonInterval' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonInterval.php',
|
||||
'Carbon\\CarbonPeriod' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonPeriod.php',
|
||||
@@ -629,6 +659,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'Dotenv\\Exception\\InvalidPathException' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Exception/InvalidPathException.php',
|
||||
'Dotenv\\Exception\\ValidationException' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Exception/ValidationException.php',
|
||||
'Dotenv\\Loader' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Loader.php',
|
||||
'Dotenv\\Parser' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Parser.php',
|
||||
'Dotenv\\Validator' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Validator.php',
|
||||
'Egulias\\EmailValidator\\EmailLexer' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailLexer.php',
|
||||
'Egulias\\EmailValidator\\EmailParser' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailParser.php',
|
||||
@@ -1545,6 +1576,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'Illuminate\\Database\\Eloquent\\Concerns\\QueriesRelationships' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php',
|
||||
'Illuminate\\Database\\Eloquent\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php',
|
||||
'Illuminate\\Database\\Eloquent\\FactoryBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php',
|
||||
'Illuminate\\Database\\Eloquent\\HigherOrderBuilderProxy' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php',
|
||||
'Illuminate\\Database\\Eloquent\\JsonEncodingException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php',
|
||||
'Illuminate\\Database\\Eloquent\\MassAssignmentException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php',
|
||||
'Illuminate\\Database\\Eloquent\\Model' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Model.php',
|
||||
@@ -2104,6 +2136,129 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'JakubOnderka\\PhpConsoleColor\\InvalidStyleException' => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src/InvalidStyleException.php',
|
||||
'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src/Highlighter.php',
|
||||
'JsonSerializable' => __DIR__ . '/..' . '/nesbot/carbon/src/JsonSerializable.php',
|
||||
'Laravel\\Horizon\\AutoScaler' => __DIR__ . '/..' . '/laravel/horizon/src/AutoScaler.php',
|
||||
'Laravel\\Horizon\\BackgroundProcess' => __DIR__ . '/..' . '/laravel/horizon/src/BackgroundProcess.php',
|
||||
'Laravel\\Horizon\\Connectors\\RedisConnector' => __DIR__ . '/..' . '/laravel/horizon/src/Connectors/RedisConnector.php',
|
||||
'Laravel\\Horizon\\Console\\AssetsCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/AssetsCommand.php',
|
||||
'Laravel\\Horizon\\Console\\ContinueCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/ContinueCommand.php',
|
||||
'Laravel\\Horizon\\Console\\HorizonCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/HorizonCommand.php',
|
||||
'Laravel\\Horizon\\Console\\InstallCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/InstallCommand.php',
|
||||
'Laravel\\Horizon\\Console\\ListCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/ListCommand.php',
|
||||
'Laravel\\Horizon\\Console\\PauseCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/PauseCommand.php',
|
||||
'Laravel\\Horizon\\Console\\PurgeCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/PurgeCommand.php',
|
||||
'Laravel\\Horizon\\Console\\SnapshotCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/SnapshotCommand.php',
|
||||
'Laravel\\Horizon\\Console\\StatusCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/StatusCommand.php',
|
||||
'Laravel\\Horizon\\Console\\SupervisorCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/SupervisorCommand.php',
|
||||
'Laravel\\Horizon\\Console\\SupervisorsCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/SupervisorsCommand.php',
|
||||
'Laravel\\Horizon\\Console\\TerminateCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/TerminateCommand.php',
|
||||
'Laravel\\Horizon\\Console\\TimeoutCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/TimeoutCommand.php',
|
||||
'Laravel\\Horizon\\Console\\WorkCommand' => __DIR__ . '/..' . '/laravel/horizon/src/Console/WorkCommand.php',
|
||||
'Laravel\\Horizon\\Contracts\\HorizonCommandQueue' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/HorizonCommandQueue.php',
|
||||
'Laravel\\Horizon\\Contracts\\JobRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/JobRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\MasterSupervisorRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/MasterSupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\MetricsRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/MetricsRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\Pausable' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/Pausable.php',
|
||||
'Laravel\\Horizon\\Contracts\\ProcessRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/ProcessRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\Restartable' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/Restartable.php',
|
||||
'Laravel\\Horizon\\Contracts\\SupervisorRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/SupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\TagRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/TagRepository.php',
|
||||
'Laravel\\Horizon\\Contracts\\Terminable' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/Terminable.php',
|
||||
'Laravel\\Horizon\\Contracts\\WorkloadRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Contracts/WorkloadRepository.php',
|
||||
'Laravel\\Horizon\\EventMap' => __DIR__ . '/..' . '/laravel/horizon/src/EventMap.php',
|
||||
'Laravel\\Horizon\\Events\\JobDeleted' => __DIR__ . '/..' . '/laravel/horizon/src/Events/JobDeleted.php',
|
||||
'Laravel\\Horizon\\Events\\JobFailed' => __DIR__ . '/..' . '/laravel/horizon/src/Events/JobFailed.php',
|
||||
'Laravel\\Horizon\\Events\\JobPushed' => __DIR__ . '/..' . '/laravel/horizon/src/Events/JobPushed.php',
|
||||
'Laravel\\Horizon\\Events\\JobReleased' => __DIR__ . '/..' . '/laravel/horizon/src/Events/JobReleased.php',
|
||||
'Laravel\\Horizon\\Events\\JobReserved' => __DIR__ . '/..' . '/laravel/horizon/src/Events/JobReserved.php',
|
||||
'Laravel\\Horizon\\Events\\JobsMigrated' => __DIR__ . '/..' . '/laravel/horizon/src/Events/JobsMigrated.php',
|
||||
'Laravel\\Horizon\\Events\\LongWaitDetected' => __DIR__ . '/..' . '/laravel/horizon/src/Events/LongWaitDetected.php',
|
||||
'Laravel\\Horizon\\Events\\MasterSupervisorDeployed' => __DIR__ . '/..' . '/laravel/horizon/src/Events/MasterSupervisorDeployed.php',
|
||||
'Laravel\\Horizon\\Events\\MasterSupervisorLooped' => __DIR__ . '/..' . '/laravel/horizon/src/Events/MasterSupervisorLooped.php',
|
||||
'Laravel\\Horizon\\Events\\MasterSupervisorReviving' => __DIR__ . '/..' . '/laravel/horizon/src/Events/MasterSupervisorReviving.php',
|
||||
'Laravel\\Horizon\\Events\\RedisEvent' => __DIR__ . '/..' . '/laravel/horizon/src/Events/RedisEvent.php',
|
||||
'Laravel\\Horizon\\Events\\SupervisorLooped' => __DIR__ . '/..' . '/laravel/horizon/src/Events/SupervisorLooped.php',
|
||||
'Laravel\\Horizon\\Events\\SupervisorProcessRestarting' => __DIR__ . '/..' . '/laravel/horizon/src/Events/SupervisorProcessRestarting.php',
|
||||
'Laravel\\Horizon\\Events\\UnableToLaunchProcess' => __DIR__ . '/..' . '/laravel/horizon/src/Events/UnableToLaunchProcess.php',
|
||||
'Laravel\\Horizon\\Events\\WorkerProcessRestarting' => __DIR__ . '/..' . '/laravel/horizon/src/Events/WorkerProcessRestarting.php',
|
||||
'Laravel\\Horizon\\Exec' => __DIR__ . '/..' . '/laravel/horizon/src/Exec.php',
|
||||
'Laravel\\Horizon\\Horizon' => __DIR__ . '/..' . '/laravel/horizon/src/Horizon.php',
|
||||
'Laravel\\Horizon\\HorizonApplicationServiceProvider' => __DIR__ . '/..' . '/laravel/horizon/src/HorizonApplicationServiceProvider.php',
|
||||
'Laravel\\Horizon\\HorizonServiceProvider' => __DIR__ . '/..' . '/laravel/horizon/src/HorizonServiceProvider.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\Controller' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/Controller.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\DashboardStatsController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/DashboardStatsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\FailedJobsController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/FailedJobsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\HomeController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/HomeController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\JobMetricsController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/JobMetricsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\MasterSupervisorController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/MasterSupervisorController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\MonitoringController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/MonitoringController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\QueueMetricsController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/QueueMetricsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\RecentJobsController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/RecentJobsController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\RetryController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/RetryController.php',
|
||||
'Laravel\\Horizon\\Http\\Controllers\\WorkloadController' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Controllers/WorkloadController.php',
|
||||
'Laravel\\Horizon\\Http\\Middleware\\Authenticate' => __DIR__ . '/..' . '/laravel/horizon/src/Http/Middleware/Authenticate.php',
|
||||
'Laravel\\Horizon\\JobId' => __DIR__ . '/..' . '/laravel/horizon/src/JobId.php',
|
||||
'Laravel\\Horizon\\JobPayload' => __DIR__ . '/..' . '/laravel/horizon/src/JobPayload.php',
|
||||
'Laravel\\Horizon\\Jobs\\MonitorTag' => __DIR__ . '/..' . '/laravel/horizon/src/Jobs/MonitorTag.php',
|
||||
'Laravel\\Horizon\\Jobs\\RetryFailedJob' => __DIR__ . '/..' . '/laravel/horizon/src/Jobs/RetryFailedJob.php',
|
||||
'Laravel\\Horizon\\Jobs\\StopMonitoringTag' => __DIR__ . '/..' . '/laravel/horizon/src/Jobs/StopMonitoringTag.php',
|
||||
'Laravel\\Horizon\\Listeners\\ExpireSupervisors' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/ExpireSupervisors.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsComplete' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MarkJobAsComplete.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsFailed' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MarkJobAsFailed.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsReleased' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MarkJobAsReleased.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobAsReserved' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MarkJobAsReserved.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarkJobsAsMigrated' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MarkJobsAsMigrated.php',
|
||||
'Laravel\\Horizon\\Listeners\\MarshalFailedEvent' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MarshalFailedEvent.php',
|
||||
'Laravel\\Horizon\\Listeners\\MonitorMasterSupervisorMemory' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MonitorMasterSupervisorMemory.php',
|
||||
'Laravel\\Horizon\\Listeners\\MonitorSupervisorMemory' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MonitorSupervisorMemory.php',
|
||||
'Laravel\\Horizon\\Listeners\\MonitorWaitTimes' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/MonitorWaitTimes.php',
|
||||
'Laravel\\Horizon\\Listeners\\PruneTerminatingProcesses' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/PruneTerminatingProcesses.php',
|
||||
'Laravel\\Horizon\\Listeners\\SendNotification' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/SendNotification.php',
|
||||
'Laravel\\Horizon\\Listeners\\StartTimingJob' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/StartTimingJob.php',
|
||||
'Laravel\\Horizon\\Listeners\\StoreJob' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/StoreJob.php',
|
||||
'Laravel\\Horizon\\Listeners\\StoreMonitoredTags' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/StoreMonitoredTags.php',
|
||||
'Laravel\\Horizon\\Listeners\\StoreTagsForFailedJob' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/StoreTagsForFailedJob.php',
|
||||
'Laravel\\Horizon\\Listeners\\TrimFailedJobs' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/TrimFailedJobs.php',
|
||||
'Laravel\\Horizon\\Listeners\\TrimMonitoredJobs' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/TrimMonitoredJobs.php',
|
||||
'Laravel\\Horizon\\Listeners\\TrimRecentJobs' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/TrimRecentJobs.php',
|
||||
'Laravel\\Horizon\\Listeners\\UpdateJobMetrics' => __DIR__ . '/..' . '/laravel/horizon/src/Listeners/UpdateJobMetrics.php',
|
||||
'Laravel\\Horizon\\ListensForSignals' => __DIR__ . '/..' . '/laravel/horizon/src/ListensForSignals.php',
|
||||
'Laravel\\Horizon\\Lock' => __DIR__ . '/..' . '/laravel/horizon/src/Lock.php',
|
||||
'Laravel\\Horizon\\LuaScripts' => __DIR__ . '/..' . '/laravel/horizon/src/LuaScripts.php',
|
||||
'Laravel\\Horizon\\MasterSupervisor' => __DIR__ . '/..' . '/laravel/horizon/src/MasterSupervisor.php',
|
||||
'Laravel\\Horizon\\MasterSupervisorCommands\\AddSupervisor' => __DIR__ . '/..' . '/laravel/horizon/src/MasterSupervisorCommands/AddSupervisor.php',
|
||||
'Laravel\\Horizon\\Notifications\\LongWaitDetected' => __DIR__ . '/..' . '/laravel/horizon/src/Notifications/LongWaitDetected.php',
|
||||
'Laravel\\Horizon\\PhpBinary' => __DIR__ . '/..' . '/laravel/horizon/src/PhpBinary.php',
|
||||
'Laravel\\Horizon\\ProcessInspector' => __DIR__ . '/..' . '/laravel/horizon/src/ProcessInspector.php',
|
||||
'Laravel\\Horizon\\ProcessPool' => __DIR__ . '/..' . '/laravel/horizon/src/ProcessPool.php',
|
||||
'Laravel\\Horizon\\ProvisioningPlan' => __DIR__ . '/..' . '/laravel/horizon/src/ProvisioningPlan.php',
|
||||
'Laravel\\Horizon\\QueueCommandString' => __DIR__ . '/..' . '/laravel/horizon/src/QueueCommandString.php',
|
||||
'Laravel\\Horizon\\RedisHorizonCommandQueue' => __DIR__ . '/..' . '/laravel/horizon/src/RedisHorizonCommandQueue.php',
|
||||
'Laravel\\Horizon\\RedisQueue' => __DIR__ . '/..' . '/laravel/horizon/src/RedisQueue.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisJobRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisJobRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisMasterSupervisorRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisMasterSupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisMetricsRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisMetricsRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisProcessRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisProcessRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisSupervisorRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisSupervisorRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisTagRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisTagRepository.php',
|
||||
'Laravel\\Horizon\\Repositories\\RedisWorkloadRepository' => __DIR__ . '/..' . '/laravel/horizon/src/Repositories/RedisWorkloadRepository.php',
|
||||
'Laravel\\Horizon\\ServiceBindings' => __DIR__ . '/..' . '/laravel/horizon/src/ServiceBindings.php',
|
||||
'Laravel\\Horizon\\Stopwatch' => __DIR__ . '/..' . '/laravel/horizon/src/Stopwatch.php',
|
||||
'Laravel\\Horizon\\Supervisor' => __DIR__ . '/..' . '/laravel/horizon/src/Supervisor.php',
|
||||
'Laravel\\Horizon\\SupervisorCommandString' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommandString.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Balance' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommands/Balance.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\ContinueWorking' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommands/ContinueWorking.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Pause' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommands/Pause.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Restart' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommands/Restart.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Scale' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommands/Scale.php',
|
||||
'Laravel\\Horizon\\SupervisorCommands\\Terminate' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorCommands/Terminate.php',
|
||||
'Laravel\\Horizon\\SupervisorFactory' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorFactory.php',
|
||||
'Laravel\\Horizon\\SupervisorOptions' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorOptions.php',
|
||||
'Laravel\\Horizon\\SupervisorProcess' => __DIR__ . '/..' . '/laravel/horizon/src/SupervisorProcess.php',
|
||||
'Laravel\\Horizon\\SystemProcessCounter' => __DIR__ . '/..' . '/laravel/horizon/src/SystemProcessCounter.php',
|
||||
'Laravel\\Horizon\\Tags' => __DIR__ . '/..' . '/laravel/horizon/src/Tags.php',
|
||||
'Laravel\\Horizon\\WaitTimeCalculator' => __DIR__ . '/..' . '/laravel/horizon/src/WaitTimeCalculator.php',
|
||||
'Laravel\\Horizon\\WorkerCommandString' => __DIR__ . '/..' . '/laravel/horizon/src/WorkerCommandString.php',
|
||||
'Laravel\\Horizon\\WorkerProcess' => __DIR__ . '/..' . '/laravel/horizon/src/WorkerProcess.php',
|
||||
'Laravel\\Socialite\\AbstractUser' => __DIR__ . '/..' . '/laravel/socialite/src/AbstractUser.php',
|
||||
'Laravel\\Socialite\\Contracts\\Factory' => __DIR__ . '/..' . '/laravel/socialite/src/Contracts/Factory.php',
|
||||
'Laravel\\Socialite\\Contracts\\Provider' => __DIR__ . '/..' . '/laravel/socialite/src/Contracts/Provider.php',
|
||||
@@ -2231,7 +2386,11 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV7' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php',
|
||||
'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerTrait' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegration' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV8' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryTestCase' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV7AndPrevious' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV7AndPrevious.php',
|
||||
'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV8' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php',
|
||||
'Mockery\\Adapter\\Phpunit\\TestListener' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php',
|
||||
'Mockery\\ClosureWrapper' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/ClosureWrapper.php',
|
||||
'Mockery\\CompositeExpectation' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CompositeExpectation.php',
|
||||
@@ -2404,6 +2563,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php',
|
||||
'Nexmo\\Account\\Balance' => __DIR__ . '/..' . '/nexmo/client/src/Account/Balance.php',
|
||||
'Nexmo\\Account\\Client' => __DIR__ . '/..' . '/nexmo/client/src/Account/Client.php',
|
||||
'Nexmo\\Account\\Config' => __DIR__ . '/..' . '/nexmo/client/src/Account/Config.php',
|
||||
'Nexmo\\Account\\PrefixPrice' => __DIR__ . '/..' . '/nexmo/client/src/Account/PrefixPrice.php',
|
||||
'Nexmo\\Account\\Price' => __DIR__ . '/..' . '/nexmo/client/src/Account/Price.php',
|
||||
'Nexmo\\Account\\Secret' => __DIR__ . '/..' . '/nexmo/client/src/Account/Secret.php',
|
||||
@@ -2498,6 +2658,10 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'Nexmo\\Message\\Query' => __DIR__ . '/..' . '/nexmo/client/src/Message/Query.php',
|
||||
'Nexmo\\Message\\Response\\Collection' => __DIR__ . '/..' . '/nexmo/client/src/Message/Response/Collection.php',
|
||||
'Nexmo\\Message\\Response\\Message' => __DIR__ . '/..' . '/nexmo/client/src/Message/Response/Message.php',
|
||||
'Nexmo\\Message\\Shortcode' => __DIR__ . '/..' . '/nexmo/client/src/Message/Shortcode.php',
|
||||
'Nexmo\\Message\\Shortcode\\Alert' => __DIR__ . '/..' . '/nexmo/client/src/Message/Shortcode/Alert.php',
|
||||
'Nexmo\\Message\\Shortcode\\Marketing' => __DIR__ . '/..' . '/nexmo/client/src/Message/Shortcode/Marketing.php',
|
||||
'Nexmo\\Message\\Shortcode\\TwoFactor' => __DIR__ . '/..' . '/nexmo/client/src/Message/Shortcode/TwoFactor.php',
|
||||
'Nexmo\\Message\\Text' => __DIR__ . '/..' . '/nexmo/client/src/Message/Text.php',
|
||||
'Nexmo\\Message\\Unicode' => __DIR__ . '/..' . '/nexmo/client/src/Message/Unicode.php',
|
||||
'Nexmo\\Message\\Vcal' => __DIR__ . '/..' . '/nexmo/client/src/Message/Vcal.php',
|
||||
@@ -3039,6 +3203,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Concat' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Div' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php',
|
||||
'PhpParser\\Node\\Expr\\AssignOp\\Minus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php',
|
||||
|
||||
130
vendor/composer/installed.json
vendored
130
vendor/composer/installed.json
vendored
@@ -62,6 +62,65 @@
|
||||
"laravel-dump-server"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cakephp/chronos",
|
||||
"version": "1.2.5",
|
||||
"version_normalized": "1.2.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cakephp/chronos.git",
|
||||
"reference": "8a2b005a2db173e1b5493002afb8e1e13c71a62a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/cakephp/chronos/zipball/8a2b005a2db173e1b5493002afb8e1e13c71a62a",
|
||||
"reference": "8a2b005a2db173e1b5493002afb8e1e13c71a62a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.5.9|^7"
|
||||
},
|
||||
"require-dev": {
|
||||
"athletic/athletic": "~0.1",
|
||||
"cakephp/cakephp-codesniffer": "^3.0",
|
||||
"phpbench/phpbench": "@dev",
|
||||
"phpstan/phpstan": "^0.6.4",
|
||||
"phpunit/phpunit": "<6.0 || ^7.0"
|
||||
},
|
||||
"time": "2019-04-23T19:00:57+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Cake\\Chronos\\": "src/"
|
||||
},
|
||||
"files": [
|
||||
"src/carbon_compat.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Brian Nesbitt",
|
||||
"email": "brian@nesbot.com",
|
||||
"homepage": "http://nesbot.com"
|
||||
},
|
||||
{
|
||||
"name": "The CakePHP Team",
|
||||
"homepage": "http://cakephp.org"
|
||||
}
|
||||
],
|
||||
"description": "A simple API extension for DateTime.",
|
||||
"homepage": "http://cakephp.org",
|
||||
"keywords": [
|
||||
"date",
|
||||
"datetime",
|
||||
"time"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "dnoegel/php-xdg-base-dir",
|
||||
"version": "0.1",
|
||||
@@ -1193,6 +1252,77 @@
|
||||
"laravel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "laravel/horizon",
|
||||
"version": "v3.1.2",
|
||||
"version_normalized": "3.1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/horizon.git",
|
||||
"reference": "32313d787a7a7575c1866e8ed12ec944c1513b7f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/32313d787a7a7575c1866e8ed12ec944c1513b7f",
|
||||
"reference": "32313d787a7a7575c1866e8ed12ec944c1513b7f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"cakephp/chronos": "^1.0",
|
||||
"ext-json": "*",
|
||||
"ext-pcntl": "*",
|
||||
"ext-posix": "*",
|
||||
"illuminate/contracts": "~5.7.0|~5.8.0|~5.9.0",
|
||||
"illuminate/queue": "~5.7.0|~5.8.0|~5.9.0",
|
||||
"illuminate/support": "~5.7.0|~5.8.0|~5.9.0",
|
||||
"php": ">=7.1.0",
|
||||
"predis/predis": "^1.1",
|
||||
"ramsey/uuid": "^3.5",
|
||||
"symfony/debug": "^4.2",
|
||||
"symfony/process": "^4.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.0",
|
||||
"orchestra/testbench": "^3.7",
|
||||
"phpunit/phpunit": "^7.0"
|
||||
},
|
||||
"time": "2019-04-30T15:20:11+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Laravel\\Horizon\\HorizonServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"Horizon": "Laravel\\Horizon\\Horizon"
|
||||
}
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Laravel\\Horizon\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
}
|
||||
],
|
||||
"description": "Dashboard and code-driven configuration for Laravel queues.",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"queue"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "laravel/nexmo-notification-channel",
|
||||
"version": "v1.0.1",
|
||||
|
||||
26
vendor/doctrine/instantiator/.doctrine-project.json
vendored
Normal file
26
vendor/doctrine/instantiator/.doctrine-project.json
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"active": true,
|
||||
"name": "Instantiator",
|
||||
"slug": "instantiator",
|
||||
"docsSlug": "doctrine-instantiator",
|
||||
"codePath": "/src",
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.1",
|
||||
"branchName": "master",
|
||||
"slug": "latest",
|
||||
"aliases": [
|
||||
"current",
|
||||
"stable"
|
||||
],
|
||||
"maintained": true,
|
||||
"current": true
|
||||
},
|
||||
{
|
||||
"name": "1.0",
|
||||
"branchName": "1.0.x",
|
||||
"slug": "1.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
68
vendor/doctrine/instantiator/docs/en/index.rst
vendored
Normal file
68
vendor/doctrine/instantiator/docs/en/index.rst
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
This library provides a way of avoiding usage of constructors when instantiating PHP classes.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
The suggested installation method is via `composer`_:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ composer require doctrine/instantiator
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
The instantiator is able to create new instances of any class without
|
||||
using the constructor or any API of the class itself:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<?php
|
||||
|
||||
use Doctrine\Instantiator\Instantiator;
|
||||
use App\Entities\User;
|
||||
|
||||
$instantiator = new Instantiator();
|
||||
|
||||
$user = $instantiator->instantiate(User::class);
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
||||
- Follow the `Doctrine Coding Standard`_
|
||||
- The project will follow strict `object calisthenics`_
|
||||
- Any contribution must provide tests for additional introduced
|
||||
conditions
|
||||
- Any un-confirmed issue needs a failing test case before being
|
||||
accepted
|
||||
- Pull requests must be sent from a new hotfix/feature branch, not from
|
||||
``master``.
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
The PHPUnit version to be used is the one installed as a dev- dependency
|
||||
via composer:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ ./vendor/bin/phpunit
|
||||
|
||||
Accepted coverage for new contributions is 80%. Any contribution not
|
||||
satisfying this requirement won’t be merged.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
This library was migrated from `ocramius/instantiator`_, which has been
|
||||
donated to the doctrine organization, and which is now deprecated in
|
||||
favour of this package.
|
||||
|
||||
.. _composer: https://getcomposer.org/
|
||||
.. _CONTRIBUTING.md: CONTRIBUTING.md
|
||||
.. _ocramius/instantiator: https://github.com/Ocramius/Instantiator
|
||||
.. _Doctrine Coding Standard: https://github.com/doctrine/coding-standard
|
||||
.. _object calisthenics: http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php
|
||||
4
vendor/doctrine/instantiator/docs/en/sidebar.rst
vendored
Normal file
4
vendor/doctrine/instantiator/docs/en/sidebar.rst
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
.. toctree::
|
||||
:depth: 3
|
||||
|
||||
index
|
||||
4
vendor/doctrine/instantiator/phpbench.json
vendored
Normal file
4
vendor/doctrine/instantiator/phpbench.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"bootstrap": "vendor/autoload.php",
|
||||
"path": "tests/DoctrineTest/InstantiatorPerformance"
|
||||
}
|
||||
35
vendor/doctrine/instantiator/phpcs.xml.dist
vendored
Normal file
35
vendor/doctrine/instantiator/phpcs.xml.dist
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset>
|
||||
<arg name="basepath" value="."/>
|
||||
<arg name="extensions" value="php"/>
|
||||
<arg name="parallel" value="80"/>
|
||||
<arg name="cache" value=".phpcs-cache"/>
|
||||
<arg name="colors"/>
|
||||
|
||||
<!-- Ignore warnings, show progress of the run and show sniff names -->
|
||||
<arg value="nps"/>
|
||||
|
||||
<file>src</file>
|
||||
<file>tests</file>
|
||||
|
||||
<rule ref="Doctrine">
|
||||
<exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes"/>
|
||||
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint"/>
|
||||
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingReturnTypeHint"/>
|
||||
<exclude name="SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly.ReferencedGeneralException"/>
|
||||
</rule>
|
||||
|
||||
<rule ref="SlevomatCodingStandard.Classes.SuperfluousAbstractClassNaming">
|
||||
<exclude-pattern>tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php</exclude-pattern>
|
||||
</rule>
|
||||
|
||||
<rule ref="SlevomatCodingStandard.Classes.SuperfluousExceptionNaming">
|
||||
<exclude-pattern>src/Doctrine/Instantiator/Exception/UnexpectedValueException.php</exclude-pattern>
|
||||
<exclude-pattern>src/Doctrine/Instantiator/Exception/InvalidArgumentException.php</exclude-pattern>
|
||||
</rule>
|
||||
|
||||
<rule ref="SlevomatCodingStandard.Classes.SuperfluousInterfaceNaming">
|
||||
<exclude-pattern>src/Doctrine/Instantiator/Exception/ExceptionInterface.php</exclude-pattern>
|
||||
<exclude-pattern>src/Doctrine/Instantiator/InstantiatorInterface.php</exclude-pattern>
|
||||
</rule>
|
||||
</ruleset>
|
||||
19
vendor/doctrine/instantiator/phpstan.neon.dist
vendored
Normal file
19
vendor/doctrine/instantiator/phpstan.neon.dist
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
includes:
|
||||
- vendor/phpstan/phpstan-phpunit/extension.neon
|
||||
- vendor/phpstan/phpstan-phpunit/rules.neon
|
||||
|
||||
parameters:
|
||||
level: max
|
||||
paths:
|
||||
- src
|
||||
- tests
|
||||
|
||||
ignoreErrors:
|
||||
-
|
||||
message: '#::__construct\(\) does not call parent constructor from#'
|
||||
path: '*/tests/DoctrineTest/InstantiatorTestAsset/*.php'
|
||||
|
||||
# dynamic properties confuse static analysis
|
||||
-
|
||||
message: '#Access to an undefined property object::\$foo\.#'
|
||||
path: '*/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php'
|
||||
21
vendor/laravel/framework/src/Illuminate/Auth/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Auth/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Broadcasting/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Broadcasting/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Bus/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Bus/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Cache/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Cache/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Config/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Config/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Console/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Console/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Container/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Container/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Contracts/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Contracts/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Cookie/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Cookie/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
49
vendor/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php
vendored
Normal file
49
vendor/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Database\Eloquent;
|
||||
|
||||
/**
|
||||
* @mixin \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
class HigherOrderBuilderProxy
|
||||
{
|
||||
/**
|
||||
* The collection being operated on.
|
||||
*
|
||||
* @var \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
protected $builder;
|
||||
|
||||
/**
|
||||
* The method being proxied.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $method;
|
||||
|
||||
/**
|
||||
* Create a new proxy instance.
|
||||
*
|
||||
* @param Builder $builder
|
||||
* @param string $method
|
||||
*/
|
||||
public function __construct(Builder $builder, $method)
|
||||
{
|
||||
$this->method = $method;
|
||||
$this->builder = $builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Proxy a scope call onto the query builder.
|
||||
*
|
||||
* @param string $method
|
||||
* @param array $parameters
|
||||
* @return mixed
|
||||
*/
|
||||
public function __call($method, $parameters)
|
||||
{
|
||||
return $this->builder->{$this->method}(function ($value) use ($method, $parameters) {
|
||||
return $value->{$method}(...$parameters);
|
||||
});
|
||||
}
|
||||
}
|
||||
21
vendor/laravel/framework/src/Illuminate/Database/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Database/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Encryption/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Encryption/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Events/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Events/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Filesystem/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Filesystem/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Hashing/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Hashing/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Http/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Http/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Log/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Log/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Mail/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Mail/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Notifications/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Notifications/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Pagination/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Pagination/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Pipeline/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Pipeline/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Queue/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Queue/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Redis/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Redis/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Routing/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Routing/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Session/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Session/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Support/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Support/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Translation/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Translation/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/Validation/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/Validation/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/framework/src/Illuminate/View/LICENSE.md
vendored
Normal file
21
vendor/laravel/framework/src/Illuminate/View/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
21
vendor/laravel/horizon/LICENSE.md
vendored
Normal file
21
vendor/laravel/horizon/LICENSE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Taylor Otwell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
27
vendor/laravel/horizon/README.md
vendored
Normal file
27
vendor/laravel/horizon/README.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<p align="center"><img src="https://laravel.com/assets/img/components/logo-horizon.svg"></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.org/laravel/horizon"><img src="https://travis-ci.org/laravel/horizon.svg" alt="Build Status"></a>
|
||||
<a href="https://packagist.org/packages/laravel/horizon"><img src="https://poser.pugx.org/laravel/horizon/d/total.svg" alt="Total Downloads"></a>
|
||||
<a href="https://packagist.org/packages/laravel/horizon"><img src="https://poser.pugx.org/laravel/horizon/v/stable.svg" alt="Latest Stable Version"></a>
|
||||
<a href="https://packagist.org/packages/laravel/horizon"><img src="https://poser.pugx.org/laravel/horizon/license.svg" alt="License"></a>
|
||||
</p>
|
||||
|
||||
## Introduction
|
||||
|
||||
Horizon provides a beautiful dashboard and code-driven configuration for your Laravel powered Redis queues. Horizon allows you to easily monitor key metrics of your queue system such as job throughput, runtime, and job failures.
|
||||
|
||||
<p align="center">
|
||||
<img src="https://res.cloudinary.com/dtfbvvkyp/image/upload/v1551286550/HorizonLight.png" width="430">
|
||||
<img src="https://res.cloudinary.com/dtfbvvkyp/image/upload/v1551286550/HorizonDark.png" width="430">
|
||||
</p>
|
||||
|
||||
All of your worker configuration is stored in a single, simple configuration file, allowing your configuration to stay in source control where your entire team can collaborate.
|
||||
|
||||
## Official Documentation
|
||||
|
||||
Documentation for Horizon can be found on the [Laravel website](https://laravel.com/docs/horizon).
|
||||
|
||||
## License
|
||||
|
||||
Laravel Horizon is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
|
||||
59
vendor/laravel/horizon/composer.json
vendored
Normal file
59
vendor/laravel/horizon/composer.json
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"name": "laravel/horizon",
|
||||
"description": "Dashboard and code-driven configuration for Laravel queues.",
|
||||
"keywords": ["laravel", "queue"],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.1.0",
|
||||
"ext-json": "*",
|
||||
"ext-pcntl": "*",
|
||||
"ext-posix": "*",
|
||||
"cakephp/chronos": "^1.0",
|
||||
"illuminate/contracts": "~5.7.0|~5.8.0|~5.9.0",
|
||||
"illuminate/queue": "~5.7.0|~5.8.0|~5.9.0",
|
||||
"illuminate/support": "~5.7.0|~5.8.0|~5.9.0",
|
||||
"predis/predis": "^1.1",
|
||||
"ramsey/uuid": "^3.5",
|
||||
"symfony/process": "^4.2",
|
||||
"symfony/debug": "^4.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.0",
|
||||
"orchestra/testbench": "^3.7",
|
||||
"phpunit/phpunit": "^7.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Laravel\\Horizon\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Laravel\\Horizon\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Laravel\\Horizon\\HorizonServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"Horizon": "Laravel\\Horizon\\Horizon"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
}
|
||||
162
vendor/laravel/horizon/config/horizon.php
vendored
Normal file
162
vendor/laravel/horizon/config/horizon.php
vendored
Normal file
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the subdomain where Horizon will be accessible from. If this
|
||||
| setting is null, Horizon will reside under the same domain as the
|
||||
| application. Otherwise, this value will serve as the subdomain.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the URI path where Horizon will be accessible from. Feel free
|
||||
| to change this path to anything you like. Note that the URI will not
|
||||
| affect the paths of its internal API that aren't exposed to users.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => 'horizon',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Redis Connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the name of the Redis connection where Horizon will store the
|
||||
| meta information required for it to function. It includes the list
|
||||
| of supervisors, failed jobs, job metrics, and other information.
|
||||
|
|
||||
*/
|
||||
|
||||
'use' => 'default',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Redis Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This prefix will be used when storing all Horizon data in Redis. You
|
||||
| may modify the prefix when you are running multiple installations
|
||||
| of Horizon on the same server so that they don't have problems.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env('HORIZON_PREFIX', 'horizon:'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Route Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These middleware will get attached onto each Horizon route, giving you
|
||||
| the chance to add your own middleware to this list or change any of
|
||||
| the existing middleware. Or, you can simply stick with this list.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => ['web'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Wait Time Thresholds
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to configure when the LongWaitDetected event
|
||||
| will be fired. Every connection / queue combination may have its
|
||||
| own, unique threshold (in seconds) before this event is fired.
|
||||
|
|
||||
*/
|
||||
|
||||
'waits' => [
|
||||
'redis:default' => 60,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Job Trimming Times
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure for how long (in minutes) you desire Horizon to
|
||||
| persist the recent and failed jobs. Typically, recent jobs are kept
|
||||
| for one hour while all failed jobs are stored for an entire week.
|
||||
|
|
||||
*/
|
||||
|
||||
'trim' => [
|
||||
'recent' => 60,
|
||||
'failed' => 10080,
|
||||
'monitored' => 10080,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fast Termination
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When this option is enabled, Horizon's "terminate" command will not
|
||||
| wait on all of the workers to terminate unless the --wait option
|
||||
| is provided. Fast termination can shorten deployment delay by
|
||||
| allowing a new instance of Horizon to start while the last
|
||||
| instance will continue to terminate each of its workers.
|
||||
|
|
||||
*/
|
||||
|
||||
'fast_termination' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Memory Limit (MB)
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value describes the maximum amount of memory the Horizon worker
|
||||
| may consume before it is terminated and restarted. You should set
|
||||
| this value according to the resources available to your server.
|
||||
|
|
||||
*/
|
||||
|
||||
'memory_limit' => 64,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Worker Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define the queue worker settings used by your application
|
||||
| in all environments. These supervisors and settings handle all your
|
||||
| queued jobs and will be provisioned by Horizon during deployment.
|
||||
|
|
||||
*/
|
||||
|
||||
'environments' => [
|
||||
'production' => [
|
||||
'supervisor-1' => [
|
||||
'connection' => 'redis',
|
||||
'queue' => ['default'],
|
||||
'balance' => 'simple',
|
||||
'processes' => 10,
|
||||
'tries' => 3,
|
||||
],
|
||||
],
|
||||
|
||||
'local' => [
|
||||
'supervisor-1' => [
|
||||
'connection' => 'redis',
|
||||
'queue' => ['default'],
|
||||
'balance' => 'simple',
|
||||
'processes' => 3,
|
||||
'tries' => 3,
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
9195
vendor/laravel/horizon/package-lock.json
generated
vendored
Normal file
9195
vendor/laravel/horizon/package-lock.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
35
vendor/laravel/horizon/package.json
vendored
Normal file
35
vendor/laravel/horizon/package.json
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run development",
|
||||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"watch-poll": "npm run watch -- --watch-poll",
|
||||
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"prod": "npm run production",
|
||||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"axios": "^0.18",
|
||||
"bootstrap": "^4.0.0",
|
||||
"cross-env": "^5.1",
|
||||
"highlight.js": "^9.12.0",
|
||||
"jquery": "^3.2",
|
||||
"chart.js": "^2.5.0",
|
||||
"laravel-mix": "^4.0.7",
|
||||
"lodash": "^4.17.4",
|
||||
"phpunserialize": "1.*",
|
||||
"md5": "^2.2.1",
|
||||
"moment": "^2.10.6",
|
||||
"moment-timezone": "^0.5.21",
|
||||
"popper.js": "^1.12",
|
||||
"resolve-url-loader": "^2.3.1",
|
||||
"sass": "^1.15.2",
|
||||
"sass-loader": "^7.1.0",
|
||||
"sql-formatter": "^2.3.1",
|
||||
"vue": "^2.5.7",
|
||||
"vue-json-pretty": "^1.4.1",
|
||||
"vue-router": "^3.0.1",
|
||||
"vue-template-compiler": "^2.5.21"
|
||||
}
|
||||
}
|
||||
8
vendor/laravel/horizon/public/app-dark.css
vendored
Normal file
8
vendor/laravel/horizon/public/app-dark.css
vendored
Normal file
File diff suppressed because one or more lines are too long
8
vendor/laravel/horizon/public/app.css
vendored
Normal file
8
vendor/laravel/horizon/public/app.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
vendor/laravel/horizon/public/app.js
vendored
Normal file
1
vendor/laravel/horizon/public/app.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
vendor/laravel/horizon/public/img/favicon.png
vendored
Normal file
BIN
vendor/laravel/horizon/public/img/favicon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 648 B |
4
vendor/laravel/horizon/public/img/horizon.svg
vendored
Normal file
4
vendor/laravel/horizon/public/img/horizon.svg
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="226" height="30" viewBox="0 0 226 30">
|
||||
<path fill="#405263" d="M54.132 25l-.644-4.144h-5.936V5.68h-4.788V25h11.368zm13.3 0H63.68l-.28-1.708c-1.12 1.176-2.436 1.988-4.312 1.988-2.184 0-3.724-1.316-3.724-3.808 0-3.22 2.464-4.732 7.84-5.208v-.252c0-1.204-.672-1.736-2.072-1.736-1.54 0-2.968.392-4.424 1.036l-.504-3.192c1.568-.644 3.332-1.064 5.572-1.064 3.78 0 5.656 1.26 5.656 4.76V25zm-4.228-3.78v-2.912c-2.884.448-3.668 1.4-3.668 2.604 0 .868.532 1.344 1.316 1.344.812 0 1.596-.364 2.352-1.036zm15.876-5.908L78.38 11c-2.016.14-3.164 1.428-4.004 2.996l-.448-2.716h-3.696V25h4.228v-7.616c1.036-1.12 2.576-1.932 4.62-2.072zM92.184 25h-3.752l-.28-1.708c-1.12 1.176-2.436 1.988-4.312 1.988-2.184 0-3.724-1.316-3.724-3.808 0-3.22 2.464-4.732 7.84-5.208v-.252c0-1.204-.672-1.736-2.072-1.736-1.54 0-2.968.392-4.424 1.036l-.504-3.192c1.568-.644 3.332-1.064 5.572-1.064 3.78 0 5.656 1.26 5.656 4.76V25zm-4.228-3.78v-2.912c-2.884.448-3.668 1.4-3.668 2.604 0 .868.532 1.344 1.316 1.344.812 0 1.596-.364 2.352-1.036zm19.544-9.94h-4.116l-2.492 8.484-2.548-8.68-4.536.532 4.676 13.44h4.228L107.5 11.28zm13.552 6.832c0 .42-.028.868-.084 1.092h-8.232c.224 2.156 1.512 2.996 3.36 2.996 1.512 0 2.996-.56 4.508-1.428l.42 2.968c-1.484.952-3.304 1.54-5.46 1.54-4.116 0-7.056-2.184-7.056-7.084 0-4.48 2.744-7.196 6.468-7.196 4.2 0 6.076 3.136 6.076 7.112zm-4.032-1.232c-.14-2.072-.868-3.136-2.156-3.136-1.176 0-2.016 1.036-2.156 3.136h4.312zM127.66 25V4.784l-4.256.672V25h4.256zm25.032 0V5.68h-1.932v8.344h-10.724V5.68h-1.932V25h1.932v-9.24h10.724V25h1.932zm15.876-6.608c0 4.368-2.632 6.888-6.02 6.888-3.388 0-5.936-2.52-5.936-6.888 0-4.396 2.604-6.916 5.936-6.916 3.444 0 6.02 2.52 6.02 6.916zm-1.904 0c0-3.052-1.456-5.348-4.116-5.348-2.632 0-4.06 2.212-4.06 5.348 0 3.052 1.456 5.32 4.06 5.32 2.688 0 4.116-2.184 4.116-5.32zm12.208-5.18l-.308-1.736c-2.184.056-3.724 1.512-4.704 2.996l-.42-2.716h-1.372V25h1.848v-8.316c.896-1.764 2.772-3.332 4.956-3.472zm5.264-5.964c0-.728-.588-1.344-1.316-1.344-.728 0-1.344.616-1.344 1.344 0 .728.616 1.344 1.344 1.344.728 0 1.316-.616 1.316-1.344zM183.716 25V11.756h-1.82V25h1.82zm13.748 0l-.252-1.54h-7.868l7.896-10.276v-1.428h-9.604l.252 1.54h7.224l-7.896 10.276V25h10.248zm14.476-6.608c0 4.368-2.632 6.888-6.02 6.888-3.388 0-5.936-2.52-5.936-6.888 0-4.396 2.604-6.916 5.936-6.916 3.444 0 6.02 2.52 6.02 6.916zm-1.904 0c0-3.052-1.456-5.348-4.116-5.348-2.632 0-4.06 2.212-4.06 5.348 0 3.052 1.456 5.32 4.06 5.32 2.688 0 4.116-2.184 4.116-5.32zM225.884 25v-9.464c0-2.548-1.316-4.06-3.948-4.06-1.792 0-3.304.952-4.76 2.24l-.308-1.96h-1.428V25h1.848v-9.576c1.456-1.428 2.884-2.296 4.284-2.296 1.68 0 2.464 1.036 2.464 2.744V25h1.848z"/>
|
||||
<path fill="#405263" d="M5.26176342 26.4094389C2.04147988 23.6582233 0 19.5675182 0 15c0-4.1421356 1.67893219-7.89213562 4.39339828-10.60660172C7.10786438 1.67893219 10.8578644 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15-3.716753 0-7.11777662-1.3517984-9.73823658-3.5905611zM4.03811305 15.9222506C5.70084247 14.4569342 6.87195416 12.5 10 12.5c5 0 5 5 10 5 3.1280454 0 4.2991572-1.9569336 5.961887-3.4222502C25.4934253 8.43417206 20.7645408 4 15 4 8.92486775 4 4 8.92486775 4 15c0 .3105915.01287248.6181765.03811305.9222506z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
806
vendor/laravel/horizon/public/img/sprite.svg
vendored
Normal file
806
vendor/laravel/horizon/public/img/sprite.svg
vendored
Normal file
@@ -0,0 +1,806 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-add-outline">
|
||||
<path d="M11 9h4v2h-4v4H9v-4H5V9h4V5h2v4zm-1 11a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-add-solid">
|
||||
<path d="M11 9V5H9v4H5v2h4v4h2v-4h4V9h-4zm-1 11a10 10 0 1 1 0-20 10 10 0 0 1 0 20z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-adjust">
|
||||
<path d="M10 2v16a8 8 0 1 0 0-16zm0 18a10 10 0 1 1 0-20 10 10 0 0 1 0 20z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-airplane">
|
||||
<path d="M8.4 12H2.8L1 15H0V5h1l1.8 3h5.6L6 0h2l4.8 8H18a2 2 0 1 1 0 4h-5.2L8 20H6l2.4-8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-align-center">
|
||||
<path d="M1 1h18v2H1V1zm0 8h18v2H1V9zm0 8h18v2H1v-2zM4 5h12v2H4V5zm0 8h12v2H4v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-align-justified">
|
||||
<path d="M1 1h18v2H1V1zm0 8h18v2H1V9zm0 8h18v2H1v-2zM1 5h18v2H1V5zm0 8h18v2H1v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-align-left">
|
||||
<path d="M1 1h18v2H1V1zm0 8h18v2H1V9zm0 8h18v2H1v-2zM1 5h12v2H1V5zm0 8h12v2H1v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-align-right">
|
||||
<path d="M1 1h18v2H1V1zm0 8h18v2H1V9zm0 8h18v2H1v-2zM7 5h12v2H7V5zm0 8h12v2H7v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-anchor">
|
||||
<path d="M4.34 15.66A7.97 7.97 0 0 0 9 17.94V10H5V8h4V5.83a3 3 0 1 1 2 0V8h4v2h-4v7.94a7.97 7.97 0 0 0 4.66-2.28l-1.42-1.42h5.66l-2.83 2.83a10 10 0 0 1-14.14 0L.1 14.24h5.66l-1.42 1.42zM10 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-announcement">
|
||||
<path d="M3 6c0-1.1.9-2 2-2h8l4-4h2v16h-2l-4-4H5a2 2 0 0 1-2-2H1V6h2zm8 9v5H8l-1.67-5H5v-2h8v2h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-apparel">
|
||||
<path d="M7 0H6L0 3v6l4-1v12h12V8l4 1V3l-6-3h-1a3 3 0 0 1-6 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-outline-down">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-2-8V5h4v5h3l-5 5-5-5h3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-outline-left">
|
||||
<path d="M0 10a10 10 0 1 1 20 0 10 10 0 0 1-20 0zm2 0a8 8 0 1 0 16 0 8 8 0 0 0-16 0zm8-2h5v4h-5v3l-5-5 5-5v3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-outline-right">
|
||||
<path d="M20 10a10 10 0 1 1-20 0 10 10 0 0 1 20 0zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0zm-8 2H5V8h5V5l5 5-5 5v-3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-outline-up">
|
||||
<path d="M10 0a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm2 8v5H8v-5H5l5-5 5 5h-3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thick-down">
|
||||
<path d="M7 10V2h6v8h5l-8 8-8-8h5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thick-left">
|
||||
<path d="M10 13h8V7h-8V2l-8 8 8 8v-5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thick-right">
|
||||
<path d="M10 7H2v6h8v5l8-8-8-8v5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thick-up">
|
||||
<path d="M7 10v8h6v-8h5l-8-8-8 8h5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thin-down">
|
||||
<path d="M9 16.172l-6.071-6.071-1.414 1.414L10 20l.707-.707 7.778-7.778-1.414-1.414L11 16.172V0H9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thin-left">
|
||||
<path d="M3.828 9l6.071-6.071-1.414-1.414L0 10l.707.707 7.778 7.778 1.414-1.414L3.828 11H20V9H3.828z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thin-right">
|
||||
<path d="M16.172 9l-6.071-6.071 1.414-1.414L20 10l-.707.707-7.778 7.778-1.414-1.414L16.172 11H0V9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-arrow-thin-up">
|
||||
<path d="M9 3.828L2.929 9.899 1.515 8.485 10 0l.707.707 7.778 7.778-1.414 1.414L11 3.828V20H9V3.828z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-at-symbol">
|
||||
<path d="M13.6 13.47A4.99 4.99 0 0 1 5 10a5 5 0 0 1 8-4V5h2v6.5a1.5 1.5 0 0 0 3 0V10a8 8 0 1 0-4.42 7.16l.9 1.79A10 10 0 1 1 20 10h-.18.17v1.5a3.5 3.5 0 0 1-6.4 1.97zM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-attachment">
|
||||
<path d="M15 3H7a7 7 0 1 0 0 14h8v-2H7A5 5 0 0 1 7 5h8a3 3 0 0 1 0 6H7a1 1 0 0 1 0-2h8V7H7a3 3 0 1 0 0 6h8a5 5 0 0 0 0-10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-backspace">
|
||||
<path d="M0 10l7-7h13v14H7l-7-7zm14.41 0l2.13-2.12-1.42-1.42L13 8.6l-2.12-2.13-1.42 1.42L11.6 10l-2.13 2.12 1.42 1.42L13 11.4l2.12 2.13 1.42-1.42L14.4 10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-badge">
|
||||
<path d="M10 12a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-3a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm4 2.75V20l-4-4-4 4v-8.25a6.97 6.97 0 0 0 8 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-battery-full">
|
||||
<path d="M0 6c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2 0v8h16V6H2zm1 1h4v6H3V7zm5 0h4v6H8V7zm5 0h4v6h-4V7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-battery-half">
|
||||
<path d="M0 6c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2 0v8h16V6H2zm1 1h4v6H3V7zm5 0h4v6H8V7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-battery-low">
|
||||
<path d="M0 6c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2 0v8h16V6H2zm1 1h4v6H3V7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-beverage">
|
||||
<path d="M9 18v-7L0 2V0h20v2l-9 9v7l5 1v1H4v-1l5-1zm2-10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-block">
|
||||
<path d="M0 10a10 10 0 1 1 20 0 10 10 0 0 1-20 0zm16.32-4.9L5.09 16.31A8 8 0 0 0 16.32 5.09zm-1.41-1.42A8 8 0 0 0 3.68 14.91L14.91 3.68z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-bluetooth">
|
||||
<path d="M9.41 0l6 6-4 4 4 4-6 6H9v-7.59l-3.3 3.3-1.4-1.42L8.58 10l-4.3-4.3L5.7 4.3 9 7.58V0h.41zM11 4.41V7.6L12.59 6 11 4.41zM12.59 14L11 12.41v3.18L12.59 14z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-bolt">
|
||||
<path d="M13 8V0L8.11 5.87 3 12h4v8L17 8h-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-book-reference">
|
||||
<path d="M6 4H5a1 1 0 1 1 0-2h11V1a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1h-7v8l-2-2-2 2V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-bookmark">
|
||||
<path d="M2 2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v18l-8-4-8 4V2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-bookmark-outline">
|
||||
<path d="M2 2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v18l-8-4-8 4V2zm2 0v15l6-3 6 3V2H4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-bookmark-outline-add">
|
||||
<path d="M2 2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v18l-8-4-8 4V2zm2 0v15l6-3 6 3V2H4zm5 5V5h2v2h2v2h-2v2H9V9H7V7h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-all">
|
||||
<path d="M11 11v6h6v-6h-6zm0-2h6V3h-6v6zm-2 2H3v6h6v-6zm0-2V3H3v6h6zm-8 9V1h18v18H1v-1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-bottom">
|
||||
<path d="M1 1h2v2H1V1zm0 4h2v2H1V5zm0 4h2v2H1V9zm0 4h2v2H1v-2zm0 4h18v2H1v-2zM5 1h2v2H5V1zm0 8h2v2H5V9zm4-8h2v2H9V1zm0 4h2v2H9V5zm0 4h2v2H9V9zm0 4h2v2H9v-2zm4-12h2v2h-2V1zm0 8h2v2h-2V9zm4-8h2v2h-2V1zm0 4h2v2h-2V5zm0 4h2v2h-2V9zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-horizontal">
|
||||
<path d="M1 1h2v2H1V1zm0 4h2v2H1V5zm0 4h18v2H1V9zm0 4h2v2H1v-2zm0 4h2v2H1v-2zM5 1h2v2H5V1zm0 16h2v2H5v-2zM9 1h2v2H9V1zm0 4h2v2H9V5zm0 8h2v2H9v-2zm0 4h2v2H9v-2zm4-16h2v2h-2V1zm0 16h2v2h-2v-2zm4-16h2v2h-2V1zm0 4h2v2h-2V5zm0 8h2v2h-2v-2zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-inner">
|
||||
<path d="M9 9V1h2v8h8v2h-8v8H9v-8H1V9h8zM1 1h2v2H1V1zm0 4h2v2H1V5zm0 8h2v2H1v-2zm0 4h2v2H1v-2zM5 1h2v2H5V1zm0 16h2v2H5v-2zm8-16h2v2h-2V1zm0 16h2v2h-2v-2zm4-16h2v2h-2V1zm0 4h2v2h-2V5zm0 8h2v2h-2v-2zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-left">
|
||||
<path d="M1 1h2v18H1V1zm4 0h2v2H5V1zm0 8h2v2H5V9zm0 8h2v2H5v-2zM9 1h2v2H9V1zm0 4h2v2H9V5zm0 4h2v2H9V9zm0 4h2v2H9v-2zm0 4h2v2H9v-2zm4-16h2v2h-2V1zm0 8h2v2h-2V9zm0 8h2v2h-2v-2zm4-16h2v2h-2V1zm0 4h2v2h-2V5zm0 4h2v2h-2V9zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-none">
|
||||
<path d="M1 1h2v2H1V1zm0 4h2v2H1V5zm0 4h2v2H1V9zm0 4h2v2H1v-2zm0 4h2v2H1v-2zM5 1h2v2H5V1zm0 8h2v2H5V9zm0 8h2v2H5v-2zM9 1h2v2H9V1zm0 4h2v2H9V5zm0 4h2v2H9V9zm0 4h2v2H9v-2zm0 4h2v2H9v-2zm4-16h2v2h-2V1zm0 8h2v2h-2V9zm0 8h2v2h-2v-2zm4-16h2v2h-2V1zm0 4h2v2h-2V5zm0 4h2v2h-2V9zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-outer">
|
||||
<path d="M2 19H1V1h18v18H2zm1-2h14V3H3v14zm10-8h2v2h-2V9zM9 9h2v2H9V9zM5 9h2v2H5V9zm4-4h2v2H9V5zm0 8h2v2H9v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-right">
|
||||
<path d="M5 1h2v2H5V1zm0 8h2v2H5V9zm0 8h2v2H5v-2zM9 1h2v2H9V1zm0 4h2v2H9V5zm0 4h2v2H9V9zm0 4h2v2H9v-2zm0 4h2v2H9v-2zm4-16h2v2h-2V1zm0 8h2v2h-2V9zm0 8h2v2h-2v-2zM1 1h2v2H1V1zm0 4h2v2H1V5zm0 4h2v2H1V9zm0 4h2v2H1v-2zm0 4h2v2H1v-2zM17 1h2v18h-2V1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-top">
|
||||
<path d="M1 1h18v2H1V1zm0 4h2v2H1V5zm0 4h2v2H1V9zm0 4h2v2H1v-2zm0 4h2v2H1v-2zm4-8h2v2H5V9zm0 8h2v2H5v-2zM9 5h2v2H9V5zm0 4h2v2H9V9zm0 4h2v2H9v-2zm0 4h2v2H9v-2zm4-8h2v2h-2V9zm0 8h2v2h-2v-2zm4-12h2v2h-2V5zm0 4h2v2h-2V9zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-border-vertical">
|
||||
<path d="M1 1h2v2H1V1zm0 4h2v2H1V5zm0 4h2v2H1V9zm0 4h2v2H1v-2zm0 4h2v2H1v-2zM5 1h2v2H5V1zm0 8h2v2H5V9zm0 8h2v2H5v-2zM9 1h2v18H9V1zm4 0h2v2h-2V1zm0 8h2v2h-2V9zm0 8h2v2h-2v-2zm4-16h2v2h-2V1zm0 4h2v2h-2V5zm0 4h2v2h-2V9zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-box">
|
||||
<path d="M0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v2H0V2zm1 3h18v13a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5zm6 2v2h6V7H7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-brightness-down">
|
||||
<path d="M10 13a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM9 4a1 1 0 1 1 2 0 1 1 0 1 1-2 0zm4.54 1.05a1 1 0 1 1 1.41 1.41 1 1 0 1 1-1.41-1.41zM16 9a1 1 0 1 1 0 2 1 1 0 1 1 0-2zm-1.05 4.54a1 1 0 1 1-1.41 1.41 1 1 0 1 1 1.41-1.41zM11 16a1 1 0 1 1-2 0 1 1 0 1 1 2 0zm-4.54-1.05a1 1 0 1 1-1.41-1.41 1 1 0 1 1 1.41 1.41zM4 11a1 1 0 1 1 0-2 1 1 0 1 1 0 2zm1.05-4.54a1 1 0 1 1 1.41-1.41 1 1 0 1 1-1.41 1.41z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-brightness-up">
|
||||
<path d="M10 14a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM9 1a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0V1zm6.65 1.94a1 1 0 1 1 1.41 1.41l-1.4 1.4a1 1 0 1 1-1.41-1.41l1.4-1.4zM18.99 9a1 1 0 1 1 0 2h-1.98a1 1 0 1 1 0-2h1.98zm-1.93 6.65a1 1 0 1 1-1.41 1.41l-1.4-1.4a1 1 0 1 1 1.41-1.41l1.4 1.4zM11 18.99a1 1 0 1 1-2 0v-1.98a1 1 0 1 1 2 0v1.98zm-6.65-1.93a1 1 0 1 1-1.41-1.41l1.4-1.4a1 1 0 1 1 1.41 1.41l-1.4 1.4zM1.01 11a1 1 0 1 1 0-2h1.98a1 1 0 1 1 0 2H1.01zm1.93-6.65a1 1 0 1 1 1.41-1.41l1.4 1.4a1 1 0 1 1-1.41 1.41l-1.4-1.4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-browser-window">
|
||||
<path d="M0 3c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm2 2v12h16V5H2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-browser-window-new">
|
||||
<path d="M9 10V8h2v2h2v2h-2v2H9v-2H7v-2h2zM0 3c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm2 2v12h16V5H2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-browser-window-open">
|
||||
<path d="M0 3c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm2 2v12h16V5H2zm8 3l4 5H6l4-5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-bug">
|
||||
<path d="M15.3 14.89l2.77 2.77a1 1 0 0 1 0 1.41 1 1 0 0 1-1.41 0l-2.59-2.58A5.99 5.99 0 0 1 11 18V9.04a1 1 0 0 0-2 0V18a5.98 5.98 0 0 1-3.07-1.51l-2.59 2.58a1 1 0 0 1-1.41 0 1 1 0 0 1 0-1.41l2.77-2.77A5.95 5.95 0 0 1 4.07 13H1a1 1 0 1 1 0-2h3V8.41L.93 5.34a1 1 0 0 1 0-1.41 1 1 0 0 1 1.41 0l2.1 2.1h11.12l2.1-2.1a1 1 0 0 1 1.41 0 1 1 0 0 1 0 1.41L16 8.41V11h3a1 1 0 1 1 0 2h-3.07c-.1.67-.32 1.31-.63 1.89zM15 5H5a5 5 0 1 1 10 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-buoy">
|
||||
<path d="M17.16 6.42a8.03 8.03 0 0 0-3.58-3.58l-1.34 2.69a5.02 5.02 0 0 1 2.23 2.23l2.69-1.34zm0 7.16l-2.69-1.34a5.02 5.02 0 0 1-2.23 2.23l1.34 2.69a8.03 8.03 0 0 0 3.58-3.58zM6.42 2.84a8.03 8.03 0 0 0-3.58 3.58l2.69 1.34a5.02 5.02 0 0 1 2.23-2.23L6.42 2.84zM2.84 13.58a8.03 8.03 0 0 0 3.58 3.58l1.34-2.69a5.02 5.02 0 0 1-2.23-2.23l-2.69 1.34zM10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-7a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-calculator">
|
||||
<path d="M2 2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm3 1v2h10V3H5zm0 4v2h2V7H5zm4 0v2h2V7H9zm4 0v2h2V7h-2zm-8 4v2h2v-2H5zm4 0v2h2v-2H9zm4 0v6h2v-6h-2zm-8 4v2h2v-2H5zm4 0v2h2v-2H9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-calendar">
|
||||
<path d="M1 4c0-1.1.9-2 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4zm2 2v12h14V6H3zm2-6h2v2H5V0zm8 0h2v2h-2V0zM5 9h2v2H5V9zm0 4h2v2H5v-2zm4-4h2v2H9V9zm0 4h2v2H9v-2zm4-4h2v2h-2V9zm0 4h2v2h-2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-camera">
|
||||
<path d="M0 6c0-1.1.9-2 2-2h3l2-2h6l2 2h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm10 10a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-chart">
|
||||
<path d="M4.13 12H4a2 2 0 1 0 1.8 1.11L7.86 10a2.03 2.03 0 0 0 .65-.07l1.55 1.55a2 2 0 1 0 3.72-.37L15.87 8H16a2 2 0 1 0-1.8-1.11L12.14 10a2.03 2.03 0 0 0-.65.07L9.93 8.52a2 2 0 1 0-3.72.37L4.13 12zM0 4c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-chart-bar">
|
||||
<path d="M1 10h3v10H1V10zM6 0h3v20H6V0zm5 8h3v12h-3V8zm5-4h3v16h-3V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-chart-pie">
|
||||
<path d="M19.95 11A10 10 0 1 1 9 .05V11h10.95zm-.08-2.6H11.6V.13a10 10 0 0 1 8.27 8.27z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-chat-bubble-dots">
|
||||
<path d="M10 15l-4 4v-4H2a2 2 0 0 1-2-2V3c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-8zM5 7v2h2V7H5zm4 0v2h2V7H9zm4 0v2h2V7h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-checkmark">
|
||||
<path d="M0 11l2-2 5 5L18 3l2 2L7 18z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-checkmark-outline">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM6.7 9.29L9 11.6l4.3-4.3 1.4 1.42L9 14.4l-3.7-3.7 1.4-1.42z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-down">
|
||||
<path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-left">
|
||||
<path d="M7.05 9.293L6.343 10 12 15.657l1.414-1.414L9.172 10l4.242-4.243L12 4.343z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-outline-down">
|
||||
<path d="M20 10a10 10 0 1 1-20 0 10 10 0 0 1 20 0zM10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm-.7 10.54L5.75 9l1.41-1.41L10 10.4l2.83-2.82L14.24 9 10 13.24l-.7-.7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-outline-left">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm8-10a8 8 0 1 0-16 0 8 8 0 0 0 16 0zM7.46 9.3L11 5.75l1.41 1.41L9.6 10l2.82 2.83L11 14.24 6.76 10l.7-.7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-outline-right">
|
||||
<path d="M10 0a10 10 0 1 1 0 20 10 10 0 0 1 0-20zM2 10a8 8 0 1 0 16 0 8 8 0 0 0-16 0zm10.54.7L9 14.25l-1.41-1.41L10.4 10 7.6 7.17 9 5.76 13.24 10l-.7.7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-outline-up">
|
||||
<path d="M0 10a10 10 0 1 1 20 0 10 10 0 0 1-20 0zm10 8a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm.7-10.54L14.25 11l-1.41 1.41L10 9.6l-2.83 2.8L5.76 11 10 6.76l.7.7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-right">
|
||||
<path d="M12.95 10.707l.707-.707L8 4.343 6.586 5.757 10.828 10l-4.242 4.243L8 15.657l4.95-4.95z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cheveron-up">
|
||||
<path d="M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-clipboard">
|
||||
<path d="M7.03 2.6a3 3 0 0 1 5.94 0L15 3v1h1a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h1V3l2.03-.4zM5 6H4v12h12V6h-1v1H5V6zm5-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-close">
|
||||
<path d="M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-close-outline">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-close-solid">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zM11.4 10l2.83-2.83-1.41-1.41L10 8.59 7.17 5.76 5.76 7.17 8.59 10l-2.83 2.83 1.41 1.41L10 11.41l2.83 2.83 1.41-1.41L11.41 10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cloud">
|
||||
<path d="M16.88 9.1A4 4 0 0 1 16 17H5a5 5 0 0 1-1-9.9V7a3 3 0 0 1 4.52-2.59A4.98 4.98 0 0 1 17 8c0 .38-.04.74-.12 1.1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cloud-upload">
|
||||
<path d="M16.88 9.1A4 4 0 0 1 16 17H5a5 5 0 0 1-1-9.9V7a3 3 0 0 1 4.52-2.59A4.98 4.98 0 0 1 17 8c0 .38-.04.74-.12 1.1zM11 11h3l-4-4-4 4h3v3h2v-3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-code">
|
||||
<path d="M.7 9.3l4.8-4.8 1.4 1.42L2.84 10l4.07 4.07-1.41 1.42L0 10l.7-.7zm18.6 1.4l.7-.7-5.49-5.49-1.4 1.42L17.16 10l-4.07 4.07 1.41 1.42 4.78-4.78z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-coffee">
|
||||
<path d="M4 11H2a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h2V1h14v10a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4zm0-2V5H2v4h2zm-2 8v-1h18v1l-4 2H6l-4-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-cog">
|
||||
<path d="M3.94 6.5L2.22 3.64l1.42-1.42L6.5 3.94c.52-.3 1.1-.54 1.7-.7L9 0h2l.8 3.24c.6.16 1.18.4 1.7.7l2.86-1.72 1.42 1.42-1.72 2.86c.3.52.54 1.1.7 1.7L20 9v2l-3.24.8c-.16.6-.4 1.18-.7 1.7l1.72 2.86-1.42 1.42-2.86-1.72c-.52.3-1.1.54-1.7.7L11 20H9l-.8-3.24c-.6-.16-1.18-.4-1.7-.7l-2.86 1.72-1.42-1.42 1.72-2.86c-.3-.52-.54-1.1-.7-1.7L0 11V9l3.24-.8c.16-.6.4-1.18.7-1.7zM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-color-palette">
|
||||
<path d="M9 20v-1.7l.01-.24L15.07 12h2.94c1.1 0 1.99.89 1.99 2v4a2 2 0 0 1-2 2H9zm0-3.34V5.34l2.08-2.07a1.99 1.99 0 0 1 2.82 0l2.83 2.83a2 2 0 0 1 0 2.82L9 16.66zM0 1.99C0 .9.89 0 2 0h4a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zM4 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-compose">
|
||||
<path d="M2 4v14h14v-6l2-2v10H0V2h10L8 4H2zm10.3-.3l4 4L8 16H4v-4l8.3-8.3zm1.4-1.4L16 0l4 4-2.3 2.3-4-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-computer-desktop">
|
||||
<path d="M7 17H2a2 2 0 0 1-2-2V2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2h-5l4 2v1H3v-1l4-2zM2 2v11h16V2H2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-computer-laptop">
|
||||
<path d="M18 16h2v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1v-1h2V4c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v12zM4 4v9h12V4H4zm4 11v1h4v-1H8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-conversation">
|
||||
<path d="M17 11v3l-3-3H8a2 2 0 0 1-2-2V2c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-1zm-3 2v2a2 2 0 0 1-2 2H6l-3 3v-3H2a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h2v3a4 4 0 0 0 4 4h6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-credit-card">
|
||||
<path d="M18 6V4H2v2h16zm0 4H2v6h16v-6zM0 4c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4 8h4v2H4v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-currency-dollar">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm1-5h1a3 3 0 0 0 0-6H7.99a1 1 0 0 1 0-2H14V5h-3V3H9v2H8a3 3 0 1 0 0 6h4a1 1 0 1 1 0 2H6v2h3v2h2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-dashboard">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm-5.6-4.29a9.95 9.95 0 0 1 11.2 0 8 8 0 1 0-11.2 0zm6.12-7.64l3.02-3.02 1.41 1.41-3.02 3.02a2 2 0 1 1-1.41-1.41z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-date-add">
|
||||
<path d="M15 2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2h2V0h2v2h6V0h2v2zM3 6v12h14V6H3zm6 5V9h2v2h2v2h-2v2H9v-2H7v-2h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-dial-pad">
|
||||
<path d="M5 4a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM5 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM5 14a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5-6a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-directions">
|
||||
<path d="M10 0l10 10-10 10L0 10 10 0zM6 10v3h2v-3h3v3l4-4-4-4v3H8a2 2 0 0 0-2 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-document">
|
||||
<path d="M4 18h12V6h-4V2H4v16zm-2 1V0h12l4 4v16H2v-1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-document-add">
|
||||
<path d="M9 10V8h2v2h2v2h-2v2H9v-2H7v-2h2zm-5 8h12V6h-4V2H4v16zm-2 1V0h12l4 4v16H2v-1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-dots-horizontal-double">
|
||||
<path d="M10 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-dots-horizontal-triple">
|
||||
<path d="M10 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0-6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-download">
|
||||
<path d="M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-duplicate">
|
||||
<path d="M6 6V2c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h4zm2 0h4a2 2 0 0 1 2 2v4h4V2H8v4zM2 8v10h10V8H2zm4 4v-2h2v2h2v2H8v2H6v-2H4v-2h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-edit-copy">
|
||||
<path d="M6 6V2c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h4zm2 0h4a2 2 0 0 1 2 2v4h4V2H8v4zM2 8v10h10V8H2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-edit-crop">
|
||||
<path d="M14 16H6a2 2 0 0 1-2-2V6H0V4h4V0h2v14h14v2h-4v4h-2v-4zm0-3V6H7V4h7a2 2 0 0 1 2 2v7h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-edit-cut">
|
||||
<path d="M9.77 11.5l5.34 3.91c.44.33 1.24.59 1.79.59H20L6.89 6.38A3.5 3.5 0 1 0 5.5 8.37L7.73 10 5.5 11.63a3.5 3.5 0 1 0 1.38 1.99l2.9-2.12zM3.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM15.1 4.59A3.53 3.53 0 0 1 16.9 4H20l-7.5 5.5L10.45 8l4.65-3.41z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-edit-pencil">
|
||||
<path d="M12.3 3.7l4 4L4 20H0v-4L12.3 3.7zm1.4-1.4L16 0l4 4-2.3 2.3-4-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-education">
|
||||
<path d="M3.33 8L10 12l10-6-10-6L0 6h10v2H3.33zM0 8v8l2-2.22V9.2L0 8zm10 12l-5-3-2-1.2v-6l7 4.2 7-4.2v6L10 20z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-envelope">
|
||||
<path d="M18 2a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2h16zm-4.37 9.1L20 16v-2l-5.12-3.9L20 6V4l-10 8L0 4v2l5.12 4.1L0 14v2l6.37-4.9L10 14l3.63-2.9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-exclamation-outline">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM9 5h2v6H9V5zm0 8h2v2H9v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-exclamation-solid">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zM9 5v6h2V5H9zm0 8v2h2v-2H9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-explore">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zM7.88 7.88l-3.54 7.78 7.78-3.54 3.54-7.78-7.78 3.54zM10 11a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-factory">
|
||||
<path d="M10.5 20H0V7l5 3.33V7l5 3.33V7l5 3.33V0h5v20h-9.5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-fast-forward">
|
||||
<path d="M1 5l9 5-9 5V5zm9 0l9 5-9 5V5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-fast-rewind">
|
||||
<path d="M19 5v10l-9-5 9-5zm-9 0v10l-9-5 9-5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-film">
|
||||
<path d="M0 4c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm6 0v12h8V4H6zM2 5v2h2V5H2zm0 4v2h2V9H2zm0 4v2h2v-2H2zm14-8v2h2V5h-2zm0 4v2h2V9h-2zm0 4v2h2v-2h-2zM8 7l5 3-5 3V7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-filter">
|
||||
<path d="M12 12l8-8V0H0v4l8 8v8l4-4v-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-flag">
|
||||
<path d="M7.667 12H2v8H0V0h12l.333 2H20l-3 6 3 6H8l-.333-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-flashlight">
|
||||
<path d="M13 7v11a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V7L5 5V3h10v2l-2 2zM9 8v1a1 1 0 1 0 2 0V8a1 1 0 0 0-2 0zM5 0h10v2H5V0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-folder">
|
||||
<path d="M0 4c0-1.1.9-2 2-2h7l2 2h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-folder-outline">
|
||||
<path d="M0 4c0-1.1.9-2 2-2h7l2 2h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2 2v10h16V6H2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-folder-outline-add">
|
||||
<path d="M0 4c0-1.1.9-2 2-2h7l2 2h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2 2v10h16V6H2zm7 4V8h2v2h2v2h-2v2H9v-2H7v-2h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-format-bold">
|
||||
<path d="M3 19V1h8a5 5 0 0 1 3.88 8.16A5.5 5.5 0 0 1 11.5 19H3zm7.5-8H7v5h3.5a2.5 2.5 0 1 0 0-5zM7 4v4h3a2 2 0 1 0 0-4H7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-format-italic">
|
||||
<path d="M8 1h9v2H8V1zm3 2h3L8 17H5l6-14zM2 17h9v2H2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-format-text-size">
|
||||
<path d="M16 9v8h-2V9h-4V7h10v2h-4zM8 5v12H6V5H0V3h15v2H8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-format-underline">
|
||||
<path d="M16 9A6 6 0 1 1 4 9V1h3v8a3 3 0 0 0 6 0V1h3v8zM2 17h16v2H2v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-gift">
|
||||
<path d="M14.83 4H20v6h-1v10H1V10H0V4h5.17A3 3 0 0 1 10 .76 3 3 0 0 1 14.83 4zM8 10H3v8h5v-8zm4 0v8h5v-8h-5zM8 6H2v2h6V6zm4 0v2h6V6h-6zM8 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm4 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-globe">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm2-2.25a8 8 0 0 0 4-2.46V9a2 2 0 0 1-2-2V3.07a7.95 7.95 0 0 0-3-1V3a2 2 0 0 1-2 2v1a2 2 0 0 1-2 2v2h3a2 2 0 0 1 2 2v5.75zm-4 0V15a2 2 0 0 1-2-2v-1h-.5A1.5 1.5 0 0 1 4 10.5V8H2.25A8.01 8.01 0 0 0 8 17.75z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-hand-stop">
|
||||
<path d="M17 16a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4.01V4a1 1 0 0 1 1-1 1 1 0 0 1 1 1v6h1V2a1 1 0 0 1 1-1 1 1 0 0 1 1 1v8h1V1a1 1 0 1 1 2 0v9h1V2a1 1 0 0 1 1-1 1 1 0 0 1 1 1v13h1V9a1 1 0 0 1 1-1h1v8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-hard-drive">
|
||||
<path d="M2 2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10.4 5.6A5 5 0 1 0 15 12V5l-2.6 2.6zM10 14a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM6 3v2h4V3H6zM4 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm12 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0-16a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-headphones">
|
||||
<path d="M16 8A6 6 0 1 0 4 8v11H2a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2V8a8 8 0 1 1 16 0v3a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2V8zm-4 2h3v10h-3V10zm-7 0h3v10H5V10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-heart">
|
||||
<path d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.78 7.77L10 18.78l8.39-8.4a5.5 5.5 0 0 0-7.78-7.77l-.61.61z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-home">
|
||||
<path d="M8 20H3V10H0L10 0l10 10h-3v10h-5v-6H8v6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-hot">
|
||||
<path d="M10 0s8 7.58 8 12a8 8 0 1 1-16 0c0-1.5.91-3.35 2.12-5.15A3 3 0 0 0 10 6V0zM8 0a3 3 0 1 0 0 6V0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-hour-glass">
|
||||
<path d="M3 18a7 7 0 0 1 4-6.33V8.33A7 7 0 0 1 3 2H1V0h18v2h-2a7 7 0 0 1-4 6.33v3.34A7 7 0 0 1 17 18h2v2H1v-2h2zM5 2a5 5 0 0 0 4 4.9V10h2V6.9A5 5 0 0 0 15 2H5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-inbox">
|
||||
<path d="M0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm14 12h4V2H2v12h4c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-inbox-check">
|
||||
<path d="M0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm14 12h4V2H2v12h4c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2zM5 9l2-2 2 2 4-4 2 2-6 6-4-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-inbox-download">
|
||||
<path d="M0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm14 12h4V2H2v12h4c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2zM9 8V5h2v3h3l-4 4-4-4h3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-inbox-full">
|
||||
<path d="M14 14h4V2H2v12h4c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2zM0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 2h12v2H4V4zm0 3h12v2H4V7zm0 3h12v2H4v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-indent-decrease">
|
||||
<path d="M1 1h18v2H1V1zm6 8h12v2H7V9zm-6 8h18v2H1v-2zM7 5h12v2H7V5zm0 8h12v2H7v-2zM5 6v8l-4-4 4-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-indent-increase">
|
||||
<path d="M1 1h18v2H1V1zm6 8h12v2H7V9zm-6 8h18v2H1v-2zM7 5h12v2H7V5zm0 8h12v2H7v-2zM1 6l4 4-4 4V6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-information-outline">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM9 11V9h2v6H9v-4zm0-6h2v2H9V5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-information-solid">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zM9 11v4h2V9H9v2zm0-6v2h2V5H9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-key">
|
||||
<path d="M12.26 11.74L10 14H8v2H6v2l-2 2H0v-4l8.26-8.26a6 6 0 1 1 4 4zm4.86-4.62A3 3 0 0 0 15 2a3 3 0 0 0-2.12.88l4.24 4.24z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-keyboard">
|
||||
<path d="M0 6c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2 0v2h2V6H2zm1 3v2h2V9H3zm-1 3v2h2v-2H2zm3 0v2h10v-2H5zm11 0v2h2v-2h-2zM6 9v2h2V9H6zm3 0v2h2V9H9zm3 0v2h2V9h-2zm3 0v2h2V9h-2zM5 6v2h2V6H5zm3 0v2h2V6H8zm3 0v2h2V6h-2zm3 0v2h4V6h-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-layers">
|
||||
<path d="M10 1l10 6-10 6L0 7l10-6zm6.67 10L20 13l-10 6-10-6 3.33-2L10 15l6.67-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-library">
|
||||
<path d="M0 6l10-6 10 6v2H0V6zm0 12h20v2H0v-2zm2-2h16v2H2v-2zm0-8h4v8H2V8zm6 0h4v8H8V8zm6 0h4v8h-4V8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-light-bulb">
|
||||
<path d="M7 13.33a7 7 0 1 1 6 0V16H7v-2.67zM7 17h6v1.5c0 .83-.67 1.5-1.5 1.5h-3A1.5 1.5 0 0 1 7 18.5V17zm2-5.1V14h2v-2.1a5 5 0 1 0-2 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-link">
|
||||
<path d="M9.26 13a2 2 0 0 1 .01-2.01A3 3 0 0 0 9 5H5a3 3 0 0 0 0 6h.08a6.06 6.06 0 0 0 0 2H5A5 5 0 0 1 5 3h4a5 5 0 0 1 .26 10zm1.48-6a2 2 0 0 1-.01 2.01A3 3 0 0 0 11 15h4a3 3 0 0 0 0-6h-.08a6.06 6.06 0 0 0 0-2H15a5 5 0 0 1 0 10h-4a5 5 0 0 1-.26-10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-list-add">
|
||||
<path d="M15 9h-3v2h3v3h2v-3h3V9h-3V6h-2v3zM0 3h10v2H0V3zm0 8h10v2H0v-2zm0-4h10v2H0V7zm0 8h10v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-list-bullet">
|
||||
<path d="M1 4h2v2H1V4zm4 0h14v2H5V4zM1 9h2v2H1V9zm4 0h14v2H5V9zm-4 5h2v2H1v-2zm4 0h14v2H5v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-load-balancer">
|
||||
<path d="M17 12h-6v4h1v4H8v-4h1v-4H3v4h1v4H0v-4h1v-4a2 2 0 0 1 2-2h6V6H7V0h6v6h-2v4h6a2 2 0 0 1 2 2v4h1v4h-4v-4h1v-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location">
|
||||
<path d="M10 20S3 10.87 3 7a7 7 0 1 1 14 0c0 3.87-7 13-7 13zm0-11a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-current">
|
||||
<path d="M0 0l20 8-8 4-2 8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-food">
|
||||
<path d="M18 11v7a2 2 0 0 1-4 0v-5h-2V3a3 3 0 0 1 3-3h3v11zM4 10a2 2 0 0 1-2-2V1a1 1 0 0 1 2 0v4h1V1a1 1 0 0 1 2 0v4h1V1a1 1 0 0 1 2 0v7a2 2 0 0 1-2 2v8a2 2 0 0 1-4 0v-8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-gas-station">
|
||||
<path d="M13 18h1v2H0v-2h1V2c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v16zM3 2v6h8V2H3zm10 8h1a2 2 0 0 1 2 2v3a1 1 0 0 0 2 0v-5l-2-2V6l-2-2 1-1 5 5v7a3 3 0 0 1-6 0v-3h-1v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-hotel">
|
||||
<path d="M2 12h18v6h-2v-2H2v2H0V2h2v10zm8-6h8a2 2 0 0 1 2 2v3H10V6zm-4 5a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-marina">
|
||||
<path d="M8 1.88V0h2v16h10l-4 4H2l-2-4h8v-2H0v-.26A24.03 24.03 0 0 0 8 1.88zM19.97 14H10v-.36A11.94 11.94 0 0 0 10 .36v-.2A16.01 16.01 0 0 1 19.97 14z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-park">
|
||||
<path d="M5.33 12.77A4 4 0 1 1 3 5.13V5a4 4 0 0 1 5.71-3.62 3.5 3.5 0 0 1 6.26 1.66 2.5 2.5 0 0 1 2 2.08 4 4 0 1 1-2.7 7.49A5.02 5.02 0 0 1 12 14.58V18l2 1v1H6v-1l2-1v-3l-2.67-2.23zM5 10l3 3v-3H5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-restroom">
|
||||
<path d="M12 16H9l2-4.5V9c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v2.5l2 4.5h-3v4h-4v-4zm-5-3h2V9a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v4h2v7h4v-7zM5 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm9 0a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-location-shopping">
|
||||
<path d="M16 6v2h2l2 12H0L2 8h2V6a6 6 0 1 1 12 0zm-2 0a4 4 0 1 0-8 0v2h8V6zM4 10v2h2v-2H4zm10 0v2h2v-2h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-lock-closed">
|
||||
<path d="M4 8V6a6 6 0 1 1 12 0v2h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2h1zm5 6.73V17h2v-2.27a2 2 0 1 0-2 0zM7 6v2h6V6a3 3 0 0 0-6 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-lock-open">
|
||||
<path d="M4 8V6a6 6 0 1 1 12 0h-3v2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2h1zm5 6.73V17h2v-2.27a2 2 0 1 0-2 0zM7 6v2h6V6a3 3 0 0 0-6 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-map">
|
||||
<path d="M0 0l6 4 8-4 6 4v16l-6-4-8 4-6-4V0zm7 6v11l6-3V3L7 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-menu">
|
||||
<path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-mic">
|
||||
<path d="M9 18v-1.06A8 8 0 0 1 2 9h2a6 6 0 1 0 12 0h2a8 8 0 0 1-7 7.94V18h3v2H6v-2h3zM6 4a4 4 0 1 1 8 0v5a4 4 0 1 1-8 0V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-minus-outline">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm5-9v2H5V9h10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-minus-solid">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm5-11H5v2h10V9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-mobile-devices">
|
||||
<path d="M17 6V5h-2V2H3v14h5v4h3.25H11a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6zm-5.75 14H3a2 2 0 0 1-2-2V2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5.75zM11 8v8h6V8h-6zm3 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-mood-happy">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM6.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm7 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm2.16 3a6 6 0 0 1-11.32 0h11.32z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-mood-sad">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM6.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm7 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm2.16 6H4.34a6 6 0 0 1 11.32 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-mouse">
|
||||
<path d="M4 9V6A6 6 0 0 1 9 .08V9H4zm0 2v3a6 6 0 1 0 12 0v-3H4zm12-2V6a6 6 0 0 0-5-5.92V9h5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-music-album">
|
||||
<path d="M0 0h20v20H0V0zm10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-5a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-music-artist">
|
||||
<path d="M15.75 8l-3.74-3.75a3.99 3.99 0 0 1 6.82-3.08A4 4 0 0 1 15.75 8zm-13.9 7.3l9.2-9.19 2.83 2.83-9.2 9.2-2.82-2.84zm-1.4 2.83l2.11-2.12 1.42 1.42-2.12 2.12-1.42-1.42zM10 15l2-2v7h-2v-5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-music-notes">
|
||||
<path d="M20 2.5V0L6 2v12.17A3 3 0 0 0 5 14H3a3 3 0 0 0 0 6h2a3 3 0 0 0 3-3V5.71L18 4.3v7.88a3 3 0 0 0-1-.17h-2a3 3 0 0 0 0 6h2a3 3 0 0 0 3-3V2.5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-music-playlist">
|
||||
<path d="M16 17a3 3 0 0 1-3 3h-2a3 3 0 0 1 0-6h2a3 3 0 0 1 1 .17V1l6-1v4l-4 .67V17zM0 3h12v2H0V3zm0 4h12v2H0V7zm0 4h12v2H0v-2zm0 4h6v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-navigation-more">
|
||||
<path d="M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-network">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm7.75-8a8.01 8.01 0 0 0 0-4h-3.82a28.81 28.81 0 0 1 0 4h3.82zm-.82 2h-3.22a14.44 14.44 0 0 1-.95 3.51A8.03 8.03 0 0 0 16.93 14zm-8.85-2h3.84a24.61 24.61 0 0 0 0-4H8.08a24.61 24.61 0 0 0 0 4zm.25 2c.41 2.4 1.13 4 1.67 4s1.26-1.6 1.67-4H8.33zm-6.08-2h3.82a28.81 28.81 0 0 1 0-4H2.25a8.01 8.01 0 0 0 0 4zm.82 2a8.03 8.03 0 0 0 4.17 3.51c-.42-.96-.74-2.16-.95-3.51H3.07zm13.86-8a8.03 8.03 0 0 0-4.17-3.51c.42.96.74 2.16.95 3.51h3.22zm-8.6 0h3.34c-.41-2.4-1.13-4-1.67-4S8.74 3.6 8.33 6zM3.07 6h3.22c.2-1.35.53-2.55.95-3.51A8.03 8.03 0 0 0 3.07 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-news-paper">
|
||||
<path d="M16 2h4v15a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V0h16v2zm0 2v13a1 1 0 0 0 1 1 1 1 0 0 0 1-1V4h-2zM2 2v15a1 1 0 0 0 1 1h11.17a2.98 2.98 0 0 1-.17-1V2H2zm2 8h8v2H4v-2zm0 4h8v2H4v-2zM4 4h8v4H4V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-notifications">
|
||||
<path d="M4 8a6 6 0 0 1 4.03-5.67 2 2 0 1 1 3.95 0A6 6 0 0 1 16 8v6l3 2v1H1v-1l3-2V8zm8 10a2 2 0 1 1-4 0h4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-notifications-outline">
|
||||
<path d="M6 8v7h8V8a4 4 0 1 0-8 0zm2.03-5.67a2 2 0 1 1 3.95 0A6 6 0 0 1 16 8v6l3 2v1H1v-1l3-2V8a6 6 0 0 1 4.03-5.67zM12 18a2 2 0 1 1-4 0h4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-paste">
|
||||
<path d="M10.5 20H2a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h1V3l2.03-.4a3 3 0 0 1 5.94 0L13 3v1h1a2 2 0 0 1 2 2v1h-2V6h-1v1H3V6H2v12h5v2h3.5zM8 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm2 4h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2zm0 2v8h8v-8h-8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-pause">
|
||||
<path d="M5 4h3v12H5V4zm7 0h3v12h-3V4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-pause-outline">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM7 6h2v8H7V6zm4 0h2v8h-2V6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-pause-solid">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zM7 6v8h2V6H7zm4 0v8h2V6h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-pen-tool">
|
||||
<path d="M11 9.27V0l6 11-4 6H7l-4-6L9 0v9.27a2 2 0 1 0 2 0zM6 18h8v2H6v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-phone">
|
||||
<path d="M20 18.35V19a1 1 0 0 1-1 1h-2A17 17 0 0 1 0 3V1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4c0 .56-.31 1.31-.7 1.7L3.16 8.84c1.52 3.6 4.4 6.48 8 8l2.12-2.12c.4-.4 1.15-.71 1.7-.71H19a1 1 0 0 1 .99 1v3.35z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-photo">
|
||||
<path d="M0 4c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11 9l-3-3-6 6h16l-5-5-2 2zm4-4a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-php-elephant">
|
||||
<path fill-rule="evenodd"
|
||||
d="M10 12v8A10 10 0 0 1 8.17.17L10 2h5a5 5 0 0 1 5 4.99v9.02A4 4 0 0 1 16 20v-2a2 2 0 1 0 0-4h-4l-2-2zm5.5-3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-pin">
|
||||
<path d="M11 12h6v-1l-3-1V2l3-1V0H3v1l3 1v8l-3 1v1h6v7l1 1 1-1v-7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-play">
|
||||
<path d="M4 4l12 6-12 6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-play-outline">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM7 6l8 4-8 4V6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-plugin">
|
||||
<path d="M20 14v4a2 2 0 0 1-2 2h-4v-2a2 2 0 0 0-2-2 2 2 0 0 0-2 2v2H6a2 2 0 0 1-2-2v-4H2a2 2 0 0 1-2-2 2 2 0 0 1 2-2h2V6c0-1.1.9-2 2-2h4V2a2 2 0 0 1 2-2 2 2 0 0 1 2 2v2h4a2 2 0 0 1 2 2v4h-2a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-portfolio">
|
||||
<path d="M9 12H1v6a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-6h-8v2H9v-2zm0-1H0V5c0-1.1.9-2 2-2h4V2a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1h4a2 2 0 0 1 2 2v6h-9V9H9v2zm3-8V2H8v1h4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-printer">
|
||||
<path d="M4 16H0V6h20v10h-4v4H4v-4zm2-4v6h8v-6H6zM4 0h12v5H4V0zM2 8v2h2V8H2zm4 0v2h2V8H6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-pylon">
|
||||
<path d="M17.4 18H20v2H0v-2h2.6L8 0h4l5.4 18zm-3.2-4H5.8l-1.2 4h10.8l-1.2-4zm-2.4-8H8.2L7 10h6l-1.2-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-question">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm2-13c0 .28-.21.8-.42 1L10 9.58c-.57.58-1 1.6-1 2.42v1h2v-1c0-.29.21-.8.42-1L13 9.42c.57-.58 1-1.6 1-2.42a4 4 0 1 0-8 0h2a2 2 0 1 1 4 0zm-3 8v2h2v-2H9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-queue">
|
||||
<path d="M0 2h20v4H0V2zm0 8h20v2H0v-2zm0 6h20v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-radar">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-radio">
|
||||
<path d="M20 9v9a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h13.8L.74 1.97 1.26.03 20 5.06V9zm-5 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM2 8v2h16V8H2zm1.5 10a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm6.5-1a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-refresh">
|
||||
<path d="M10 3v2a5 5 0 0 0-3.54 8.54l-1.41 1.41A7 7 0 0 1 10 3zm4.95 2.05A7 7 0 0 1 10 17v-2a5 5 0 0 0 3.54-8.54l1.41-1.41zM10 20l-4-4 4-4v8zm0-12V0l4 4-4 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-reload">
|
||||
<path d="M14.66 15.66A8 8 0 1 1 17 10h-2a6 6 0 1 0-1.76 4.24l1.42 1.42zM12 10h8l-4 4-4-4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-reply">
|
||||
<path d="M15 17v-2.99A4 4 0 0 0 11 10H8v5L2 9l6-6v5h3a6 6 0 0 1 6 6v3h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-reply-all">
|
||||
<path d="M18 17v-2.99A4 4 0 0 0 14 10h-3v5L5 9l6-6v5h3a6 6 0 0 1 6 6v3h-2zM6 6V3L0 9l6 6v-3L3 9l3-3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-repost">
|
||||
<path d="M5 4a2 2 0 0 0-2 2v6H0l4 4 4-4H5V6h7l2-2H5zm10 4h-3l4-4 4 4h-3v6a2 2 0 0 1-2 2H6l2-2h7V8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-save-disk">
|
||||
<path d="M0 2C0 .9.9 0 2 0h14l4 4v14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5 0v6h10V2H5zm6 1h3v4h-3V3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-screen-full">
|
||||
<path d="M2.8 15.8L0 13v7h7l-2.8-2.8 4.34-4.32-1.42-1.42L2.8 15.8zM17.2 4.2L20 7V0h-7l2.8 2.8-4.34 4.32 1.42 1.42L17.2 4.2zm-1.4 13L13 20h7v-7l-2.8 2.8-4.32-4.34-1.42 1.42 4.33 4.33zM4.2 2.8L7 0H0v7l2.8-2.8 4.32 4.34 1.42-1.42L4.2 2.8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-search">
|
||||
<path d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-send">
|
||||
<path d="M0 0l20 10L0 20V0zm0 8v4l10-2L0 8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-servers">
|
||||
<path d="M0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm0 7c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V9zm0 7c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2zM12 2v2h2V2h-2zm4 0v2h2V2h-2zm-4 7v2h2V9h-2zm4 0v2h2V9h-2zm-4 7v2h2v-2h-2zm4 0v2h2v-2h-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-share">
|
||||
<path d="M4 10c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2v-8zm2 0v8h8v-8h-2V8H8v2H6zm3-6.17V16h2V3.83l3.07 3.07 1.42-1.41L10 0l-.7.7-4.8 4.8 1.42 1.4L9 3.84z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-share-alt">
|
||||
<path d="M5.08 12.16A2.99 2.99 0 0 1 0 10a3 3 0 0 1 5.08-2.16l8.94-4.47a3 3 0 1 1 .9 1.79L5.98 9.63a3.03 3.03 0 0 1 0 .74l8.94 4.47A2.99 2.99 0 0 1 20 17a3 3 0 1 1-5.98-.37l-8.94-4.47z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-shield">
|
||||
<path d="M19 11a7.5 7.5 0 0 1-3.5 5.94L10 20l-5.5-3.06A7.5 7.5 0 0 1 1 11V3c3.38 0 6.5-1.12 9-3 2.5 1.89 5.62 3 9 3v8zm-9 1.08l2.92 2.04-1.03-3.41 2.84-2.15-3.56-.08L10 5.12 8.83 8.48l-3.56.08L8.1 10.7l-1.03 3.4L10 12.09z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-shopping-cart">
|
||||
<path d="M4 2h16l-3 9H4a1 1 0 1 0 0 2h13v2H4a3 3 0 0 1 0-6h.33L3 5 2 2H0V0h3a1 1 0 0 1 1 1v1zm1 18a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm10 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-show-sidebar">
|
||||
<path d="M7 3H2v14h5V3zm2 0v14h9V3H9zM0 3c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm3 1h3v2H3V4zm0 3h3v2H3V7zm0 3h3v2H3v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-shuffle">
|
||||
<path d="M6.59 12.83L4.4 15c-.58.58-1.59 1-2.4 1H0v-2h2c.29 0 .8-.2 1-.41l2.17-2.18 1.42 1.42zM16 4V1l4 4-4 4V6h-2c-.29 0-.8.2-1 .41l-2.17 2.18L9.4 7.17 11.6 5c.58-.58 1.59-1 2.41-1h2zm0 10v-3l4 4-4 4v-3h-2c-.82 0-1.83-.42-2.41-1l-8.6-8.59C2.8 6.21 2.3 6 2 6H0V4h2c.82 0 1.83.42 2.41 1l8.6 8.59c.2.2.7.41.99.41h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-star-full">
|
||||
<path d="M10 15l-5.878 3.09 1.123-6.545L.489 6.91l6.572-.955L10 0l2.939 5.955 6.572.955-4.756 4.635 1.123 6.545z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-station">
|
||||
<path d="M9 11.73a2 2 0 1 1 2 0V20H9v-8.27zm5.24 2.51l-1.41-1.41A3.99 3.99 0 0 0 10 6a4 4 0 0 0-2.83 6.83l-1.41 1.41a6 6 0 1 1 8.49 0zm2.83 2.83l-1.41-1.41a8 8 0 1 0-11.31 0l-1.42 1.41a10 10 0 1 1 14.14 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-step-backward">
|
||||
<path d="M4 5h3v10H4V5zm12 0v10l-9-5 9-5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-step-forward">
|
||||
<path d="M13 5h3v10h-3V5zM4 5l9 5-9 5V5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-stethoscope">
|
||||
<path d="M17 10.27V4.99a1 1 0 0 0-2 0V15a5 5 0 0 1-10 0v-1.08A6 6 0 0 1 0 8V2C0 .9.9 0 2 0h1a1 1 0 0 1 1 1 1 1 0 0 1-1 1H2v6a4 4 0 1 0 8 0V2H9a1 1 0 0 1-1-1 1 1 0 0 1 1-1h1a2 2 0 0 1 2 2v6a6 6 0 0 1-5 5.92V15a3 3 0 0 0 6 0V5a3 3 0 0 1 6 0v5.27a2 2 0 1 1-2 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-store-front">
|
||||
<path d="M18 9.87V20H2V9.87a4.25 4.25 0 0 0 3-.38V14h10V9.5a4.26 4.26 0 0 0 3 .37zM3 0h4l-.67 6.03A3.43 3.43 0 0 1 3 9C1.34 9 .42 7.73.95 6.15L3 0zm5 0h4l.7 6.3c.17 1.5-.91 2.7-2.42 2.7h-.56A2.38 2.38 0 0 1 7.3 6.3L8 0zm5 0h4l2.05 6.15C19.58 7.73 18.65 9 17 9a3.42 3.42 0 0 1-3.33-2.97L13 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-stroke-width">
|
||||
<path d="M0 0h20v5H0V0zm0 7h20v4H0V7zm0 6h20v3H0v-3zm0 5h20v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-subdirectory-left">
|
||||
<path d="M18 12v1H8v5l-6-6 6-6v5h8V2h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-subdirectory-right">
|
||||
<path d="M3.5 13H12v5l6-6-6-6v5H4V2H2v11z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-swap">
|
||||
<path d="M9 6a4 4 0 1 1 8 0v8h3l-4 4-4-4h3V6a2 2 0 0 0-2-2 2 2 0 0 0-2 2v8a4 4 0 1 1-8 0V6H0l4-4 4 4H5v8a2 2 0 0 0 2 2 2 2 0 0 0 2-2V6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-tablet">
|
||||
<path d="M2 2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 0v14h12V2H4zm6 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-tag">
|
||||
<path d="M0 10V2l2-2h8l10 10-10 10L0 10zm4.5-4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-target">
|
||||
<path d="M17.94 11H13V9h4.94A8 8 0 0 0 11 2.06V7H9V2.06A8 8 0 0 0 2.06 9H7v2H2.06A8 8 0 0 0 9 17.94V13h2v4.94A8 8 0 0 0 17.94 11zM10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-text-box">
|
||||
<path d="M0 0h6v6H0V0zm2 2v2h2V2H2zm12-2h6v6h-6V0zm2 2v2h2V2h-2zm-2 12h6v6h-6v-6zm2 2v2h2v-2h-2zM0 14h6v6H0v-6zm2 2v2h2v-2H2zM6 2h8v2H6V2zm0 14h8v2H6v-2zM16 6h2v8h-2V6zM2 6h2v8H2V6zm5 1h6v2H7V7zm2 2h2v4H9V9z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-text-decoration">
|
||||
<path d="M12 5h-2v12H8V3h8v2h-2v12h-2V5zM8 3a4 4 0 1 0 0 8V3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-thermometer">
|
||||
<path d="M9 11.17V7h2v4.17a3 3 0 1 1-2 0zm-1-.63a4 4 0 1 0 4 0V4a2 2 0 1 0-4 0v6.53zM6 9.53V4a4 4 0 0 1 8 0v5.53A5.99 5.99 0 0 1 10 20 6 6 0 0 1 6 9.53z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-thumbs-down">
|
||||
<path d="M11 20a2 2 0 0 1-2-2v-6H2a2 2 0 0 1-2-2V8l2.3-6.12A3.11 3.11 0 0 1 5 0h8a2 2 0 0 1 2 2v8l-3 7v3h-1zm6-10V0h3v10h-3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-thumbs-up">
|
||||
<path d="M11 0h1v3l3 7v8a2 2 0 0 1-2 2H5c-1.1 0-2.31-.84-2.7-1.88L0 12v-2a2 2 0 0 1 2-2h7V2a2 2 0 0 1 2-2zm6 10h3v10h-3V10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-ticket">
|
||||
<path d="M20 12v5H0v-5a2 2 0 1 0 0-4V3h20v5a2 2 0 1 0 0 4zM3 5v10h14V5H3zm7 7.08l-2.92 2.04L8.1 10.7 5.27 8.56l3.56-.08L10 5.12l1.17 3.36 3.56.08-2.84 2.15 1.03 3.4L10 12.09z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-time">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-1-7.59V4h2v5.59l3.95 3.95-1.41 1.41L9 10.41z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-timer">
|
||||
<path d="M16.32 7.1A8 8 0 1 1 9 4.06V2h2v2.06c1.46.18 2.8.76 3.9 1.62l1.46-1.46 1.42 1.42-1.46 1.45zM10 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12zM7 0h6v2H7V0zm5.12 8.46l1.42 1.42L10 13.4 8.59 12l3.53-3.54z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-translate">
|
||||
<path d="M7.41 9l2.24 2.24-.83 2L6 10.4l-3.3 3.3-1.4-1.42L4.58 9l-.88-.88c-.53-.53-1-1.3-1.3-2.12h2.2c.15.28.33.53.51.7l.89.9.88-.88C7.48 6.1 8 4.84 8 4H0V2h5V0h2v2h5v2h-2c0 1.37-.74 3.15-1.7 4.12L7.4 9zm3.84 8L10 20H8l5-12h2l5 12h-2l-1.25-3h-5.5zm.83-2h3.84L14 10.4 12.08 15z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-trash">
|
||||
<path d="M6 2l2-2h4l2 2h4v2H2V2h4zM3 6h14l-1 14H4L3 6zm5 2v10h1V8H8zm3 0v10h1V8h-1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-travel-bus">
|
||||
<path d="M13 18H7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1a2 2 0 0 1-2-2V2c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zM4 5v6h5V5H4zm7 0v6h5V5h-5zM5 2v1h10V2H5zm.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-travel-car">
|
||||
<path d="M2 14v-3H1a1 1 0 0 1-1-1 1 1 0 0 1 1-1h1l4-7h8l4 7h1a1 1 0 0 1 1 1 1 1 0 0 1-1 1h-1v6a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-3zm13.86-5L13 4H7L4.14 9h11.72zM5.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-travel-case">
|
||||
<path d="M14 5h2v14H4V5h2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1zm3 0h1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1V5zM3 5v14H2a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h1zm5-1v1h4V4H8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-travel-taxi-cab">
|
||||
<path d="M12 3h2l4 7h1a1 1 0 0 1 1 1 1 1 0 0 1-1 1h-1v6a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6H1a1 1 0 0 1-1-1 1 1 0 0 1 1-1h1l4-7h2V1h4v2zm3.86 7L13 5H7l-2.86 5h11.72zM5.5 15a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-travel-train">
|
||||
<path d="M12 18H8l-2 2H3l2-2a2 2 0 0 1-2-2V2c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2l2 2h-3l-2-2zM5 5v6h10V5H5zm1.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm7 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM8 2v1h4V2H8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-travel-walk">
|
||||
<path d="M11 7l1.44 2.16c.31.47 1.01.84 1.57.84H17V8h-3l-1.44-2.16a5.94 5.94 0 0 0-1.4-1.4l-1.32-.88a1.72 1.72 0 0 0-1.7-.04L4 6v5h2V7l2-1-3 14h2l2.35-7.65L11 14v6h2v-8l-2.7-2.7L11 7zm1-3a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-trophy">
|
||||
<path d="M15 9a3 3 0 0 0 3-3h2a5 5 0 0 1-5.1 5 5 5 0 0 1-3.9 3.9V17l5 2v1H4v-1l5-2v-2.1A5 5 0 0 1 5.1 11H5a5 5 0 0 1-5-5h2a3 3 0 0 0 3 3V4H2v2H0V2h5V0h10v2h5v4h-2V4h-3v5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-tuning">
|
||||
<path d="M17 16v4h-2v-4h-2v-3h6v3h-2zM1 9h6v3H1V9zm6-4h6v3H7V5zM3 0h2v8H3V0zm12 0h2v12h-2V0zM9 0h2v4H9V0zM3 12h2v8H3v-8zm6-4h2v12H9V8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-upload">
|
||||
<path d="M13 10v6H7v-6H2l8-8 8 8h-5zM0 18h20v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-usb">
|
||||
<path d="M15 8v2h-4V4h2l-3-4-3 4h2v8H5V9.73a2 2 0 1 0-2 0V12a2 2 0 0 0 2 2h4v2.27a2 2 0 1 0 2 0V12h4a2 2 0 0 0 2-2V8h1V4h-4v4h1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-user">
|
||||
<path d="M5 5a5 5 0 0 1 10 0v2A5 5 0 0 1 5 7V5zM0 16.68A19.9 19.9 0 0 1 10 14c3.64 0 7.06.97 10 2.68V20H0v-3.32z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-user-add">
|
||||
<path d="M2 6H0v2h2v2h2V8h2V6H4V4H2v2zm7 0a3 3 0 0 1 6 0v2a3 3 0 0 1-6 0V6zm11 9.14A15.93 15.93 0 0 0 12 13c-2.91 0-5.65.78-8 2.14V18h16v-2.86z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-user-group">
|
||||
<path d="M7 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1c2.15 0 4.2.4 6.1 1.09L12 16h-1.25L10 20H4l-.75-4H2L.9 10.09A17.93 17.93 0 0 1 7 9zm8.31.17c1.32.18 2.59.48 3.8.92L18 16h-1.25L16 20h-3.96l.37-2h1.25l1.65-8.83zM13 0a4 4 0 1 1-1.33 7.76 5.96 5.96 0 0 0 0-7.52C12.1.1 12.53 0 13 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-user-solid-circle">
|
||||
<path d="M10 20a10 10 0 1 1 0-20 10 10 0 0 1 0 20zM7 6v2a3 3 0 1 0 6 0V6a3 3 0 1 0-6 0zm-3.65 8.44a8 8 0 0 0 13.3 0 15.94 15.94 0 0 0-13.3 0z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-user-solid-square">
|
||||
<path d="M0 2C0 .9.9 0 2 0h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm7 4v2a3 3 0 1 0 6 0V6a3 3 0 1 0-6 0zm11 9.14A15.93 15.93 0 0 0 10 13c-2.91 0-5.65.78-8 2.14V18h16v-2.86z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-vector">
|
||||
<path d="M12 4h4.27a2 2 0 1 1 0 2h-2.14a9 9 0 0 1 4.84 7.25 2 2 0 1 1-2 .04 7 7 0 0 0-4.97-6V8H8v-.71a7 7 0 0 0-4.96 6 2 2 0 1 1-2-.04A9 9 0 0 1 5.86 6H3.73a2 2 0 1 1 0-2H8V3h4v1z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-video-camera">
|
||||
<path d="M16 7l4-4v14l-4-4v3a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2h12a2 2 0 0 1 2 2v3zm-8 7a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-view-carousel">
|
||||
<path d="M16 16v2H4v-2H0V4h4V2h12v2h4v12h-4zM14 5.5V4H6v12h8V5.5zm2 .5v8h2V6h-2zM4 6H2v8h2V6z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-view-column">
|
||||
<path d="M12 4H8v12h4V4zm2 0v12h4V4h-4zM6 4H2v12h4V4zM0 2h20v16H0V2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-view-hide">
|
||||
<path d="M12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42L16.36 2.22z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-view-list">
|
||||
<path d="M0 3h20v2H0V3zm0 4h20v2H0V7zm0 4h20v2H0v-2zm0 4h20v2H0v-2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-view-show">
|
||||
<path d="M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10zm9.8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-view-tile">
|
||||
<path d="M0 0h9v9H0V0zm2 2v5h5V2H2zm-2 9h9v9H0v-9zm2 2v5h5v-5H2zm9-13h9v9h-9V0zm2 2v5h5V2h-5zm-2 9h9v9h-9v-9zm2 2v5h5v-5h-5z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-volume-down">
|
||||
<path d="M7 7H3v6h4l5 5V2L7 7zm8.54 6.54l-1.42-1.42a3 3 0 0 0 0-4.24l1.42-1.42a4.98 4.98 0 0 1 0 7.08z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-volume-mute">
|
||||
<path d="M9 7H5v6h4l5 5V2L9 7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-volume-off">
|
||||
<path d="M15 8.59l-2.12-2.13-1.42 1.42L13.6 10l-2.13 2.12 1.42 1.42L15 11.4l2.12 2.13 1.42-1.42L16.4 10l2.13-2.12-1.42-1.42L15 8.6zM4 7H0v6h4l5 5V2L4 7z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-volume-up">
|
||||
<path d="M5 7H1v6h4l5 5V2L5 7zm11.36 9.36l-1.41-1.41a6.98 6.98 0 0 0 0-9.9l1.41-1.41a8.97 8.97 0 0 1 0 12.72zm-2.82-2.82l-1.42-1.42a3 3 0 0 0 0-4.24l1.42-1.42a4.98 4.98 0 0 1 0 7.08z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-wallet">
|
||||
<path d="M0 4c0-1.1.9-2 2-2h15a1 1 0 0 1 1 1v1H2v1h17a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm16.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-watch">
|
||||
<path d="M11 9h2v2H9V7h2v2zm-5.82 6.08a6.98 6.98 0 0 1 0-10.16L6 0h8l.82 4.92a6.98 6.98 0 0 1 0 10.16L14 20H6l-.82-4.92zM10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-wrench">
|
||||
<path d="M6.47 9.8A5 5 0 0 1 .2 3.22l3.95 3.95 2.82-2.83L3.03.41a5 5 0 0 1 6.4 6.68l10 10-2.83 2.83L6.47 9.8z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-zoom-in">
|
||||
<path fill-rule="evenodd"
|
||||
d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12zM7 7V5h2v2h2v2H9v2H7V9H5V7h2z"/>
|
||||
</symbol>
|
||||
<symbol viewBox="0 0 20 20" id="zondicon-zoom-out">
|
||||
<path fill-rule="evenodd"
|
||||
d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12zM5 7h6v2H5V7z"/>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 60 KiB |
5
vendor/laravel/horizon/public/mix-manifest.json
vendored
Normal file
5
vendor/laravel/horizon/public/mix-manifest.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"/app.js": "/app.js?id=216ac977397857c5c8db",
|
||||
"/app.css": "/app.css?id=cefed9132a927b70fdd6",
|
||||
"/app-dark.css": "/app-dark.css?id=596688837e7ffbb58e37"
|
||||
}
|
||||
BIN
vendor/laravel/horizon/resources/img/favicon.png
vendored
Normal file
BIN
vendor/laravel/horizon/resources/img/favicon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 648 B |
55
vendor/laravel/horizon/resources/js/app.js
vendored
Normal file
55
vendor/laravel/horizon/resources/js/app.js
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
import Vue from 'vue';
|
||||
import Base from './base';
|
||||
import _ from 'lodash';
|
||||
import axios from 'axios';
|
||||
import Routes from './routes';
|
||||
import VueRouter from 'vue-router';
|
||||
import VueJsonPretty from 'vue-json-pretty';
|
||||
import moment from 'moment-timezone';
|
||||
|
||||
require('bootstrap');
|
||||
|
||||
let token = document.head.querySelector('meta[name="csrf-token"]');
|
||||
|
||||
if (token) {
|
||||
axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
|
||||
}
|
||||
|
||||
Vue.use(VueRouter);
|
||||
|
||||
window.Popper = require('popper.js').default;
|
||||
|
||||
moment.tz.setDefault(Horizon.timezone);
|
||||
|
||||
Vue.prototype.$http = axios.create();
|
||||
|
||||
const router = new VueRouter({
|
||||
routes: Routes,
|
||||
mode: 'history',
|
||||
base: '/' + window.Horizon.path + '/',
|
||||
});
|
||||
|
||||
Vue.component('vue-json-pretty', VueJsonPretty);
|
||||
Vue.component('alert', require('./components/Alert.vue').default);
|
||||
|
||||
Vue.mixin(Base);
|
||||
|
||||
new Vue({
|
||||
el: '#horizon',
|
||||
|
||||
router,
|
||||
|
||||
data() {
|
||||
return {
|
||||
alert: {
|
||||
type: null,
|
||||
autoClose: 0,
|
||||
message: '',
|
||||
confirmationProceed: null,
|
||||
confirmationCancel: null,
|
||||
},
|
||||
|
||||
autoLoadsNewEntries: localStorage.autoLoadsNewEntries === '1',
|
||||
};
|
||||
},
|
||||
});
|
||||
156
vendor/laravel/horizon/resources/js/base.js
vendored
Normal file
156
vendor/laravel/horizon/resources/js/base.js
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
import _ from 'lodash';
|
||||
import moment from 'moment-timezone';
|
||||
|
||||
export default {
|
||||
computed: {
|
||||
Horizon() {
|
||||
return Horizon;
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Show the time ago format for the given time.
|
||||
*/
|
||||
timeAgo(time) {
|
||||
moment.updateLocale('en', {
|
||||
relativeTime: {
|
||||
future: 'in %s',
|
||||
past: '%s ago',
|
||||
s: number => number + 's ago',
|
||||
ss: '%ds ago',
|
||||
m: '1m ago',
|
||||
mm: '%dm ago',
|
||||
h: '1h ago',
|
||||
hh: '%dh ago',
|
||||
d: '1d ago',
|
||||
dd: '%dd ago',
|
||||
M: 'a month ago',
|
||||
MM: '%d months ago',
|
||||
y: 'a year ago',
|
||||
yy: '%d years ago',
|
||||
},
|
||||
});
|
||||
|
||||
let secondsElapsed = moment().diff(time, 'seconds');
|
||||
let dayStart = moment('2018-01-01')
|
||||
.startOf('day')
|
||||
.seconds(secondsElapsed);
|
||||
|
||||
if (secondsElapsed > 300) {
|
||||
return moment(time).fromNow(true);
|
||||
} else if (secondsElapsed < 60) {
|
||||
return dayStart.format('s') + 's ago';
|
||||
} else {
|
||||
return dayStart.format('m:ss') + 'm ago';
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Format the given date with respect to timezone.
|
||||
*/
|
||||
formatDate(unixTime) {
|
||||
return moment(unixTime * 1000).add(new Date().getTimezoneOffset() / 60);
|
||||
},
|
||||
|
||||
/**
|
||||
* Extract the job base name.
|
||||
*/
|
||||
jobBaseName(name) {
|
||||
if (!name.includes('\\')) return name;
|
||||
|
||||
var parts = name.split('\\');
|
||||
|
||||
return parts[parts.length - 1];
|
||||
},
|
||||
|
||||
/**
|
||||
* Autoload new entries in listing screens.
|
||||
*/
|
||||
autoLoadNewEntries() {
|
||||
if (!this.autoLoadsNewEntries) {
|
||||
this.autoLoadsNewEntries = true;
|
||||
localStorage.autoLoadsNewEntries = 1;
|
||||
} else {
|
||||
this.autoLoadsNewEntries = false;
|
||||
localStorage.autoLoadsNewEntries = 0;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Convert to human readable timestamp.
|
||||
*/
|
||||
readableTimestamp(timestamp) {
|
||||
return this.formatDate(timestamp).format('YYYY-MM-DD HH:mm:ss');
|
||||
},
|
||||
|
||||
/**
|
||||
* Format the tags.
|
||||
*/
|
||||
displayableTagsList(tags, truncate = true) {
|
||||
if (!tags || !tags.length) return '';
|
||||
|
||||
return _.reduce(
|
||||
tags,
|
||||
(s, n) => {
|
||||
return (s ? s + ', ' : '') + (truncate ? _.truncate(n) : n);
|
||||
},
|
||||
''
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* Show the time in local time.
|
||||
*/
|
||||
localTime(time) {
|
||||
return moment(time + ' Z')
|
||||
.utc()
|
||||
.local()
|
||||
.format('MMMM Do YYYY, h:mm:ss A');
|
||||
},
|
||||
|
||||
/**
|
||||
* Truncate the given string.
|
||||
*/
|
||||
truncate(string, length = 70) {
|
||||
return _.truncate(string, {
|
||||
length: length,
|
||||
separator: /,? +/,
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a debounced function that delays invoking a callback.
|
||||
*/
|
||||
debouncer: _.debounce(callback => callback(), 500),
|
||||
|
||||
/**
|
||||
* Show an error message.
|
||||
*/
|
||||
alertError(message) {
|
||||
this.$root.alert.type = 'error';
|
||||
this.$root.alert.autoClose = false;
|
||||
this.$root.alert.message = message;
|
||||
},
|
||||
|
||||
/**
|
||||
* Show a success message.
|
||||
*/
|
||||
alertSuccess(message, autoClose) {
|
||||
this.$root.alert.type = 'success';
|
||||
this.$root.alert.autoClose = autoClose;
|
||||
this.$root.alert.message = message;
|
||||
},
|
||||
|
||||
/**
|
||||
* Show confirmation message.
|
||||
*/
|
||||
alertConfirm(message, success, failure) {
|
||||
this.$root.alert.type = 'confirmation';
|
||||
this.$root.alert.autoClose = false;
|
||||
this.$root.alert.message = message;
|
||||
this.$root.alert.confirmationProceed = success;
|
||||
this.$root.alert.confirmationCancel = failure;
|
||||
},
|
||||
},
|
||||
};
|
||||
120
vendor/laravel/horizon/resources/js/components/Alert.vue
vendored
Normal file
120
vendor/laravel/horizon/resources/js/components/Alert.vue
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import $ from 'jquery';
|
||||
|
||||
export default {
|
||||
props: ['type', 'message', 'autoClose', 'confirmationProceed', 'confirmationCancel'],
|
||||
|
||||
data(){
|
||||
return {
|
||||
timeout: null,
|
||||
anotherModalOpened: $('body').hasClass('modal-open')
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
mounted() {
|
||||
$('#alertModal').modal({
|
||||
backdrop: 'static',
|
||||
});
|
||||
|
||||
$('#alertModal').on('hidden.bs.modal', e => {
|
||||
this.$root.alert.type = null;
|
||||
this.$root.alert.autoClose = false;
|
||||
this.$root.alert.message = '';
|
||||
this.$root.alert.confirmationProceed = null;
|
||||
this.$root.alert.confirmationCancel = null;
|
||||
|
||||
if (this.anotherModalOpened) {
|
||||
$('body').addClass('modal-open');
|
||||
}
|
||||
});
|
||||
|
||||
if (this.autoClose) {
|
||||
this.timeout = setTimeout(() => {
|
||||
this.close();
|
||||
}, this.autoClose);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Close the modal.
|
||||
*/
|
||||
close(){
|
||||
clearTimeout(this.timeout);
|
||||
|
||||
$('#alertModal').modal('hide');
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Confirm and close the modal.
|
||||
*/
|
||||
confirm(){
|
||||
this.confirmationProceed();
|
||||
|
||||
this.close();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Cancel and close the modal.
|
||||
*/
|
||||
cancel(){
|
||||
if (this.confirmationCancel) {
|
||||
this.confirmationCancel();
|
||||
}
|
||||
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="modal" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="alertModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body text-center">
|
||||
<p class="mt-3 mb-0">{{message}}</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal-footer justify-content-center">
|
||||
|
||||
<button v-if="type == 'error'" class="btn btn-secondary btn-sm" @click="close">
|
||||
CLOSE
|
||||
</button>
|
||||
|
||||
<button v-if="type == 'success'" class="btn btn-secondary btn-sm" @click="close">
|
||||
OK
|
||||
</button>
|
||||
|
||||
|
||||
<button v-if="type == 'confirmation'" class="btn btn-danger btn-sm" @click="confirm">
|
||||
YES
|
||||
</button>
|
||||
<button v-if="type == 'confirmation'" class="btn btn-secondary btn-sm" @click="cancel">
|
||||
NO, CANCEL
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
#alertModal {
|
||||
z-index: 99999;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
#alertModal svg {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
}
|
||||
</style>
|
||||
67
vendor/laravel/horizon/resources/js/components/LineChart.vue
vendored
Normal file
67
vendor/laravel/horizon/resources/js/components/LineChart.vue
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import Chart from 'chart.js';
|
||||
|
||||
export default {
|
||||
props: ['data'],
|
||||
|
||||
data(){
|
||||
return {
|
||||
context: null,
|
||||
chart:null
|
||||
}
|
||||
},
|
||||
|
||||
mounted(){
|
||||
this.context = this.$refs.canvas.getContext('2d');
|
||||
|
||||
this.chart = new Chart(this.context, {
|
||||
type: 'line',
|
||||
options: {
|
||||
legend: {
|
||||
display: false,
|
||||
},
|
||||
scales: {
|
||||
yAxes: [
|
||||
{
|
||||
ticks: {
|
||||
beginAtZero: true
|
||||
},
|
||||
gridLines: {
|
||||
display: true
|
||||
},
|
||||
beforeBuildTicks: function (scale) {
|
||||
var max = _.max(scale.chart.data.datasets[0].data);
|
||||
|
||||
scale.max = parseFloat(max) + parseFloat(max * 0.25);
|
||||
},
|
||||
}
|
||||
],
|
||||
xAxes: [
|
||||
{
|
||||
gridLines: {
|
||||
display: true
|
||||
},
|
||||
afterTickToLabelConversion: function (data) {
|
||||
var xLabels = data.ticks;
|
||||
|
||||
xLabels.forEach(function (labels, i) {
|
||||
if (i % 6 != 0 && (i + 1) != xLabels.length) {
|
||||
xLabels[i] = '';
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
data: this.data
|
||||
});
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div style="position: relative;">
|
||||
<canvas ref="canvas" height="70"></canvas>
|
||||
</div>
|
||||
</template>
|
||||
41
vendor/laravel/horizon/resources/js/components/Stacktrace.vue
vendored
Normal file
41
vendor/laravel/horizon/resources/js/components/Stacktrace.vue
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import _ from "lodash"
|
||||
|
||||
export default {
|
||||
props: ['trace'],
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
minimumLines: 5,
|
||||
showAll: false,
|
||||
};
|
||||
},
|
||||
|
||||
computed: {
|
||||
lines(){
|
||||
return this.showAll ? _.take(this.trace, 1000) : _.take(this.trace, this.minimumLines);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<table class="table mb-0">
|
||||
<tbody>
|
||||
<tr v-for="line in lines">
|
||||
<td class="card-bg-secondary">{{line}}</td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="! showAll">
|
||||
<td class="card-bg-secondary"><a href="*" v-on:click.prevent="showAll = true">Show All</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
77
vendor/laravel/horizon/resources/js/routes.js
vendored
Normal file
77
vendor/laravel/horizon/resources/js/routes.js
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
export default [
|
||||
{ path: '/', redirect: '/dashboard' },
|
||||
|
||||
{
|
||||
path: '/dashboard',
|
||||
name: 'dashboard',
|
||||
component: require('./screens/dashboard').default,
|
||||
},
|
||||
|
||||
{
|
||||
path: '/monitoring',
|
||||
name: 'monitoring',
|
||||
component: require('./screens/monitoring/index').default,
|
||||
},
|
||||
|
||||
{
|
||||
path: '/monitoring/:tag',
|
||||
component: require('./screens/monitoring/tag').default,
|
||||
children: [
|
||||
{
|
||||
path: 'jobs',
|
||||
name: 'monitoring-jobs',
|
||||
component: require('./screens/monitoring/tag-jobs').default,
|
||||
props: { type: 'jobs' },
|
||||
},
|
||||
{
|
||||
path: 'failed',
|
||||
name: 'monitoring-failed',
|
||||
component: require('./screens/monitoring/tag-jobs').default,
|
||||
props: { type: 'failed' },
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{ path: '/metrics', redirect: '/metrics/jobs' },
|
||||
|
||||
{
|
||||
path: '/metrics/',
|
||||
component: require('./screens/metrics/index').default,
|
||||
children: [
|
||||
{
|
||||
path: 'jobs',
|
||||
name: 'metrics-jobs',
|
||||
component: require('./screens/metrics/jobs').default,
|
||||
},
|
||||
{
|
||||
path: 'queues',
|
||||
name: 'metrics-queues',
|
||||
component: require('./screens/metrics/queues').default,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
path: '/metrics/:type/:slug',
|
||||
name: 'metrics-preview',
|
||||
component: require('./screens/metrics/preview').default,
|
||||
},
|
||||
|
||||
{
|
||||
path: '/recent-jobs',
|
||||
name: 'recent-jobs',
|
||||
component: require('./screens/recentJobs/index').default,
|
||||
},
|
||||
|
||||
{
|
||||
path: '/failed',
|
||||
name: 'failed-jobs',
|
||||
component: require('./screens/failedJobs/index').default,
|
||||
},
|
||||
|
||||
{
|
||||
path: '/failed/:jobId',
|
||||
name: 'failed-jobs-preview',
|
||||
component: require('./screens/failedJobs/job').default,
|
||||
},
|
||||
];
|
||||
323
vendor/laravel/horizon/resources/js/screens/dashboard.vue
vendored
Normal file
323
vendor/laravel/horizon/resources/js/screens/dashboard.vue
vendored
Normal file
@@ -0,0 +1,323 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import _ from 'lodash';
|
||||
import moment from 'moment';
|
||||
|
||||
export default {
|
||||
components: {},
|
||||
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
stats: {},
|
||||
workers: [],
|
||||
workload: [],
|
||||
ready: false,
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
document.title = "Horizon - Dashboard";
|
||||
|
||||
this.refreshStatsPeriodically();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Clean after the component is destroyed.
|
||||
*/
|
||||
destroyed() {
|
||||
clearTimeout(this.timeout);
|
||||
},
|
||||
|
||||
|
||||
computed: {
|
||||
/**
|
||||
* Determine the recent job period label.
|
||||
*/
|
||||
recentJobsPeriod() {
|
||||
return !this.ready
|
||||
? 'Jobs past hour'
|
||||
: `Jobs past ${this.determinePeriod(this.stats.periods.recentJobs)}`;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Determine the recently failed job period label.
|
||||
*/
|
||||
recentlyFailedPeriod() {
|
||||
return !this.ready
|
||||
? 'Failed jobs past 7 days'
|
||||
: `Failed jobs past ${this.determinePeriod(this.stats.periods.recentlyFailed)}`;
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the general stats.
|
||||
*/
|
||||
loadStats() {
|
||||
return this.$http.get('/' + Horizon.path + '/api/stats')
|
||||
.then(response => {
|
||||
this.stats = response.data;
|
||||
|
||||
if (_.values(response.data.wait)[0]) {
|
||||
this.stats.max_wait_time = _.values(response.data.wait)[0];
|
||||
this.stats.max_wait_queue = _.keys(response.data.wait)[0].split(':')[1];
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the workers stats.
|
||||
*/
|
||||
loadWorkers() {
|
||||
return this.$http.get('/' + Horizon.path + '/api/masters')
|
||||
.then(response => {
|
||||
this.workers = response.data;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the workload stats.
|
||||
*/
|
||||
loadWorkload() {
|
||||
return this.$http.get('/' + Horizon.path + '/api/workload')
|
||||
.then(response => {
|
||||
this.workload = response.data;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Refresh the stats every period of time.
|
||||
*/
|
||||
refreshStatsPeriodically() {
|
||||
Promise.all([
|
||||
this.loadStats(),
|
||||
this.loadWorkers(),
|
||||
this.loadWorkload(),
|
||||
]).then(() => {
|
||||
this.ready = true;
|
||||
|
||||
this.timeout = setTimeout(() => {
|
||||
this.refreshStatsPeriodically(false);
|
||||
}, 5000);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Count processes for the given supervisor.
|
||||
*/
|
||||
countProcesses(processes) {
|
||||
return _.chain(processes).values().sum().value().toLocaleString()
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Format the Supervisor display name.
|
||||
*/
|
||||
superVisorDisplayName(supervisor, worker) {
|
||||
return _.replace(supervisor, worker + ':', '');
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns {string}
|
||||
*/
|
||||
humanTime(time) {
|
||||
return moment.duration(time, "seconds").humanize().replace(/^(.)|\s+(.)/g, function ($1) {
|
||||
return $1.toUpperCase();
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Determine the unit for the given timeframe.
|
||||
*/
|
||||
determinePeriod(minutes) {
|
||||
return moment.duration(moment().diff(moment().subtract(minutes, "minutes"))).humanize().replace(/^An?/i, '');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Overview</h5>
|
||||
</div>
|
||||
|
||||
<div class="card-bg-secondary">
|
||||
<div class="d-flex">
|
||||
<div class="w-25 border-right border-bottom">
|
||||
<div class="p-4">
|
||||
<small class="text-uppercase">Jobs Per Minute</small>
|
||||
|
||||
<h4 class="mt-4 mb-0">
|
||||
{{ stats.jobsPerMinute ? stats.jobsPerMinute.toLocaleString() : 0 }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-25 border-right border-bottom">
|
||||
<div class="p-4">
|
||||
<small class="text-uppercase" v-text="recentJobsPeriod"></small>
|
||||
|
||||
<h4 class="mt-4 mb-0">
|
||||
{{ stats.recentJobs ? stats.recentJobs.toLocaleString() : 0 }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-25 border-right border-bottom">
|
||||
<div class="p-4">
|
||||
<small class="text-uppercase" v-text="recentlyFailedPeriod"></small>
|
||||
|
||||
<h4 class="mt-4 mb-0">
|
||||
{{ stats.recentlyFailed ? stats.recentlyFailed.toLocaleString() : 0 }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-25 border-bottom">
|
||||
<div class="p-4">
|
||||
<small class="text-uppercase">Status</small>
|
||||
|
||||
<div class="d-flex align-items-center mt-4">
|
||||
<svg v-if="stats.status == 'running'" class="fill-success" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM6.7 9.29L9 11.6l4.3-4.3 1.4 1.42L9 14.4l-3.7-3.7 1.4-1.42z"></path>
|
||||
</svg>
|
||||
|
||||
<svg v-if="stats.status == 'paused'" class="fill-warning" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM7 6h2v8H7V6zm4 0h2v8h-2V6z"/>
|
||||
</svg>
|
||||
|
||||
<svg v-if="stats.status == 'inactive'" class="fill-danger" viewBox="0 0 20 20" style=" width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"/>
|
||||
</svg>
|
||||
|
||||
<h4 class="mb-0 ml-2">{{ {running: 'Active', paused: 'Paused', inactive:'Inactive'}[stats.status] }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex">
|
||||
<div class="w-25 border-right">
|
||||
<div class="p-4 mb-0">
|
||||
<small class="text-uppercase">TOTAL PROCESSES</small>
|
||||
|
||||
<h4 class="mt-4">
|
||||
{{ stats.processes ? stats.processes.toLocaleString() : 0 }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-25 border-right">
|
||||
<div class="p-4 mb-0">
|
||||
<small class="text-uppercase">MAX WAIT TIME</small>
|
||||
<small v-if="stats.max_wait_queue">({{ stats.max_wait_queue }})</small>
|
||||
|
||||
<h4 class="mt-4">
|
||||
{{ stats.max_wait_time ? humanTime(stats.max_wait_time) : '-' }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-25 border-right">
|
||||
<div class="p-4 mb-0">
|
||||
<small class="text-uppercase">MAX RUNTIME</small>
|
||||
|
||||
<h4 class="mt-4">
|
||||
{{ stats.queueWithMaxRuntime ? stats.queueWithMaxRuntime : '-' }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-25">
|
||||
<div class="p-4 mb-0">
|
||||
<small class="text-uppercase">MAX THROUGHPUT</small>
|
||||
|
||||
<h4 class="mt-4">
|
||||
{{ stats.queueWithMaxThroughput ? stats.queueWithMaxThroughput : '-' }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mt-4" v-if="workload.length">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Current Workload</h5>
|
||||
</div>
|
||||
|
||||
<table class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Queue</th>
|
||||
<th>Processes</th>
|
||||
<th>Jobs</th>
|
||||
<th class="text-right">Wait</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="queue in workload">
|
||||
<td>
|
||||
<span>{{ queue.name.replace(/,/g, ', ') }}</span>
|
||||
</td>
|
||||
<td>{{ queue.processes ? queue.processes.toLocaleString() : 0 }}</td>
|
||||
<td>{{ queue.length ? queue.length.toLocaleString() : 0 }}</td>
|
||||
<td class="text-right">{{ humanTime(queue.wait) }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card mt-4" v-for="worker in workers" :key="worker.name">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>{{ worker.name }}</h5>
|
||||
</div>
|
||||
|
||||
<table class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Supervisor</th>
|
||||
<th>Processes</th>
|
||||
<th>Queues</th>
|
||||
<th class="text-right">Balancing</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="supervisor in worker.supervisors">
|
||||
<td>{{ superVisorDisplayName(supervisor.name, worker.name) }}</td>
|
||||
<td>{{ countProcesses(supervisor.processes) }}</td>
|
||||
<td>{{ supervisor.options.queue.replace(/,/g, ', ') }}</td>
|
||||
<td class="text-right">
|
||||
({{ supervisor.options.balance.charAt(0).toUpperCase() + supervisor.options.balance.slice(1) }})
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
257
vendor/laravel/horizon/resources/js/screens/failedJobs/index.vue
vendored
Normal file
257
vendor/laravel/horizon/resources/js/screens/failedJobs/index.vue
vendored
Normal file
@@ -0,0 +1,257 @@
|
||||
<script type="text/ecmascript-6">
|
||||
export default {
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
tagSearchPhrase: '',
|
||||
searchTimeout: null,
|
||||
ready: false,
|
||||
loadingNewEntries: false,
|
||||
hasNewEntries: false,
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
totalPages: 1,
|
||||
jobs: [],
|
||||
retryingJobs: [],
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
document.title = "Horizon - Failed Jobs";
|
||||
|
||||
this.loadJobs();
|
||||
|
||||
this.refreshJobsPeriodically();
|
||||
},
|
||||
|
||||
/**
|
||||
* Clean after the component is destroyed.
|
||||
*/
|
||||
destroyed() {
|
||||
clearInterval(this.interval);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Watch these properties for changes.
|
||||
*/
|
||||
watch: {
|
||||
'$route'() {
|
||||
this.page = 1;
|
||||
|
||||
this.loadJobs();
|
||||
},
|
||||
|
||||
tagSearchPhrase() {
|
||||
clearTimeout(this.searchTimeout);
|
||||
clearInterval(this.interval);
|
||||
|
||||
this.searchTimeout = setTimeout(() => {
|
||||
this.loadJobs();
|
||||
this.refreshJobsPeriodically();
|
||||
}, 500);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the jobs of the given tag.
|
||||
*/
|
||||
loadJobs(starting = 0, refreshing = false) {
|
||||
if (!refreshing) {
|
||||
this.ready = false;
|
||||
}
|
||||
|
||||
var tagQuery = this.tagSearchPhrase ? 'tag=' + this.tagSearchPhrase + '&' : '';
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/jobs/failed?' + tagQuery + 'starting_at=' + starting)
|
||||
.then(response => {
|
||||
if (!this.$root.autoLoadsNewEntries && refreshing && !response.data.jobs.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!this.$root.autoLoadsNewEntries && refreshing && this.jobs.length && _.first(response.data.jobs).id !== _.first(this.jobs).id) {
|
||||
this.hasNewEntries = true;
|
||||
} else {
|
||||
this.jobs = response.data.jobs;
|
||||
|
||||
this.totalPages = Math.ceil(response.data.total / this.perPage);
|
||||
}
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
loadNewEntries() {
|
||||
this.jobs = [];
|
||||
|
||||
this.loadJobs(0, false);
|
||||
|
||||
this.hasNewEntries = false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Retry the given failed job.
|
||||
*/
|
||||
retry(id) {
|
||||
if (this.isRetrying(id)) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.retryingJobs.push(id);
|
||||
|
||||
this.$http.post('/' + Horizon.path + '/api/jobs/retry/' + id)
|
||||
.then((response) => {
|
||||
setTimeout(() => {
|
||||
this.retryingJobs = _.reject(this.retryingJobs, job => job == id);
|
||||
}, 5000);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Determine if the given job is currently retrying.
|
||||
*/
|
||||
isRetrying(id) {
|
||||
return _.includes(this.retryingJobs, id);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Determine if the given job has completed.
|
||||
*/
|
||||
hasCompleted(job) {
|
||||
return _.find(job.retried_by, retry => retry.status == 'completed');
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Refresh the jobs every period of time.
|
||||
*/
|
||||
refreshJobsPeriodically() {
|
||||
this.interval = setInterval(() => {
|
||||
this.loadJobs((this.page - 1) * this.perPage, true);
|
||||
}, 3000);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the jobs for the previous page.
|
||||
*/
|
||||
previous() {
|
||||
this.loadJobs(
|
||||
(this.page - 2) * this.perPage
|
||||
);
|
||||
|
||||
this.page -= 1;
|
||||
|
||||
this.hasNewEntries = false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the jobs for the next page.
|
||||
*/
|
||||
next() {
|
||||
this.loadJobs(
|
||||
this.page * this.perPage
|
||||
);
|
||||
|
||||
this.page += 1;
|
||||
|
||||
this.hasNewEntries = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Failed Jobs</h5>
|
||||
|
||||
<input type="text" class="form-control" v-model="tagSearchPhrase" placeholder="Search Tags" style="width:200px">
|
||||
</div>
|
||||
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="ready && jobs.length == 0" class="d-flex flex-column align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<span>There aren't any failed jobs.</span>
|
||||
</div>
|
||||
|
||||
<table v-if="ready && jobs.length > 0" class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Job</th>
|
||||
<th>Runtime</th>
|
||||
<th>Failed At</th>
|
||||
<th class="text-right">Retry</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-if="hasNewEntries" key="newEntries" class="dontanimate">
|
||||
<td colspan="100" class="text-center card-bg-secondary py-1">
|
||||
<small><a href="#" v-on:click.prevent="loadNewEntries" v-if="!loadingNewEntries">Load New Entries</a></small>
|
||||
|
||||
<small v-if="loadingNewEntries">Loading...</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr v-for="job in jobs" :key="job.id">
|
||||
<td>
|
||||
<span v-if="job.status != 'failed'" :title="job.name">{{jobBaseName(job.name)}}</span>
|
||||
<router-link v-if="job.status === 'failed'" :title="job.name" :to="{ name: 'failed-jobs-preview', params: { jobId: job.id }}">
|
||||
{{ jobBaseName(job.name) }}
|
||||
</router-link>
|
||||
<br>
|
||||
|
||||
<small class="text-muted">
|
||||
Queue: {{job.queue}} | Tags: {{ job.payload.tags && job.payload.tags.length ? job.payload.tags.join(', ') : '' }}
|
||||
</small>
|
||||
</td>
|
||||
|
||||
<td class="table-fit">
|
||||
<span>{{ job.failed_at ? String((job.failed_at - job.reserved_at).toFixed(2))+'s' : '-' }}</span>
|
||||
</td>
|
||||
|
||||
<td class="table-fit">
|
||||
{{ readableTimestamp(job.failed_at) }}
|
||||
</td>
|
||||
|
||||
<td class="text-right table-fit">
|
||||
<a href="#" @click.prevent="retry(job.id)" v-if="!hasCompleted(job)">
|
||||
<svg class="fill-primary" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;" :class="{spin: isRetrying(job.id)}">
|
||||
<path d="M10 3v2a5 5 0 0 0-3.54 8.54l-1.41 1.41A7 7 0 0 1 10 3zm4.95 2.05A7 7 0 0 1 10 17v-2a5 5 0 0 0 3.54-8.54l1.41-1.41zM10 20l-4-4 4-4v8zm0-12V0l4 4-4 4z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div v-if="ready && jobs.length" class="p-3 d-flex justify-content-between border-top">
|
||||
<button @click="previous" class="btn btn-secondary btn-md" :disabled="page==1">Previous</button>
|
||||
<button @click="next" class="btn btn-secondary btn-md" :disabled="page>=totalPages">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
228
vendor/laravel/horizon/resources/js/screens/failedJobs/job.vue
vendored
Normal file
228
vendor/laravel/horizon/resources/js/screens/failedJobs/job.vue
vendored
Normal file
@@ -0,0 +1,228 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import phpunserialize from 'phpunserialize'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
'stack-trace': require('./../../components/Stacktrace').default
|
||||
},
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
retrying: false,
|
||||
job: {}
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
this.loadFailedJob(this.$route.params.jobId);
|
||||
|
||||
document.title = "Horizon - Failed Jobs";
|
||||
|
||||
this.interval = setInterval(() => {
|
||||
this.reloadRetries();
|
||||
}, 3000);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Clean after the component is destroyed.
|
||||
*/
|
||||
destroyed() {
|
||||
clearInterval(this.interval);
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
loadFailedJob(id) {
|
||||
this.ready = false;
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/jobs/failed/' + id)
|
||||
.then(response => {
|
||||
this.job = response.data;
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Reload the job retries.
|
||||
*/
|
||||
reloadRetries() {
|
||||
this.$http.get('/' + Horizon.path + '/api/jobs/failed/' + this.$route.params.jobId)
|
||||
.then(response => {
|
||||
this.job.retried_by = response.data.retried_by;
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Retry the given failed job.
|
||||
*/
|
||||
retry(id) {
|
||||
if (this.retrying) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.retrying = true;
|
||||
|
||||
this.$http.post('/' + Horizon.path + '/api/jobs/retry/' + id)
|
||||
.then(() => {
|
||||
setTimeout(() => {
|
||||
this.reloadRetries();
|
||||
|
||||
this.retrying = false;
|
||||
}, 3000);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Convert exception to a more readable format.
|
||||
*/
|
||||
prettyPrintException(exception) {
|
||||
var lines = _.split(exception, "\n"),
|
||||
output = '';
|
||||
|
||||
lines.forEach(line => {
|
||||
output += '<span>' + line + '</span>';
|
||||
});
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Pretty print serialized job.
|
||||
*
|
||||
* @param data
|
||||
* @returns {string}
|
||||
*/
|
||||
prettyPrintJob(data) {
|
||||
return data.command ? phpunserialize(data.command) : data;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5 v-if="!ready">Job Preview</h5>
|
||||
<h5 v-if="ready">{{job.name}}</h5>
|
||||
|
||||
<button class="btn btn-outline-primary" v-on:click.prevent="retry(job.id)">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon fill-primary" :class="{spin: retrying}">
|
||||
<path d="M10 3v2a5 5 0 0 0-3.54 8.54l-1.41 1.41A7 7 0 0 1 10 3zm4.95 2.05A7 7 0 0 1 10 17v-2a5 5 0 0 0 3.54-8.54l1.41-1.41zM10 20l-4-4 4-4v8zm0-12V0l4 4-4 4z"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body card-bg-secondary" v-if="ready">
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-2"><strong>ID</strong></div>
|
||||
<div class="col">{{job.id}}</div>
|
||||
</div>
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-2"><strong>Queue</strong></div>
|
||||
<div class="col">{{job.queue}}</div>
|
||||
</div>
|
||||
<div class="row mb-2">
|
||||
<div class="col-md-2"><strong>Tags</strong></div>
|
||||
<div class="col">{{ job.payload.tags && job.payload.tags.length ? job.payload.tags.join(', ') : '' }}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2"><strong>Failed At</strong></div>
|
||||
<div class="col">{{readableTimestamp(job.failed_at)}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mt-4" v-if="ready">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Exception</h5>
|
||||
</div>
|
||||
<div>
|
||||
<stack-trace :trace="job.exception.split('\n')"></stack-trace>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card mt-4" v-if="ready">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Data</h5>
|
||||
</div>
|
||||
|
||||
<div class="card-body code-bg text-white">
|
||||
<vue-json-pretty :data="prettyPrintJob(job.payload.data)"></vue-json-pretty>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mt-4" v-if="ready && job.retried_by.length">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Recent Retries</h5>
|
||||
</div>
|
||||
|
||||
<table class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Job</th>
|
||||
<th>ID</th>
|
||||
<th class="text-right">Retry Time</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr v-for="retry in job.retried_by">
|
||||
<td>
|
||||
<svg v-if="retry.status == 'completed'" class="fill-success" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM6.7 9.29L9 11.6l4.3-4.3 1.4 1.42L9 14.4l-3.7-3.7 1.4-1.42z"></path>
|
||||
</svg>
|
||||
|
||||
<svg v-if="retry.status == 'reserved' || retry.status == 'pending'" class="fill-warning" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM7 6h2v8H7V6zm4 0h2v8h-2V6z"/>
|
||||
</svg>
|
||||
|
||||
<svg v-if="retry.status == 'failed'" class="fill-danger" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"/>
|
||||
</svg>
|
||||
|
||||
{{ retry.status.charAt(0).toUpperCase() + retry.status.slice(1) }}
|
||||
</td>
|
||||
|
||||
<td class="table-fit">
|
||||
<a v-if="retry.status == 'failed'" :href="'/' + Horizon.path + '/failed/'+retry.id">
|
||||
{{ retry.id }}
|
||||
</a>
|
||||
<span v-else>{{ retry.id }}</span>
|
||||
</td>
|
||||
|
||||
<td class="text-right table-fit">
|
||||
{{readableTimestamp(retry.retried_at)}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
37
vendor/laravel/horizon/resources/js/screens/metrics/index.vue
vendored
Normal file
37
vendor/laravel/horizon/resources/js/screens/metrics/index.vue
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
<script type="text/ecmascript-6">
|
||||
export default {
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
created() {
|
||||
document.title = "Horizon - Metrics";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Metrics</h5>
|
||||
</div>
|
||||
|
||||
<ul class="nav nav-pills card-bg-secondary">
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" active-class="active" :to="{ name: 'metrics-jobs'}" href="#">
|
||||
Jobs
|
||||
</router-link>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" active-class="active" :to="{ name: 'metrics-queues'}" href="#">
|
||||
Queues
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<router-view/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
79
vendor/laravel/horizon/resources/js/screens/metrics/jobs.vue
vendored
Normal file
79
vendor/laravel/horizon/resources/js/screens/metrics/jobs.vue
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
<script type="text/ecmascript-6">
|
||||
export default {
|
||||
components: {},
|
||||
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
jobs: []
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
this.loadJobs();
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the jobs.
|
||||
*/
|
||||
loadJobs() {
|
||||
this.ready = false;
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/metrics/jobs')
|
||||
.then(response => {
|
||||
this.jobs = response.data;
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="ready && jobs.length == 0" class="d-flex flex-column align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<span>There aren't any jobs.</span>
|
||||
</div>
|
||||
|
||||
<table v-if="ready && jobs.length > 0" class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Job</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr v-for="job in jobs" :key="job">
|
||||
<td>
|
||||
<router-link :to="{ name: 'metrics-preview', params: { type: 'jobs', slug: job }}">
|
||||
{{ job }}
|
||||
</router-link>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
147
vendor/laravel/horizon/resources/js/screens/metrics/preview.vue
vendored
Normal file
147
vendor/laravel/horizon/resources/js/screens/metrics/preview.vue
vendored
Normal file
@@ -0,0 +1,147 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import LineChart from '../../components/LineChart.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
LineChart
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
rawData: {},
|
||||
metric: {}
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
document.title = "Horizon - Metrics";
|
||||
|
||||
this.loadMetric();
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the metric.
|
||||
*/
|
||||
loadMetric() {
|
||||
this.ready = false;
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/metrics/' + this.$route.params.type + '/' + encodeURIComponent(this.$route.params.slug))
|
||||
.then(response => {
|
||||
let data = this.prepareData(response.data);
|
||||
|
||||
this.rawData = response.data;
|
||||
|
||||
this.metric.throughPutChart = this.buildChartData(data, 'throughput', 'Times');
|
||||
|
||||
this.metric.runTimeChart = this.buildChartData(data, 'runtime', 'Seconds');
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the response data for charts.
|
||||
*/
|
||||
prepareData(data) {
|
||||
return _.chain(data)
|
||||
.map(value => {
|
||||
value.time = this.formatDate(value.time).format("hh:mmA");
|
||||
|
||||
return value;
|
||||
})
|
||||
.groupBy(value => value.time)
|
||||
.map(value => {
|
||||
return _.reduce(value, (sum, value) => {
|
||||
return {
|
||||
runtime: parseFloat(sum.runtime) + parseFloat(value.runtime),
|
||||
throughput: parseInt(sum.throughput) + parseInt(value.throughput),
|
||||
time: value.time
|
||||
};
|
||||
})
|
||||
})
|
||||
.value();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Build the given chart data.
|
||||
*/
|
||||
buildChartData(data, attribute, label) {
|
||||
return {
|
||||
labels: _.map(data, 'time'),
|
||||
datasets: [
|
||||
{
|
||||
label: label,
|
||||
data: _.map(data, attribute),
|
||||
lineTension: 0,
|
||||
backgroundColor: 'rgba(235, 243, 249, 0.4)',
|
||||
pointBackgroundColor: '#3981B4',
|
||||
borderColor: '#3981B4',
|
||||
borderWidth: 4,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Throughput - {{$route.params.slug}}</h5>
|
||||
</div>
|
||||
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body card-bg-secondary" v-if="ready">
|
||||
<p class="text-center m-0 p-5" v-if="ready && !rawData.length">
|
||||
Not Enough Data
|
||||
</p>
|
||||
|
||||
<line-chart v-if="ready && rawData.length" :data="metric.throughPutChart"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mt-4">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Runtime - {{$route.params.slug}}</h5>
|
||||
</div>
|
||||
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body card-bg-secondary" v-if="ready">
|
||||
<p class="text-center m-0 p-5" v-if="ready && !rawData.length">
|
||||
Not Enough Data
|
||||
</p>
|
||||
|
||||
<line-chart v-if="ready && rawData.length" :data="metric.runTimeChart"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
79
vendor/laravel/horizon/resources/js/screens/metrics/queues.vue
vendored
Normal file
79
vendor/laravel/horizon/resources/js/screens/metrics/queues.vue
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
<script type="text/ecmascript-6">
|
||||
export default {
|
||||
components: {},
|
||||
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
queues: []
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
this.loadQueues();
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the queues.
|
||||
*/
|
||||
loadQueues() {
|
||||
this.ready = false;
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/metrics/queues')
|
||||
.then(response => {
|
||||
this.queues = response.data;
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="ready && queues.length == 0" class="d-flex flex-column align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<span>There aren't any queues.</span>
|
||||
</div>
|
||||
|
||||
<table v-if="ready && queues.length > 0" class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Queue</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr v-for="queue in queues" :key="queue">
|
||||
<td>
|
||||
<router-link :to="{ name: 'metrics-preview', params: { type: 'queues', slug: queue }}">
|
||||
{{ queue }}
|
||||
</router-link>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
183
vendor/laravel/horizon/resources/js/screens/monitoring/index.vue
vendored
Normal file
183
vendor/laravel/horizon/resources/js/screens/monitoring/index.vue
vendored
Normal file
@@ -0,0 +1,183 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import $ from 'jquery';
|
||||
|
||||
export default {
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
newTag: '',
|
||||
addTagModalOpened: false,
|
||||
tags: []
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
document.title = "Horizon - Monitoring";
|
||||
|
||||
this.loadTags();
|
||||
|
||||
this.$on('addTagModalClosed', data => {
|
||||
this.addTagModalOpened = false;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the monitored tags.
|
||||
*/
|
||||
loadTags() {
|
||||
this.ready = false;
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/monitoring')
|
||||
.then(response => {
|
||||
this.tags = response.data;
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Open the modal for adding a new tag.
|
||||
*/
|
||||
openNewTagModal() {
|
||||
$('#addTagModel').modal({
|
||||
backdrop: 'static',
|
||||
});
|
||||
|
||||
$('#newTagInput').focus();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Monitor the given tag.
|
||||
*/
|
||||
monitorNewTag() {
|
||||
if (!this.newTag) {
|
||||
$('#newTagInput').focus();
|
||||
return;
|
||||
}
|
||||
|
||||
this.$http.post('/' + Horizon.path + '/api/monitoring', {'tag': this.newTag})
|
||||
.then(response => {
|
||||
$('#addTagModal').modal('hide');
|
||||
|
||||
this.tags.push({tag: this.newTag, count: 0});
|
||||
|
||||
$('#addTagModel').modal('hide');
|
||||
|
||||
this.newTag = '';
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Cancel adding a new tag.
|
||||
*/
|
||||
cancelNewTag() {
|
||||
$('#addTagModel').modal('hide');
|
||||
|
||||
this.newTag = '';
|
||||
},
|
||||
|
||||
/**
|
||||
* Stop monitoring the given tag.
|
||||
*/
|
||||
stopMonitoring(tag) {
|
||||
this.$http.delete('/' + Horizon.path + '/api/monitoring/' + encodeURIComponent(tag))
|
||||
.then(() => {
|
||||
this.tags = _.reject(this.tags, existing => existing.tag == tag)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Monitoring</h5>
|
||||
|
||||
<button @click="openNewTagModal" class="btn btn-primary btn-sm">Monitor Tag</button>
|
||||
</div>
|
||||
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="ready && tags.length == 0" class="d-flex flex-column align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<span>You're not monitoring any tags.</span>
|
||||
</div>
|
||||
|
||||
|
||||
<table v-if="ready && tags.length > 0" class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tag Name</th>
|
||||
<th>Jobs</th>
|
||||
<th class="text-right"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="tag in tags">
|
||||
<td>
|
||||
<router-link :to="{ name: 'monitoring-jobs', params: { tag:tag.tag }}" href="#">
|
||||
{{ tag.tag }}
|
||||
</router-link>
|
||||
</td>
|
||||
<td>{{ tag.count }}</td>
|
||||
<td class="text-right">
|
||||
<a href="#" @click="stopMonitoring(tag.tag)" class="control-action" title="Stop Monitoring">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="addTagModel" tabindex="-1" role="dialog" aria-labelledby="alertModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Monitor New Tag</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<input type="text" class="form-control" placeholder="App\User:6352"
|
||||
v-on:keyup.enter="monitorNewTag"
|
||||
v-model="newTag"
|
||||
id="newTagInput">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal-footer justify-content-center">
|
||||
<button class="btn btn-primary" @click="monitorNewTag">
|
||||
Monitor
|
||||
</button>
|
||||
|
||||
<button class="btn" @click="cancelNewTag">
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
216
vendor/laravel/horizon/resources/js/screens/monitoring/tag-jobs.vue
vendored
Normal file
216
vendor/laravel/horizon/resources/js/screens/monitoring/tag-jobs.vue
vendored
Normal file
@@ -0,0 +1,216 @@
|
||||
<script type="text/ecmascript-6">
|
||||
export default {
|
||||
props: ['type'],
|
||||
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
loadingNewEntries: false,
|
||||
hasNewEntries: false,
|
||||
page: 1,
|
||||
perPage: 3,
|
||||
totalPages: 1,
|
||||
jobs: []
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
document.title = "Horizon - Monitoring";
|
||||
|
||||
this.loadJobs(this.$route.params.tag);
|
||||
|
||||
this.refreshJobsPeriodically();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Clean after the component is destroyed.
|
||||
*/
|
||||
destroyed() {
|
||||
clearInterval(this.interval);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Watch these properties for changes.
|
||||
*/
|
||||
watch: {
|
||||
'$route'() {
|
||||
this.page = 1;
|
||||
|
||||
this.loadJobs(this.$route.params.tag);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the jobs of the given tag.
|
||||
*/
|
||||
loadJobs(tag, starting = 0, refreshing = false) {
|
||||
if (!refreshing) {
|
||||
this.ready = false;
|
||||
}
|
||||
|
||||
tag = this.type == 'failed' ? 'failed:' + tag : tag;
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/monitoring/' + encodeURIComponent(tag) + '?starting_at=' + starting + '&limit=' + this.perPage)
|
||||
.then(response => {
|
||||
if (!this.$root.autoLoadsNewEntries && refreshing && this.jobs.length && _.first(response.data.jobs).id !== _.first(this.jobs).id) {
|
||||
this.hasNewEntries = true;
|
||||
} else {
|
||||
this.jobs = response.data.jobs;
|
||||
|
||||
this.totalPages = Math.ceil(response.data.total / this.perPage);
|
||||
}
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load new entries.
|
||||
*/
|
||||
loadNewEntries() {
|
||||
this.jobs = [];
|
||||
|
||||
this.loadJobs(this.$route.params.tag, 0, false);
|
||||
|
||||
this.hasNewEntries = false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Refresh the jobs every period of time.
|
||||
*/
|
||||
refreshJobsPeriodically() {
|
||||
this.interval = setInterval(() => {
|
||||
if (this.page != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.loadJobs(this.$route.params.tag, 0, true);
|
||||
}, 3000);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the jobs for the previous page.
|
||||
*/
|
||||
previous() {
|
||||
this.loadJobs(this.$route.params.tag,
|
||||
(this.page - 2) * this.perPage
|
||||
);
|
||||
|
||||
this.page -= 1;
|
||||
|
||||
this.hasNewEntries = false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the jobs for the next page.
|
||||
*/
|
||||
next() {
|
||||
this.loadJobs(this.$route.params.tag,
|
||||
this.page * this.perPage
|
||||
);
|
||||
|
||||
this.page += 1;
|
||||
|
||||
this.hasNewEntries = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="ready && jobs.length == 0" class="d-flex flex-column align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<span>There aren't any jobs for this tag.</span>
|
||||
</div>
|
||||
|
||||
<table v-if="ready && jobs.length > 0" class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Job</th>
|
||||
<th>Queued At</th>
|
||||
<th v-if="type == 'jobs'">Runtime</th>
|
||||
<th class="text-right" v-if="type == 'jobs'">Status</th>
|
||||
<th class="text-right" v-if="type == 'failed'">Failed At</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-if="hasNewEntries" key="newEntries" class="dontanimate">
|
||||
<td colspan="100" class="text-center card-bg-secondary py-1">
|
||||
<small><a href="#" v-on:click.prevent="loadNewEntries" v-if="!loadingNewEntries">Load New Entries</a></small>
|
||||
|
||||
<small v-if="loadingNewEntries">Loading...</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr v-for="job in jobs" :key="job.id">
|
||||
<td>
|
||||
<span v-if="job.status != 'failed'" :title="job.name">{{jobBaseName(job.name)}}</span>
|
||||
<router-link v-if="job.status === 'failed'" :title="job.name" :to="{ name: 'failed-jobs-preview', params: { jobId: job.id }}">
|
||||
{{ jobBaseName(job.name) }}
|
||||
</router-link><br>
|
||||
|
||||
<small class="text-muted">
|
||||
Queue: {{job.queue}} | Tags: {{ job.payload.tags && job.payload.tags.length ? job.payload.tags.join(', ') : '' }}
|
||||
</small>
|
||||
</td>
|
||||
<td class="table-fit">
|
||||
{{ readableTimestamp(job.payload.pushedAt) }}
|
||||
</td>
|
||||
|
||||
<td class="table-fit" v-if="type == 'jobs'">
|
||||
<span>{{ job.completed_at ? (job.completed_at - job.reserved_at).toFixed(2)+'s' : '-' }}</span>
|
||||
</td>
|
||||
|
||||
<td class="text-right table-fit" v-if="type == 'jobs'">
|
||||
<svg v-if="job.status == 'completed'" class="fill-success" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM6.7 9.29L9 11.6l4.3-4.3 1.4 1.42L9 14.4l-3.7-3.7 1.4-1.42z"></path>
|
||||
</svg>
|
||||
|
||||
<svg v-if="job.status == 'reserved' || job.status == 'pending'" class="fill-warning" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM7 6h2v8H7V6zm4 0h2v8h-2V6z"/>
|
||||
</svg>
|
||||
|
||||
<svg v-if="job.status == 'failed'" class="fill-danger" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"/>
|
||||
</svg>
|
||||
</td>
|
||||
|
||||
<td class="text-right table-fit" v-if="type == 'failed'">
|
||||
{{ readableTimestamp(job.failed_at) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div v-if="ready && jobs.length" class="p-3 d-flex justify-content-between border-top">
|
||||
<button @click="previous" class="btn btn-secondary btn-md" :disabled="page==1">Previous</button>
|
||||
<button @click="next" class="btn btn-secondary btn-md" :disabled="page>=totalPages">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
30
vendor/laravel/horizon/resources/js/screens/monitoring/tag.vue
vendored
Normal file
30
vendor/laravel/horizon/resources/js/screens/monitoring/tag.vue
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
<script type="text/ecmascript-6">
|
||||
export default {}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Recent Jobs for "{{ $route.params.tag }}"</h5>
|
||||
</div>
|
||||
|
||||
<ul class="nav nav-pills card-bg-secondary">
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" active-class="active" :to="{ name: 'monitoring-jobs', params: { tag:$route.params.tag }}" href="#">
|
||||
Recent Jobs
|
||||
</router-link>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" active-class="active" :to="{ name: 'monitoring-failed', params: { tag:$route.params.tag }}" href="#">
|
||||
Failed Jobs
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<router-view/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
211
vendor/laravel/horizon/resources/js/screens/recentJobs/index.vue
vendored
Normal file
211
vendor/laravel/horizon/resources/js/screens/recentJobs/index.vue
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
<script type="text/ecmascript-6">
|
||||
import $ from 'jquery';
|
||||
|
||||
export default {
|
||||
/**
|
||||
* The component's data.
|
||||
*/
|
||||
data() {
|
||||
return {
|
||||
ready: false,
|
||||
loadingNewEntries: false,
|
||||
hasNewEntries: false,
|
||||
page: 1,
|
||||
perPage: 50,
|
||||
totalPages: 1,
|
||||
jobs: []
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Prepare the component.
|
||||
*/
|
||||
mounted() {
|
||||
document.title = "Horizon - Recent Jobs";
|
||||
|
||||
this.loadJobs(this.$route.params.tag);
|
||||
|
||||
this.refreshJobsPeriodically();
|
||||
},
|
||||
|
||||
/**
|
||||
* Clean after the component is destroyed.
|
||||
*/
|
||||
destroyed() {
|
||||
clearInterval(this.interval);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Watch these properties for changes.
|
||||
*/
|
||||
watch: {
|
||||
'$route'() {
|
||||
this.page = 1;
|
||||
|
||||
this.loadJobs(this.$route.params.tag);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Load the jobs of the given tag.
|
||||
*/
|
||||
loadJobs(starting = -1, refreshing = false) {
|
||||
if (!refreshing) {
|
||||
this.ready = false;
|
||||
}
|
||||
|
||||
this.$http.get('/' + Horizon.path + '/api/jobs/recent?starting_at=' + starting + '&limit=' + this.perPage)
|
||||
.then(response => {
|
||||
if (!this.$root.autoLoadsNewEntries && refreshing && this.jobs.length && _.first(response.data.jobs).id !== _.first(this.jobs).id) {
|
||||
this.hasNewEntries = true;
|
||||
} else {
|
||||
this.jobs = response.data.jobs;
|
||||
|
||||
this.totalPages = Math.ceil(response.data.total / this.perPage);
|
||||
}
|
||||
|
||||
this.ready = true;
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
loadNewEntries() {
|
||||
this.jobs = [];
|
||||
|
||||
this.loadJobs(-1, false);
|
||||
|
||||
this.hasNewEntries = false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Refresh the jobs every period of time.
|
||||
*/
|
||||
refreshJobsPeriodically() {
|
||||
this.interval = setInterval(() => {
|
||||
if (this.page != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.loadJobs(-1, true);
|
||||
}, 3000);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the jobs for the previous page.
|
||||
*/
|
||||
previous() {
|
||||
this.loadJobs(
|
||||
(this.page - 2) * this.perPage
|
||||
);
|
||||
|
||||
this.page -= 1;
|
||||
|
||||
this.hasNewEntries = false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Load the jobs for the next page.
|
||||
*/
|
||||
next() {
|
||||
this.loadJobs(
|
||||
this.page * this.perPage
|
||||
);
|
||||
|
||||
this.page += 1;
|
||||
|
||||
this.hasNewEntries = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="card">
|
||||
<div class="card-header d-flex align-items-center justify-content-between">
|
||||
<h5>Recent Jobs</h5>
|
||||
</div>
|
||||
|
||||
<div v-if="!ready" class="d-flex align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon spin mr-2 fill-text-color">
|
||||
<path d="M12 10a2 2 0 0 1-3.41 1.41A2 2 0 0 1 10 8V0a9.97 9.97 0 0 1 10 10h-8zm7.9 1.41A10 10 0 1 1 8.59.1v2.03a8 8 0 1 0 9.29 9.29h2.02zm-4.07 0a6 6 0 1 1-7.25-7.25v2.1a3.99 3.99 0 0 0-1.4 6.57 4 4 0 0 0 6.56-1.42h2.1z"></path>
|
||||
</svg>
|
||||
|
||||
<span>Loading...</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="ready && jobs.length == 0" class="d-flex flex-column align-items-center justify-content-center card-bg-secondary p-5 bottom-radius">
|
||||
<span>There aren't any jobs.</span>
|
||||
</div>
|
||||
|
||||
<table v-if="ready && jobs.length > 0" class="table table-hover table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Job</th>
|
||||
<th>Queued At</th>
|
||||
<th>Runtime</th>
|
||||
<th class="text-right">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-if="hasNewEntries" key="newEntries" class="dontanimate">
|
||||
<td colspan="100" class="text-center card-bg-secondary py-1">
|
||||
<small><a href="#" v-on:click.prevent="loadNewEntries" v-if="!loadingNewEntries">Load New Entries</a></small>
|
||||
|
||||
<small v-if="loadingNewEntries">Loading...</small>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr v-for="job in jobs" :key="job.id">
|
||||
<td>
|
||||
<span v-if="job.status != 'failed'" :title="job.name">{{jobBaseName(job.name)}}</span>
|
||||
<router-link v-if="job.status === 'failed'" :title="job.name" :to="{ name: 'failed-jobs-preview', params: { jobId: job.id }}">
|
||||
{{ jobBaseName(job.name) }}
|
||||
</router-link><br>
|
||||
|
||||
<small class="text-muted">
|
||||
Queue: {{job.queue}}
|
||||
<span v-if="job.payload.tags.length">| Tags: {{ job.payload.tags && job.payload.tags.length ? job.payload.tags.join(', ') : '' }}</span>
|
||||
</small>
|
||||
</td>
|
||||
<td class="table-fit">
|
||||
{{ readableTimestamp(job.payload.pushedAt) }}
|
||||
</td>
|
||||
|
||||
<td class="table-fit">
|
||||
<span>{{ job.completed_at ? (job.completed_at - job.reserved_at).toFixed(2)+'s' : '-' }}</span>
|
||||
</td>
|
||||
|
||||
<td class="text-right table-fit">
|
||||
<svg v-if="job.status == 'completed'" class="fill-success" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM6.7 9.29L9 11.6l4.3-4.3 1.4 1.42L9 14.4l-3.7-3.7 1.4-1.42z"></path>
|
||||
</svg>
|
||||
|
||||
<svg v-if="job.status == 'reserved' || job.status == 'pending'" class="fill-warning" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm12.73-1.41A8 8 0 1 0 4.34 4.34a8 8 0 0 0 11.32 11.32zM7 6h2v8H7V6zm4 0h2v8h-2V6z"/>
|
||||
</svg>
|
||||
|
||||
<svg v-if="job.status == 'failed'" class="fill-danger" viewBox="0 0 20 20" style="width: 1.5rem; height: 1.5rem;">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"/>
|
||||
</svg>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div v-if="ready && jobs.length" class="p-3 d-flex justify-content-between border-top">
|
||||
<button @click="previous" class="btn btn-secondary btn-md" :disabled="page==1">Previous</button>
|
||||
<button @click="next" class="btn btn-secondary btn-md" :disabled="page>=totalPages">Next</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
68
vendor/laravel/horizon/resources/sass/app-dark.scss
vendored
Normal file
68
vendor/laravel/horizon/resources/sass/app-dark.scss
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
$font-family-base: Nunito;
|
||||
$font-size-base: 0.95rem;
|
||||
$badge-font-size: 0.95rem;
|
||||
|
||||
$primary: #adadff;
|
||||
$secondary: #494444;
|
||||
$success: #1f9d55;
|
||||
$info: #1c3d5a;
|
||||
$warning: #b08d2f;
|
||||
$danger: #aa2e28;
|
||||
$gray-800: $secondary;
|
||||
|
||||
$body-bg: #1c1c1c;
|
||||
$body-color: #e2edf4;
|
||||
|
||||
$sidebar-nav-color: #6e6b6b;
|
||||
$sidebar-icon-color: #9f9898;
|
||||
|
||||
$pill-link-active: $primary;
|
||||
|
||||
$border-color: #303030;
|
||||
$table-border-color: #343434;
|
||||
$table-headers-color: #181818;
|
||||
$table-hover-bg: #343434;
|
||||
|
||||
$header-border-color: $table-border-color;
|
||||
|
||||
$input-bg: #242424;
|
||||
$input-color: #e2edf4;
|
||||
$input-border-color: $table-border-color;
|
||||
|
||||
$card-cap-bg: #120f12;
|
||||
$card-bg-secondary: #262525;
|
||||
$card-bg: $card-cap-bg;
|
||||
$card-shadow-color: $body-bg;
|
||||
|
||||
$code-bg: $card-bg-secondary;
|
||||
|
||||
$paginator-button-color: #9ea7ac;
|
||||
|
||||
$modal-content-bg: $table-headers-color;
|
||||
$modal-backdrop-bg: #7e7e7e;
|
||||
$modal-footer-border-color: $input-border-color;
|
||||
$modal-header-border-color: $input-border-color;
|
||||
|
||||
$new-entries-bg: #505e4a;
|
||||
|
||||
$control-action-icon-color: #ccd2df;
|
||||
|
||||
$dropdown-bg: $table-headers-color;
|
||||
$dropdown-link-color: #fff;
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 2px,
|
||||
md: 8px,
|
||||
lg: 9px,
|
||||
xl: 10px
|
||||
) !default;
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 1137px,
|
||||
md: 1138px,
|
||||
lg: 1139px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
|
||||
@import 'base';
|
||||
56
vendor/laravel/horizon/resources/sass/app.scss
vendored
Normal file
56
vendor/laravel/horizon/resources/sass/app.scss
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
$font-family-base: Nunito;
|
||||
|
||||
$font-size-base: 0.95rem;
|
||||
$badge-font-size: 0.95rem;
|
||||
|
||||
$primary: #7746ec;
|
||||
$secondary: #dae1e7;
|
||||
$success: #51d88a;
|
||||
$info: #bcdefa;
|
||||
$warning: #ffa260;
|
||||
$danger: #ef5753;
|
||||
|
||||
$body-bg: #ebebeb;
|
||||
|
||||
$btn-focus-width: 0;
|
||||
|
||||
$sidebar-nav-color: #2a5164;
|
||||
$sidebar-icon-color: #c3cbd3;
|
||||
|
||||
$pill-link-active: $primary;
|
||||
|
||||
$border-color: #efefef;
|
||||
$table-headers-color: #f3f4f6;
|
||||
$table-border-color: #efefef;
|
||||
$table-hover-bg: #f1f7fa;
|
||||
|
||||
$header-border-color: #d5dfe9;
|
||||
|
||||
$card-cap-bg: #fff;
|
||||
$card-bg-secondary: #fafafa;
|
||||
$card-shadow-color: #cdd8df;
|
||||
|
||||
$code-bg: #120f12;
|
||||
|
||||
$paginator-button-color: #9ea7ac;
|
||||
|
||||
$new-entries-bg: #fffee9;
|
||||
|
||||
$control-action-icon-color: #ccd2df;
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 2px,
|
||||
md: 8px,
|
||||
lg: 9px,
|
||||
xl: 10px
|
||||
) !default;
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 1137px,
|
||||
md: 1138px,
|
||||
lg: 1139px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
|
||||
@import 'base';
|
||||
270
vendor/laravel/horizon/resources/sass/base.scss
vendored
Normal file
270
vendor/laravel/horizon/resources/sass/base.scss
vendored
Normal file
@@ -0,0 +1,270 @@
|
||||
@import 'syntaxhighlight';
|
||||
@import 'node_modules/bootstrap/scss/bootstrap';
|
||||
|
||||
body {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 1140px;
|
||||
}
|
||||
|
||||
html {
|
||||
min-width: 1140px;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
svg.icon {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
border-bottom: solid 1px $header-border-color;
|
||||
|
||||
svg.logo {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar .nav-item {
|
||||
a {
|
||||
color: $sidebar-nav-color;
|
||||
padding: 0.5rem 0rem;
|
||||
|
||||
svg {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
margin-right: 15px;
|
||||
fill: $sidebar-icon-color;
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: $primary;
|
||||
|
||||
svg {
|
||||
fill: $primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
box-shadow: 0 2px 3px $card-shadow-color;
|
||||
border: none;
|
||||
|
||||
.bottom-radius {
|
||||
border-bottom-left-radius: $card-border-radius;
|
||||
border-bottom-right-radius: $card-border-radius;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
padding-top: 0.7rem;
|
||||
padding-bottom: 0.7rem;
|
||||
background-color: $card-cap-bg;
|
||||
border-bottom: none;
|
||||
|
||||
.btn-group {
|
||||
.btn {
|
||||
padding: 0.2rem 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
th,
|
||||
td {
|
||||
padding: 0.75rem 1.25rem;
|
||||
}
|
||||
|
||||
&.table-sm {
|
||||
th,
|
||||
td {
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: $table-headers-color;
|
||||
font-weight: 400;
|
||||
padding: 0.5rem 1.25rem;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
&:not(.table-borderless) {
|
||||
td {
|
||||
border-top: 1px solid $table-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
&.penultimate-column-right {
|
||||
th:nth-last-child(2),
|
||||
td:nth-last-child(2) {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
th.table-fit,
|
||||
td.table-fit {
|
||||
width: 1%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.fill-text-color {
|
||||
fill: $body-color;
|
||||
}
|
||||
|
||||
.fill-danger {
|
||||
fill: $danger;
|
||||
}
|
||||
|
||||
.fill-warning {
|
||||
fill: $warning;
|
||||
}
|
||||
|
||||
.fill-info {
|
||||
fill: $info;
|
||||
}
|
||||
|
||||
.fill-success {
|
||||
fill: $success;
|
||||
}
|
||||
|
||||
.fill-primary {
|
||||
fill: $primary;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
.fill-primary {
|
||||
fill: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline-primary.active {
|
||||
.fill-primary {
|
||||
fill: $body-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline-primary:not(:disabled):not(.disabled).active:focus {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.control-action {
|
||||
svg {
|
||||
fill: $control-action-icon-color;
|
||||
width: 1.2rem;
|
||||
height: 1.2rem;
|
||||
|
||||
&:hover {
|
||||
fill: $primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.paginator {
|
||||
.btn {
|
||||
text-decoration: none;
|
||||
color: $paginator-button-color;
|
||||
|
||||
&:hover {
|
||||
color: $primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
from {
|
||||
-ms-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
-ms-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-webkit-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
from {
|
||||
-ms-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
-ms-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-webkit-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.spin {
|
||||
-webkit-animation: spin 2s linear infinite;
|
||||
-moz-animation: spin 2s linear infinite;
|
||||
-ms-animation: spin 2s linear infinite;
|
||||
-o-animation: spin 2s linear infinite;
|
||||
animation: spin 2s linear infinite;
|
||||
}
|
||||
|
||||
.card {
|
||||
.nav-pills .nav-link.active {
|
||||
background: none;
|
||||
color: $pill-link-active;
|
||||
border-bottom: solid 2px $primary;
|
||||
}
|
||||
|
||||
.nav-pills .nav-link {
|
||||
font-size: 0.9rem;
|
||||
border-radius: 0;
|
||||
padding: 0.75rem 1.25rem;
|
||||
color: $body-color;
|
||||
}
|
||||
}
|
||||
|
||||
.list-enter-active:not(.dontanimate) {
|
||||
transition: background 1s linear;
|
||||
}
|
||||
|
||||
.list-enter:not(.dontanimate),
|
||||
.list-leave-to:not(.dontanimate) {
|
||||
background: $new-entries-bg;
|
||||
}
|
||||
|
||||
.card table {
|
||||
td {
|
||||
vertical-align: middle !important;
|
||||
}
|
||||
}
|
||||
|
||||
.card-bg-secondary {
|
||||
background: $card-bg-secondary;
|
||||
}
|
||||
|
||||
.code-bg {
|
||||
background: $code-bg;
|
||||
}
|
||||
|
||||
.disabled-watcher {
|
||||
padding: 0.75rem;
|
||||
color: #fff;
|
||||
background: $danger;
|
||||
}
|
||||
43
vendor/laravel/horizon/resources/sass/syntaxhighlight.scss
vendored
Normal file
43
vendor/laravel/horizon/resources/sass/syntaxhighlight.scss
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
.vjs__tree {
|
||||
.vjs__tree__content {
|
||||
border-left: 1px dotted rgba(204, 204, 204, 0.28) !important;
|
||||
}
|
||||
.vjs__tree__node {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
color: #20a0ff;
|
||||
}
|
||||
}
|
||||
.vjs-checkbox {
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
}
|
||||
.vjs__value__null {
|
||||
color: #a291f5 !important;
|
||||
}
|
||||
.vjs__value__number,
|
||||
.vjs__value__boolean {
|
||||
color: #a291f5 !important;
|
||||
}
|
||||
.vjs__value__string {
|
||||
color: #dacb4d !important;
|
||||
}
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-addition {
|
||||
color: #8bd72f;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-meta .hljs-meta-string,
|
||||
.hljs-doctag,
|
||||
.hljs-regexp {
|
||||
color: #dacb4d;
|
||||
}
|
||||
|
||||
.hljs-number,
|
||||
.hljs-literal {
|
||||
color: #a291f5 !important;
|
||||
}
|
||||
100
vendor/laravel/horizon/resources/views/layout.blade.php
vendored
Normal file
100
vendor/laravel/horizon/resources/views/layout.blade.php
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Meta Information -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<link rel="shortcut icon" href="{{ asset('/vendor/horizon/img/favicon.png') }}">
|
||||
|
||||
<title>Horizon</title>
|
||||
|
||||
<!-- Style sheets-->
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
|
||||
<link href="{{ asset(mix($cssFile, 'vendor/horizon')) }}" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="horizon" v-cloak>
|
||||
<alert :message="alert.message"
|
||||
:type="alert.type"
|
||||
:auto-close="alert.autoClose"
|
||||
:confirmation-proceed="alert.confirmationProceed"
|
||||
:confirmation-cancel="alert.confirmationCancel"
|
||||
v-if="alert.type"></alert>
|
||||
|
||||
<div class="container mb-5">
|
||||
<div class="d-flex align-items-center py-4 header">
|
||||
<svg class="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30">
|
||||
<path class="fill-primary" d="M5.26176342 26.4094389C2.04147988 23.6582233 0 19.5675182 0 15c0-4.1421356 1.67893219-7.89213562 4.39339828-10.60660172C7.10786438 1.67893219 10.8578644 0 15 0c8.2842712 0 15 6.71572875 15 15 0 8.2842712-6.7157288 15-15 15-3.716753 0-7.11777662-1.3517984-9.73823658-3.5905611zM4.03811305 15.9222506C5.70084247 14.4569342 6.87195416 12.5 10 12.5c5 0 5 5 10 5 3.1280454 0 4.2991572-1.9569336 5.961887-3.4222502C25.4934253 8.43417206 20.7645408 4 15 4 8.92486775 4 4 8.92486775 4 15c0 .3105915.01287248.6181765.03811305.9222506z"/>
|
||||
</svg>
|
||||
|
||||
<h4 class="mb-0 ml-2"><strong>Laravel</strong> Horizon</h4>
|
||||
|
||||
<button class="btn btn-outline-primary ml-auto" :class="{active: autoLoadsNewEntries}" v-on:click.prevent="autoLoadNewEntries" title="Auto Load Entries">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="icon fill-primary">
|
||||
<path d="M10 3v2a5 5 0 0 0-3.54 8.54l-1.41 1.41A7 7 0 0 1 10 3zm4.95 2.05A7 7 0 0 1 10 17v-2a5 5 0 0 0 3.54-8.54l1.41-1.41zM10 20l-4-4 4-4v8zm0-12V0l4 4-4 4z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-2 sidebar">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item">
|
||||
<router-link active-class="active" to="/dashboard" class="nav-link d-flex align-items-center pt-0">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<path d="M0 3c0-1.1.9-2 2-2h16a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm2 2v12h16V5H2zm8 3l4 5H6l4-5z"></path>
|
||||
</svg>
|
||||
<span>Dashboard</span>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link active-class="active" to="/monitoring" class="nav-link d-flex align-items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<path d="M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"></path>
|
||||
</svg>
|
||||
<span>Monitoring</span>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link active-class="active" to="/metrics" class="nav-link d-flex align-items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<path d="M1 10h3v10H1V10zM6 0h3v20H6V0zm5 8h3v12h-3V8zm5-4h3v16h-3V4z"></path>
|
||||
</svg>
|
||||
<span>Metrics</span>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link active-class="active" to="/recent-jobs" class="nav-link d-flex align-items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<path d="M3.94 6.5L2.22 3.64l1.42-1.42L6.5 3.94c.52-.3 1.1-.54 1.7-.7L9 0h2l.8 3.24c.6.16 1.18.4 1.7.7l2.86-1.72 1.42 1.42-1.72 2.86c.3.52.54 1.1.7 1.7L20 9v2l-3.24.8c-.16.6-.4 1.18-.7 1.7l1.72 2.86-1.42 1.42-2.86-1.72c-.52.3-1.1.54-1.7.7L11 20H9l-.8-3.24c-.6-.16-1.18-.4-1.7-.7l-2.86 1.72-1.42-1.42 1.72-2.86c-.3-.52-.54-1.1-.7-1.7L0 11V9l3.24-.8c.16-.6.4-1.18.7-1.7zM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"></path>
|
||||
</svg>
|
||||
<span>Recent Jobs</span>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link active-class="active" to="/failed" class="nav-link d-flex align-items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<path d="M2.93 17.07A10 10 0 1 1 17.07 2.93 10 10 0 0 1 2.93 17.07zm1.41-1.41A8 8 0 1 0 15.66 4.34 8 8 0 0 0 4.34 15.66zm9.9-8.49L11.41 10l2.83 2.83-1.41 1.41L10 11.41l-2.83 2.83-1.41-1.41L8.59 10 5.76 7.17l1.41-1.41L10 8.59l2.83-2.83 1.41 1.41z"></path>
|
||||
</svg>
|
||||
<span>Failed Jobs</span>
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-10">
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Global Horizon Object -->
|
||||
<script>
|
||||
window.Horizon = @json($horizonScriptVariables);
|
||||
</script>
|
||||
|
||||
<script src="{{asset(mix('app.js', 'vendor/horizon'))}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user