diff --git a/app/Http/Controllers/V2/Dashboard/RoadItemsProjectController.php b/app/Http/Controllers/V2/Dashboard/RoadItemsProjectController.php index 70d2ed2b..3089bfca 100644 --- a/app/Http/Controllers/V2/Dashboard/RoadItemsProjectController.php +++ b/app/Http/Controllers/V2/Dashboard/RoadItemsProjectController.php @@ -14,7 +14,7 @@ use App\Models\RoadItemsProject; use App\Models\EdarateShahri; use App\Models\ObservedItem; use App\Models\InfoItem; - +use App\Services\NominatimService; use App\Exports\V2\RoadItems\OperatorCartableExport; use App\Exports\V2\RoadItems\SupervisorCartableExport; @@ -205,7 +205,7 @@ class RoadItemsProjectController extends Controller return view('version2.dashboard_pages.road_items.operation_cartable'); } - public function store(Request $request) + public function store(Request $request, NominatimService $nominatimService) { if (!Auth::user()->can('create-road-item')) { return response()->json([ @@ -290,8 +290,8 @@ class RoadItemsProjectController extends Controller 'city_id' => Auth::user()->city_id, 'city_fa' => Auth::user()->city_fa, 'user_name' => Auth::user()->name, - 'start_way_id' => get_way_id_from_nominatim($start_coordinates[0], $start_coordinates[1]), - 'end_way_id' => $end_coordinates ? get_way_id_from_nominatim($end_coordinates[0], $end_coordinates[1]) : null, + 'start_way_id' => $nominatimService->get_way_id_from_nominatim(), + 'end_way_id' => $end_coordinates ? $nominatimService->get_way_id_from_nominatim() : null, 'unit_fa' => $info_item->sub_item_unit, 'created_at_fa' => verta(\Carbon\Carbon::now())->format('Y-m-d H:i:s'), 'info_id' => $info_item->id, diff --git a/app/Services/NominatimService.php b/app/Services/NominatimService.php new file mode 100644 index 00000000..cfe2fc50 --- /dev/null +++ b/app/Services/NominatimService.php @@ -0,0 +1,11 @@ + + array ( + 'providers' => + array ( + 0 => 'Barryvdh\\Debugbar\\ServiceProvider', + ), + 'aliases' => + array ( + 'Debugbar' => 'Barryvdh\\Debugbar\\Facades\\Debugbar', + ), + ), + 'hekmatinasser/verta' => + array ( + 'providers' => + array ( + 0 => 'Hekmatinasser\\Verta\\Laravel\\VertaServiceProvider', + ), + 'aliases' => + array ( + 'Verta' => 'Hekmatinasser\\Verta\\Verta', + ), + ), 'laravel/sail' => array ( 'providers' => diff --git a/bootstrap/cache/services.php b/bootstrap/cache/services.php index 3814efe8..974968db 100755 --- a/bootstrap/cache/services.php +++ b/bootstrap/cache/services.php @@ -23,22 +23,24 @@ 19 => 'Illuminate\\Translation\\TranslationServiceProvider', 20 => 'Illuminate\\Validation\\ValidationServiceProvider', 21 => 'Illuminate\\View\\ViewServiceProvider', - 22 => 'Laravel\\Sail\\SailServiceProvider', - 23 => 'Laravel\\Sanctum\\SanctumServiceProvider', - 24 => 'Laravel\\Telescope\\TelescopeServiceProvider', - 25 => 'Laravel\\Tinker\\TinkerServiceProvider', - 26 => 'Laravel\\Ui\\UiServiceProvider', - 27 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 28 => 'Carbon\\Laravel\\ServiceProvider', - 29 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', - 30 => 'Termwind\\Laravel\\TermwindServiceProvider', - 31 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider', - 32 => 'Spatie\\Permission\\PermissionServiceProvider', - 33 => 'Spatie\\Permission\\PermissionServiceProvider', - 34 => 'App\\Providers\\AppServiceProvider', - 35 => 'App\\Providers\\AuthServiceProvider', - 36 => 'App\\Providers\\EventServiceProvider', - 37 => 'App\\Providers\\RouteServiceProvider', + 22 => 'Barryvdh\\Debugbar\\ServiceProvider', + 23 => 'Hekmatinasser\\Verta\\Laravel\\VertaServiceProvider', + 24 => 'Laravel\\Sail\\SailServiceProvider', + 25 => 'Laravel\\Sanctum\\SanctumServiceProvider', + 26 => 'Laravel\\Telescope\\TelescopeServiceProvider', + 27 => 'Laravel\\Tinker\\TinkerServiceProvider', + 28 => 'Laravel\\Ui\\UiServiceProvider', + 29 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 30 => 'Carbon\\Laravel\\ServiceProvider', + 31 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', + 32 => 'Termwind\\Laravel\\TermwindServiceProvider', + 33 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider', + 34 => 'Spatie\\Permission\\PermissionServiceProvider', + 35 => 'Spatie\\Permission\\PermissionServiceProvider', + 36 => 'App\\Providers\\AppServiceProvider', + 37 => 'App\\Providers\\AuthServiceProvider', + 38 => 'App\\Providers\\EventServiceProvider', + 39 => 'App\\Providers\\RouteServiceProvider', ), 'eager' => array ( @@ -52,20 +54,22 @@ 7 => 'Illuminate\\Pagination\\PaginationServiceProvider', 8 => 'Illuminate\\Session\\SessionServiceProvider', 9 => 'Illuminate\\View\\ViewServiceProvider', - 10 => 'Laravel\\Sanctum\\SanctumServiceProvider', - 11 => 'Laravel\\Telescope\\TelescopeServiceProvider', - 12 => 'Laravel\\Ui\\UiServiceProvider', - 13 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 14 => 'Carbon\\Laravel\\ServiceProvider', - 15 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', - 16 => 'Termwind\\Laravel\\TermwindServiceProvider', - 17 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider', - 18 => 'Spatie\\Permission\\PermissionServiceProvider', - 19 => 'Spatie\\Permission\\PermissionServiceProvider', - 20 => 'App\\Providers\\AppServiceProvider', - 21 => 'App\\Providers\\AuthServiceProvider', - 22 => 'App\\Providers\\EventServiceProvider', - 23 => 'App\\Providers\\RouteServiceProvider', + 10 => 'Barryvdh\\Debugbar\\ServiceProvider', + 11 => 'Hekmatinasser\\Verta\\Laravel\\VertaServiceProvider', + 12 => 'Laravel\\Sanctum\\SanctumServiceProvider', + 13 => 'Laravel\\Telescope\\TelescopeServiceProvider', + 14 => 'Laravel\\Ui\\UiServiceProvider', + 15 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 16 => 'Carbon\\Laravel\\ServiceProvider', + 17 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', + 18 => 'Termwind\\Laravel\\TermwindServiceProvider', + 19 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider', + 20 => 'Spatie\\Permission\\PermissionServiceProvider', + 21 => 'Spatie\\Permission\\PermissionServiceProvider', + 22 => 'App\\Providers\\AppServiceProvider', + 23 => 'App\\Providers\\AuthServiceProvider', + 24 => 'App\\Providers\\EventServiceProvider', + 25 => 'App\\Providers\\RouteServiceProvider', ), 'deferred' => array ( diff --git a/composer.json b/composer.json index 7257becc..9a402844 100644 --- a/composer.json +++ b/composer.json @@ -9,6 +9,7 @@ "ext-zip": "*", "doctrine/dbal": "^3.7", "guzzlehttp/guzzle": "^7.2", + "hekmatinasser/verta": "^8.3", "laravel/framework": "^10.10", "laravel/sanctum": "^3.2", "laravel/telescope": "^4.15", @@ -19,6 +20,7 @@ "spatie/laravel-permission": "^5.10" }, "require-dev": { + "barryvdh/laravel-debugbar": "^3.9", "fakerphp/faker": "^1.9.1", "laravel/pint": "^1.0", "laravel/sail": "^1.18", @@ -32,7 +34,12 @@ "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" - } + }, + "files": [ + "app/Helpers/Compress.php", + "app/Helpers/EnToFa.php", + "app/Helpers/General.php" + ] }, "autoload-dev": { "psr-4": { diff --git a/composer.lock b/composer.lock index 0141650d..694d6326 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": "74ce5a6aff0090dad7cc0596dc5a6bad", + "content-hash": "b524a354e1f7590b60e114a8881b1f4f", "packages": [ { "name": "beberlei/assert", @@ -1598,6 +1598,189 @@ ], "time": "2023-12-03T19:50:20+00:00" }, + { + "name": "hekmatinasser/jalali", + "version": "v8.2", + "source": { + "type": "git", + "url": "https://github.com/hekmatinasser/jalali.git", + "reference": "745cdf40eac790b046b93d3836a29d68f15220f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hekmatinasser/jalali/zipball/745cdf40eac790b046b93d3836a29d68f15220f7", + "reference": "745cdf40eac790b046b93d3836a29d68f15220f7", + "shasum": "" + }, + "require": { + "hekmatinasser/notowo": "^1.0", + "php": "^8.0" + }, + "require-dev": { + "orchestra/testbench": "^4.18|^5.20|^6.24|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Hekmatinasser\\Jalali\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nasser Hekmati", + "email": "hekmati.nasser@gmail.com" + } + ], + "description": "This Package helps developers to work with Jalali Datetime class for PHP", + "keywords": [ + "Jalali", + "date", + "datetime", + "php", + "shamsi" + ], + "support": { + "issues": "https://github.com/hekmatinasser/jalali/issues", + "source": "https://github.com/hekmatinasser/jalali/tree/v8.2" + }, + "funding": [ + { + "url": "https://github.com/hekmatinasser", + "type": "github" + } + ], + "time": "2023-02-04T07:11:29+00:00" + }, + { + "name": "hekmatinasser/notowo", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/hekmatinasser/notowo.git", + "reference": "c51ad5dcedac966dd93ce558ac7e6a84e0020d6d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hekmatinasser/notowo/zipball/c51ad5dcedac966dd93ce558ac7e6a84e0020d6d", + "reference": "c51ad5dcedac966dd93ce558ac7e6a84e0020d6d", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Hekmatinasser\\Notowo\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nasser Hekmati", + "email": "hekmati.nasser@gmail.com" + } + ], + "description": "This Package helps developers change number to word for all language on Laravel freamwork PHP", + "keywords": [ + "Notowo", + "laravel", + "n2w", + "number", + "word" + ], + "support": { + "issues": "https://github.com/hekmatinasser/notowo/issues", + "source": "https://github.com/hekmatinasser/notowo/tree/v1.0.1" + }, + "time": "2017-09-22T13:41:16+00:00" + }, + { + "name": "hekmatinasser/verta", + "version": "v8.3.2", + "source": { + "type": "git", + "url": "https://github.com/hekmatinasser/verta.git", + "reference": "5ef147733289845d14786e1418c0c0ab5f85b7fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hekmatinasser/verta/zipball/5ef147733289845d14786e1418c0c0ab5f85b7fc", + "reference": "5ef147733289845d14786e1418c0c0ab5f85b7fc", + "shasum": "" + }, + "require": { + "hekmatinasser/jalali": "^8.2", + "illuminate/support": "^8.0|^9.0|^10.0", + "illuminate/validation": "^8.0|^9.0|^10.0", + "php": "^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.23|^7.0|^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Hekmatinasser\\Verta\\Laravel\\VertaServiceProvider" + ], + "aliases": { + "Verta": "Hekmatinasser\\Verta\\Verta" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Hekmatinasser\\Verta\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nasser Hekmati", + "email": "hekmati.nasser@gmail.com" + } + ], + "description": "This Package helps developers to work with Jalali Datetime class for Laravel Framework PHP", + "keywords": [ + "Jalali", + "Verta", + "date", + "datetime", + "laravel", + "shamsi" + ], + "support": { + "issues": "https://github.com/hekmatinasser/verta/issues", + "source": "https://github.com/hekmatinasser/verta/tree/v8.3.2" + }, + "funding": [ + { + "url": "https://github.com/hekmatinasser", + "type": "github" + } + ], + "time": "2023-05-15T11:52:55+00:00" + }, { "name": "laravel/framework", "version": "v10.43.0", @@ -6968,6 +7151,90 @@ } ], "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v3.9.2", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "bfd0131c146973cab164e50f5cdd8a67cc60cab1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/bfd0131c146973cab164e50f5cdd8a67cc60cab1", + "reference": "bfd0131c146973cab164e50f5cdd8a67cc60cab1", + "shasum": "" + }, + "require": { + "illuminate/routing": "^9|^10", + "illuminate/session": "^9|^10", + "illuminate/support": "^9|^10", + "maximebf/debugbar": "^1.18.2", + "php": "^8.0", + "symfony/finder": "^6" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "orchestra/testbench-dusk": "^5|^6|^7|^8", + "phpunit/phpunit": "^8.5.30|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.8-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ], + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.9.2" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-08-25T18:43:57+00:00" + }, { "name": "fakerphp/faker", "version": "v1.23.1", @@ -7284,6 +7551,72 @@ }, "time": "2024-01-30T03:03:59+00:00" }, + { + "name": "maximebf/debugbar", + "version": "v1.19.1", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "03dd40a1826f4d585ef93ef83afa2a9874a00523" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/03dd40a1826f4d585ef93ef83afa2a9874a00523", + "reference": "03dd40a1826f4d585ef93ef83afa2a9874a00523", + "shasum": "" + }, + "require": { + "php": "^7.1|^8", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4|^5|^6" + }, + "require-dev": { + "phpunit/phpunit": ">=7.5.20 <10.0", + "twig/twig": "^1.38|^2.7|^3.0" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "support": { + "issues": "https://github.com/maximebf/php-debugbar/issues", + "source": "https://github.com/maximebf/php-debugbar/tree/v1.19.1" + }, + "time": "2023-10-12T08:10:52+00:00" + }, { "name": "mockery/mockery", "version": "1.6.7", diff --git a/storage/debugbar/.gitignore b/storage/debugbar/.gitignore new file mode 100644 index 00000000..d6b7ef32 --- /dev/null +++ b/storage/debugbar/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore