Link Checker for XenForo 2.x by AddonsLab

Link Checker for XenForo 2.x by AddonsLab [Paid] 3.8.0

No permission to buy ($54.99)
Keep running into a weird problem.

Indexing is done and most of the checks are done. I have about 150.000 "not checked" checks left.

When I try to check the remaining ones, the process just stops with a "Cache rebuilt successfully" after 50-210 ckeched links.
Any idea what can cause that or how to debug it?
 
I have over 1 million links / images. I adjusted about 200,000 links and deleted dead images. After that, my SQL is very slow. I also tried to delete the addon. An idea what it can be?
 
Hello everyone,

sorry for the late reply in this thread.

Keep running into a weird problem.

Indexing is done and most of the checks are done. I have about 150.000 "not checked" checks left.

When I try to check the remaining ones, the process just stops with a "Cache rebuilt successfully" after 50-210 ckeched links.
Any idea what can cause that or how to debug it?

Please open a ticket if you still have an issue and want to troubleshoot it further.

I have over 1 million links / images. I adjusted about 200,000 links and deleted dead images. After that, my SQL is very slow. I also tried to delete the addon. An idea what it can be?

Please check your "xf_job" MySQL table, there might still be pending jobs, that have been registered by add-on to check some links later. If the issue persists, please open a ticket and we will resolve it.

@AddonsLab Please check ticket #647970. It has been unanswered since 5 days ago when I opened it

Sure, we will reply back within several hours.

Thank you!
 
@AddonsLab Please give Compatibility update for PHP 8, Getting Server error log after upgraded to PHP 8 from 7.4 that causes a PHP 8 incompatibility error.

Code:
ErrorException: Template error: [E_WARNING] Attempt to read property "serialized_links" on null src/addons/AddonsLab/LinkChecker/XF/Entity/Post.php:43

Generated by: Nirjonmela Jul 20, 2021 at 11:34 PM

Stack trace

#0 src/addons/AddonsLab/LinkChecker/XF/Entity/Post.php(43): XF\Template\Templater->handleTemplateError(2, '[E_WARNING] Att...', '/home/nadda/pub...', 43)
#1 [internal function]: AddonsLab\LinkChecker\XF\Entity\Post->canTriggerCacheUpdate()
#2 src/XF/Template/Templater.php(1184): call_user_func_array(Array, Array)
#3 internal_data/code_cache/templates/l1/s6/public/post_macros.php(1177): XF\Template\Templater->method(Object(SV\ThreadReplyBanTeeth\XF\Entity\Post), 'canTriggerCache...', Array)
#4 src/XF/Template/Templater.php(817): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, NULL)
#5 src/addons/MaZ/AMP/XF/Template/Templater.php(139): XF\Template\Templater->callMacro('post_macros', 'post_action_bar', Array, Array, Object(XF\Template\MacroState))
#6 internal_data/code_cache/templates/l1/s6/public/post_macros.php(617): MaZ\AMP\XF\Template\Templater->callMacro(NULL, 'post_action_bar', Array, Array)
#7 src/XF/Template/Templater.php(817): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, NULL)
#8 src/addons/MaZ/AMP/XF/Template/Templater.php(139): XF\Template\Templater->callMacro('post_macros', 'post_footer', Array, Array, Object(XF\Template\MacroState))
#9 internal_data/code_cache/templates/l1/s6/public/post_macros.php(115): MaZ\AMP\XF\Template\Templater->callMacro(NULL, 'post_footer', Array, Array)
#10 src/XF/Template/Templater.php(980): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, Object(XF\Template\ExtensionSet))
#11 src/XF/Template/Templater.php(916): XF\Template\Templater->renderExtensionInternal('footer', Array, Array, Object(XF\Template\ExtensionSet))
#12 internal_data/code_cache/templates/l1/s6/public/post_macros.php(134): XF\Template\Templater->renderExtension('footer', Array, Object(XF\Template\ExtensionSet))
#13 src/XF/Template/Templater.php(980): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, Object(XF\Template\ExtensionSet))
#14 src/XF/Template/Templater.php(916): XF\Template\Templater->renderExtensionInternal('main_cell_inner', Array, Array, Object(XF\Template\ExtensionSet))
#15 internal_data/code_cache/templates/l1/s6/public/post_macros.php(145): XF\Template\Templater->renderExtension('main_cell_inner', Array, Object(XF\Template\ExtensionSet))
#16 src/XF/Template/Templater.php(980): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, Object(XF\Template\ExtensionSet))
#17 src/XF/Template/Templater.php(916): XF\Template\Templater->renderExtensionInternal('main_cell', Array, Array, Object(XF\Template\ExtensionSet))
#18 internal_data/code_cache/templates/l1/s6/public/post_macros.php(157): XF\Template\Templater->renderExtension('main_cell', Array, Object(XF\Template\ExtensionSet))
#19 src/XF/Template/Templater.php(980): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, Object(XF\Template\ExtensionSet))
#20 src/XF/Template/Templater.php(916): XF\Template\Templater->renderExtensionInternal('full_body', Array, Array, Object(XF\Template\ExtensionSet))
#21 internal_data/code_cache/templates/l1/s6/public/post_macros.php(221): XF\Template\Templater->renderExtension('full_body', Array, Object(XF\Template\ExtensionSet))
#22 src/XF/Template/Templater.php(817): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, Object(XF\Template\ExtensionSet))
#23 src/addons/MaZ/AMP/XF/Template/Templater.php(139): XF\Template\Templater->callMacro('post_macros', 'post', Array, Array, Object(XF\Template\MacroState))
#24 internal_data/code_cache/templates/l1/s6/public/thread_view.php(1003): MaZ\AMP\XF\Template\Templater->callMacro(NULL, 'post_macros::po...', Array, Array)
#25 src/XF/Template/Templater.php(1644): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, Object(XF\Template\ExtensionSet))
#26 src/addons/MaZ/AMP/XF/Template/XF22/Templater.php(52): XF\Template\Templater->renderTemplate('thread_view', Array, true, NULL)
#27 src/XF/Template/Template.php(24): MaZ\AMP\XF\Template\XF22\Templater->renderTemplate('public:thread_v...', Array)
#28 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#29 src/XF/Mvc/Dispatcher.php(458): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#30 src/XF/Mvc/Dispatcher.php(440): XF\Mvc\Dispatcher->renderView(Object(ThemeHouse\StyleSwitch\XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#31 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderReply(Object(ThemeHouse\StyleSwitch\XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#32 src/XF/Mvc/Dispatcher.php(58): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#33 src/XF/App.php(2344): XF\Mvc\Dispatcher->run()
#34 src/XF.php(512): XF\App->run()
#35 index.php(20): XF::runApp('XF\\Pub\\App')
#36 {main}

