Overview says
Compatible XF 2.x versions 2.0 and 2.1.
What about XF 2.2 ?
This version adds helper functions for sorting support in the admin panel pages. Please apply if any of your products require this version.
This release fixes a compatibility issue with[bd] API
add-on. The issue could potentially affect other add-ons as well, if they use advanced class extension management using the\XF\Extension
class, so it is recommended to install this version if you are using any older version of the AL Core package.
This version adds CSV file parser library. Upgrade if an add-on you are using requires this version.
This version adds CSV file parser library. Upgrade if an add-on you are using requires this version.
This version adds a compatibility function for XenForo 2.1 to check if an add-on is active or no and several minor changes.
Please apply if any of your products require this version.
This version adds the library Mobile_Detect and adds variables available in all templates to detect if the current page is viewed on a mobile/tablet device:
Code:<xf:if is="$xf.isMobileBrowser"> Visitor is using a tablet or a phone. <xf:if is="$xf.isTabletBrowser"> Visitor is using a tablet. <xf:else /> Visitor is using a phone. </xf:if> <xf:else /> Visitor is using a computer/non-mobile device. </xf:if>
is this version compatible with this addon? https://xenforo.com/community/resources/browser-detection.7223/ ?AddonsLab updated [AL] Core Package with a new update entry:
Mobile detection library and template conditional supports
Read the rest of this update entry...
Admin panel pages support for code editor fields. Please apply if any of your products require this version.
This version fixes a bug that could cause compatibility issues in class extensions with other add-ons.
Please apply if you are using any older version of this package.
Thanks to @Xon for highlighting the issue and the solution.
There is another bug.AddonsLab updated [AL] Core Package with a new update entry:
Bug-fix in class extension tweak
Read the rest of this update entry...
\XF\Extension
class, the XF\Mvc\Entity\Manager
caches a copy in a local variable. This is used when resolving XF's Repositories/Finders/Entities.app_setup
function runs before [AL] Core, and touches any of that core XF functionality, it will result in random "Cannot declare class XXX, because the name is already in use" error messages.\XF\Mvc\Entity\Manager
class needs to be updated. Replacing this class isn't doable as it is cached freaking everywhere. Code something like this:$container['extension'] = ... ;
if ($container->isCached('em'))
{
$em = $container['em'];
$setter = \Closure::bind(function ($value) {
/** @var \XF\Mvc\Entity\Manager $this */
$this->extension = $value;
}, $em, \get_class($em));
$setter($container['extension']);
}
There is another bug.
When extending\XF\Extension
class, theXF\Mvc\Entity\Manager
caches a copy in a local variable. This is used when resolving XF's Repositories/Finders/Entities.
If anotherapp_setup
function runs before [AL] Core, and touches any of that core XF functionality, it will result in random "Cannot declare class XXX, because the name is already in use" error messages.
The non-public variable that is cached in the\XF\Mvc\Entity\Manager
class needs to be updated. Replacing this class isn't doable as it is cached freaking everywhere. Code something like this:
PHP:$container['extension'] = ... ; if ($container->isCached('em')) { $em = $container['em']; $setter = \Closure::bind(function ($value) { /** @var \XF\Mvc\Entity\Manager $this */ $this->extension = $value; }, $em, \get_class($em)); $setter($container['extension']); }
<?php
namespace AL\Core;
/**
* Class alias fixing loading of different classes for different versions of XF.
* The solution is inspired by @Xon library at https://github.com/Xon/XenForo2-StandardLib/blob/7040b59d2b4e826fe3abe7e5071ed3796b5d304b/upload/src/addons/SV/StandardLib/Repository/Helper.php#L196
*/
class ClassAlias
{
public static function registerVersionAlias($defaultClass)
{
$className = 'XF21';
if (\XF::$versionId >= 2020000)
{
$className = 'XF22';
}
$versionClass = explode('\\', $defaultClass);
$lastComponent = array_pop($versionClass);
$versionClass[] = $className;
$versionClass[] = $lastComponent;
$versionClass = implode('\\', $versionClass);
self::register($versionClass, $defaultClass);
}
public static function register($versionClass, $defaultClass)
{
class_alias($versionClass, $defaultClass);
// Register an alias for the XFCP_ prefixed version to the default class
class_alias(self::getProxyName($defaultClass), self::getProxyName($versionClass), false);
}
public static function getProxyName($class)
{
$classComponents = explode('\\', $class);
$lastComponent = array_pop($classComponents);
$classComponents[] = 'XFCP_' . $lastComponent;
return implode('\\', $classComponents);
}
}
The update applies a definitive fix for the class extension hack, based on suggestions from @Xon.
The update is backward-compatible with our add-ons, so applying the update will keep the current hack active, however, once you have upgraded other our add-ons to the latest versions (new versions of all Filter add-ons will be released within 24 hours to support the new system), you can disable the hack by unchecking the optionLegacy Class Extension Hack
in...
This release includes fixes for the issues on PHP 8.1 version:
Fatal error: During inheritance of ArrayObject: Uncaught ErrorException: [E_DEPRECATED] Return type of AddonsLab\Core\Xf2\Admin\FilterFormParams:ffsetGet($key)
The release contains changes related to public-facing custom pages built with this package. Please upgrade if any of our add-ons you are using requires the new version.
Thank you!
The update fixes the branding message from our add-ons to addrel="nofollow"
to the URL.
Please update with this package if you are using any of our add-ons with branding message.
Thank you. That worked!Disabling the "Legacy Class Extension Hack" option solves that.
We use essential cookies to make this site work, and optional cookies to enhance your experience.