diff --git a/app/Providers/NovaServiceProvider.php b/app/Providers/NovaServiceProvider.php index 3606091..12f18fc 100644 --- a/app/Providers/NovaServiceProvider.php +++ b/app/Providers/NovaServiceProvider.php @@ -24,6 +24,7 @@ use Laravel\Nova\Menu\MenuSection; use Laravel\Nova\Nova; use Laravel\Nova\NovaApplicationServiceProvider; use Spatie\BackupTool\BackupTool; +use Stepanenko3\LogsTool\LogsTool; class NovaServiceProvider extends NovaApplicationServiceProvider { @@ -89,6 +90,11 @@ class NovaServiceProvider extends NovaApplicationServiceProvider BackupTool::make() ->canSee(fn () => auth()->user()->isMe()), + + LogsTool::make() + ->canSee(fn () => Gate::allowIf(fn ($user) => $user->isMe())) + ->canDownload(fn () => Gate::allowIf(fn ($user) => $user->isMe())) + ->canDelete(fn () => Gate::allowIf(fn ($user) => $user->isMe())), ]; } @@ -135,6 +141,11 @@ class NovaServiceProvider extends NovaApplicationServiceProvider ->path('/backups') ->icon('server') ->canSee(fn () => auth()->user()->isSuperAdmin()), + + MenuSection::make(__('Logs')) + ->path('/logs') + ->icon('document-text') + ->canSee(fn () => auth()->user()->isSuperAdmin()), ]; }); } diff --git a/composer.json b/composer.json index 7053738..01ef4c4 100644 --- a/composer.json +++ b/composer.json @@ -21,6 +21,7 @@ "spatie/laravel-permission": "^6.1", "spatie/laravel-translatable": "^6.5", "spatie/nova-backup-tool": "^5.0", + "stepanenko3/nova-logs-tool": "^2.1", "trin4ik/nova-switcher": "^0.4.0" }, "require-dev": { diff --git a/composer.lock b/composer.lock index 2ac40f3..45d23de 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2145cb87216517d6fa957d42e23f4d81", + "content-hash": "432db39f5c2293c6cc4d8599ccdeff9b", "packages": [ { "name": "brick/math", @@ -1481,6 +1481,76 @@ ], "time": "2023-08-27T10:19:19+00:00" }, + { + "name": "hashids/hashids", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/vinkla/hashids.git", + "reference": "8cab111f78e0bd9c76953b082919fc9e251761be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vinkla/hashids/zipball/8cab111f78e0bd9c76953b082919fc9e251761be", + "reference": "8cab111f78e0bd9c76953b082919fc9e251761be", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0 || ^9.4", + "squizlabs/php_codesniffer": "^3.5" + }, + "suggest": { + "ext-bcmath": "Required to use BC Math arbitrary precision mathematics (*).", + "ext-gmp": "Required to use GNU multiple precision mathematics (*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Hashids\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ivan Akimov", + "email": "ivan@barreleye.com" + }, + { + "name": "Vincent Klaiber", + "email": "hello@doubledip.se" + } + ], + "description": "Generate short, unique, non-sequential ids (like YouTube and Bitly) from numbers", + "homepage": "https://hashids.org/php", + "keywords": [ + "bitly", + "decode", + "encode", + "hash", + "hashid", + "hashids", + "ids", + "obfuscate", + "youtube" + ], + "support": { + "issues": "https://github.com/vinkla/hashids/issues", + "source": "https://github.com/vinkla/hashids/tree/4.1.0" + }, + "time": "2020-11-26T19:24:33+00:00" + }, { "name": "inertiajs/inertia-laravel", "version": "v0.6.11", @@ -1920,6 +1990,72 @@ "relative": true } }, + { + "name": "laravel/pint", + "version": "v1.13.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "3e3d2ab01c7d8b484c18e6100ecf53639c744fa7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/3e3d2ab01c7d8b484c18e6100ecf53639c744fa7", + "reference": "3e3d2ab01c7d8b484c18e6100ecf53639c744fa7", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.38.0", + "illuminate/view": "^10.30.1", + "laravel-zero/framework": "^10.3.0", + "mockery/mockery": "^1.6.6", + "nunomaduro/larastan": "^2.6.4", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.24.2" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2023-11-07T17:59:57+00:00" + }, { "name": "laravel/prompts", "version": "v0.1.13", @@ -5155,6 +5291,222 @@ ], "time": "2023-09-25T07:13:36+00:00" }, + { + "name": "stepanenko3/laravel-helpers", + "version": "v1.2.3", + "source": { + "type": "git", + "url": "https://github.com/stepanenko3/laravel-helpers.git", + "reference": "1bca6cccbf15cb858ba33b4224dd42da40a56462" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stepanenko3/laravel-helpers/zipball/1bca6cccbf15cb858ba33b4224dd42da40a56462", + "reference": "1bca6cccbf15cb858ba33b4224dd42da40a56462", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-openssl": "*", + "hashids/hashids": "^4.1", + "laravel/framework": "^9.0|^10.0", + "laravel/pint": "^1.2", + "php": ">=8.1", + "ramsey/uuid": "^4.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Helpers for laravel", + "keywords": [ + "helpers", + "laravel" + ], + "support": { + "issues": "https://github.com/stepanenko3/laravel-helpers/issues", + "source": "https://github.com/stepanenko3/laravel-helpers/tree/v1.2.3" + }, + "time": "2023-09-06T06:23:01+00:00" + }, + { + "name": "stepanenko3/laravel-log-viewer", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/stepanenko3/laravel-log-viewer.git", + "reference": "527da600ceb52917d67745fe92a55f90b206515f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stepanenko3/laravel-log-viewer/zipball/527da600ceb52917d67745fe92a55f90b206515f", + "reference": "527da600ceb52917d67745fe92a55f90b206515f", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0|^9.0|^10.0", + "php": "^8.0", + "spatie/laravel-package-tools": "^1.14.1", + "stepanenko3/laravel-helpers": "*", + "stepanenko3/laravel-pagination": "*" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Stepanenko3\\LaravelLogViewer\\LogViewerServiceProvider" + ], + "aliases": { + "LogViewer": "Stepanenko3\\LaravelLogViewer\\Facades\\LogViewer" + } + } + }, + "autoload": { + "psr-4": { + "Stepanenko3\\LaravelLogViewer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Artem Stepanenko", + "email": "stpnnk.artem@gmail.com", + "role": "Developer" + }, + { + "name": "Arunas Skirius", + "email": "arukomp@gmail.com", + "role": "Developer" + } + ], + "description": "Fast and easy-to-use log viewer for your Laravel application", + "homepage": "https://github.com/stepanenko3/laravel-log-viewer", + "keywords": [ + "better-log-viewer", + "laravel", + "laravel-log-viewer", + "log viewer", + "logs" + ], + "support": { + "issues": "https://github.com/stepanenko3/laravel-log-viewer/issues", + "source": "https://github.com/stepanenko3/laravel-log-viewer/tree/v1.2.0" + }, + "time": "2023-02-27T07:14:16+00:00" + }, + { + "name": "stepanenko3/laravel-pagination", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/stepanenko3/laravel-pagination.git", + "reference": "619ae022412a637fbbc4e75bca70fc651bfb55ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stepanenko3/laravel-pagination/zipball/619ae022412a637fbbc4e75bca70fc651bfb55ba", + "reference": "619ae022412a637fbbc4e75bca70fc651bfb55ba", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Stepanenko3\\LaravelPagination\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Artem Stepanenko", + "email": "stpnnk.artem@gmail.com", + "role": "Developer" + } + ], + "description": "Great pagination generator for Laravel", + "homepage": "https://github.com/stepanenko3/laravel-pagination", + "keywords": [ + "laravel", + "nav", + "navigation", + "paginate", + "pagination" + ], + "support": { + "issues": "https://github.com/stepanenko3/laravel-pagination/issues", + "source": "https://github.com/stepanenko3/laravel-pagination/tree/v1.0.2" + }, + "time": "2023-06-08T07:04:44+00:00" + }, + { + "name": "stepanenko3/nova-logs-tool", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/stepanenko3/nova-logs-tool.git", + "reference": "b2522bf379fbda001755abbdeea7d64d3bb775d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stepanenko3/nova-logs-tool/zipball/b2522bf379fbda001755abbdeea7d64d3bb775d7", + "reference": "b2522bf379fbda001755abbdeea7d64d3bb775d7", + "shasum": "" + }, + "require": { + "laravel/nova": "^4.0", + "php": ">=8.0.0", + "stepanenko3/laravel-log-viewer": "*" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Stepanenko3\\LogsTool\\LogsToolServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Stepanenko3\\LogsTool\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Artem Stepanenko", + "email": "stpnnk.artem@gmail.com", + "role": "Developer" + } + ], + "description": "A Laravel Nova tool to manage and keep track of each one of your logs files.", + "homepage": "https://github.com/stepanenko3/nova-logs-tool", + "keywords": [ + "laravel", + "nova" + ], + "support": { + "issues": "https://github.com/stepanenko3/nova-logs-tool/issues", + "source": "https://github.com/stepanenko3/nova-logs-tool/tree/v2.1.1" + }, + "time": "2023-04-11T11:18:01+00:00" + }, { "name": "symfony/console", "version": "v6.3.8", @@ -8898,72 +9250,6 @@ }, "time": "2023-11-18T12:16:27+00:00" }, - { - "name": "laravel/pint", - "version": "v1.13.6", - "source": { - "type": "git", - "url": "https://github.com/laravel/pint.git", - "reference": "3e3d2ab01c7d8b484c18e6100ecf53639c744fa7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/3e3d2ab01c7d8b484c18e6100ecf53639c744fa7", - "reference": "3e3d2ab01c7d8b484c18e6100ecf53639c744fa7", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "ext-tokenizer": "*", - "ext-xml": "*", - "php": "^8.1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.38.0", - "illuminate/view": "^10.30.1", - "laravel-zero/framework": "^10.3.0", - "mockery/mockery": "^1.6.6", - "nunomaduro/larastan": "^2.6.4", - "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.24.2" - }, - "bin": [ - "builds/pint" - ], - "type": "project", - "autoload": { - "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "An opinionated code formatter for PHP.", - "homepage": "https://laravel.com", - "keywords": [ - "format", - "formatter", - "lint", - "linter", - "php" - ], - "support": { - "issues": "https://github.com/laravel/pint/issues", - "source": "https://github.com/laravel/pint" - }, - "time": "2023-11-07T17:59:57+00:00" - }, { "name": "laravel/sail", "version": "v1.26.1", @@ -11369,6 +11655,7 @@ "minimum-stability": "beta", "stability-flags": { "eolica/nova-locale-switcher": 20, + "laravel/pulse": 10, "outl1ne/nova-grid": 20 }, "prefer-stable": true, diff --git a/lang/tk.json b/lang/tk.json index 0d797d0..8e59521 100644 --- a/lang/tk.json +++ b/lang/tk.json @@ -36,7 +36,7 @@ "Dashoguz": "Daşoguz", "Date of birth": "Doglan gün", "Divorced": "Aýrylşan", - "Education": "Bilim", + "Education": "Bilimi", "Email": "E-poçta", "Email Address": "Email adres", "Expectation Failed": "Garaşmak başa barmady", @@ -78,7 +78,7 @@ "Logout": "Hasapdan çykmak", "Loop Detected": "Aýlaw tapyldy", "Maintenance Mode": "Bejeriş tertibi", - "Marriage status": "Nika ýagdaýy", + "Marriage status": "Maşgala ýagdaýy", "Married": "Öýlenen/Durmuşa çykan", "Mary": "Mary", "Masters ED": "Ussalar",