Illuminate \ Database \ QueryException (42S02)
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist (SQL: select * from `customer` where `customer`.`id` in (0) and `customer`.`deleted_at` is null)
Previous exceptions
  • SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist (42S02)
  • SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist (42S02)
Illuminate\Database\QueryException thrown with message "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist (SQL: select * from `customer` where `customer`.`id` in (0) and `customer`.`deleted_at` is null)" Stacktrace: #84 Illuminate\Database\QueryException in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671 #83 Doctrine\DBAL\Driver\PDOException in /data/webroot/greenfield.edu.vn/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:79 #82 PDOException in /data/webroot/greenfield.edu.vn/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:77 #81 PDO:prepare in /data/webroot/greenfield.edu.vn/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:77 #80 Doctrine\DBAL\Driver\PDOConnection:prepare in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php:331 #79 Illuminate\Database\Connection:Illuminate\Database\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 #78 Illuminate\Database\Connection:runQueryCallback in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php:631 #77 Illuminate\Database\Connection:run in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php:339 #76 Illuminate\Database\Connection:select in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2270 #75 Illuminate\Database\Query\Builder:runSelect in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2258 #74 Illuminate\Database\Query\Builder:Illuminate\Database\Query\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2753 #73 Illuminate\Database\Query\Builder:onceWithColumns in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2259 #72 Illuminate\Database\Query\Builder:get in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:548 #71 Illuminate\Database\Eloquent\Builder:getModels in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:532 #70 Illuminate\Database\Eloquent\Builder:get in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php:155 #69 Illuminate\Database\Eloquent\Relations\Relation:get in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php:144 #68 Illuminate\Database\Eloquent\Relations\Relation:getEager in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:596 #67 Illuminate\Database\Eloquent\Builder:eagerLoadRelation in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:565 #66 Illuminate\Database\Eloquent\Builder:eagerLoadRelations in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:533 #65 Illuminate\Database\Eloquent\Builder:get in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:732 #64 Illuminate\Database\Eloquent\Builder:paginate in /data/webroot/greenfield.edu.vn/current/vendor/prettus/l5-repository/src/Prettus/Repository/Eloquent/BaseRepository.php:487 #63 Prettus\Repository\Eloquent\BaseRepository:paginate in /data/webroot/greenfield.edu.vn/current/app/Ship/core/Abstracts/Repositories/Repository.php:96 #62 Apiato\Core\Abstracts\Repositories\Repository:paginate in /data/webroot/greenfield.edu.vn/current/app/Containers/News/Tasks/NewsListingTask.php:151 #61 App\Containers\News\Tasks\NewsListingTask:run in /data/webroot/greenfield.edu.vn/current/app/Ship/core/Traits/CallableTrait.php:43 #60 Apiato\Core\Foundation\Apiato:call in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:261 #59 Illuminate\Support\Facades\Facade:__callStatic in /data/webroot/greenfield.edu.vn/current/app/Containers/News/Actions/NewsListingAction.php:106 #58 App\Containers\News\Actions\NewsListingAction:run in /data/webroot/greenfield.edu.vn/current/app/Ship/core/Traits/CallableTrait.php:43 #57 Apiato\Core\Foundation\Apiato:call in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:261 #56 Illuminate\Support\Facades\Facade:__callStatic in /data/webroot/greenfield.edu.vn/current/app/Containers/Admissions/UI/WEB/Controllers/Desktop/AdmissionController.php:101 #55 App\Containers\Admissions\UI\WEB\Controllers\Desktop\AdmissionController:getDataLayout in /data/webroot/greenfield.edu.vn/current/app/Containers/Admissions/UI/WEB/Controllers/Desktop/AdmissionController.php:34 #54 App\Containers\Admissions\UI\WEB\Controllers\Desktop\AdmissionController:index in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #53 Illuminate\Routing\Controller:callAction in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45 #52 Illuminate\Routing\ControllerDispatcher:dispatch in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Route.php:239 #51 Illuminate\Routing\Route:runController in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Route.php:196 #50 Illuminate\Routing\Route:run in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php:685 #49 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 #48 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/app/Containers/Localization/Middlewares/LocalizationMiddleware.php:34 #47 App\Containers\Localization\Middlewares\LocalizationMiddleware:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #46 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/app/Containers/Dashboard/Middlewares/UnitMiddleware.php:63 #45 App\Containers\Dashboard\Middlewares\UnitMiddleware:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #44 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/app/Containers/Authentication/Middlewares/CheckActiveCustomerAuthentication.php:36 #43 App\Containers\Authentication\Middlewares\CheckActiveCustomerAuthentication:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #42 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/htmlmin/htmlmin/src/Http/Middleware/MinifyMiddleware.php:55 #41 HTMLMin\HTMLMin\Http\Middleware\MinifyMiddleware:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #40 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #39 Illuminate\Routing\Middleware\SubstituteBindings:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78 #37 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #36 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #35 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #34 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:116 #33 Illuminate\Session\Middleware\StartSession:handleStatefulRequest in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:62 #32 Illuminate\Session\Middleware\StartSession:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #31 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #30 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67 #28 Illuminate\Cookie\Middleware\EncryptCookies:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #27 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #26 Illuminate\Pipeline\Pipeline:then in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php:687 #25 Illuminate\Routing\Router:runRouteWithinStack in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php:662 #24 Illuminate\Routing\Router:runRoute in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php:628 #23 Illuminate\Routing\Router:dispatchToRoute in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php:617 #22 Illuminate\Routing\Router:dispatch in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:165 #21 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 #20 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php:59 #19 Barryvdh\Debugbar\Middleware\InjectDebugbar:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #18 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/fruitcake/laravel-cors/src/HandleCors.php:37 #17 Fruitcake\Cors\HandleCors:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #15 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #14 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/fideloper/proxy/src/TrustProxies.php:57 #13 Fideloper\Proxy\TrustProxies:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #12 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #11 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:63 #9 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #8 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #7 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /data/webroot/greenfield.edu.vn/current/app/Ship/Middlewares/Http/TrimStrings.php:55 #6 App\Ship\Middlewares\Http\TrimStrings:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #5 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/app/Containers/Debugger/Middlewares/RequestsMonitorMiddleware.php:27 #4 App\Containers\Debugger\Middlewares\RequestsMonitorMiddleware:handle in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #3 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #2 Illuminate\Pipeline\Pipeline:then in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:140 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:109 #0 Illuminate\Foundation\Http\Kernel:handle in /data/webroot/greenfield.edu.vn/current/public/index.php:57
84
Illuminate\Database\QueryException
/vendor/laravel/framework/src/Illuminate/Database/Connection.php671
83
Doctrine\DBAL\Driver\PDOException
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php79
82
PDOException
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php77
81
PDO prepare
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php77
80
Doctrine\DBAL\Driver\PDOConnection prepare
/vendor/laravel/framework/src/Illuminate/Database/Connection.php331
79
Illuminate\Database\Connection Illuminate\Database\{closure}
/vendor/laravel/framework/src/Illuminate/Database/Connection.php664
78
Illuminate\Database\Connection runQueryCallback
/vendor/laravel/framework/src/Illuminate/Database/Connection.php631
77
Illuminate\Database\Connection run
/vendor/laravel/framework/src/Illuminate/Database/Connection.php339
76
Illuminate\Database\Connection select
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php2270
75
Illuminate\Database\Query\Builder runSelect
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php2258
74
Illuminate\Database\Query\Builder Illuminate\Database\Query\{closure}
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php2753
73
Illuminate\Database\Query\Builder onceWithColumns
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php2259
72
Illuminate\Database\Query\Builder get
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php548
71
Illuminate\Database\Eloquent\Builder getModels
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php532
70
Illuminate\Database\Eloquent\Builder get
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php155
69
Illuminate\Database\Eloquent\Relations\Relation get
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php144
68
Illuminate\Database\Eloquent\Relations\Relation getEager
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php596
67
Illuminate\Database\Eloquent\Builder eagerLoadRelation
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php565
66
Illuminate\Database\Eloquent\Builder eagerLoadRelations
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php533
65
Illuminate\Database\Eloquent\Builder get
/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php732
64
Illuminate\Database\Eloquent\Builder paginate
/vendor/prettus/l5-repository/src/Prettus/Repository/Eloquent/BaseRepository.php487
63
Prettus\Repository\Eloquent\BaseRepository paginate
/app/Ship/core/Abstracts/Repositories/Repository.php96
62
Apiato\Core\Abstracts\Repositories\Repository paginate
/app/Containers/News/Tasks/NewsListingTask.php151
61
App\Containers\News\Tasks\NewsListingTask run
/app/Ship/core/Traits/CallableTrait.php43
60
Apiato\Core\Foundation\Apiato call
/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php261
59
Illuminate\Support\Facades\Facade __callStatic
/app/Containers/News/Actions/NewsListingAction.php106
58
App\Containers\News\Actions\NewsListingAction run
/app/Ship/core/Traits/CallableTrait.php43
57
Apiato\Core\Foundation\Apiato call
/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php261
56
Illuminate\Support\Facades\Facade __callStatic
/app/Containers/Admissions/UI/WEB/Controllers/Desktop/AdmissionController.php101
55
App\Containers\Admissions\UI\WEB\Controllers\Desktop\AdmissionController getDataLayout
/app/Containers/Admissions/UI/WEB/Controllers/Desktop/AdmissionController.php34
54
App\Containers\Admissions\UI\WEB\Controllers\Desktop\AdmissionController index
/vendor/laravel/framework/src/Illuminate/Routing/Controller.php54
53
Illuminate\Routing\Controller callAction
/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php45
52
Illuminate\Routing\ControllerDispatcher dispatch
/vendor/laravel/framework/src/Illuminate/Routing/Route.php239
51
Illuminate\Routing\Route runController
/vendor/laravel/framework/src/Illuminate/Routing/Route.php196
50
Illuminate\Routing\Route run
/vendor/laravel/framework/src/Illuminate/Routing/Router.php685
49
Illuminate\Routing\Router Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php128
48
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/app/Containers/Localization/Middlewares/LocalizationMiddleware.php34
47
App\Containers\Localization\Middlewares\LocalizationMiddleware handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
46
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/app/Containers/Dashboard/Middlewares/UnitMiddleware.php63
45
App\Containers\Dashboard\Middlewares\UnitMiddleware handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
44
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/app/Containers/Authentication/Middlewares/CheckActiveCustomerAuthentication.php36
43
App\Containers\Authentication\Middlewares\CheckActiveCustomerAuthentication handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
42
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/htmlmin/htmlmin/src/Http/Middleware/MinifyMiddleware.php55
41
HTMLMin\HTMLMin\Http\Middleware\MinifyMiddleware handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
40
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php41
39
Illuminate\Routing\Middleware\SubstituteBindings handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
38
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php78
37
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
36
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php49
35
Illuminate\View\Middleware\ShareErrorsFromSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
34
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php116
33
Illuminate\Session\Middleware\StartSession handleStatefulRequest
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php62
32
Illuminate\Session\Middleware\StartSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
31
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37
30
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
29
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php67
28
Illuminate\Cookie\Middleware\EncryptCookies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
27
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
26
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Routing/Router.php687
25
Illuminate\Routing\Router runRouteWithinStack
/vendor/laravel/framework/src/Illuminate/Routing/Router.php662
24
Illuminate\Routing\Router runRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php628
23
Illuminate\Routing\Router dispatchToRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php617
22
Illuminate\Routing\Router dispatch
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php165
21
Illuminate\Foundation\Http\Kernel Illuminate\Foundation\Http\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php128
20
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php59
19
Barryvdh\Debugbar\Middleware\InjectDebugbar handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
18
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/fruitcake/laravel-cors/src/HandleCors.php37
17
Fruitcake\Cors\HandleCors handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
16
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
15
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
14
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/fideloper/proxy/src/TrustProxies.php57
13
Fideloper\Proxy\TrustProxies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
12
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php27
11
Illuminate\Foundation\Http\Middleware\ValidatePostSize handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
10
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php63
9
Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
8
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
7
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/app/Ship/Middlewares/Http/TrimStrings.php55
6
App\Ship\Middlewares\Http\TrimStrings handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
5
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/app/Containers/Debugger/Middlewares/RequestsMonitorMiddleware.php27
4
App\Containers\Debugger\Middlewares\RequestsMonitorMiddleware handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
3
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
2
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php140
1
Illuminate\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php109
0
Illuminate\Foundation\Http\Kernel handle
/public/index.php57
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php
     * @param  array  $bindings
     * @param  \Closure  $callback
     * @return mixed
     *
     * @throws \Illuminate\Database\QueryException
     */
    protected function runQueryCallback($query, $bindings, Closure $callback)
    {
        // To execute the statement, we'll simply call the callback, which will actually
        // run the SQL against the PDO connection. Then we can calculate the time it
        // took to execute and log the query SQL, bindings and time in our memory.
        try {
            $result = $callback($query, $bindings);
        }
 
        // If an exception occurs when attempting to run a query, we'll format the error
        // message to include the bindings with SQL, which will make this exception a
        // lot more helpful to the developer instead of just the database's errors.
        catch (Exception $e) {
            throw new QueryException(
                $query, $this->prepareBindings($bindings), $e
            );
        }
 
        return $result;
    }
 
    /**
     * Log a query in the connection's query log.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  float|null  $time
     * @return void
     */
    public function logQuery($query, $bindings, $time = null)
    {
        $this->event(new QueryExecuted($query, $bindings, $time, $this));
 
        if ($this->loggingQueries) {
Arguments
  1. "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist (SQL: select * from `customer` where `customer`.`id` in (0) and `customer`.`deleted_at` is null)"
    
/data/webroot/greenfield.edu.vn/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function getServerVersion()
    {
        return PDO::getAttribute(PDO::ATTR_SERVER_VERSION);
    }
 
    /**
     * {@inheritdoc}
     */
    public function prepare($prepareString, $driverOptions = array())
    {
        try {
            return parent::prepare($prepareString, $driverOptions);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function query()
    {
        $args = func_get_args();
        $argsCount = count($args);
 
        try {
            if ($argsCount == 4) {
                return parent::query($args[0], $args[1], $args[2], $args[3]);
            }
 
            if ($argsCount == 3) {
                return parent::query($args[0], $args[1], $args[2]);
            }
 
Arguments
  1. "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist"
    
Exception message: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist
/data/webroot/greenfield.edu.vn/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function getServerVersion()
    {
        return PDO::getAttribute(PDO::ATTR_SERVER_VERSION);
    }
 
    /**
     * {@inheritdoc}
     */
    public function prepare($prepareString, $driverOptions = array())
    {
        try {
            return parent::prepare($prepareString, $driverOptions);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function query()
    {
        $args = func_get_args();
        $argsCount = count($args);
 
        try {
            if ($argsCount == 4) {
                return parent::query($args[0], $args[1], $args[2], $args[3]);
            }
 
            if ($argsCount == 3) {
                return parent::query($args[0], $args[1], $args[2]);
Arguments
  1. "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist"
    
Exception message: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenfieldedu.customer' doesn't exist
/data/webroot/greenfield.edu.vn/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function getServerVersion()
    {
        return PDO::getAttribute(PDO::ATTR_SERVER_VERSION);
    }
 
    /**
     * {@inheritdoc}
     */
    public function prepare($prepareString, $driverOptions = array())
    {
        try {
            return parent::prepare($prepareString, $driverOptions);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function query()
    {
        $args = func_get_args();
        $argsCount = count($args);
 
        try {
            if ($argsCount == 4) {
                return parent::query($args[0], $args[1], $args[2], $args[3]);
            }
 
            if ($argsCount == 3) {
                return parent::query($args[0], $args[1], $args[2]);
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php
    /**
     * Run a select statement against the database.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  bool  $useReadPdo
     * @return array
     */
    public function select($query, $bindings = [], $useReadPdo = true)
    {
        return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
            if ($this->pretending()) {
                return [];
            }
 
            // For select statements, we'll simply execute the query and return an array
            // of the database result set. Each element in the array will be a single
            // row from the database table, and will either be an array or objects.
            $statement = $this->prepared(
                $this->getPdoForSelect($useReadPdo)->prepare($query)
            );
 
            $this->bindValues($statement, $this->prepareBindings($bindings));
 
            $statement->execute();
 
            return $statement->fetchAll();
        });
    }
 
    /**
     * Run a select statement against the database and returns a generator.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  bool  $useReadPdo
     * @return \Generator
     */
    public function cursor($query, $bindings = [], $useReadPdo = true)
    {
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php
        return $result;
    }
 
    /**
     * Run a SQL statement.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  \Closure  $callback
     * @return mixed
     *
     * @throws \Illuminate\Database\QueryException
     */
    protected function runQueryCallback($query, $bindings, Closure $callback)
    {
        // To execute the statement, we'll simply call the callback, which will actually
        // run the SQL against the PDO connection. Then we can calculate the time it
        // took to execute and log the query SQL, bindings and time in our memory.
        try {
            $result = $callback($query, $bindings);
        }
 
        // If an exception occurs when attempting to run a query, we'll format the error
        // message to include the bindings with SQL, which will make this exception a
        // lot more helpful to the developer instead of just the database's errors.
        catch (Exception $e) {
            throw new QueryException(
                $query, $this->prepareBindings($bindings), $e
            );
        }
 
        return $result;
    }
 
    /**
     * Log a query in the connection's query log.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  float|null  $time
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php
     * Run a SQL statement and log its execution context.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  \Closure  $callback
     * @return mixed
     *
     * @throws \Illuminate\Database\QueryException
     */
    protected function run($query, $bindings, Closure $callback)
    {
        $this->reconnectIfMissingConnection();
 
        $start = microtime(true);
 
        // Here we will run this query. If an exception occurs we'll determine if it was
        // caused by a connection that has been lost. If that is the cause, we'll try
        // to re-establish connection and re-run the query with a fresh connection.
        try {
            $result = $this->runQueryCallback($query, $bindings, $callback);
        } catch (QueryException $e) {
            $result = $this->handleQueryException(
                $e, $query, $bindings, $callback
            );
        }
 
        // Once we have run the query we will calculate the time that it took to run and
        // then log the query, bindings, and execution time so we will report them on
        // the event that the developer needs them. We'll log time in milliseconds.
        $this->logQuery(
            $query, $bindings, $this->getElapsedTime($start)
        );
 
        return $result;
    }
 
    /**
     * Run a SQL statement.
     *
     * @param  string  $query
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Connection.php
    public function select($query, $bindings = [], $useReadPdo = true)
    {
        return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
            if ($this->pretending()) {
                return [];
            }
 
            // For select statements, we'll simply execute the query and return an array
            // of the database result set. Each element in the array will be a single
            // row from the database table, and will either be an array or objects.
            $statement = $this->prepared(
                $this->getPdoForSelect($useReadPdo)->prepare($query)
            );
 
            $this->bindValues($statement, $this->prepareBindings($bindings));
 
            $statement->execute();
 
            return $statement->fetchAll();
        });
    }
 
    /**
     * Run a select statement against the database and returns a generator.
     *
     * @param  string  $query
     * @param  array  $bindings
     * @param  bool  $useReadPdo
     * @return \Generator
     */
    public function cursor($query, $bindings = [], $useReadPdo = true)
    {
        $statement = $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
            if ($this->pretending()) {
                return [];
            }
 
            // First we will create a statement for the query. Then, we will set the fetch
            // mode and prepare the bindings for the query. Once that's done we will be
            // ready to execute the query against the database and return the cursor.
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
     *
     * @param  array|string  $columns
     * @return \Illuminate\Support\Collection
     */
    public function get($columns = ['*'])
    {
        return collect($this->onceWithColumns(Arr::wrap($columns), function () {
            return $this->processor->processSelect($this, $this->runSelect());
        }));
    }
 
    /**
     * Run the query as a "select" statement against the connection.
     *
     * @return array
     */
    protected function runSelect()
    {
        return $this->connection->select(
            $this->toSql(), $this->getBindings(), ! $this->useWritePdo
        );
    }
 
    /**
     * Paginate the given query into a simple paginator.
     *
     * @param  int  $perPage
     * @param  array  $columns
     * @param  string  $pageName
     * @param  int|null  $page
     * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
     */
    public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null)
    {
        $page = $page ?: Paginator::resolveCurrentPage($pageName);
 
        $total = $this->getCountForPagination();
 
        $results = $total ? $this->forPage($page, $perPage)->get($columns) : collect();
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
     * @param  string  $column
     * @return mixed
     */
    public function value($column)
    {
        $result = (array) $this->first([$column]);
 
        return count($result) > 0 ? reset($result) : null;
    }
 
    /**
     * Execute the query as a "select" statement.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Support\Collection
     */
    public function get($columns = ['*'])
    {
        return collect($this->onceWithColumns(Arr::wrap($columns), function () {
            return $this->processor->processSelect($this, $this->runSelect());
        }));
    }
 
    /**
     * Run the query as a "select" statement against the connection.
     *
     * @return array
     */
    protected function runSelect()
    {
        return $this->connection->select(
            $this->toSql(), $this->getBindings(), ! $this->useWritePdo
        );
    }
 
    /**
     * Paginate the given query into a simple paginator.
     *
     * @param  int  $perPage
     * @param  array  $columns
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
    }
 
    /**
     * Execute the given callback while selecting the given columns.
     *
     * After running the callback, the columns are reset to the original value.
     *
     * @param  array  $columns
     * @param  callable  $callback
     * @return mixed
     */
    protected function onceWithColumns($columns, $callback)
    {
        $original = $this->columns;
 
        if (is_null($original)) {
            $this->columns = $columns;
        }
 
        $result = $callback();
 
        $this->columns = $original;
 
        return $result;
    }
 
    /**
     * Insert a new record into the database.
     *
     * @param  array  $values
     * @return bool
     */
    public function insert(array $values)
    {
        // Since every insert gets treated like a batch insert, we will make sure the
        // bindings are structured in a way that is convenient when building these
        // inserts statements by verifying these elements are actually an array.
        if (empty($values)) {
            return true;
        }
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
     * @return mixed
     */
    public function value($column)
    {
        $result = (array) $this->first([$column]);
 
        return count($result) > 0 ? reset($result) : null;
    }
 
    /**
     * Execute the query as a "select" statement.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Support\Collection
     */
    public function get($columns = ['*'])
    {
        return collect($this->onceWithColumns(Arr::wrap($columns), function () {
            return $this->processor->processSelect($this, $this->runSelect());
        }));
    }
 
    /**
     * Run the query as a "select" statement against the connection.
     *
     * @return array
     */
    protected function runSelect()
    {
        return $this->connection->select(
            $this->toSql(), $this->getBindings(), ! $this->useWritePdo
        );
    }
 
    /**
     * Paginate the given query into a simple paginator.
     *
     * @param  int  $perPage
     * @param  array  $columns
     * @param  string  $pageName
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
        // If we actually found models we will also eager load any relationships that
        // have been specified as needing to be eager loaded, which will solve the
        // n+1 query issue for the developers to avoid running a lot of queries.
        if (count($models = $builder->getModels($columns)) > 0) {
            $models = $builder->eagerLoadRelations($models);
        }
 
        return $builder->getModel()->newCollection($models);
    }
 
    /**
     * Get the hydrated models without eager loading.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Database\Eloquent\Model[]|static[]
     */
    public function getModels($columns = ['*'])
    {
        return $this->model->hydrate(
            $this->query->get($columns)->all()
        )->all();
    }
 
    /**
     * Eager load the relationships for the models.
     *
     * @param  array  $models
     * @return array
     */
    public function eagerLoadRelations(array $models)
    {
        foreach ($this->eagerLoad as $name => $constraints) {
            // For nested eager loads we'll skip loading them here and they will be set as an
            // eager load on the query to retrieve the relation so that they will be eager
            // loaded on that query, because that is where they get hydrated as models.
            if (strpos($name, '.') === false) {
                $models = $this->eagerLoadRelation($models, $name, $constraints);
            }
        }
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
    {
        if ($result = $this->first([$column])) {
            return $result->{Str::afterLast($column, '.')};
        }
    }
 
    /**
     * Execute the query as a "select" statement.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Database\Eloquent\Collection|static[]
     */
    public function get($columns = ['*'])
    {
        $builder = $this->applyScopes();
 
        // If we actually found models we will also eager load any relationships that
        // have been specified as needing to be eager loaded, which will solve the
        // n+1 query issue for the developers to avoid running a lot of queries.
        if (count($models = $builder->getModels($columns)) > 0) {
            $models = $builder->eagerLoadRelations($models);
        }
 
        return $builder->getModel()->newCollection($models);
    }
 
    /**
     * Get the hydrated models without eager loading.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Database\Eloquent\Model[]|static[]
     */
    public function getModels($columns = ['*'])
    {
        return $this->model->hydrate(
            $this->query->get($columns)->all()
        )->all();
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php
 
    /**
     * Get the relationship for eager loading.
     *
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function getEager()
    {
        return $this->get();
    }
 
    /**
     * Execute the query as a "select" statement.
     *
     * @param  array  $columns
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function get($columns = ['*'])
    {
        return $this->query->get($columns);
    }
 
    /**
     * Touch all of the related models for the relationship.
     *
     * @return void
     */
    public function touch()
    {
        $model = $this->getRelated();
 
        if (! $model::isIgnoringTouch()) {
            $this->rawUpdate([
                $model->getUpdatedAtColumn() => $model->freshTimestampString(),
            ]);
        }
    }
 
    /**
     * Run a raw update against the base query.
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php
     * @param  string  $relation
     * @return array
     */
    abstract public function match(array $models, Collection $results, $relation);
 
    /**
     * Get the results of the relationship.
     *
     * @return mixed
     */
    abstract public function getResults();
 
    /**
     * Get the relationship for eager loading.
     *
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function getEager()
    {
        return $this->get();
    }
 
    /**
     * Execute the query as a "select" statement.
     *
     * @param  array  $columns
     * @return \Illuminate\Database\Eloquent\Collection
     */
    public function get($columns = ['*'])
    {
        return $this->query->get($columns);
    }
 
    /**
     * Touch all of the related models for the relationship.
     *
     * @return void
     */
    public function touch()
    {
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
     * @param  \Closure  $constraints
     * @return array
     */
    protected function eagerLoadRelation(array $models, $name, Closure $constraints)
    {
        // First we will "back up" the existing where conditions on the query so we can
        // add our eager constraints. Then we will merge the wheres that were on the
        // query back to it in order that any where conditions might be specified.
        $relation = $this->getRelation($name);
 
        $relation->addEagerConstraints($models);
 
        $constraints($relation);
 
        // Once we have the results, we just match those back up to their parent models
        // using the relationship instance. Then we just return the finished arrays
        // of models which have been eagerly hydrated and are readied for return.
        return $relation->match(
            $relation->initRelation($models, $name),
            $relation->getEager(), $name
        );
    }
 
    /**
     * Get the relation instance for the given relation name.
     *
     * @param  string  $name
     * @return \Illuminate\Database\Eloquent\Relations\Relation
     */
    public function getRelation($name)
    {
        // We want to run a relationship query without any constrains so that we will
        // not have to remove these where clauses manually which gets really hacky
        // and error prone. We don't want constraints because we add eager ones.
        $relation = Relation::noConstraints(function () use ($name) {
            try {
                return $this->getModel()->newInstance()->$name();
            } catch (BadMethodCallException $e) {
                throw RelationNotFoundException::make($this->getModel(), $name);
            }
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
    {
        return $this->model->hydrate(
            $this->query->get($columns)->all()
        )->all();
    }
 
    /**
     * Eager load the relationships for the models.
     *
     * @param  array  $models
     * @return array
     */
    public function eagerLoadRelations(array $models)
    {
        foreach ($this->eagerLoad as $name => $constraints) {
            // For nested eager loads we'll skip loading them here and they will be set as an
            // eager load on the query to retrieve the relation so that they will be eager
            // loaded on that query, because that is where they get hydrated as models.
            if (strpos($name, '.') === false) {
                $models = $this->eagerLoadRelation($models, $name, $constraints);
            }
        }
 
        return $models;
    }
 
    /**
     * Eagerly load the relationship on a set of models.
     *
     * @param  array  $models
     * @param  string  $name
     * @param  \Closure  $constraints
     * @return array
     */
    protected function eagerLoadRelation(array $models, $name, Closure $constraints)
    {
        // First we will "back up" the existing where conditions on the query so we can
        // add our eager constraints. Then we will merge the wheres that were on the
        // query back to it in order that any where conditions might be specified.
        $relation = $this->getRelation($name);
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
        if ($result = $this->first([$column])) {
            return $result->{Str::afterLast($column, '.')};
        }
    }
 
    /**
     * Execute the query as a "select" statement.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Database\Eloquent\Collection|static[]
     */
    public function get($columns = ['*'])
    {
        $builder = $this->applyScopes();
 
        // If we actually found models we will also eager load any relationships that
        // have been specified as needing to be eager loaded, which will solve the
        // n+1 query issue for the developers to avoid running a lot of queries.
        if (count($models = $builder->getModels($columns)) > 0) {
            $models = $builder->eagerLoadRelations($models);
        }
 
        return $builder->getModel()->newCollection($models);
    }
 
    /**
     * Get the hydrated models without eager loading.
     *
     * @param  array|string  $columns
     * @return \Illuminate\Database\Eloquent\Model[]|static[]
     */
    public function getModels($columns = ['*'])
    {
        return $this->model->hydrate(
            $this->query->get($columns)->all()
        )->all();
    }
 
    /**
     * Eager load the relationships for the models.
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php
 
    /**
     * Paginate the given query.
     *
     * @param  int|null  $perPage
     * @param  array  $columns
     * @param  string  $pageName
     * @param  int|null  $page
     * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
     *
     * @throws \InvalidArgumentException
     */
    public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
    {
        $page = $page ?: Paginator::resolveCurrentPage($pageName);
 
        $perPage = $perPage ?: $this->model->getPerPage();
 
        $results = ($total = $this->toBase()->getCountForPagination())
                                    ? $this->forPage($page, $perPage)->get($columns)
                                    : $this->model->newCollection();
 
        return $this->paginator($results, $total, $perPage, $page, [
            'path' => Paginator::resolveCurrentPath(),
            'pageName' => $pageName,
        ]);
    }
 
    /**
     * Paginate the given query into a simple paginator.
     *
     * @param  int|null  $perPage
     * @param  array  $columns
     * @param  string  $pageName
     * @param  int|null  $page
     * @return \Illuminate\Contracts\Pagination\Paginator
     */
    public function simplePaginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
    {
        $page = $page ?: Paginator::resolveCurrentPage($pageName);
/data/webroot/greenfield.edu.vn/current/vendor/prettus/l5-repository/src/Prettus/Repository/Eloquent/BaseRepository.php
        $this->take($limit);
 
        return $this->all($columns);
    }
 
    /**
     * Retrieve all data of repository, paginated
     *
     * @param null|int $limit
     * @param array    $columns
     * @param string   $method
     *
     * @return mixed
     */
    public function paginate($limit = null, $columns = ['*'], $method = "paginate")
    {
        $this->applyCriteria();
        $this->applyScope();
        $limit = is_null($limit) ? config('repository.pagination.limit', 15) : $limit;
        $results = $this->model->{$method}($limit, $columns);
        $results->appends(app('request')->query());
        $this->resetModel();
 
        return $this->parserResult($results);
    }
 
    /**
     * Retrieve all data of repository, simple paginated
     *
     * @param null|int $limit
     * @param array    $columns
     *
     * @return mixed
     */
    public function simplePaginate($limit = null, $columns = ['*'])
    {
        return $this->paginate($limit, $columns, "simplePaginate");
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/app/Ship/core/Abstracts/Repositories/Repository.php
    public function paginate($limit = null, $columns = ['*'], $method = "paginate")
    {
        // the priority is for the function parameter, if not available then take
        // it from the request if available and if not keep it null.
        $limit = $limit ?: Request::get('limit');
 
        // check, if skipping pagination is allowed and the requested by the user
        if (Config::get('repository.pagination.skip') && $limit == "0") {
            return parent::all($columns);
        }
 
        // check for the maximum entries per pagination
        if (   is_int($this->maxPaginationLimit)
            && $this->maxPaginationLimit > 0
            && $limit > $this->maxPaginationLimit
        ) {
            $limit = $this->maxPaginationLimit;
        }
 
        return parent::paginate($limit, $columns, $method);
    }
 
    private function getCurrentContainer(): string
    {
        return substr(str_replace("App\\Containers\\", "", get_called_class()), 0, strpos(str_replace("App\\Containers\\", "", get_called_class()), '\\'));
    }
 
}
 
/data/webroot/greenfield.edu.vn/current/app/Containers/News/Tasks/NewsListingTask.php
            });
        }
 
        if(isset($filters['diff_id']) && !empty($filters['diff_id'])){
            $this->repository->whereNotIn('id', [$filters['diff_id']]);
        }
 
        if(isset($filters['is_special'])){
            $this->repository->where('is_special', $filters['is_special']);
        }
 
        if(isset($filters['id_not'])){
            $this->repository->where('id','!=', $filters['id_not']);
        }
 
        foreach ($orderBy as $column => $direction) {
            $this->repository->orderBy($column, $direction);
        }
 
        return $page ? $this->repository->paginate($limit) : ($limit > 0 ? $this->repository->take($limit)->get() : $this->repository->get());
    }
}
/data/webroot/greenfield.edu.vn/current/app/Ship/core/Traits/CallableTrait.php
     *
     * @param       $class
     * @param array $runMethodArguments
     * @param array $extraMethodsToCall
     *
     * @return  mixed
     * @throws \Dto\Exceptions\UnstorableValueException
     */
    public function call($class, $runMethodArguments = [], $extraMethodsToCall = [])
    {
        $class = $this->resolveClass($class);
 
        $this->setUIIfExist($class);
 
        $this->callExtraMethods($class, $extraMethodsToCall);
 
        // detects Requests arguments "usually sent by controllers", and cvoert them to Transporters.
        $runMethodArguments = $this->convertRequestsToTransporters($class, $runMethodArguments);
 
        return $class->run(...$runMethodArguments);
    }
 
    /**
     * This function calls another class but wraps it in a DB-Transaction. This might be useful for CREATE / UPDATE / DELETE
     * operations in order to prevent the database from corrupt data. Internally, the regular call() method is used!
     *
     * @param       $class
     * @param array $runMethodArguments
     * @param array $extraMethodsToCall
     *
     * @return mixed
     */
    public function transactionalCall($class, $runMethodArguments = [], $extraMethodsToCall = [])
    {
        return DB::transaction(function() use ($class, $runMethodArguments, $extraMethodsToCall) {
            return $this->call($class, $runMethodArguments, $extraMethodsToCall);
        });
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php
    }
 
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array  $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
 
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
 
        return $instance->$method(...$args);
    }
}
 
/data/webroot/greenfield.edu.vn/current/app/Containers/News/Actions/NewsListingAction.php
        if (isset($filters->layout) && !empty($filters->layout)) {
            $searchConds['layout'] = $filters->layout;
        }
 
        if (isset($filters->is_special)) {
            $searchConds['is_special'] = $filters->is_special;
        }
        if (isset($filters->id_not)) {
            $searchConds['id_not'] = $filters->id_not;
        }
        $data = Apiato::call(
            'News@NewsListingTask',
            [
                $searchConds,
                $orderBy,
                $limit,
                $page,
                Apiato::call('Localization@GetDefaultLanguageTask'),
                $external_data,
                $filters->page ?: 1
            ]
        );
 
        return $data;
    }
}
 
/data/webroot/greenfield.edu.vn/current/app/Ship/core/Traits/CallableTrait.php
     *
     * @param       $class
     * @param array $runMethodArguments
     * @param array $extraMethodsToCall
     *
     * @return  mixed
     * @throws \Dto\Exceptions\UnstorableValueException
     */
    public function call($class, $runMethodArguments = [], $extraMethodsToCall = [])
    {
        $class = $this->resolveClass($class);
 
        $this->setUIIfExist($class);
 
        $this->callExtraMethods($class, $extraMethodsToCall);
 
        // detects Requests arguments "usually sent by controllers", and cvoert them to Transporters.
        $runMethodArguments = $this->convertRequestsToTransporters($class, $runMethodArguments);
 
        return $class->run(...$runMethodArguments);
    }
 
    /**
     * This function calls another class but wraps it in a DB-Transaction. This might be useful for CREATE / UPDATE / DELETE
     * operations in order to prevent the database from corrupt data. Internally, the regular call() method is used!
     *
     * @param       $class
     * @param array $runMethodArguments
     * @param array $extraMethodsToCall
     *
     * @return mixed
     */
    public function transactionalCall($class, $runMethodArguments = [], $extraMethodsToCall = [])
    {
        return DB::transaction(function() use ($class, $runMethodArguments, $extraMethodsToCall) {
            return $this->call($class, $runMethodArguments, $extraMethodsToCall);
        });
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php
    }
 
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array  $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
 
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
 
        return $instance->$method(...$args);
    }
}
 
/data/webroot/greenfield.edu.vn/current/app/Containers/Admissions/UI/WEB/Controllers/Desktop/AdmissionController.php
 
        \View::share('breadcrumb', $breadcrumb);
 
        $param_default = [
            'site_title' => $page->desc->name ?? __('site.tuyensinh'),
            'tabs' => $tabs->sortBy('layout'),
            'id' => $id,
            'page' => $page,
        ];
 
        switch ($layout) {
            case 1:
                $filterNews = [
                    'status' => EnumNews::SHOW,
                    'publish_to' => date("d/m/Y H:i"),
                    'type' => CategoryType::PARENTS,
                    'layout' => 4,
                ];
 
                $news = Apiato::call('News@NewsListingAction', [new DataTransporter($filterNews), 10, ['sort_order' => 'asc', 'published' => 'desc', 'created_at' => 'desc']]);
                $menu_tab_parent = Apiato::call('StaticPage@GetStaticPageByTypePageAction', [ StaticPage::TYPE_PAGE_PARENTS]);
                $linkparent = [];
 
                if (!empty($menu_tab_parent)){
                    $linkparent = $menu_tab_parent->where('layout',4);
                    foreach ($linkparent as $value){
                        $linkparent = $value;
                    }
                }
 
                $background = Apiato::call('Banner@GetBannerByPositionAction', [['parents_story_background'], ['desc'], ['sort_order' => 'asc', 'created_at' => 'desc'], 1, false , true]);
 
                return view('admissions::Desktop.layout'.$layout, array_merge(['news' => $news, 'linkparent' => $linkparent, 'background'=> $background], $param_default));
            case 4:
                $filterNews = [
                    'status' => EnumNews::SHOW,
                    'publish_to' => date("d/m/Y H:i"),
                    'type' => CategoryType::ADMISSIONS,
                    'category_id' => News::TYPE_ADMISSIONS
                ];
/data/webroot/greenfield.edu.vn/current/app/Containers/Admissions/UI/WEB/Controllers/Desktop/AdmissionController.php
use App\Ship\Parents\Exceptions\Exception;
use App\Ship\Transporters\DataTransporter;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
 
class AdmissionController extends BaseFrontEndController
{
    public function index()
    {
        try {
            $tabs = Apiato::call('StaticPage@GetStaticPageByTypePageAction', [StaticPage::TYPE_PAGE_ADMISSION])->KeyBy('id');
            $sort = 100;
            foreach ($tabs as $tab) {
                if (empty($tab->parent_id) && $sort > (int)$tab->layout) {
                    $id = $tab->id;
                    $sort = (int)$tab->layout;
                }
            }
 
            return $this->getDataLayout($id ?? 0, $tabs);
        } catch (Exception $e) {
            abort(404);
        }
    }
 
    public function layout($slug = 'xxx', $id = 0)
    {
        try {
            \View::share('active_menu', 'home.admissions.index');
            return $this->getDataLayout($id, []);
        } catch (Exception $e) {
            abort(404);
        }
    }
 
    public function getDataLayout($id, $tabs = [])
    {
        $tabs = $tabs ?: Apiato::call('StaticPage@GetStaticPageByTypePageAction', [StaticPage::TYPE_PAGE_ADMISSION])->KeyBy('id');
 
        foreach ($tabs as $key => &$tab) {
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return $this->{$method}(...array_values($parameters));
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php
    {
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given controller and method.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return mixed
     */
    public function dispatch(Route $route, $controller, $method)
    {
        $parameters = $this->resolveClassMethodDependencies(
            $route->parametersWithoutNulls(), $controller, $method
        );
 
        if (method_exists($controller, 'callAction')) {
            return $controller->callAction($method, $parameters);
        }
 
        return $controller->{$method}(...array_values($parameters));
    }
 
    /**
     * Get the middleware for the controller instance.
     *
     * @param  \Illuminate\Routing\Controller  $controller
     * @param  string  $method
     * @return array
     */
    public function getMiddleware($controller, $method)
    {
        if (! method_exists($controller, 'getMiddleware')) {
            return [];
        }
 
        return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
            return static::methodExcludedByOptions($method, $data['options']);
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Route.php
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        return $callable(...array_values($this->resolveMethodDependencies(
            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
        )));
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     */
    public function getController()
    {
        if (! $this->controller) {
            $class = $this->parseControllerCallback()[0];
 
            $this->controller = $this->container->make(ltrim($class, '\\'));
        }
 
        return $this->controller;
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Route.php
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']);
    }
 
    /**
     * Run the route action and return the response.
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $excluded = collect($route->excludedMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->values()->all();
 
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->reject(function ($name) use ($excluded) {
            return in_array($name, $excluded, true);
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
/data/webroot/greenfield.edu.vn/current/app/Containers/Localization/Middlewares/LocalizationMiddleware.php
class LocalizationMiddleware extends Middleware
{
 
    /**
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @return  mixed
     */
    public function handle(Request $request, Closure $next)
    {
        // find and validate the lang on that request
        //$lang = $this->validateLanguage($this->findLanguage($request));
        $lang = app()->getLocale();
        // set the local language
 
        App::setLocale($lang);
 
        // get the response after the request is done
        $response = $next($request);
 
        // set Content Languages header in the response
        $response->headers->set('Content-Language', $lang);
 
        // return the response
        return $response;
    }
 
    /**
     * @param $request_languages
     *
     * @return string
     * @throws UnsupportedLanguageException
     */
    private function validateLanguage($request_languages)
    {
        /*
         * be sure to check $lang of the format "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4"
         * this means:
         *  1) give me de-DE if it is available
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/app/Containers/Dashboard/Middlewares/UnitMiddleware.php
        //     // Nếu chưa có unit nào: thì mặc định tự active cho cái đầu tiên
        //     if (empty($selectedObjectType)) {
        //         $object_type = array_key_first($allowedUnitGroupNames);
 
        //         if ($object_type === UnitLib::UNIT_FACULTY) {
        //             $object_id = $allowedFacultyIds[0];
        //             $faculty = Apiato::call('Faculty@FindFacultyByIdAction', [$object_id, ['desc']]);
        //             $object_name = $faculty->desc->name;
        //         } else {
        //             $object_id = 0;
        //             $object_name = $allowedUnitGroupNames[$object_type];
        //         }
 
        //         // TelegramAlert::sendMessage('$selectedObjectType: ' . $selectedObjectType . ' - ' . $object_type . ' - ' . $object_id . ' - ' . $object_name);
 
        //         UnitLib::setActiveUnitData($object_type, $object_id, $object_name);
        //     }
        // }
 
        return $next($request);
    }
 
}
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/app/Containers/Authentication/Middlewares/CheckActiveCustomerAuthentication.php
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if(auth('customer')->check() && auth('customer')->user()->status != EnumCustomerStatus::SHOW){
            auth('customer')->logout();
            return redirect(route('home'))->with([
                'flash_title' => 'Thông báo',
                'flash_message' => 'Tài khoản của bạn đã bị khóa',
                'flash_level' => 'warning'
            ]);
        }
        return $next($request);
    }
}
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/htmlmin/htmlmin/src/Http/Middleware/MinifyMiddleware.php
     * @param \HTMLMin\HTMLMin\Minifiers\HtmlMinifier $html
     *
     * @return void
     */
    public function __construct(HtmlMinifier $html)
    {
        $this->html = $html;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        if ($this->isAResponseObject($response) && $this->isAnHtmlResponse($response)) {
            $output = $response->getContent();
            $minified = $this->html->render($output);
            $response->setContent($minified);
        }
 
        return $response;
    }
 
    /**
     * Check if the response is a usable response class.
     *
     * @param mixed $response
     *
     * @return bool
     */
    protected function isAResponseObject($response)
    {
        return is_object($response) && $response instanceof Response;
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php
     */
    public function __construct(Registrar $router)
    {
        $this->router = $router;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->router->substituteBindings($route = $request->route());
 
        $this->router->substituteImplicitBindings($route);
 
        return $next($request);
    }
}
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Session\TokenMismatchException
     */
    public function handle($request, Closure $next)
    {
        if (
            $this->isReading($request) ||
            $this->runningUnitTests() ||
            $this->inExceptArray($request) ||
            $this->tokensMatch($request)
        ) {
            return tap($next($request), function ($response) use ($request) {
                if ($this->shouldAddXsrfTokenCookie()) {
                    $this->addCookieToResponse($request, $response);
                }
            });
        }
 
        throw new TokenMismatchException('CSRF token mismatch.');
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the current session has an "errors" variable bound to it, we will share
        // its value with all view instances so the views can easily access errors
        // without having to bind. An empty bag is set when there aren't errors.
        $this->view->share(
            'errors', $request->session()->get('errors') ?: new ViewErrorBag
        );
 
        // Putting the errors in the view for every view allows the developer to just
        // assume that some errors are always available, which is convenient since
        // they don't have to continually run checks for the presence of errors.
 
        return $next($request);
    }
}
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleStatefulRequest(Request $request, $session, Closure $next)
    {
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        $request->setLaravelSession(
            $this->startSession($request, $session)
        );
 
        $this->collectGarbage($session);
 
        $response = $next($request);
 
        $this->storeCurrentUrl($request, $session);
 
        $this->addCookieToResponse($response, $session);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        $this->saveSession($request);
 
        return $response;
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @return \Illuminate\Contracts\Session\Session
     */
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! $this->sessionConfigured()) {
            return $next($request);
        }
 
        $session = $this->getSession($request);
 
        if ($this->manager->shouldBlock() ||
            ($request->route() && $request->route()->locksFor())) {
            return $this->handleRequestWhileBlocking($request, $session, $next);
        } else {
            return $this->handleStatefulRequest($request, $session, $next);
        }
    }
 
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleRequestWhileBlocking(Request $request, $session, Closure $next)
    {
        $lockFor = $request->route() && $request->route()->locksFor()
                        ? $request->route()->locksFor()
                        : 10;
 
        $lock = $this->cache($this->manager->blockDriver())
                    ->lock('session:'.$session->getId(), $lockFor)
                    ->betweenBlockedAttemptsSleepFor(50);
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php
     * Create a new CookieQueue instance.
     *
     * @param  \Illuminate\Contracts\Cookie\QueueingFactory  $cookies
     * @return void
     */
    public function __construct(CookieJar $cookies)
    {
        $this->cookies = $cookies;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $name
     * @return void
     */
    public function disableFor($name)
    {
        $this->except = array_merge($this->except, (array) $name);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        return $this->encrypt($next($this->decrypt($request)));
    }
 
    /**
     * Decrypt the cookies on the request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @return \Symfony\Component\HttpFoundation\Request
     */
    protected function decrypt(Request $request)
    {
        foreach ($request->cookies as $key => $cookie) {
            if ($this->isDisabled($key)) {
                continue;
            }
 
            try {
                $value = $this->decryptCookie($key, $cookie);
 
                $hasValidPrefix = strpos($value, CookieValuePrefix::create($key, $this->encrypter->getKey())) === 0;
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $excluded = collect($route->excludedMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->values()->all();
 
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->reject(function ($name) use ($excluded) {
            return in_array($name, $excluded, true);
        })->values();
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
/data/webroot/greenfield.edu.vn/current/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php
     * @param  LaravelDebugbar $debugbar
     */
    public function __construct(Container $container, LaravelDebugbar $debugbar)
    {
        $this->container = $container;
        $this->debugbar = $debugbar;
        $this->except = config('debugbar.except') ?: [];
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  Request  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (!$this->debugbar->isEnabled() || $this->inExceptArray($request)) {
            return $next($request);
        }
 
        $this->debugbar->boot();
 
        try {
            /** @var \Illuminate\Http\Response $response */
            $response = $next($request);
        } catch (Throwable $e) {
            $response = $this->handleException($request, $e);
        }
 
        // Modify the response to add the Debugbar
        $this->debugbar->modifyResponse($request, $response);
 
        return $response;
    }
 
    /**
     * Handle the given exception.
     *
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/fruitcake/laravel-cors/src/HandleCors.php
    protected $container;
    
    public function __construct(CorsService $cors, Container $container)
    {
        $this->cors = $cors;
        $this->container = $container;
    }
 
    /**
     * Handle an incoming request. Based on Asm89\Stack\Cors by asm89
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return Response
     */
    public function handle($request, Closure $next)
    {
        // Check if we're dealing with CORS and if we should handle it
        if (! $this->shouldRun($request)) {
            return $next($request);
        }
 
        // For Preflight, return the Preflight response
        if ($this->cors->isPreflightRequest($request)) {
            return $this->cors->handlePreflightRequest($request);
        }
 
        // If the request is not allowed, return 403
        if (! $this->cors->isActualRequestAllowed($request)) {
            return new Response('Not allowed in CORS policy.', 403);
        }
 
        // Add the headers on the Request Handled event as fallback in case of exceptions
        if (class_exists(RequestHandled::class) && $this->container->bound('events')) {
            $this->container->make('events')->listen(RequestHandled::class, function (RequestHandled $event) {
                $this->addHeaders($event->request, $event->response);
            });
        }
 
        // Handle the request
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/fideloper/proxy/src/TrustProxies.php
    {
        $this->config = $config;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     *
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
        $this->setTrustedProxyIpAddresses($request);
 
        return $next($request);
    }
 
    /**
     * Sets the trusted proxies on the request to the value of trustedproxy.proxies
     *
     * @param \Illuminate\Http\Request $request
     */
    protected function setTrustedProxyIpAddresses(Request $request)
    {
        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
 
        // Trust any IP address that calls us
        // `**` for backwards compatibility, but is deprecated
        if ($trustedIps === '*' || $trustedIps === '**') {
            return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
        }
 
        // Support IPs addresses separated by comma
        $trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php
class ValidatePostSize
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Http\Exceptions\PostTooLargeException
     */
    public function handle($request, Closure $next)
    {
        $max = $this->getPostMaxSize();
 
        if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
            throw new PostTooLargeException;
        }
 
        return $next($request);
    }
 
    /**
     * Determine the server 'post_max_size' as bytes.
     *
     * @return int
     */
    protected function getPostMaxSize()
    {
        if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
            return (int) $postMaxSize;
        }
 
        $metric = strtoupper(substr($postMaxSize, -1));
        $postMaxSize = (int) $postMaxSize;
 
        switch ($metric) {
            case 'K':
                return $postMaxSize * 1024;
            case 'M':
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     * @throws \Illuminate\Foundation\Http\Exceptions\MaintenanceModeException
     */
    public function handle($request, Closure $next)
    {
        if ($this->app->isDownForMaintenance()) {
            $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
 
            if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
                return $next($request);
            }
 
            if ($this->inExceptArray($request)) {
                return $next($request);
            }
 
            throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
        }
 
        return $next($request);
    }
 
    /**
     * Determine if the request has a URI that should be accessible in maintenance mode.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function inExceptArray($request)
    {
        foreach ($this->except as $except) {
            if ($except !== '/') {
                $except = trim($except, '/');
            }
 
            if ($request->fullUrlIs($except) || $request->is($except)) {
                return true;
            }
        }
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
/data/webroot/greenfield.edu.vn/current/app/Ship/Middlewares/Http/TrimStrings.php
                $input = trim($input);
                $allowScript = $this->allowScriptForInputName();
                if (!in_array($key, $allowScript)) {
                    $input = $this->strip_tags_attributes($input, $this->allow_tags);
                }
            });
        } else {
 
            array_walk_recursive($input, function (&$input) {
                $input = trim($input);
                $input = strip_tags($input);
                $input = str_replace(" ", " ", $input);
                $input = str_replace(chr(0xCA), "", $input);  //Remove sneaky spaces
                $input = str_replace(array("<!--", "-->", "/<script/i", ">", "<", '"', "/\\\$/", "/\r/", "!", "'", "=", "+"), array("", "", "&#60;script", "&gt;", "&lt;", "&quot;", "&#036;", "", "&#33;", "&#39;", "", " "), $input);
                $input = preg_replace("/\\\(?!&amp;#|\?#)/", "&#092;", $input);
            });
        }
        $request->merge($input);
 
        return parent::handle($request, $next);
    }
 
    function strip_tags_attributes($sSource, $aAllowedTags = array(), $aDisabledAttributes = array('onabort', 'onactivate', 'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate', 'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce', 'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavaible', 'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragdrop', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterupdate', 'onfinish', 'onfocus', 'onfocusin', 'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown', 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmoveout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove', 'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend', 'onresizestart', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange', 'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload'))
    {
        if (empty($aDisabledAttributes)) return strip_tags($sSource, implode('', $aAllowedTags));
        $str = strip_tags($sSource, implode('', $aAllowedTags));
 
        FunctionLib::set('aDisabledAttributes', $aDisabledAttributes);
        return preg_replace_callback(
            '/<(.*?)>/i',
            function ($matches) {
                $aDisabledAttributes = FunctionLib::get('aDisabledAttributes', []);
                if (!empty($aDisabledAttributes)) {
                    foreach ($matches as $match) {
                        return preg_replace(
                            [
                                //'/javascript:[^\"\']*/i',
                                '/(' . implode('|', $aDisabledAttributes) . ')[ \\t\\n]*=[ \\t\\n]*[\"\'][^\"\']*[\"\']/i',
                                '/\s+/'
                            ],
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/app/Containers/Debugger/Middlewares/RequestsMonitorMiddleware.php
use Closure;
use Illuminate\Http\Request;
 
/**
 * Class RequestsMonitorMiddleware
 *
 * @author  Ha Ly Manh  <halymanh@vccorp.com>
 */
class RequestsMonitorMiddleware extends Middleware
{
 
    /**
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @return  mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $response = $next($request);
 
        $output = new Output($request, $response);
 
        $output->newRequest();
        $output->spaceLine();
 
        $output->header("REQUEST INFO");
        $output->endpoint();
        $output->version();
        $output->ip();
        $output->format();
        $output->spaceLine();
 
        $output->header("USER INFO");
        $output->userInfo();
        $output->spaceLine();
 
        $output->header("REQUEST DATA");
        $output->requestData();
        $output->spaceLine();
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
    {
        $this->app->instance('request', $request);
 
        Facade::clearResolvedInstance('request');
 
        $this->bootstrap();
 
        return (new Pipeline($this->app))
                    ->send($request)
                    ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                    ->then($this->dispatchToRouter());
    }
 
    /**
     * Bootstrap the application for HTTP requests.
     *
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
/data/webroot/greenfield.edu.vn/current/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    public function __construct(Application $app, Router $router)
    {
        $this->app = $app;
        $this->router = $router;
 
        $this->syncMiddlewareToRouter();
    }
 
    /**
     * Handle an incoming HTTP request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Throwable $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
/data/webroot/greenfield.edu.vn/current/public/index.php
*/
 
$app = require_once __DIR__.'/../bootstrap/app.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
  $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"******"
HOME
"************"
HTTP_HOST
"*****************"
HTTP_REFERER
"http://greenfield.edu.vn/vi/tuyen-sinh"
HTTP_USER_AGENT
"*********"
HTTP_ACCEPT
"***"
SCRIPT_FILENAME
"*********************************************************"
REDIRECT_STATUS
"***"
SERVER_NAME
"*****************"
SERVER_PORT
"***"
SERVER_ADDR
"*************"
REMOTE_PORT
"*****"
REMOTE_ADDR
"************"
SERVER_SOFTWARE
"************"
GATEWAY_INTERFACE
"*******"
HTTPS
"**"
REQUEST_SCHEME
"*****"
SERVER_PROTOCOL
"********"
DOCUMENT_ROOT
"**********************************************"
DOCUMENT_URI
"**********"
REQUEST_URI
"**************"
SCRIPT_NAME
"**********"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"***"
QUERY_STRING
""
FCGI_ROLE
"*********"
PHP_SELF
"**********"
REQUEST_TIME_FLOAT
"***"
REQUEST_TIME
"***"
APP_KEY
"***************************************************"
APP_DEBUG
"*****"
API_DEBUG
"*****"
REQUESTS_DEBUG
"*****"
QUERIES_DEBUG
"*****"
DEBUGBAR_ENABLED
"*****"
TEST_RESPONSE_LOGGER_ENABLED
"****"
APP_LOG_LEVEL
"*****"
LOG_CHANNEL
"*****"
APP_HTTPS
"****"
APP_NAME
"*****************"
APP_URL
"**************************************"
APP_DOMAIN
"*****************************"
ADMIN_URL
"*******************************************"
API_URL
"****************************************"
API_PREFIX
"*"
HASH_ID
"****"
HASH_ID_KEY
"*********"
HASH_ID_LENGTH
"**"
API_RATE_LIMIT_ENABLED
"****"
API_RATE_LIMIT_ATTEMPTS
"**"
API_RATE_LIMIT_EXPIRES
"*"
API_REQUEST_APPLY_REQUEST_CRITERIA
"****"
PAGINATION_LIMIT_DEFAULT
"**"
PAGINATION_SKIP
"*****"
API_TOKEN_EXPIRES
"****"
API_REFRESH_TOKEN_EXPIRES
"*****"
API_ENABLE_IMPLICIT_GRANT
"****"
ELOQUENT_QUERY_CACHE
"*****"
ELOQUENT_QUERY_CACHE_TIME
"**"
SRC_PATH
"***"
ROOT_NAMESPACE
"****"
USER_NAMESPACE
"***************************"
CUSTOMER_NAMESPACE
"*******************************"
DB_CONNECTION
"*****"
QUEUE_CONNECTION
"****"
CACHE_DRIVER
"****"
SESSION_DRIVER
"****"
BROADCAST_DRIVER
"***"
FILESYSTEM_DRIVER
"*****"
DB_HOST
"*********"
DB_PORT
"****"
DB_DATABASE
"****************"
DB_USERNAME
"****************"
DB_PASSWORD
"****************"
REDIS_HOST
"*********"
REDIS_PORT
"****"
REDIS_DATABASE
"*"
QUEUE_HOST
"*********"
QUEUE_DEFAULT
"*******"
QUEUE_RETRY_AFTER
"**"
SESSION_COOKIE
"******"
MAIL_MAILER
"***"
MAIL_HOST
"****************"
MAIL_PORT
"****"
MAIL_USERNAME
"****"
MAIL_PASSWORD
"****"
MAIL_ENCRYPTION
"****"
MAIL_FROM_ADDRESS
"****"
MAIL_FROM_NAME
"*****************"
AWS_ACCESS_KEY_ID
""
AWS_SECRET_ACCESS_KEY
""
AWS_DEFAULT_REGION
"*********"
AWS_BUCKET
""
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"***"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"***"
STRIPE_KEY
""
STRIPE_SECRET
""
PAYPAL_ID
""
PAYPAL_SECRET
""
AUTH_FACEBOOK_CLIENT_ID
""
AUTH_FACEBOOK_CLIENT_SECRET
""
AUTH_FACEBOOK_CLIENT_REDIRECT
""
AUTH_TWITTER_CLIENT_ID
""
AUTH_TWITTER_CLIENT_SECRET
""
AUTH_TWITTER_CLIENT_REDIRECT
""
AUTH_GOOGLE_CLIENT_ID
""
AUTH_GOOGLE_CLIENT_SECRET
""
AUTH_GOOGLE_CLIENT_REDIRECT
""
CLIENT_WEB_ADMIN_ID
"**"
CLIENT_WEB_ADMIN_SECRET
"****************************************"
CLIENT_MOBILE_ADMIN_ID
""
CLIENT_MOBILE_ADMIN_SECRET
""
FACEBOOK_APP_ID
"***************"
FACEBOOK_APP_SECRET
"********************************"
GOOGLE_CLIENT_ID
"************************************************************************"
GOOGLE_CLIENT_SECRET
"***********************************"
Key Value
APP_KEY
"***************************************************"
APP_DEBUG
"*****"
API_DEBUG
"*****"
REQUESTS_DEBUG
"*****"
QUERIES_DEBUG
"*****"
DEBUGBAR_ENABLED
"*****"
TEST_RESPONSE_LOGGER_ENABLED
"****"
APP_LOG_LEVEL
"*****"
LOG_CHANNEL
"*****"
APP_HTTPS
"****"
APP_NAME
"*****************"
APP_URL
"**************************************"
APP_DOMAIN
"*****************************"
ADMIN_URL
"*******************************************"
API_URL
"****************************************"
API_PREFIX
"*"
HASH_ID
"****"
HASH_ID_KEY
"*********"
HASH_ID_LENGTH
"**"
API_RATE_LIMIT_ENABLED
"****"
API_RATE_LIMIT_ATTEMPTS
"**"
API_RATE_LIMIT_EXPIRES
"*"
API_REQUEST_APPLY_REQUEST_CRITERIA
"****"
PAGINATION_LIMIT_DEFAULT
"**"
PAGINATION_SKIP
"*****"
API_TOKEN_EXPIRES
"****"
API_REFRESH_TOKEN_EXPIRES
"*****"
API_ENABLE_IMPLICIT_GRANT
"****"
ELOQUENT_QUERY_CACHE
"*****"
ELOQUENT_QUERY_CACHE_TIME
"**"
SRC_PATH
"***"
ROOT_NAMESPACE
"****"
USER_NAMESPACE
"***************************"
CUSTOMER_NAMESPACE
"*******************************"
DB_CONNECTION
"*****"
QUEUE_CONNECTION
"****"
CACHE_DRIVER
"****"
SESSION_DRIVER
"****"
BROADCAST_DRIVER
"***"
FILESYSTEM_DRIVER
"*****"
DB_HOST
"*********"
DB_PORT
"****"
DB_DATABASE
"****************"
DB_USERNAME
"****************"
DB_PASSWORD
"****************"
REDIS_HOST
"*********"
REDIS_PORT
"****"
REDIS_DATABASE
"*"
QUEUE_HOST
"*********"
QUEUE_DEFAULT
"*******"
QUEUE_RETRY_AFTER
"**"
SESSION_COOKIE
"******"
MAIL_MAILER
"***"
MAIL_HOST
"****************"
MAIL_PORT
"****"
MAIL_USERNAME
"****"
MAIL_PASSWORD
"****"
MAIL_ENCRYPTION
"****"
MAIL_FROM_ADDRESS
"****"
MAIL_FROM_NAME
"*****************"
AWS_ACCESS_KEY_ID
""
AWS_SECRET_ACCESS_KEY
""
AWS_DEFAULT_REGION
"*********"
AWS_BUCKET
""
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"***"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"***"
STRIPE_KEY
""
STRIPE_SECRET
""
PAYPAL_ID
""
PAYPAL_SECRET
""
AUTH_FACEBOOK_CLIENT_ID
""
AUTH_FACEBOOK_CLIENT_SECRET
""
AUTH_FACEBOOK_CLIENT_REDIRECT
""
AUTH_TWITTER_CLIENT_ID
""
AUTH_TWITTER_CLIENT_SECRET
""
AUTH_TWITTER_CLIENT_REDIRECT
""
AUTH_GOOGLE_CLIENT_ID
""
AUTH_GOOGLE_CLIENT_SECRET
""
AUTH_GOOGLE_CLIENT_REDIRECT
""
CLIENT_WEB_ADMIN_ID
"**"
CLIENT_WEB_ADMIN_SECRET
"****************************************"
CLIENT_MOBILE_ADMIN_ID
""
CLIENT_MOBILE_ADMIN_SECRET
""
FACEBOOK_APP_ID
"***************"
FACEBOOK_APP_SECRET
"********************************"
GOOGLE_CLIENT_ID
"************************************************************************"
GOOGLE_CLIENT_SECRET
"***********************************"
0. Whoops\Handler\PrettyPageHandler