Standard Library by Xon

Standard Library by Xon 1.20.1

No permission to download
Author yuan
Creation date
Fix \SV\StandardLib\Helper::repo()->aliasClass() had a compatibility issue with XF2.2.13+ when the aliased class was the top-most class extension.
  • Require php 7.2+
  • php 8.4+ compatibility fix
  • Improve custom AJAX pagination and AJAX pagination with filter bar javascript. Includes admincp option helper option rendering code
    See Who Replied for an implementation of the feature allowing selectable pagination styles
  • Add Helper::plugin for type-safe plugin creation
  • Fix Helper::find() and Helper::findCached() assumed entity ids are only ints (can be string/int/array)
  • Add Helper::instantiateEntity() type-safe wrapper
Fix Helper::createEntity() could cause "Call to undefined method ...\XF\Entity\...::where()" errors when verifying content is unique
  • Actually distribute minified ajaxPagination.js file
  • 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: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
  • Fix accidental hard XF2.2 requirement
  • 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
Back
Top