This commit fixes the following PHPStan errors introduced after the
update to version 0.12.83:
```
------ ----------------------------------------------------------------------
Line lib/Listing/Handler.php
------ ----------------------------------------------------------------------
18 Parameter #1 $callback of function call_user_func_array expects
callable(): mixed, array(class-string|object, 'listingQuery') given.
45 Parameter #1 $callback of function call_user_func_array expects
callable(): mixed, array(class-string|object, 'groups') given.
54 Parameter #1 $callback of function call_user_func_array expects
callable(): mixed, array(class-string|object, 'filters') given.
62 Parameter #1 $callback of function call_user_func_array expects
callable(): mixed, array(class-string|object, 'listingQuery') given.
------ ----------------------------------------------------------------------
```
It was necessary to use both is_callable() and method_exists() instead
of just is_callable(), as a parent class of the model classes implements
__call() and thus is_callable() always returns true even when the
method doesn't exist (and in those cases method_exists() returns false).
[MAILPOET-3491]
- moved "tab" to params
- improved url generation in listing.jsx to allow more flexibility
- added "parent_id" filter in newsletter model to get children of a given newsletter id
- added NOTIFICATION_HISTORY Newsletter's type
- implement basic UI for notification_history
- TODO: implement passing extra parameters in order to handle the :id part
- newsletters listing now uses hash history
- newsletters are sorted by Subject (a->z)
- segments are sorted by Name (a->z)
- re-added WordPress Users list as a segment you can send a newsletter to
- added explicit error messages when an auto newsletter isn't fully configured
- added missing strings for "selectAll" in Segments listing
- fixed filters() in Subscribers listing (wrong count as it was not taking groups/filters/search into account)
- Updated SQL schema for every created_at column so that it has a default value
- Updated unit tests based on recent changes (new methods in SubscriberSegment model)
- Added check for HelpScout initialization code so that it doesn't throw errors
- filter by segment is now affected by the selected group (all, trash,...)
- updated relationship methods between subscribers & segments (to account for subsegment status)
- make use of the SubscriberSegment::status column to keep track of unsubscriptions
- unsubscribed segments now appear grayed out in the Subscribers listing
- added unsubscribed_at after segment names when editing a subscriber
- added date() method for Twig (uses WP's date format / date_offset)
- fixed typo in Form iframe export
- fixed unit test for Newsletters
- updated selection component (JSX) to allow more customization