Resource icon

xF2 Add-on Standard Library by Xon 1.19.4

No permission to download
  • Fix Helper::createEntity() could cause "Call to undefined method ...\XF\Entity\...::where()" errors when verifying content is unique
  • 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.
Code:
$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
    Code:
    <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:pagenav> and <xf:hiddenval name="final_url" /> must be inside the div which is tagged with data-content-wrapper's css selector
  • Fix accidental hard XF2.2 requirement. Take #2
Note; The 1.18.x branch will be the last branch to support XenForo 2.1.x
  • 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:
    any string not found in this list < dev < alpha = a < beta = b < RC | Release Candidate = rc < # < patch level | pl = p.
  • 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)
  • Fix join index hint support.
    • Fix XF2.2.11 and before error: Undefined array key "indexHints".
    • Fix XF2.212+ index hints not applying as expected in some cases.
  • Add controller plugin 'SV\StandardLib\ControllerPlugin\Delete' a plugin helper for implementing soft/hard/undeleting of content
  • Update bundled moment.js library
  • php 8.2 compatibility update
  • If using the Svg Template addon, update to SVG Template 2.4.5 or rendering SVGs to PNGs will stop working