getgrav / getgrav/grav-plugin-form

Warning on submit "key() expects parameter 1 to be array, string given"

Open
#438 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
64
Forks
80
Avg merge
10h 13m
Merged PRs (30d)
9

Description

Submitting a simple form with no captcha (similar to #228)

Whoops\Exception\ErrorException thrown with message "key() expects parameter 1 to be array, string given"

```
if (is_numeric($action)) {
$action = \key($data); // <--- This line
$data = $data[$action];
}
```

```
Stacktrace:
#50 Whoops\Exception\ErrorException in /var/www/myproject/user/plugins/form/classes/Form.php:885
#49 key in /var/www/myproject/user/plugins/form/classes/Form.php:885
#48 Grav\Plugin\Form\Form:post in /var/www/myproject/user/plugins/form/form.php:258
#47 Grav\Plugin\FormPlugin:onPageInitialized in /var/www/myproject/vendor/symfony/event-dispatcher/EventDispatcher.php:212
#46 Symfony\Component\EventDispatcher\EventDispatcher:doDispatch in /var/www/myproject/vendor/symfony/event-dispatcher/EventDispatcher.php:44
#45 Symfony\Component\EventDispatcher\EventDispatcher:dispatch in /var/www/myproject/vendor/rockettheme/toolbox/Event/src/EventDispatcher.php:23
#44 RocketTheme\Toolbox\Event\EventDispatcher:dispatch in /var/www/myproject/system/src/Grav/Common/Grav.php:403
#43 Grav\Common\Grav:fireEvent in /var/www/myproject/system/src/Grav/Common/Processors/PagesProcessor.php:32
#42 Grav\Common\Processors\PagesProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#41 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#40 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/TwigProcessor.php:27
#39 Grav\Common\Processors\TwigProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#38 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#37 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/AssetsProcessor.php:28
#36 Grav\Common\Processors\AssetsProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#35 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#34 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/SchedulerProcessor.php:29
#33 Grav\Common\Processors\SchedulerProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#32 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#31 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/BackupsProcessor.php:28
#30 Grav\Common\Processors\BackupsProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#29 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#28 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/TasksProcessor.php:59
#27 Grav\Common\Processors\TasksProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#26 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#25 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/RequestProcessor.php:52
#24 Grav\Common\Processors\RequestProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#23 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#22 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/ThemesProcessor.php:27
#21 Grav\Common\Processors\ThemesProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#20 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#19 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/PluginsProcessor.php:30
#18 Grav\Common\Processors\PluginsProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#17 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#16 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/InitializeProcessor.php:95
#15 Grav\Common\Processors\InitializeProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#14 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#13 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/DebuggerProcessor.php:27
#12 Grav\Common\Processors\DebuggerProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#11 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#10 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/ErrorsProcessor.php:27
#9 Grav\Common\Processors\ErrorsProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#8 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#7 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/LoggerProcessor.php:48
#6 Grav\Common\Processors\LoggerProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#5 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#4 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Processors/ConfigurationProcessor.php:28
#3 Grav\Common\Processors\ConfigurationProcessor:process in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45
#2 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57
#1 Grav\Framework\RequestHandler\RequestHandler:handle in /var/www/myproject/system/src/Grav/Common/Grav.php:272
#0 Grav\Common\Grav:process in /var/www/myproject/index.php:54
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in user/plugins/form/classes/Form.php at line 885, following the post flow from user/plugins/form/form.php. Reproduce a simple form submission without captcha, inspect the data passed to key(), and verify that submission completes without the reported warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.