mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-18 18:44:16 +00:00
Compare commits
12 Commits
develop-20
...
develop-20
Author | SHA1 | Date | |
---|---|---|---|
|
d90fcd1889 | ||
|
979d5c579b | ||
|
5124ca1738 | ||
|
ac5d9b656a | ||
|
9a02739251 | ||
|
4af2aadc48 | ||
|
84779b8d02 | ||
|
145e8d23f0 | ||
|
d0ba0583a5 | ||
|
17d8b54280 | ||
|
2cf0bfe3c4 | ||
|
070a8cf148 |
@@ -273,7 +273,7 @@ class ExportsData extends Command
|
|||||||
*/
|
*/
|
||||||
private function exportData(array $options, array $data): void
|
private function exportData(array $options, array $data): void
|
||||||
{
|
{
|
||||||
$date = \Safe\date('Y_m_d');
|
$date = date('Y_m_d');
|
||||||
foreach ($data as $key => $content) {
|
foreach ($data as $key => $content) {
|
||||||
$file = sprintf('%s%s_%s.csv', $options['directory'], $date, $key);
|
$file = sprintf('%s%s_%s.csv', $options['directory'], $date, $key);
|
||||||
if (false === $options['force'] && file_exists($file)) {
|
if (false === $options['force'] && file_exists($file)) {
|
||||||
|
@@ -111,8 +111,8 @@ class OutputsInstructions extends Command
|
|||||||
*/
|
*/
|
||||||
private function showLogo(): void
|
private function showLogo(): void
|
||||||
{
|
{
|
||||||
$today = \Safe\date('m-d');
|
$today = date('m-d');
|
||||||
$month = \Safe\date('m');
|
$month = date('m');
|
||||||
// variation in colors and effects just because I can!
|
// variation in colors and effects just because I can!
|
||||||
// default is Ukraine flag:
|
// default is Ukraine flag:
|
||||||
$colors = ['blue', 'blue', 'blue', 'yellow', 'yellow', 'yellow', 'default', 'default'];
|
$colors = ['blue', 'blue', 'blue', 'yellow', 'yellow', 'yellow', 'default', 'default'];
|
||||||
|
@@ -28,7 +28,7 @@ use Illuminate\Support\Facades\Log;
|
|||||||
use Safe\Exceptions\InfoException;
|
use Safe\Exceptions\InfoException;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
set_time_limit(0);
|
\Safe\set_time_limit(0);
|
||||||
} catch (InfoException) {
|
} catch (InfoException) {
|
||||||
Log::warning('set_time_limit returned false. This could be an issue, unless you also run XDebug.');
|
Log::warning('set_time_limit returned false. This could be an issue, unless you also run XDebug.');
|
||||||
}
|
}
|
||||||
|
@@ -366,8 +366,8 @@ class UpgradesToGroups extends Command
|
|||||||
{
|
{
|
||||||
$groupId = DB::table('transaction_groups')->insertGetId(
|
$groupId = DB::table('transaction_groups')->insertGetId(
|
||||||
[
|
[
|
||||||
'created_at' => \Safe\date('Y-m-d H:i:s'),
|
'created_at' => date('Y-m-d H:i:s'),
|
||||||
'updated_at' => \Safe\date('Y-m-d H:i:s'),
|
'updated_at' => date('Y-m-d H:i:s'),
|
||||||
'title' => null,
|
'title' => null,
|
||||||
'user_id' => $array['user_id'],
|
'user_id' => $array['user_id'],
|
||||||
]
|
]
|
||||||
|
@@ -45,10 +45,7 @@ use Symfony\Component\HttpKernel\Exception\HttpException;
|
|||||||
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
|
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
|
|
||||||
use function Safe\date;
|
// temp
|
||||||
use function Safe\json_encode;
|
|
||||||
use function Safe\parse_url;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Handler
|
* Class Handler
|
||||||
*/
|
*/
|
||||||
@@ -242,7 +239,7 @@ class Handler extends ExceptionHandler
|
|||||||
'json' => request()->acceptsJson(),
|
'json' => request()->acceptsJson(),
|
||||||
'method' => request()->method(),
|
'method' => request()->method(),
|
||||||
'headers' => $headers,
|
'headers' => $headers,
|
||||||
'post' => 'POST' === request()->method() ? json_encode(request()->all()) : '',
|
'post' => 'POST' === request()->method() ? \Safe\json_encode(request()->all()) : '',
|
||||||
];
|
];
|
||||||
|
|
||||||
// create job that will mail.
|
// create job that will mail.
|
||||||
@@ -289,8 +286,8 @@ class Handler extends ExceptionHandler
|
|||||||
}
|
}
|
||||||
$safe = route('index');
|
$safe = route('index');
|
||||||
$previous = $exception->redirectTo;
|
$previous = $exception->redirectTo;
|
||||||
$previousHost = parse_url($previous, PHP_URL_HOST);
|
$previousHost = \Safe\parse_url($previous, PHP_URL_HOST);
|
||||||
$safeHost = parse_url($safe, PHP_URL_HOST);
|
$safeHost = \Safe\parse_url($safe, PHP_URL_HOST);
|
||||||
|
|
||||||
return null !== $previousHost && $previousHost === $safeHost ? $previous : $safe;
|
return null !== $previousHost && $previousHost === $safeHost ? $previous : $safe;
|
||||||
}
|
}
|
||||||
|
@@ -73,7 +73,7 @@ class VersionCheckEventHandler
|
|||||||
$diff = $now - $lastCheckTime->data;
|
$diff = $now - $lastCheckTime->data;
|
||||||
Log::debug(sprintf('Last check time is %d, current time is %d, difference is %d', $lastCheckTime->data, $now, $diff));
|
Log::debug(sprintf('Last check time is %d, current time is %d, difference is %d', $lastCheckTime->data, $now, $diff));
|
||||||
if ($diff < 604800) {
|
if ($diff < 604800) {
|
||||||
Log::debug(sprintf('Checked for updates less than a week ago (on %s).', \Safe\date('Y-m-d H:i:s', $lastCheckTime->data)));
|
Log::debug(sprintf('Checked for updates less than a week ago (on %s).', date('Y-m-d H:i:s', $lastCheckTime->data)));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,7 @@ class VersionCheckEventHandler
|
|||||||
$diff = $now - $lastCheckTime->data;
|
$diff = $now - $lastCheckTime->data;
|
||||||
Log::debug(sprintf('Last warning time is %d, current time is %d, difference is %d', $lastCheckTime->data, $now, $diff));
|
Log::debug(sprintf('Last warning time is %d, current time is %d, difference is %d', $lastCheckTime->data, $now, $diff));
|
||||||
if ($diff < 604800 * 4) {
|
if ($diff < 604800 * 4) {
|
||||||
Log::debug(sprintf('Warned about updates less than four weeks ago (on %s).', \Safe\date('Y-m-d H:i:s', $lastCheckTime->data)));
|
Log::debug(sprintf('Warned about updates less than four weeks ago (on %s).', date('Y-m-d H:i:s', $lastCheckTime->data)));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -91,7 +91,7 @@ class IndexController extends Controller
|
|||||||
$generator->setStart($firstDate);
|
$generator->setStart($firstDate);
|
||||||
$result = $generator->export();
|
$result = $generator->export();
|
||||||
|
|
||||||
$name = sprintf('%s_transaction_export.csv', \Safe\date('Y_m_d'));
|
$name = sprintf('%s_transaction_export.csv', date('Y_m_d'));
|
||||||
$quoted = sprintf('"%s"', addcslashes($name, '"\\'));
|
$quoted = sprintf('"%s"', addcslashes($name, '"\\'));
|
||||||
|
|
||||||
// headers for CSV file.
|
// headers for CSV file.
|
||||||
|
@@ -153,7 +153,7 @@ class RecurrenceController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function suggest(Request $request): JsonResponse
|
public function suggest(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
$string = '' === (string) $request->get('date') ? \Safe\date('Y-m-d') : (string) $request->get('date');
|
$string = '' === (string) $request->get('date') ? date('Y-m-d') : (string) $request->get('date');
|
||||||
$today = today(config('app.timezone'))->startOfDay();
|
$today = today(config('app.timezone'))->startOfDay();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@@ -110,7 +110,7 @@ class PreferencesController extends Controller
|
|||||||
if (is_array($fiscalYearStartStr)) {
|
if (is_array($fiscalYearStartStr)) {
|
||||||
$fiscalYearStartStr = '01-01';
|
$fiscalYearStartStr = '01-01';
|
||||||
}
|
}
|
||||||
$fiscalYearStart = sprintf('%s-%s', \Safe\date('Y'), (string) $fiscalYearStartStr);
|
$fiscalYearStart = sprintf('%s-%s', date('Y'), (string) $fiscalYearStartStr);
|
||||||
$tjOptionalFields = Preferences::get('transaction_journal_optional_fields', [])->data;
|
$tjOptionalFields = Preferences::get('transaction_journal_optional_fields', [])->data;
|
||||||
$availableDarkModes = config('firefly.available_dark_modes');
|
$availableDarkModes = config('firefly.available_dark_modes');
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ class PreferencesController extends Controller
|
|||||||
$customFiscalYear = 1 === (int) $request->get('customFiscalYear');
|
$customFiscalYear = 1 === (int) $request->get('customFiscalYear');
|
||||||
$string = \Safe\strtotime((string) $request->get('fiscalYearStart'));
|
$string = \Safe\strtotime((string) $request->get('fiscalYearStart'));
|
||||||
if (false !== $string) {
|
if (false !== $string) {
|
||||||
$fiscalYearStart = \Safe\date('m-d', $string);
|
$fiscalYearStart = date('m-d', $string);
|
||||||
Preferences::set('customFiscalYear', $customFiscalYear);
|
Preferences::set('customFiscalYear', $customFiscalYear);
|
||||||
Preferences::set('fiscalYearStart', $fiscalYearStart);
|
Preferences::set('fiscalYearStart', $fiscalYearStart);
|
||||||
}
|
}
|
||||||
|
@@ -54,7 +54,7 @@ class UserRepository implements UserRepositoryInterface
|
|||||||
|
|
||||||
// save old email as pref
|
// save old email as pref
|
||||||
app('preferences')->setForUser($user, 'previous_email_latest', $oldEmail);
|
app('preferences')->setForUser($user, 'previous_email_latest', $oldEmail);
|
||||||
app('preferences')->setForUser($user, 'previous_email_'.\Safe\date('Y-m-d-H-i-s'), $oldEmail);
|
app('preferences')->setForUser($user, 'previous_email_'.date('Y-m-d-H-i-s'), $oldEmail);
|
||||||
|
|
||||||
// set undo and confirm token:
|
// set undo and confirm token:
|
||||||
app('preferences')->setForUser($user, 'email_change_undo_token', bin2hex(random_bytes(16)));
|
app('preferences')->setForUser($user, 'email_change_undo_token', bin2hex(random_bytes(16)));
|
||||||
@@ -389,7 +389,7 @@ class UserRepository implements UserRepositoryInterface
|
|||||||
|
|
||||||
// save old email as pref
|
// save old email as pref
|
||||||
app('preferences')->setForUser($user, 'admin_previous_email_latest', $oldEmail);
|
app('preferences')->setForUser($user, 'admin_previous_email_latest', $oldEmail);
|
||||||
app('preferences')->setForUser($user, 'admin_previous_email_'.\Safe\date('Y-m-d-H-i-s'), $oldEmail);
|
app('preferences')->setForUser($user, 'admin_previous_email_'.date('Y-m-d-H-i-s'), $oldEmail);
|
||||||
|
|
||||||
$user->email = $newEmail;
|
$user->email = $newEmail;
|
||||||
$user->save();
|
$user->save();
|
||||||
|
@@ -67,7 +67,7 @@ class RemoteUserGuard implements Guard
|
|||||||
|
|
||||||
if (function_exists('apache_request_headers')) {
|
if (function_exists('apache_request_headers')) {
|
||||||
Log::debug('Use apache_request_headers to find user ID.');
|
Log::debug('Use apache_request_headers to find user ID.');
|
||||||
$userID = request()->server($header) ?? \Safe\apache_request_headers()[$header] ?? null;
|
$userID = request()->server($header) ?? apache_request_headers()[$header] ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null === $userID || '' === $userID) {
|
if (null === $userID || '' === $userID) {
|
||||||
@@ -85,7 +85,7 @@ class RemoteUserGuard implements Guard
|
|||||||
$header = config('auth.guard_email');
|
$header = config('auth.guard_email');
|
||||||
|
|
||||||
if (null !== $header) {
|
if (null !== $header) {
|
||||||
$emailAddress = (string) (request()->server($header) ?? \Safe\apache_request_headers()[$header] ?? null);
|
$emailAddress = (string) (request()->server($header) ?? apache_request_headers()[$header] ?? null);
|
||||||
$preference = app('preferences')->getForUser($retrievedUser, 'remote_guard_alt_email');
|
$preference = app('preferences')->getForUser($retrievedUser, 'remote_guard_alt_email');
|
||||||
|
|
||||||
if ('' !== $emailAddress && null === $preference && $emailAddress !== $userID) {
|
if ('' !== $emailAddress && null === $preference && $emailAddress !== $userID) {
|
||||||
|
@@ -63,7 +63,7 @@ class UpdateCheckCronjob extends AbstractCronjob
|
|||||||
$this->jobFired = false;
|
$this->jobFired = false;
|
||||||
$this->jobErrored = false;
|
$this->jobErrored = false;
|
||||||
$this->jobSucceeded = true;
|
$this->jobSucceeded = true;
|
||||||
$this->message = sprintf('Checked for updates less than a week ago (on %s).', \Safe\date('Y-m-d H:i:s', $lastCheckTime->data));
|
$this->message = sprintf('Checked for updates less than a week ago (on %s).', date('Y-m-d H:i:s', $lastCheckTime->data));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -211,7 +211,7 @@ class General extends AbstractExtension
|
|||||||
{
|
{
|
||||||
return new TwigFunction(
|
return new TwigFunction(
|
||||||
'phpdate',
|
'phpdate',
|
||||||
static fn (string $str): string => \Safe\date($str)
|
static fn (string $str): string => date($str)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -107,7 +107,8 @@
|
|||||||
"spatie/period": "^2.4",
|
"spatie/period": "^2.4",
|
||||||
"symfony/expression-language": "^7.0",
|
"symfony/expression-language": "^7.0",
|
||||||
"symfony/http-client": "^7.1",
|
"symfony/http-client": "^7.1",
|
||||||
"symfony/mailgun-mailer": "^7.1"
|
"symfony/mailgun-mailer": "^7.1",
|
||||||
|
"thecodingmachine/safe": "^3.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"barryvdh/laravel-debugbar": "^3.9",
|
"barryvdh/laravel-debugbar": "^3.9",
|
||||||
|
280
composer.lock
generated
280
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "be90fbe2c861ffb51547daafa97e4473",
|
"content-hash": "4ac1fa9e94ed4eef76cda81afe72d054",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "bacon/bacon-qr-code",
|
"name": "bacon/bacon-qr-code",
|
||||||
@@ -9292,6 +9292,145 @@
|
|||||||
],
|
],
|
||||||
"time": "2025-05-02T08:36:00+00:00"
|
"time": "2025-05-02T08:36:00+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "thecodingmachine/safe",
|
||||||
|
"version": "v3.1.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/thecodingmachine/safe.git",
|
||||||
|
"reference": "234f6fe34a0bead8c5ae1cfc0800539442e6f619"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/thecodingmachine/safe/zipball/234f6fe34a0bead8c5ae1cfc0800539442e6f619",
|
||||||
|
"reference": "234f6fe34a0bead8c5ae1cfc0800539442e6f619",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^8.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"php-parallel-lint/php-parallel-lint": "^1.4",
|
||||||
|
"phpstan/phpstan": "^2",
|
||||||
|
"phpunit/phpunit": "^10",
|
||||||
|
"squizlabs/php_codesniffer": "^3.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"lib/special_cases.php",
|
||||||
|
"generated/apache.php",
|
||||||
|
"generated/apcu.php",
|
||||||
|
"generated/array.php",
|
||||||
|
"generated/bzip2.php",
|
||||||
|
"generated/calendar.php",
|
||||||
|
"generated/classobj.php",
|
||||||
|
"generated/com.php",
|
||||||
|
"generated/cubrid.php",
|
||||||
|
"generated/curl.php",
|
||||||
|
"generated/datetime.php",
|
||||||
|
"generated/dir.php",
|
||||||
|
"generated/eio.php",
|
||||||
|
"generated/errorfunc.php",
|
||||||
|
"generated/exec.php",
|
||||||
|
"generated/fileinfo.php",
|
||||||
|
"generated/filesystem.php",
|
||||||
|
"generated/filter.php",
|
||||||
|
"generated/fpm.php",
|
||||||
|
"generated/ftp.php",
|
||||||
|
"generated/funchand.php",
|
||||||
|
"generated/gettext.php",
|
||||||
|
"generated/gmp.php",
|
||||||
|
"generated/gnupg.php",
|
||||||
|
"generated/hash.php",
|
||||||
|
"generated/ibase.php",
|
||||||
|
"generated/ibmDb2.php",
|
||||||
|
"generated/iconv.php",
|
||||||
|
"generated/image.php",
|
||||||
|
"generated/imap.php",
|
||||||
|
"generated/info.php",
|
||||||
|
"generated/inotify.php",
|
||||||
|
"generated/json.php",
|
||||||
|
"generated/ldap.php",
|
||||||
|
"generated/libxml.php",
|
||||||
|
"generated/lzf.php",
|
||||||
|
"generated/mailparse.php",
|
||||||
|
"generated/mbstring.php",
|
||||||
|
"generated/misc.php",
|
||||||
|
"generated/mysql.php",
|
||||||
|
"generated/mysqli.php",
|
||||||
|
"generated/network.php",
|
||||||
|
"generated/oci8.php",
|
||||||
|
"generated/opcache.php",
|
||||||
|
"generated/openssl.php",
|
||||||
|
"generated/outcontrol.php",
|
||||||
|
"generated/pcntl.php",
|
||||||
|
"generated/pcre.php",
|
||||||
|
"generated/pgsql.php",
|
||||||
|
"generated/posix.php",
|
||||||
|
"generated/ps.php",
|
||||||
|
"generated/pspell.php",
|
||||||
|
"generated/readline.php",
|
||||||
|
"generated/rnp.php",
|
||||||
|
"generated/rpminfo.php",
|
||||||
|
"generated/rrd.php",
|
||||||
|
"generated/sem.php",
|
||||||
|
"generated/session.php",
|
||||||
|
"generated/shmop.php",
|
||||||
|
"generated/sockets.php",
|
||||||
|
"generated/sodium.php",
|
||||||
|
"generated/solr.php",
|
||||||
|
"generated/spl.php",
|
||||||
|
"generated/sqlsrv.php",
|
||||||
|
"generated/ssdeep.php",
|
||||||
|
"generated/ssh2.php",
|
||||||
|
"generated/stream.php",
|
||||||
|
"generated/strings.php",
|
||||||
|
"generated/swoole.php",
|
||||||
|
"generated/uodbc.php",
|
||||||
|
"generated/uopz.php",
|
||||||
|
"generated/url.php",
|
||||||
|
"generated/var.php",
|
||||||
|
"generated/xdiff.php",
|
||||||
|
"generated/xml.php",
|
||||||
|
"generated/xmlrpc.php",
|
||||||
|
"generated/yaml.php",
|
||||||
|
"generated/yaz.php",
|
||||||
|
"generated/zip.php",
|
||||||
|
"generated/zlib.php"
|
||||||
|
],
|
||||||
|
"classmap": [
|
||||||
|
"lib/DateTime.php",
|
||||||
|
"lib/DateTimeImmutable.php",
|
||||||
|
"lib/Exceptions/",
|
||||||
|
"generated/Exceptions/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/thecodingmachine/safe/issues",
|
||||||
|
"source": "https://github.com/thecodingmachine/safe/tree/v3.1.1"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/OskarStark",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/shish",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/staabm",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-04-28T07:56:17+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "tijsverkoyen/css-to-inline-styles",
|
"name": "tijsverkoyen/css-to-inline-styles",
|
||||||
"version": "v2.3.0",
|
"version": "v2.3.0",
|
||||||
@@ -12405,145 +12544,6 @@
|
|||||||
},
|
},
|
||||||
"time": "2025-02-11T12:41:29+00:00"
|
"time": "2025-02-11T12:41:29+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "thecodingmachine/safe",
|
|
||||||
"version": "v3.1.1",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/thecodingmachine/safe.git",
|
|
||||||
"reference": "234f6fe34a0bead8c5ae1cfc0800539442e6f619"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/thecodingmachine/safe/zipball/234f6fe34a0bead8c5ae1cfc0800539442e6f619",
|
|
||||||
"reference": "234f6fe34a0bead8c5ae1cfc0800539442e6f619",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^8.1"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"php-parallel-lint/php-parallel-lint": "^1.4",
|
|
||||||
"phpstan/phpstan": "^2",
|
|
||||||
"phpunit/phpunit": "^10",
|
|
||||||
"squizlabs/php_codesniffer": "^3.2"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"files": [
|
|
||||||
"lib/special_cases.php",
|
|
||||||
"generated/apache.php",
|
|
||||||
"generated/apcu.php",
|
|
||||||
"generated/array.php",
|
|
||||||
"generated/bzip2.php",
|
|
||||||
"generated/calendar.php",
|
|
||||||
"generated/classobj.php",
|
|
||||||
"generated/com.php",
|
|
||||||
"generated/cubrid.php",
|
|
||||||
"generated/curl.php",
|
|
||||||
"generated/datetime.php",
|
|
||||||
"generated/dir.php",
|
|
||||||
"generated/eio.php",
|
|
||||||
"generated/errorfunc.php",
|
|
||||||
"generated/exec.php",
|
|
||||||
"generated/fileinfo.php",
|
|
||||||
"generated/filesystem.php",
|
|
||||||
"generated/filter.php",
|
|
||||||
"generated/fpm.php",
|
|
||||||
"generated/ftp.php",
|
|
||||||
"generated/funchand.php",
|
|
||||||
"generated/gettext.php",
|
|
||||||
"generated/gmp.php",
|
|
||||||
"generated/gnupg.php",
|
|
||||||
"generated/hash.php",
|
|
||||||
"generated/ibase.php",
|
|
||||||
"generated/ibmDb2.php",
|
|
||||||
"generated/iconv.php",
|
|
||||||
"generated/image.php",
|
|
||||||
"generated/imap.php",
|
|
||||||
"generated/info.php",
|
|
||||||
"generated/inotify.php",
|
|
||||||
"generated/json.php",
|
|
||||||
"generated/ldap.php",
|
|
||||||
"generated/libxml.php",
|
|
||||||
"generated/lzf.php",
|
|
||||||
"generated/mailparse.php",
|
|
||||||
"generated/mbstring.php",
|
|
||||||
"generated/misc.php",
|
|
||||||
"generated/mysql.php",
|
|
||||||
"generated/mysqli.php",
|
|
||||||
"generated/network.php",
|
|
||||||
"generated/oci8.php",
|
|
||||||
"generated/opcache.php",
|
|
||||||
"generated/openssl.php",
|
|
||||||
"generated/outcontrol.php",
|
|
||||||
"generated/pcntl.php",
|
|
||||||
"generated/pcre.php",
|
|
||||||
"generated/pgsql.php",
|
|
||||||
"generated/posix.php",
|
|
||||||
"generated/ps.php",
|
|
||||||
"generated/pspell.php",
|
|
||||||
"generated/readline.php",
|
|
||||||
"generated/rnp.php",
|
|
||||||
"generated/rpminfo.php",
|
|
||||||
"generated/rrd.php",
|
|
||||||
"generated/sem.php",
|
|
||||||
"generated/session.php",
|
|
||||||
"generated/shmop.php",
|
|
||||||
"generated/sockets.php",
|
|
||||||
"generated/sodium.php",
|
|
||||||
"generated/solr.php",
|
|
||||||
"generated/spl.php",
|
|
||||||
"generated/sqlsrv.php",
|
|
||||||
"generated/ssdeep.php",
|
|
||||||
"generated/ssh2.php",
|
|
||||||
"generated/stream.php",
|
|
||||||
"generated/strings.php",
|
|
||||||
"generated/swoole.php",
|
|
||||||
"generated/uodbc.php",
|
|
||||||
"generated/uopz.php",
|
|
||||||
"generated/url.php",
|
|
||||||
"generated/var.php",
|
|
||||||
"generated/xdiff.php",
|
|
||||||
"generated/xml.php",
|
|
||||||
"generated/xmlrpc.php",
|
|
||||||
"generated/yaml.php",
|
|
||||||
"generated/yaz.php",
|
|
||||||
"generated/zip.php",
|
|
||||||
"generated/zlib.php"
|
|
||||||
],
|
|
||||||
"classmap": [
|
|
||||||
"lib/DateTime.php",
|
|
||||||
"lib/DateTimeImmutable.php",
|
|
||||||
"lib/Exceptions/",
|
|
||||||
"generated/Exceptions/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/thecodingmachine/safe/issues",
|
|
||||||
"source": "https://github.com/thecodingmachine/safe/tree/v3.1.1"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://github.com/OskarStark",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/shish",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://github.com/staabm",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2025-04-28T07:56:17+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "theseer/tokenizer",
|
"name": "theseer/tokenizer",
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
|
Reference in New Issue
Block a user