mirror of
https://github.com/itflow-org/itflow
synced 2026-03-20 12:44:50 +00:00
Reintroduce Webklex IMAP for ticket processing as PHP-IMAP is no longer being developed. This is optional for now and considered beta can be found in cron/ticket_email_parser.php
This commit is contained in:
1224
plugins/vendor/illuminate/collections/Arr.php
vendored
Normal file
1224
plugins/vendor/illuminate/collections/Arr.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1934
plugins/vendor/illuminate/collections/Collection.php
vendored
Normal file
1934
plugins/vendor/illuminate/collections/Collection.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1321
plugins/vendor/illuminate/collections/Enumerable.php
vendored
Normal file
1321
plugins/vendor/illuminate/collections/Enumerable.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
69
plugins/vendor/illuminate/collections/HigherOrderCollectionProxy.php
vendored
Normal file
69
plugins/vendor/illuminate/collections/HigherOrderCollectionProxy.php
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Support;
|
||||
|
||||
/**
|
||||
* @template TKey of array-key
|
||||
*
|
||||
* @template-covariant TValue
|
||||
*
|
||||
* @mixin \Illuminate\Support\Enumerable<TKey, TValue>
|
||||
* @mixin TValue
|
||||
*/
|
||||
class HigherOrderCollectionProxy
|
||||
{
|
||||
/**
|
||||
* The collection being operated on.
|
||||
*
|
||||
* @var \Illuminate\Support\Enumerable<TKey, TValue>
|
||||
*/
|
||||
protected $collection;
|
||||
|
||||
/**
|
||||
* The method being proxied.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $method;
|
||||
|
||||
/**
|
||||
* Create a new proxy instance.
|
||||
*
|
||||
* @param \Illuminate\Support\Enumerable<TKey, TValue> $collection
|
||||
* @param string $method
|
||||
*/
|
||||
public function __construct(Enumerable $collection, $method)
|
||||
{
|
||||
$this->method = $method;
|
||||
$this->collection = $collection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Proxy accessing an attribute onto the collection items.
|
||||
*
|
||||
* @param string $key
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($key)
|
||||
{
|
||||
return $this->collection->{$this->method}(function ($value) use ($key) {
|
||||
return is_array($value) ? $value[$key] : $value->{$key};
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Proxy a method call onto the collection items.
|
||||
*
|
||||
* @param string $method
|
||||
* @param array $parameters
|
||||
* @return mixed
|
||||
*/
|
||||
public function __call($method, $parameters)
|
||||
{
|
||||
return $this->collection->{$this->method}(function ($value) use ($method, $parameters) {
|
||||
return is_string($value)
|
||||
? $value::{$method}(...$parameters)
|
||||
: $value->{$method}(...$parameters);
|
||||
});
|
||||
}
|
||||
}
|
||||
9
plugins/vendor/illuminate/collections/ItemNotFoundException.php
vendored
Normal file
9
plugins/vendor/illuminate/collections/ItemNotFoundException.php
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Support;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class ItemNotFoundException extends RuntimeException
|
||||
{
|
||||
}
|
||||
21
plugins/vendor/illuminate/collections/LICENSE.md
vendored
Normal file
21
plugins/vendor/illuminate/collections/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.
|
||||
1985
plugins/vendor/illuminate/collections/LazyCollection.php
vendored
Normal file
1985
plugins/vendor/illuminate/collections/LazyCollection.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
39
plugins/vendor/illuminate/collections/MultipleItemsFoundException.php
vendored
Normal file
39
plugins/vendor/illuminate/collections/MultipleItemsFoundException.php
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Support;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
class MultipleItemsFoundException extends RuntimeException
|
||||
{
|
||||
/**
|
||||
* The number of items found.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public $count;
|
||||
|
||||
/**
|
||||
* Create a new exception instance.
|
||||
*
|
||||
* @param int $count
|
||||
* @param int $code
|
||||
* @param \Throwable|null $previous
|
||||
*/
|
||||
public function __construct($count, $code = 0, $previous = null)
|
||||
{
|
||||
$this->count = $count;
|
||||
|
||||
parent::__construct("$count items were found.", $code, $previous);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the number of items found.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getCount()
|
||||
{
|
||||
return $this->count;
|
||||
}
|
||||
}
|
||||
1191
plugins/vendor/illuminate/collections/Traits/EnumeratesValues.php
vendored
Normal file
1191
plugins/vendor/illuminate/collections/Traits/EnumeratesValues.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
68
plugins/vendor/illuminate/collections/Traits/TransformsToResourceCollection.php
vendored
Normal file
68
plugins/vendor/illuminate/collections/Traits/TransformsToResourceCollection.php
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Support\Traits;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
use LogicException;
|
||||
|
||||
trait TransformsToResourceCollection
|
||||
{
|
||||
/**
|
||||
* Create a new resource collection instance for the given resource.
|
||||
*
|
||||
* @param class-string<\Illuminate\Http\Resources\Json\JsonResource>|null $resourceClass
|
||||
* @return \Illuminate\Http\Resources\Json\ResourceCollection
|
||||
*
|
||||
* @throws \Throwable
|
||||
*/
|
||||
public function toResourceCollection(?string $resourceClass = null): ResourceCollection
|
||||
{
|
||||
if ($resourceClass === null) {
|
||||
return $this->guessResourceCollection();
|
||||
}
|
||||
|
||||
return $resourceClass::collection($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Guess the resource collection for the items.
|
||||
*
|
||||
* @return \Illuminate\Http\Resources\Json\ResourceCollection
|
||||
*
|
||||
* @throws \Throwable
|
||||
*/
|
||||
protected function guessResourceCollection(): ResourceCollection
|
||||
{
|
||||
if ($this->isEmpty()) {
|
||||
return new ResourceCollection($this);
|
||||
}
|
||||
|
||||
$model = $this->items[0] ?? null;
|
||||
|
||||
throw_unless(is_object($model), LogicException::class, 'Resource collection guesser expects the collection to contain objects.');
|
||||
|
||||
/** @var class-string<Model> $className */
|
||||
$className = get_class($model);
|
||||
|
||||
throw_unless(method_exists($className, 'guessResourceName'), LogicException::class, sprintf('Expected class %s to implement guessResourceName method. Make sure the model uses the TransformsToResource trait.', $className));
|
||||
|
||||
$resourceClasses = $className::guessResourceName();
|
||||
|
||||
foreach ($resourceClasses as $resourceClass) {
|
||||
$resourceCollection = $resourceClass.'Collection';
|
||||
|
||||
if (is_string($resourceCollection) && class_exists($resourceCollection)) {
|
||||
return new $resourceCollection($this);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($resourceClasses as $resourceClass) {
|
||||
if (is_string($resourceClass) && class_exists($resourceClass)) {
|
||||
return $resourceClass::collection($this);
|
||||
}
|
||||
}
|
||||
|
||||
throw new LogicException(sprintf('Failed to find resource class for model [%s].', $className));
|
||||
}
|
||||
}
|
||||
46
plugins/vendor/illuminate/collections/composer.json
vendored
Normal file
46
plugins/vendor/illuminate/collections/composer.json
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "illuminate/collections",
|
||||
"description": "The Illuminate Collections package.",
|
||||
"license": "MIT",
|
||||
"homepage": "https://laravel.com",
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
"illuminate/conditionable": "^12.0",
|
||||
"illuminate/contracts": "^12.0",
|
||||
"illuminate/macroable": "^12.0",
|
||||
"symfony/polyfill-php84": "^1.33",
|
||||
"symfony/polyfill-php85": "^1.33"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Illuminate\\Support\\": ""
|
||||
},
|
||||
"files": [
|
||||
"functions.php",
|
||||
"helpers.php"
|
||||
]
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "12.x-dev"
|
||||
}
|
||||
},
|
||||
"suggest": {
|
||||
"illuminate/http": "Required to convert collections to API resources (^12.0).",
|
||||
"symfony/var-dumper": "Required to use the dump method (^7.2)."
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
},
|
||||
"minimum-stability": "dev"
|
||||
}
|
||||
27
plugins/vendor/illuminate/collections/functions.php
vendored
Normal file
27
plugins/vendor/illuminate/collections/functions.php
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Support;
|
||||
|
||||
if (! function_exists('Illuminate\Support\enum_value')) {
|
||||
/**
|
||||
* Return a scalar value for the given value that might be an enum.
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @template TValue
|
||||
* @template TDefault
|
||||
*
|
||||
* @param TValue $value
|
||||
* @param TDefault|callable(TValue): TDefault $default
|
||||
* @return ($value is empty ? TDefault : mixed)
|
||||
*/
|
||||
function enum_value($value, $default = null)
|
||||
{
|
||||
return match (true) {
|
||||
$value instanceof \BackedEnum => $value->value,
|
||||
$value instanceof \UnitEnum => $value->name,
|
||||
|
||||
default => $value ?? value($default),
|
||||
};
|
||||
}
|
||||
}
|
||||
259
plugins/vendor/illuminate/collections/helpers.php
vendored
Normal file
259
plugins/vendor/illuminate/collections/helpers.php
vendored
Normal file
@@ -0,0 +1,259 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
if (! function_exists('collect')) {
|
||||
/**
|
||||
* Create a collection from the given value.
|
||||
*
|
||||
* @template TKey of array-key
|
||||
* @template TValue
|
||||
*
|
||||
* @param \Illuminate\Contracts\Support\Arrayable<TKey, TValue>|iterable<TKey, TValue>|null $value
|
||||
* @return \Illuminate\Support\Collection<TKey, TValue>
|
||||
*/
|
||||
function collect($value = []): Collection
|
||||
{
|
||||
return new Collection($value);
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('data_fill')) {
|
||||
/**
|
||||
* Fill in data where it's missing.
|
||||
*
|
||||
* @param mixed $target
|
||||
* @param string|array $key
|
||||
* @param mixed $value
|
||||
* @return mixed
|
||||
*/
|
||||
function data_fill(&$target, $key, $value)
|
||||
{
|
||||
return data_set($target, $key, $value, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('data_get')) {
|
||||
/**
|
||||
* Get an item from an array or object using "dot" notation.
|
||||
*
|
||||
* @param mixed $target
|
||||
* @param string|array|int|null $key
|
||||
* @param mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
function data_get($target, $key, $default = null)
|
||||
{
|
||||
if (is_null($key)) {
|
||||
return $target;
|
||||
}
|
||||
|
||||
$key = is_array($key) ? $key : explode('.', $key);
|
||||
|
||||
foreach ($key as $i => $segment) {
|
||||
unset($key[$i]);
|
||||
|
||||
if (is_null($segment)) {
|
||||
return $target;
|
||||
}
|
||||
|
||||
if ($segment === '*') {
|
||||
if ($target instanceof Collection) {
|
||||
$target = $target->all();
|
||||
} elseif (! is_iterable($target)) {
|
||||
return value($default);
|
||||
}
|
||||
|
||||
$result = [];
|
||||
|
||||
foreach ($target as $item) {
|
||||
$result[] = data_get($item, $key);
|
||||
}
|
||||
|
||||
return in_array('*', $key) ? Arr::collapse($result) : $result;
|
||||
}
|
||||
|
||||
$segment = match ($segment) {
|
||||
'\*' => '*',
|
||||
'\{first}' => '{first}',
|
||||
'{first}' => array_key_first(Arr::from($target)),
|
||||
'\{last}' => '{last}',
|
||||
'{last}' => array_key_last(Arr::from($target)),
|
||||
default => $segment,
|
||||
};
|
||||
|
||||
if (Arr::accessible($target) && Arr::exists($target, $segment)) {
|
||||
$target = $target[$segment];
|
||||
} elseif (is_object($target) && isset($target->{$segment})) {
|
||||
$target = $target->{$segment};
|
||||
} else {
|
||||
return value($default);
|
||||
}
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('data_set')) {
|
||||
/**
|
||||
* Set an item on an array or object using dot notation.
|
||||
*
|
||||
* @param mixed $target
|
||||
* @param string|array $key
|
||||
* @param mixed $value
|
||||
* @param bool $overwrite
|
||||
* @return mixed
|
||||
*/
|
||||
function data_set(&$target, $key, $value, $overwrite = true)
|
||||
{
|
||||
$segments = is_array($key) ? $key : explode('.', $key);
|
||||
|
||||
if (($segment = array_shift($segments)) === '*') {
|
||||
if (! Arr::accessible($target)) {
|
||||
$target = [];
|
||||
}
|
||||
|
||||
if ($segments) {
|
||||
foreach ($target as &$inner) {
|
||||
data_set($inner, $segments, $value, $overwrite);
|
||||
}
|
||||
} elseif ($overwrite) {
|
||||
foreach ($target as &$inner) {
|
||||
$inner = $value;
|
||||
}
|
||||
}
|
||||
} elseif (Arr::accessible($target)) {
|
||||
if ($segments) {
|
||||
if (! Arr::exists($target, $segment)) {
|
||||
$target[$segment] = [];
|
||||
}
|
||||
|
||||
data_set($target[$segment], $segments, $value, $overwrite);
|
||||
} elseif ($overwrite || ! Arr::exists($target, $segment)) {
|
||||
$target[$segment] = $value;
|
||||
}
|
||||
} elseif (is_object($target)) {
|
||||
if ($segments) {
|
||||
if (! isset($target->{$segment})) {
|
||||
$target->{$segment} = [];
|
||||
}
|
||||
|
||||
data_set($target->{$segment}, $segments, $value, $overwrite);
|
||||
} elseif ($overwrite || ! isset($target->{$segment})) {
|
||||
$target->{$segment} = $value;
|
||||
}
|
||||
} else {
|
||||
$target = [];
|
||||
|
||||
if ($segments) {
|
||||
data_set($target[$segment], $segments, $value, $overwrite);
|
||||
} elseif ($overwrite) {
|
||||
$target[$segment] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('data_forget')) {
|
||||
/**
|
||||
* Remove / unset an item from an array or object using "dot" notation.
|
||||
*
|
||||
* @param mixed $target
|
||||
* @param string|array|int|null $key
|
||||
* @return mixed
|
||||
*/
|
||||
function data_forget(&$target, $key)
|
||||
{
|
||||
$segments = is_array($key) ? $key : explode('.', $key);
|
||||
|
||||
if (($segment = array_shift($segments)) === '*' && Arr::accessible($target)) {
|
||||
if ($segments) {
|
||||
foreach ($target as &$inner) {
|
||||
data_forget($inner, $segments);
|
||||
}
|
||||
}
|
||||
} elseif (Arr::accessible($target)) {
|
||||
if ($segments && Arr::exists($target, $segment)) {
|
||||
data_forget($target[$segment], $segments);
|
||||
} else {
|
||||
Arr::forget($target, $segment);
|
||||
}
|
||||
} elseif (is_object($target)) {
|
||||
if ($segments && isset($target->{$segment})) {
|
||||
data_forget($target->{$segment}, $segments);
|
||||
} elseif (isset($target->{$segment})) {
|
||||
unset($target->{$segment});
|
||||
}
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('head')) {
|
||||
/**
|
||||
* Get the first element of an array. Useful for method chaining.
|
||||
*
|
||||
* @param array $array
|
||||
* @return mixed
|
||||
*/
|
||||
function head($array)
|
||||
{
|
||||
return empty($array) ? false : array_first($array);
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('last')) {
|
||||
/**
|
||||
* Get the last element from an array.
|
||||
*
|
||||
* @param array $array
|
||||
* @return mixed
|
||||
*/
|
||||
function last($array)
|
||||
{
|
||||
return empty($array) ? false : array_last($array);
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('value')) {
|
||||
/**
|
||||
* Return the default value of the given value.
|
||||
*
|
||||
* @template TValue
|
||||
* @template TArgs
|
||||
*
|
||||
* @param TValue|\Closure(TArgs): TValue $value
|
||||
* @param TArgs ...$args
|
||||
* @return TValue
|
||||
*/
|
||||
function value($value, ...$args)
|
||||
{
|
||||
return $value instanceof Closure ? $value(...$args) : $value;
|
||||
}
|
||||
}
|
||||
|
||||
if (! function_exists('when')) {
|
||||
/**
|
||||
* Return a value if the given condition is true.
|
||||
*
|
||||
* @param mixed $condition
|
||||
* @param \Closure|mixed $value
|
||||
* @param \Closure|mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
function when($condition, $value, $default = null)
|
||||
{
|
||||
$condition = $condition instanceof Closure ? $condition() : $condition;
|
||||
|
||||
if ($condition) {
|
||||
return value($value, $condition);
|
||||
}
|
||||
|
||||
return value($default, $condition);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user