joomla / joomla-cms

Home of the Joomla! Content Management System
https://www.joomla.org
GNU General Public License v2.0
4.79k stars 3.66k forks source link

Media manager error, when "Path to Files Folder" field contain folder that not in the plugin "FileSystem - Local", COM_MEDIA_ERROR_ACCOUNT_NOT_FOUND #44277

Closed spike277 closed 1 month ago

spike277 commented 1 month ago

Steps to reproduce the issue

If the standard image directory is changed under Plugins System File System, TinyMCe produces an error message COM_MEDIA_ERROR_ACCOUNT_NOT_FOUND

Please fix it. Thanks

Expected result

Actual result

System information (as much as possible)

Additional comments

brianteeman commented 1 month ago

Bug confirmed

Octopus2 commented 1 month ago

I have the same problem under 5.2 and cannot edit existing articles either via the backend or the frontend. However, I have neither changed the standard image directory under Plugins System File System, nor do I have Phoca Download installed. The template is Helix Ultimate. This is very problematic, as I had no issues under 5.1.4. What additional information is needed? Here is the debug-info:

COM_MEDIA_ERROR_ACCOUNT_NOT_FOUND    
# | Function | Location
-- | -- | --
1 | () | JROOT/administrator/components/com_media/src/Provider/ProviderManager.php:128
2 | Joomla\Component\Media\Administrator\Provider\ProviderManager->getAdapter() | JROOT/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php:97
3 | class@anonymous/www/htdocs/DOMAIN REMOVED/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php:333$15->getAdapter() | JROOT/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php:151
4 | class@anonymous/www/htdocs/DOMAIN REMOVED/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php:333$15->getDefaultAdapterName() | JROOT/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php:123
5 | class@anonymous/www/htdocs/DOMAIN REMOVED/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php:333$15->resolveAdapterAndPath() | JROOT/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php:338
6 | class@anonymous/www/htdocs/DOMAIN REMOVED/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php:333$15->prepareTinyMCEUploadPath() | JROOT/plugins/editors/tinymce/src/PluginTraits/DisplayTrait.php:352
7 | Joomla\Plugin\Editors\TinyMCE\Provider\TinyMCEProvider->display() | JROOT/libraries/src/Editor/Editor.php:211
8 | Joomla\CMS\Editor\Editor->display() | JROOT/libraries/src/Form/Field/EditorField.php:250
9 | Joomla\CMS\Form\Field\EditorField->getInput() | JROOT/libraries/src/Form/FormField.php:482
10 | Joomla\CMS\Form\FormField->__get() | JROOT/libraries/src/Form/Field/TextareaField.php:94
11 | Joomla\CMS\Form\Field\TextareaField->__get() | JROOT/libraries/src/Form/Field/EditorField.php:138
12 | Joomla\CMS\Form\Field\EditorField->__get() | JROOT/libraries/src/Form/Form.php:458
13 | Joomla\CMS\Form\Form->getInput() | JROOT/administrator/components/com_content/tmpl/article/edit.php:73
14 | include() | JROOT/libraries/src/MVC/View/HtmlView.php:416
15 | Joomla\CMS\MVC\View\HtmlView->loadTemplate() | JROOT/libraries/src/MVC/View/HtmlView.php:204
16 | Joomla\CMS\MVC\View\HtmlView->display() | JROOT/administrator/components/com_content/src/View/Article/HtmlView.php:135
17 | Joomla\Component\Content\Administrator\View\Article\HtmlView->display() | JROOT/libraries/src/MVC/Controller/BaseController.php:697
18 | Joomla\CMS\MVC\Controller\BaseController->display() | JROOT/administrator/components/com_content/src/Controller/DisplayController.php:65
19 | Joomla\Component\Content\Administrator\Controller\DisplayController->display() | JROOT/libraries/src/MVC/Controller/BaseController.php:730
20 | Joomla\CMS\MVC\Controller\BaseController->execute() | JROOT/libraries/src/Dispatcher/ComponentDispatcher.php:143
21 | Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() | JROOT/libraries/src/Component/ComponentHelper.php:361
22 | Joomla\CMS\Component\ComponentHelper::renderComponent() | JROOT/libraries/src/Application/AdministratorApplication.php:150
23 | Joomla\CMS\Application\AdministratorApplication->dispatch() | JROOT/libraries/src/Application/AdministratorApplication.php:195
24 | Joomla\CMS\Application\AdministratorApplication->doExecute() | JROOT/libraries/src/Application/CMSApplication.php:306
25 | Joomla\CMS\Application\CMSApplication->execute() | JROOT/administrator/includes/app.php:58
26 | require_once() | JROOT/administrator/index.php:32

</div><!--EndFragment-->
</body>
</html>
brianteeman commented 1 month ago

This appears to be the result of the changes made in https://github.com/joomla/joomla-cms/pull/43579

I can replicate the bug and if I revert the changes in that PR the bug is cleared.

Hope that helps someone to resolve the bug

Fedik commented 1 month ago

It is not very clear how to reproduce the error. After update to 5.2 TinyMCE works, drag&drop upload works, for me.

Fedik commented 1 month ago

I found it can only happen when "Media: Options" => "Path to Files Folder" field contain folder that not in the plugin "FileSystem - Local", and "Images Directory" in the TinyMCE plugin is empty.

Can someone confirm?

Fedik commented 1 month ago

To fix this error on your site, please make sure the folder in "Media: Options" => "Path to Files Folder" also choosen in the plugin "FileSystem - Local".

It is strange behavior of Media manager, in https://github.com/joomla/joomla-cms/blob/d61c52e8d6920dface811cba064649a3c7524a26/administrator/components/com_media/src/Provider/ProviderManagerHelperTrait.php#L151

The https://github.com/joomla/joomla-cms/pull/43579 uncovered this bug.

brianteeman commented 1 month ago

To fix this error on your site, please make sure the folder in "Media: Options" => "Path to Files Folder" also choosen in the plugin "FileSystem - Local".

That only partialy works. If you select a root folder eg plugins in the filesystem-local then you have to select a subfolder of plugins in tinymce. Leaving it empty in tinymce does not default to the plugins folder and still gives the error,

Either way thats not a real fix just a temp fix until code can be fixed and released.

Fedik commented 1 month ago

If you select a root folder eg plugins in the filesystem-local then you have to select a subfolder of plugins in tinymce.

Let say you have folder files. Then you have to:

Then TinyMCE will work even with empty value, all upload will be directly in to files/ folder.

Either way thats not a real fix just a temp fix until code can be fixed and released.

Yeap.

brianteeman commented 1 month ago

it did not work for me with the empty as you described

spike277 commented 1 month ago

@Fedik I know thanks, but thats no option for me. I hope for fix.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/44277.

Fedik commented 1 month ago

Please test https://github.com/joomla/joomla-cms/pull/44313

spike277 commented 1 month ago

Your solution in #44313 works only in Backend, Frontend still the same error.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/44277.

LuxLOL commented 1 month ago

This also happens if the Path to Files Folder or Images Folder has an uppercase.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/44277.