ryancramerdesign / ProcessWire

Our repository has moved to https://github.com/processwire – please head there for the latest version.
https://processwire.com
Other
727 stars 198 forks source link

Major error after installing SystemNotifications core module on 3.0.20 #1865

Open jacmaes opened 8 years ago

jacmaes commented 8 years ago

Can't access site admin anymore unless I manually disable "SystemNotifications" in wire > modules > System. This is the error log:

2016-06-06 11:55:46 jacmaes http://www.mysite.com/processwire/module/ Error: Uncaught Error: Call to a member function getNew() on null in /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module:464 Stack trace: #0 /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module(366): ProcessWire\SystemNotifications->noticeToNotification(Object(ProcessWire\NoticeMessage)) #1 /home/mysite/public_html/wire/core/WireHooks.php(626): ProcessWire\SystemNotifications->hookAdminThemeGetExtraMarkup(Object(ProcessWire\HookEvent)) #2 /home/mysite/public_html/wire/core/Wire.php(370): ProcessWire\WireHooks->runHooks(Object(ProcessWire\AdminThemeDefault), 'getExtraMarkup', Array) #3 /home/mysite/public_html/wire/modules/AdminTheme/AdminThemeDefault/default.php(30): ProcessWire\Wire->__call('getExtraMarkup', Array) #4 /home/mysite/public_html/wire/core/admin.php(158): require('/home/quorumsel...') #5 /home/mysite/public_html/wire/modules/AdminTheme/AdminThemeDefault/controlle (line 464 of /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module) 2016-06-06 11:55:50 jacmaes http://www.mysite.es/processwire/page/ Error: Uncaught Error: Call to a member function getNew() on null in /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module:464 Stack trace: #0 /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module(366): ProcessWire\SystemNotifications->noticeToNotification(Object(ProcessWire\NoticeMessage)) #1 /home/mysite/public_html/wire/core/WireHooks.php(626): ProcessWire\SystemNotifications->hookAdminThemeGetExtraMarkup(Object(ProcessWire\HookEvent)) #2 /home/mysite/public_html/wire/core/Wire.php(370): ProcessWire\WireHooks->runHooks(Object(ProcessWire\AdminThemeDefault), 'getExtraMarkup', Array) #3 /home/mysite/public_html/wire/modules/AdminTheme/AdminThemeDefault/default.php(30): ProcessWire\Wire->__call('getExtraMarkup', Array) #4 /home/mysite/public_html/wire/core/admin.php(158): require('/home/quorumsel...') #5 /home/mysite/public_html/wire/modules/AdminTheme/AdminThemeDefault/controlle (line 464 of /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module)

ryancramerdesign commented 8 years ago

I can't duplicate the error here, but with the debug backtrace you provided that gave me a spot to add a couple more checks, just in case. The latest commit has those checks. Please let me know if you continue to run into any issues with it. Thanks.

jacmaes commented 8 years ago

I've removed then uploaded the latest wire folder, but I'm still getting errors when I log out, then try to log back in. This is what I'm getting (I tried from various browsers):

Error: Uncaught Error: Call to a member function message() on null in /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module:573
Stack trace:
#0 /home/mysite/public_html/wire/core/WireHooks.php(619): ProcessWire\SystemNotifications->hookLogin(Object(ProcessWire\HookEvent))
#1 /home/mysite/public_html/wire/core/Wire.php(370): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Session), 'login', Array)
#2 /home/mysite/public_html/wire/modules/Process/ProcessLogin/ProcessLogin.module(141): ProcessWire\Wire->__call('login', Array)
#3 [internal function]: ProcessWire\ProcessLogin->___execute()
#4 /home/mysite/public_html/wire/core/Wire.php(347): call_user_func_array(Array, Array)
#5 /home/mysite/public_html/wire/core/WireHooks.php(548): ProcessWire\Wire->_callMethod('___execute', Array)
#6 /home/mysite/public_html/wire/core/Wire.php(370): ProcessWire\WireHooks->runHooks(Object(ProcessWire\ProcessLogin), 'execute', Array)
# (line 573 of /home/mysite/public_html/wire/modules/System/SystemNotifications/SystemNotifications.module) 

This error message was shown because: you are logged in as a Superuser. Error has been logged.

I'm on a shared server with PHP 7.