Laravel-filemanager: Error when accessing /laravel-filemanager

Created on 11 Jan 2018  路  19Comments  路  Source: UniSharp/laravel-filemanager

Operating system: Ubuntu 16.04.3 LTS (Running in Homestead v5.0.1)
Laravel version: Laravel Framework 5.5.28
Package version: "~1.8"

Steps to reproduce issue:
Just open http://my.app/laravel-filemanager in browser
(It has been working for quite a while before so this is a new issue. Not sure if it's related to package upgrades or similar.)

Should also note that I can still accesss laravel-filemanager from the standalone buttons I have in my application's forms.

Screenshots:
screen shot 2018-01-11 at 12 34 47
screen shot 2018-01-11 at 12 35 41

Log entry with stack trace
`[2018-01-11 12:36:35] local.ERROR: Type error: Argument 1 passed to Doctrine\Common\Inflector\Inflector::singularize() must be of the type string, null given, called in /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php on line 84 {"userId":1,"email":"[email protected]","exception":"[object] (Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Type error: Argument 1 passed to Doctrine\Common\Inflector\Inflector::singularize() must be of the type string, null given, called in /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php on line 84 at /home/vagrant/code/bootstrap/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php:441)
[stacktrace]

0 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php(84): Doctrine\Common\Inflector\Inflector::singularize(NULL)

1 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Support/Str.php(403): Illuminate\Support\Pluralizer::singular(NULL)

2 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Support/helpers.php(975): Illuminate\Support\Str::singular(NULL)

3 /home/vagrant/code/bootstrap/vendor/unisharp/laravel-filemanager/src/traits/LfmHelpers.php(335): str_singular(NULL)

4 /home/vagrant/code/bootstrap/vendor/unisharp/laravel-filemanager/src/traits/LfmHelpers.php(101): Unisharp\Laravelfilemanager\middlewares\CreateDefaultFolder->isProcessingImages()

5 /home/vagrant/code/bootstrap/vendor/unisharp/laravel-filemanager/src/traits/LfmHelpers.php(186): Unisharp\Laravelfilemanager\middlewares\CreateDefaultFolder->getPathPrefix('dir')

6 /home/vagrant/code/bootstrap/vendor/unisharp/laravel-filemanager/src/middlewares/CreateDefaultFolder.php(30): Unisharp\Laravelfilemanager\middlewares\CreateDefaultFolder->getRootFolderPath('share')

7 /home/vagrant/code/bootstrap/vendor/unisharp/laravel-filemanager/src/middlewares/CreateDefaultFolder.php(15): Unisharp\Laravelfilemanager\middlewares\CreateDefaultFolder->checkDefaultFolderExists('share')

8 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Unisharp\Laravelfilemanager\middlewares\CreateDefaultFolder->handle(Object(Illuminate\Http\Request), Object(Closure))

9 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

10 /home/vagrant/code/bootstrap/vendor/unisharp/laravel-filemanager/src/middlewares/MultiUser.php(25): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

11 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Unisharp\Laravelfilemanager\middlewares\MultiUser->handle(Object(Illuminate\Http\Request), Object(Closure))

12 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

13 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

14 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))

15 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

16 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(43): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

17 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Auth\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))

18 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

19 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(67): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

20 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))

21 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

22 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

23 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))

24 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

25 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

26 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))

27 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

28 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

29 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))

30 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

31 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

32 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))

33 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

34 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

35 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\Pipeline\Pipeline->then(Object(Closure))

36 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))

37 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))

38 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))

39 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))

40 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))

41 /home/vagrant/code/bootstrap/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(65): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

42 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle(Object(Illuminate\Http\Request), Object(Closure))

43 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

44 /home/vagrant/code/bootstrap/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

45 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))

46 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

47 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

48 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

49 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

50 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

51 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

52 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

53 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

54 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))

55 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

56 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

57 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

58 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))

59 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))

60 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))

61 /home/vagrant/code/bootstrap/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

62 /home/vagrant/code/bootstrap/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

63 {main}

"}
`

WIP

Most helpful comment

In lfmhelpers.php line 335 replace the return with this:

return lcfirst(str_singular(request('type') ? request('type') : '')) === 'image';

and in vendor/unisharp/laravel-filemanager/src/views/index.blade.php line 209 replace with this:

acceptedFiles: "{{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? implode(',', config('lfm.valid_image_mimetypes')) : implode(',', config('lfm.valid_file_mimetypes')) }}",
maxFilesize: ({{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? config('lfm.max_image_size') : config('lfm.max_file_size') }} / 1000)

Hope this helps, it works in mine.

All 19 comments

I was about the post the same issue! I tried downgrading to 1.8.3 and 1.8.2, but I'm getting the same error, so I guess it has to be a problem with some dependencies breaking their API?
If anyone has found a solution, please share!

I'm having the same error.

Try this: replace line 335 of LfmHelpers.php from

return lcfirst(str_singular(request('type'))) === 'image';

to

return lcfirst(str_singular(request('type') ?: '')) === 'image';

I saw this line from your backtrace:

Doctrine\\Common\\Inflector\\Inflector::singularize(NULL) #1 

This issue might be cause by an upgrade of Doctrine package.

In lfmhelpers.php line 335 replace the return with this:

return lcfirst(str_singular(request('type') ? request('type') : '')) === 'image';

and in vendor/unisharp/laravel-filemanager/src/views/index.blade.php line 209 replace with this:

acceptedFiles: "{{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? implode(',', config('lfm.valid_image_mimetypes')) : implode(',', config('lfm.valid_file_mimetypes')) }}",
maxFilesize: ({{ lcfirst(str_singular(request('type') ? request('type') : '')) == 'image' ? config('lfm.max_image_size') : config('lfm.max_file_size') }} / 1000)

Hope this helps, it works in mine.

Solution works great. Thanks! LOVE this package.

Works for me as well! thanks!

A simpler solution that still allows you to run composer update is to add the previous version of inflector to composer.json require:{ "doctrine/inflector": "v1.2"} until this issue has been patched.

@paulkn's solution worked for me, I will be waiting for the fix to remove the inflator from composer.

Any news about it?

Bump.

Having the same issue

having the same issue error when accessing to laravel-filemanager with this error
ype error: Argument 1 passed to Doctrine\Common\Inflector\Inflector::singularize() must be of the type string, null given, called in C:\wamp64\www\OTCfinal\vendor\laravel\frameworksrc\Illuminate\Support\Pluralizer.php on line 79
image

@alalfakawma it worked for me now. thanks.
In my case, I edited in resources/views/vendor/laravel-filemanager/index.blade.php 馃拑

Any Update on this ?

We need an update...

Did you try @paulkn鈥檚 solution? That worked for the embedded Iframe.

If so, what have you tried? What are your errors and what are you trying to achieve?

"doctrine/inflector": "v1.2" it worked for me

Downgrading inflector works fine...until the issue is patched. Is there anyone who has sent a PR for this ??

Fixed in aaf2764f.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

maorkavod picture maorkavod  路  5Comments

ikkosatrio picture ikkosatrio  路  4Comments

DaxtonChen picture DaxtonChen  路  4Comments

kfulk14 picture kfulk14  路  3Comments

intergalactisch picture intergalactisch  路  5Comments