typemill / typemill

Typemill is a lightweight, flat-file CMS designed for simple, fast, and flexible website and eBook creation using Markdown.
https://typemill.net
MIT License
427 stars 60 forks source link

Contactform plugin, issue on submit, slim error #365

Closed jasminenalani closed 1 year ago

jasminenalani commented 1 year ago

Running Typemill on my shared hosting server and getting the following issue with using the contactform plugin.

Slim Application Error
The application could not run because of the following error:

Details
Type: Error
Message: Call to a member function get() on null
File: /home/mysite.com/system/Middleware/SecurityMiddleware.php
Line: 83
Trace
#0 [internal function]: Typemill\Middleware\securityMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#1 /home/mysite.com/system/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Typemill\Middleware\securityMiddleware), Array)
#2 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#3 /home/mysite.com/system/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#4 /home/mysite.com/system/Middleware/OldInputMiddleware.php(29): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#5 [internal function]: Typemill\Middleware\OldInputMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#6 /home/mysite.com/system/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Typemill\Middleware\OldInputMiddleware), Array)
#7 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#8 /home/mysite.com/system/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#9 /home/mysite.com/system/vendor/slim/csrf/src/Guard.php(171): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#10 [internal function]: Slim\Csrf\Guard->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#11 /home/mysite.com/system/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Slim\Csrf\Guard), Array)
#12 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#13 /home/mysite.com/system/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#14 /home/mysite.com/system/Middleware/assetMiddleware.php(36): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#15 [internal function]: Typemill\Middleware\assetMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#16 /home/mysite.com/system/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Typemill\Middleware\assetMiddleware), Array)
#17 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#18 /home/mysite.com/system/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#19 /home/mysite.com/system/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#20 /home/mysite.com/system/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#21 /home/mysite.com/system/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#22 /home/mysite.com/index.php(7): Slim\App->run()
#23 {main}

Notice: Undefined property: Typemill\Middleware\securityMiddleware::$c in /home/mysite.com/system/Middleware/SecurityMiddleware.php on line 83
jasminenalani commented 1 year ago

Further note:

trendschau commented 1 year ago

thank you, I will check asap. Can you tell me your php version please?

jasonday commented 1 year ago

@jasminenalani is a collaborator. Php is 7.4.

Oddly, the internal captcha started working after disabling, saving, reenabling, but the recaptcha is not working correctly in any scenario.

trendschau commented 1 year ago

I fixed the formal error above but unfortunately don't have the time to test deeply. The captchas do not work nicely in all scenarios, I will rework this feature in V2 of Typemill.

trendschau commented 1 year ago

fix is published in zip version (typemill.net) too. I will close this for now, please reopen if the fix does not work.