Closed DonPedro34 closed 2 years ago
POST http://xxxxxxxxx/api/index.php/v1/content/articles 500 372 ms POST /api/index.php/v1/content/articles HTTP/1.1 Content-Type: application/json X-Joomla-Token: c2hhMjU2OjgxNjoyODYwNzk5NWFiZjhhZjJjNzVhMmU1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx User-Agent: PostmanRuntime/7.29.0 Accept: / Postman-Token: b52f1e9b-ac8c-4993-a625-d479b73f9558 Host: import.insects.at Accept-Encoding: gzip, deflate, br Connection: keep-alive Content-Length: 181
{ "alias": "my-article-5", "articletext": "My text", "catid": 126, "language": "*", "metadesc": "", "metakey": "", "title": "Here's an article" }
HTTP/1.1 500 Internal Server Error Date: Fri, 03 Jun 2022 21:13:34 GMT Server: Apache x-frame-options: SAMEORIGIN referrer-policy: strict-origin-when-cross-origin cross-origin-opener-policy: same-origin X-Powered-By: JoomlaAPI/1.0 Expires: Wed, 17 Aug 2005 00:00:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache X-Content-Type-Options: nosniff Upgrade: h2,h2c Connection: Upgrade, close Last-Modified: Fri, 03 Jun 2022 21:13:34 GMT Vary: User-Agent Transfer-Encoding: chunked Content-Type: application/vnd.api+json; charset=utf-8
{"errors":{"code":500,"title":"Internal server error"}}
from your stack trace
Too few arguments to function plgContentembed_google_map::onContentPrepare(), 3 passed in [ROOT]/libraries/src/Plugin/CMSPlugin.php on line 285 and exactly 4 expected". Stack trace: #0 [ROOT]/libraries/src/Plugin/CMSPlugin.php(285): plgContentembed_google_map->onContentPrepare('com_content.art...',
there is an error in that content plugin embed_google_map
Closing as not a core issue.
Hi, I apologize for commenting on an already closed issue, but I can reproduce this problem with other plugins (e.g. ignite gallery). The problem seems to be here https://github.com/joomla/joomla-cms/blob/a84ef004541e63ea1952fb9c1ba024265ca2894e/api/components/com_content/src/View/Articles/JsonapiView.php#L191
Acording to plugin events documentation at https://docs.joomla.org/Plugin/Events/Content#onContentPrepare , event handlers should be invoked with 4 arguments, but JsonapiView
triggers the event with only 3 arguments (the $page
argument is missing).
I think either the documentation should be made clear that the $page
argument is optional, or the JsonapiView
should pass the 4th argument.
Same apology - but I have the same issue. IF this is related to a plugin that is not sending 4 arguments, it can be causing all API calls to fail (which is my situation : 500 internal error on GETs of any kind...) ?
Steps to reproduce the issue
Use Postman to create an Article /content/articles
With no Admin Plugin installed/enabled this Works Fine. You can use the boxplus Plugin or others to reproduce.
With Demo body: { "alias": "my-article-3", "articletext": "My text", "catid": 126, "language": "*", "metadesc": "", "metakey": "", "title": "Here's an article" }
Expected result
{ "links": { "self": "http://xxxxxxxxxxx/api/index.php/v1/content/articles" }, "data": { "type": "articles", "id": "123", "attributes": { "typeAlias": "com_content.article", "id": 123, "asset_id": 466, "title": "Here's an article", "alias": "my-article-3", "state": 0, "created": "2022-06-03 20:59:53", "created_by": 816, "created_by_alias": "", "modified": "2022-06-03 20:59:53", "modified_by": 816, "publish_up": null, "publish_down": null, "images": [], "urls": [], "version": 1, "metakey": "", "metadesc": "", "access": 1, "hits": 0, "metadata": [], "featured": 0, "language": "*", "note": "", "tags": [], "featured_up": null, "featured_down": null, "text": "My text ", "show-infobox": { "true": "True" }, "date": "", "inaturalist-link": "", "show-maps": { "false": "False" }, "location": "", "copyright": "xxxxxxxxx", "camera": { "": null }, "lens": { "": null }, "latitude": "", "english": "", "longitude": "", "german": "", "danish": "" }, "relationships": { "category": { "data": { "type": "categories", "id": "126" } }, "created_by": { "data": { "type": "users", "id": "816" } }, "modified_by": { "data": { "type": "users", "id": "816" } } } } }
Actual result
{ "errors": { "code": 500, "title": "Internal server error" } }
System information (as much as possible)
Joomla 4.1.4
Additional comments
The Article is actually added but CMSPlugin.php fails with this error:
2022-06-03T20:42:25+00:00 CRITICAL 91.141.77.73 error Uncaught Throwable of type ArgumentCountError thrown with message "Too few arguments to function plgContentembed_google_map::onContentPrepare(), 3 passed in [ROOT]/libraries/src/Plugin/CMSPlugin.php on line 285 and exactly 4 expected". Stack trace: #0 [ROOT]/libraries/src/Plugin/CMSPlugin.php(285): plgContentembed_google_map->onContentPrepare('com_content.art...', Object(Joomla\CMS\Object\CMSObject), NULL)
1 [ROOT]/libraries/vendor/joomla/event/src/Dispatcher.php(486): Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin{closure}(Object(Joomla\Event\Event))
2 [ROOT]/libraries/src/Application/EventAware.php(111): Joomla\Event\Dispatcher->dispatch('onContentPrepar...', Object(Joomla\Event\Event))
3 [ROOT]/api/components/com_content/src/View/Articles/JsonapiView.php(196): Joomla\CMS\Application\WebApplication->triggerEvent('onContentPrepar...', Array)
4 [ROOT]/libraries/src/MVC/View/JsonApiView.php(222): Joomla\Component\Content\Api\View\Articles\JsonapiView->prepareItem(Object(Joomla\CMS\Object\CMSObject))
5 [ROOT]/api/components/com_content/src/View/Articles/JsonapiView.php(178): Joomla\CMS\MVC\View\JsonApiView->displayItem()
6 [ROOT]/libraries/src/MVC/Controller/ApiController.php(187): Joomla\Component\Content\Api\View\Articles\JsonapiView->displayItem()
7 [ROOT]/libraries/src/MVC/Controller/ApiController.php(344): Joomla\CMS\MVC\Controller\ApiController->displayItem(1327)
8 [ROOT]/libraries/src/MVC/Controller/BaseController.php(735): Joomla\CMS\MVC\Controller\ApiController->add()
9 [ROOT]/libraries/src/Dispatcher/ApiDispatcher.php(59): Joomla\CMS\MVC\Controller\BaseController->execute('add')
10 [ROOT]/libraries/src/Component/ComponentHelper.php(389): Joomla\CMS\Dispatcher\ApiDispatcher->dispatch()
11 [ROOT]/libraries/src/Application/ApiApplication.php(423): Joomla\CMS\Component\ComponentHelper::renderComponent('com_content')
12 [ROOT]/libraries/src/Application/ApiApplication.php(110): Joomla\CMS\Application\ApiApplication->dispatch()
13 [ROOT]/libraries/src/Application/CMSApplication.php(278): Joomla\CMS\Application\ApiApplication->doExecute()
14 [ROOT]/api/includes/app.php(54): Joomla\CMS\Application\CMSApplication->execute()
15 [ROOT]/api/index.php(31): require_once('/www/htdocs/w00...')
16 {main}