Request state

array(4) {
  ["url"] => string(86) "/threads/son.12553/page-57"
  ["referrer"] => string(108) "/threads/son.12553/page-57"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
AddonsLab updated Link Checker for XenForo 2.x by AddonsLab with a new update entry:

Bug-fix: ErrorException: Template error: [E_WARNING] Attempt to read property "serialized_links"

This version fixes a PHP error ErrorException: Template error: [E_WARNING] Attempt to read property "serialized_links" on null src/addons/AddonsLab/LinkChecker/XF/Entity/Post.php:43

The new version is available for all licensed customers at

Thank you!

Read the rest of this update entry...
 
AddonsLab updated Link Checker for XenForo 2.x by AddonsLab with a new update entry:

New feature: Restoration of deleted links

This release implements a feature to restore deleted links with their original version. Logs that are applicable show a Restore link on the Action logs page. The page also allows batch restoration of multiple deleted links by log ID or by domain match.

If the links have been removed without any unique replacement value, it is impossible to detect the original location in the post where the links were before deletion. The product provides an option to set the name of a backup table, that...

Read the rest of this update entry...
 
My staging server is running PHP 8.1 and I am getting the following error:

Code:
[*]Error: Call to protected AddonsLab\Core\Xf2\Admin\EntityConfig::__construct() from scope AddonsLab\LinkChecker\LinkChecker
[*]src/addons/AddonsLab/LinkChecker/LinkChecker.php:80

Stack trace
#0 src/XF/Container.php(31): AddonsLab\LinkChecker\LinkChecker->AddonsLab\LinkChecker\{closure}(Object(XF\Container))
#1 src/addons/AddonsLab/Core/App.php(248): XF\Container->offsetGet('TagConfig')
#2 src/addons/AddonsLab/LinkChecker/LinkChecker.php(118): AddonsLab\Core\App::get('TagConfig')
#3 src/addons/AddonsLab/LinkChecker/Admin/Controller/Tag.php(38): AddonsLab\LinkChecker\LinkChecker::getTagConfig()
#4 src/addons/AddonsLab/Core/Xf2/Admin/CrudController.php(714): AddonsLab\LinkChecker\Admin\Controller\Tag->config()
#5 src/XF/Admin/Controller/AbstractController.php(21): AddonsLab\Core\Xf2\Admin\CrudController->preDispatchController('Index', Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Controller.php(125): XF\Admin\Controller\AbstractController->preDispatchType('Index', Object(XF\Mvc\ParameterBag))
#7 src/XF/Mvc/Dispatcher.php(351): XF\Mvc\Controller->preDispatch('Index', Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('AddonsLab\\LinkC...', 'Index', Object(XF\Mvc\RouteMatch), Object(AddonsLab\LinkChecker\Admin\Controller\Tag), NULL)
#9 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(AddonsLab\LinkChecker\Admin\Controller\Tag), NULL)
#10 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#11 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#12 src/XF.php(517): XF\App->run()
#13 admin.php(13): XF::runApp('XF\\Admin\\App')
#14 {main}

Request state
array(4) {
  ["url"] => string(21) "/admin.php?links/tag/"
  ["referrer"] => string(46) "https://domain.com/admin.php?options/"
  ["_GET"] => array(1) {
    ["links/tag/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}

Edit:
Getting the same error on my production server that is running PHP 8.0.14
 
My staging server is running PHP 8.1 and I am getting the following error:

Code:
[*]Error: Call to protected AddonsLab\Core\Xf2\Admin\EntityConfig::__construct() from scope AddonsLab\LinkChecker\LinkChecker
[*]src/addons/AddonsLab/LinkChecker/LinkChecker.php:80

Stack trace
#0 src/XF/Container.php(31): AddonsLab\LinkChecker\LinkChecker->AddonsLab\LinkChecker\{closure}(Object(XF\Container))
#1 src/addons/AddonsLab/Core/App.php(248): XF\Container->offsetGet('TagConfig')
#2 src/addons/AddonsLab/LinkChecker/LinkChecker.php(118): AddonsLab\Core\App::get('TagConfig')
#3 src/addons/AddonsLab/LinkChecker/Admin/Controller/Tag.php(38): AddonsLab\LinkChecker\LinkChecker::getTagConfig()
#4 src/addons/AddonsLab/Core/Xf2/Admin/CrudController.php(714): AddonsLab\LinkChecker\Admin\Controller\Tag->config()
#5 src/XF/Admin/Controller/AbstractController.php(21): AddonsLab\Core\Xf2\Admin\CrudController->preDispatchController('Index', Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Controller.php(125): XF\Admin\Controller\AbstractController->preDispatchType('Index', Object(XF\Mvc\ParameterBag))
#7 src/XF/Mvc/Dispatcher.php(351): XF\Mvc\Controller->preDispatch('Index', Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('AddonsLab\\LinkC...', 'Index', Object(XF\Mvc\RouteMatch), Object(AddonsLab\LinkChecker\Admin\Controller\Tag), NULL)
#9 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(AddonsLab\LinkChecker\Admin\Controller\Tag), NULL)
#10 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#11 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#12 src/XF.php(517): XF\App->run()
#13 admin.php(13): XF::runApp('XF\\Admin\\App')
#14 {main}

Request state
array(4) {
  ["url"] => string(21) "/admin.php?links/tag/"
  ["referrer"] => string(46) "https://domain.com/admin.php?options/"
  ["_GET"] => array(1) {
    ["links/tag/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}

Edit:
Getting the same error on my production server that is running PHP 8.0.14

Please upgrade https://xenforo.com/community/resources/al-core-package.7382/ to the latest version to resolve this error.

Thank you!
 
yes with php8 it looks better, but when i change some settings, then i got this message:
1659798598452.png

At the live-Server, i don't get this error message ... only on the dev-server ... strange ...
 

Attachments

  • 1659798760915.webp
    1659798760915.webp
    1.4 KB · Views: 14
Last edited:
Hello everyone!

@stefanstp it is indeed an error related to the PHP version. Please also upgrade XenForo to the latest version to get full support for PHP 8.x If you still see the problem after upgrading XenForo, we will check the problem in depth and resolve it asap.

Thank you!
 
Hi, for the past week or so, this is showing up on the forum.

brokenlink.webp

We have these installed:

8acb8c5f07a9046261cc16eda538ef46.webp

I'd like to know if there is any way to still display the link but with a red X or green checkmark as shown in your description, rather than this BOLD message? I looked in the ACP and ther phrase is not broken link removed. But just link removed.

I'm a bit confused. I have 50 pages of results if I do a search for "broken link removed."

Thanks for any help.
 
  1. Has anyone used this with a forum with millions of posts?
  2. Can this simply unlink the URL?
  3. Can this check for broken images? I have a ton of broken images due to image hosts that go dead.
1- we have 1,793,497 posts and it's working
2- I'd love to be able to only do this, NOT replace the links with a phrase
3- Not sure

EDIT: I wonder if they can still provide this for the broken links status:

Link Status Icons.webp
 
Last edited:
Top Bottom