- Fix Who Replied pagination could get confused on the non-first page of a thread, similarly for ajax pagination code (used in Threadmarks v2.19.0+)
- Fix ajax pagination could push changes to URL history when in an overlay
- Only add phrase_dynamic template method in XF2.1
- Add various strongly typed helpers to automatically type hint returns based on using ::class argument instead of magic strings.
PHP:$obj = Helper::repository(\XF\Repository\User::class);
For static analysis and IDE, $obj will have the type \XF\Repository\User
While XF2.3 intends to implement this, adding this functionality to this add-on allows migrating before hand and simplifies migrating as the Helper bit just needs to be swapped with \XF- Add js/sv/lib/ajaxPagination.js
HTML:<xf:js src="sv/vendor/domurl/url.js" addon="SV/StandardLib" min="1" /> <xf:js src="sv/lib/ajaxPagination.js" addon="SV/Threadmarks" min="1" /> ... <div class="block" data-xf-init="sv-ajax-pagination" data-content-wrapper=".block-body--wrapper"> ... <div class="block-body--wrapper"> ... <xf:pagenav ... /> <xf:hiddenval name="final_url" value="{$finalUrl}" /> </div> </div>
<xf😛agenav> and <xf:hiddenval name="final_url" /> must be inside the div which is tagged with data-content-wrapper's css selector
- Deprecate getContentPermissions function, as the 2nd string argument was not actually used, with a replacement function getPerContentPermissions added.
- Add \SV\StandardLib\Helper::isAddOnActive() helper function. Similar to \XF::isAddonActive(), except it understands version strings
- Shim template funciton is_addon_active code to understand version strings
Add support for addon.json 'require'/'require-soft' to support addon version strings instead of the addon version_id.
Uses version_compare under the hood after some very basic standardization.
php version strings support dotted versions, '1.2.3' and also each part may also support special character strings:
- Add "patch_route_build_callback" code event, used to manipulate the router state during construction.
- Add input filter option "empty-str-to-null". Example usage for developers:
PHP:$foo = $this->filter('bar', '?uint,empty-str-to-null');
- Fix caching global permissions was broken (Impacts Can Warn Staff & User Essentials, but depends heavily on content if this bug was triggered)
- Add helper repository for manipulating permissions.
Will be used by a number of upcoming updates for various add-ons.