Jump to content

FIX: Reactions in Private Messages 1.0.1


Recommended Posts

I wil NOT be available until February 04, so here goes a quick fix (FTP required) for those who are using the plugin Reactions in Private Messages 1.0.1 and have the following error:

Quote
Error: Call to undefined method IPS\core\Messenger\Message::reactionType() (0)
#0 /www/invision/system/Notification/Inline.php(239): IPS\core\extensions\core\Notifications\_MyStuff->parse_new_likes()
#1 /www/invision/applications/core/modules/front/system/ajax.php(459): IPS\Notification\_Inline->getData()
#2 /www/invision/system/Dispatcher/Controller.php(90): IPS\core\modules\front\system\_ajax->instantNotifications()
#3 /www/invision/system/Dispatcher/Dispatcher.php(153): IPS\Dispatcher\_Controller->execute()
#4 /www/invision/index.php(13): IPS\_Dispatcher->run()
#5 {main}

Download and open /plugins/reactionsinprivatemessages/hooks/messageModel.php and find:

	use \IPS\Content\Reactable
	{
		try
		{
			\IPS\Content\Reactable::canReact as allowedToReact;
		}
		catch ( \Error | \RuntimeException $e )
		{
			if ( method_exists( get_parent_class(), __FUNCTION__ ) )
			{
				return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );
			}
			else
			{
				throw $e;
			}
		}
	}

Change it to:

	use \IPS\Content\Reactable
	{
		\IPS\Content\Reactable::canReact as allowedToReact;
	}

Save and upload.

The error is the TRY/CATCH added by the framework when exporting the plugin.

If you DO NOT have FTP access, then simply disable or uninstall the plugin. I'll take a look (with IPS) when I get back.

Thank you.

Edited by Adriano Faria
Link to comment
  • 3 months later...
On 1/26/2022 at 8:08 PM, Adriano Faria said:

I wil NOT be available until February 04, so here goes a quick fix (FTP required) for those who are using the plugin Reactions in Private Messages 1.0.1 and have the following error:

Download and open /plugins/reactionsinprivatemessages/hooks/messageModel.php and find:

	use \IPS\Content\Reactable
	{
		try
		{
			\IPS\Content\Reactable::canReact as allowedToReact;
		}
		catch ( \Error | \RuntimeException $e )
		{
			if ( method_exists( get_parent_class(), __FUNCTION__ ) )
			{
				return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );
			}
			else
			{
				throw $e;
			}
		}
	}

Change it to:

	use \IPS\Content\Reactable
	{
		\IPS\Content\Reactable::canReact as allowedToReact;
	}

Save and upload.

The error is the TRY/CATCH added by the framework when exporting the plugin.

If you DO NOT have FTP access, then simply disable or uninstall the plugin. I'll take a look (with IPS) when I get back.

Thank you.

Version 1.0.2+ makes file edit not necessary anymore. Disregard the above.

Link to comment
  • 7 months later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...