Multi Prefix

Multi Prefix [Paid] 2.13.3

No permission to buy ($30.00)
Try

Less:
.structItem-title
{
  a:not(.labelLink)
  {
      display: block;
  }
}

in extra.less but it looks weird to me.
Damn, thank you very much. It works!
I didn't think about negating to be honest. Now since I see the solution, it makes sense.
 
What i mean about the min/max prefix setting was applies to Forum A.

Forum A
  • configured with FOUR (4) prefixes (prefixid 37, 38, 39, 40)
  • Set as
Minimum prefixes = 1
Maximum prefixes = 1
- TS MUST select ONE prefix in order to create a thread


Forum B
  • No prefix
  • Default set Min/Max prefix =0


Using singular "move thread" gives error while using inline no issues. This should be some sort of bug.

I hope you will get more clear on this explanation.
This will be fixed in the next version. XenForo changed some behaviour from XF1 to XF2, and Multiprefix was replicating the XF1 behaviour. I've added a default flag so it matches to XF2 behaviour when moving a thread
 
Hey,

thx for this great addon. I could finally get it and I am making a great use of it.

There is a problem though, I can't access my feeds in the rss feed importer anymore. It is a blank page:

1578249296307.webp

Here are the errors:

PHP:
Server error log

    InvalidArgumentException: Job XF:Feeder: Container key 'prefixes.' was not found src/XF/Container.php:43

    Generated by: Unknown account 5 January 2020 at 19:03

Stack trace

#0 src/XF/App.php(3034): XF\Container->offsetGet('prefixes.')
#1 src/addons/SV/MultiPrefix/Behavior/MultiPrefixable.php(212): XF\App->container('prefixes.')
#2 src/addons/SV/MultiPrefix/XF/Entity/Feed.php(20): SV\MultiPrefix\Behavior\MultiPrefixable::getSvPrefixIds(Object(SV\MultiPrefix\XF\Entity\Feed))
#3 src/XF/Mvc/Entity/Entity.php(148): SV\MultiPrefix\XF\Entity\Feed->getSvPrefixIds()
#4 src/XF/Mvc/Entity/Entity.php(101): XF\Mvc\Entity\Entity->get('sv_prefix_ids')
#5 src/addons/SV/MultiPrefix/XF/Service/Feed/Feeder.php(17): XF\Mvc\Entity\Entity->__get('sv_prefix_ids')
#6 src/XF/Service/Feed/Feeder.php(122): SV\MultiPrefix\XF\Service\Feed\Feeder->setupThreadCreate(Array)
#7 src/XF.php(479): XF\Service\Feed\Feeder->XF\Service\Feed\{closure}()
#8 src/XF/Service/Feed/Feeder.php(142): XF::asVisitor(Object(SV\DailyStatistics\XF\Entity\User), Object(Closure))
#9 src/XF/Service/Feed/Feeder.php(112): XF\Service\Feed\Feeder->importEntry(Array)
#10 src/XF/Job/Feeder.php(44): XF\Service\Feed\Feeder->importEntries()
#11 src/XF/Job/Manager.php(253): XF\Job\Feeder->run(G)
#12 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#13 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#14 job.php(42): XF\Job\Manager->runQueue(false, 8)
#15 {main}

Request state

array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(96) "...url..."
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

PHP:
Server error log

    InvalidArgumentException: Template admin:feed_edit error: Container key 'prefixes.' was not found src/XF/Container.php:43

    Generated by: USERX 5 January 2020 at 19:34

Stack trace

#0 src/XF/App.php(3034): XF\Container->offsetGet('prefixes.')
#1 src/addons/SV/MultiPrefix/Behavior/MultiPrefixable.php(212): XF\App->container('prefixes.')
#2 src/addons/SV/MultiPrefix/XF/Entity/Feed.php(20): SV\MultiPrefix\Behavior\MultiPrefixable::getSvPrefixIds(Object(SV\MultiPrefix\XF\Entity\Feed))
#3 src/XF/Mvc/Entity/Entity.php(148): SV\MultiPrefix\XF\Entity\Feed->getSvPrefixIds()
#4 src/XF/Mvc/Entity/Entity.php(106): XF\Mvc\Entity\Entity->get('sv_prefix_ids')
#5 internal_data/code_cache/templates/l1/s0/admin/feed_edit.php(186): XF\Mvc\Entity\Entity->offsetGet('sv_prefix_ids')
#6 src/XF/Template/Templater.php(1315): XF\Template\Templater->{closure}(Object(SV\AlertImprovements\XF\Template\Templater), Array)
#7 src/addons/AL/ThreadFilter/XF/Template/Templater.php(110): XF\Template\Templater->renderTemplate('feed_edit', Array, true)
#8 src/XF/Template/Template.php(24): AL\ThreadFilter\XF\Template\Templater->renderTemplate('admin:feed_edit', Array)
#9 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#10 src/XF/Mvc/Dispatcher.php(458): XF\Mvc\Renderer\Html->renderView('XF:Feed\\Edit', 'admin:feed_edit', Array)
#11 src/XF/Mvc/Dispatcher.php(440): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#13 src/XF/Mvc/Dispatcher.php(58): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#14 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#15 src/XF.php(391): XF\App->run()
#16 admin.php(13): XF::runApp('XF\\Admin\\App')
#17 {main}

Request state

array(4) {
  ["url"] => string(29) "/admin.php?feeds/omar.12/edit"
  ["referrer"] => string(39) "https://xxx.com/admin.php?feeds/"
  ["_GET"] => array(1) {
    ["feeds/omar_12/edit"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}

Thanks.
 
Hey,

thx for this great addon. I could finally get it and I am making a great use of it.

There is a problem though, I can't access my feeds in the rss feed importer anymore. It is a blank page:

View attachment 216131

Here are the errors:

PHP:
Server error log

    InvalidArgumentException: Job XF:Feeder: Container key 'prefixes.' was not found src/XF/Container.php:43

    Generated by: Unknown account 5 January 2020 at 19:03

Stack trace

#0 src/XF/App.php(3034): XF\Container->offsetGet('prefixes.')
#1 src/addons/SV/MultiPrefix/Behavior/MultiPrefixable.php(212): XF\App->container('prefixes.')
#2 src/addons/SV/MultiPrefix/XF/Entity/Feed.php(20): SV\MultiPrefix\Behavior\MultiPrefixable::getSvPrefixIds(Object(SV\MultiPrefix\XF\Entity\Feed))
#3 src/XF/Mvc/Entity/Entity.php(148): SV\MultiPrefix\XF\Entity\Feed->getSvPrefixIds()
#4 src/XF/Mvc/Entity/Entity.php(101): XF\Mvc\Entity\Entity->get('sv_prefix_ids')
#5 src/addons/SV/MultiPrefix/XF/Service/Feed/Feeder.php(17): XF\Mvc\Entity\Entity->__get('sv_prefix_ids')
#6 src/XF/Service/Feed/Feeder.php(122): SV\MultiPrefix\XF\Service\Feed\Feeder->setupThreadCreate(Array)
#7 src/XF.php(479): XF\Service\Feed\Feeder->XF\Service\Feed\{closure}()
#8 src/XF/Service/Feed/Feeder.php(142): XF::asVisitor(Object(SV\DailyStatistics\XF\Entity\User), Object(Closure))
#9 src/XF/Service/Feed/Feeder.php(112): XF\Service\Feed\Feeder->importEntry(Array)
#10 src/XF/Job/Feeder.php(44): XF\Service\Feed\Feeder->importEntries()
#11 src/XF/Job/Manager.php(253): XF\Job\Feeder->run(G)
#12 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#13 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#14 job.php(42): XF\Job\Manager->runQueue(false, 8)
#15 {main}

Request state

array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(96) "...url..."
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

PHP:
Server error log

    InvalidArgumentException: Template admin:feed_edit error: Container key 'prefixes.' was not found src/XF/Container.php:43

    Generated by: USERX 5 January 2020 at 19:34

Stack trace

#0 src/XF/App.php(3034): XF\Container->offsetGet('prefixes.')
#1 src/addons/SV/MultiPrefix/Behavior/MultiPrefixable.php(212): XF\App->container('prefixes.')
#2 src/addons/SV/MultiPrefix/XF/Entity/Feed.php(20): SV\MultiPrefix\Behavior\MultiPrefixable::getSvPrefixIds(Object(SV\MultiPrefix\XF\Entity\Feed))
#3 src/XF/Mvc/Entity/Entity.php(148): SV\MultiPrefix\XF\Entity\Feed->getSvPrefixIds()
#4 src/XF/Mvc/Entity/Entity.php(106): XF\Mvc\Entity\Entity->get('sv_prefix_ids')
#5 internal_data/code_cache/templates/l1/s0/admin/feed_edit.php(186): XF\Mvc\Entity\Entity->offsetGet('sv_prefix_ids')
#6 src/XF/Template/Templater.php(1315): XF\Template\Templater->{closure}(Object(SV\AlertImprovements\XF\Template\Templater), Array)
#7 src/addons/AL/ThreadFilter/XF/Template/Templater.php(110): XF\Template\Templater->renderTemplate('feed_edit', Array, true)
#8 src/XF/Template/Template.php(24): AL\ThreadFilter\XF\Template\Templater->renderTemplate('admin:feed_edit', Array)
#9 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#10 src/XF/Mvc/Dispatcher.php(458): XF\Mvc\Renderer\Html->renderView('XF:Feed\\Edit', 'admin:feed_edit', Array)
#11 src/XF/Mvc/Dispatcher.php(440): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#13 src/XF/Mvc/Dispatcher.php(58): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#14 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#15 src/XF.php(391): XF\App->run()
#16 admin.php(13): XF::runApp('XF\\Admin\\App')
#17 {main}

Request state

array(4) {
  ["url"] => string(29) "/admin.php?feeds/omar.12/edit"
  ["referrer"] => string(39) "https://xxx.com/admin.php?feeds/"
  ["_GET"] => array(1) {
    ["feeds/omar_12/edit"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}

Thanks.
Fixed for the next version, but for now if you disable the "Sort prefixes on display" option this error will stop happening.
 
  • Like
Reactions: sbj
Xon updated Multi Prefix with a new update entry:

2.6.4 - Bugfix update

  • Include prefix list when saying a prefix can't be removed
  • Fix errors did not use the prefix's title, and instead had a phrase string
  • Fix prefix not selecting when switching from a forum which only allows at most 1 prefix and a forum which allows more than 1 prefix
  • Add "Strip unusable prefixes" option (default true) to control how individual content's move command handles moving where prefixes are not permitted to be used

Read the rest of this update entry...
 
Hey,

is this addon supposed to work also with 3rd party addons like AMS/SC by Bob?

I can select multiprefixes in his addon, but after I save the option, it defaults back to no prefixes in the options page. Is this a bug?
 
@Xon
Can you make this work with @Bob 's RMS/Showcase?

Sure it is possible; it is just I have in progress at the moment and no one has paid for that feature request. It is actually a lot easier in the XF2 version; but it is still work.
About the payment for the feature - can we talk about it?
 
Last edited:
PHP:
ErrorException: [E_NOTICE] Trying to get property 'sv_prefix_ids' of non-object src/addons/SV/MultiPrefix/XF/Pub/Controller/Thread.php:110
Generated by: Unknown account Feb 13, 2020 at 7:30 PM
Stack trace
#0 src/addons/SV/MultiPrefix/XF/Pub/Controller/Thread.php(110): XF::handlePhpError()
#1 src/XF/Mvc/Dispatcher.php(350): SV\MultiPrefix\XF\Pub\Controller\Thread->actionMove()
#2 src/XF/Mvc/Dispatcher.php(257): XF\Mvc\Dispatcher->dispatchClass()
#3 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch()
#4 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop()
#5 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#6 src/XF.php(391): XF\App->run()
#7 index.php(20): XF::runApp()
#8 {main}
Request state
array(4) {
  ["url"] => string(20) "/threads/826782/move"
  ["referrer"] => bool(false)
  ["_GET"] => array(1) {
    ["/threads/826782/move"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}

PHP:
Error: Call to a member function getMultipleUsablePrefixes() on null src/addons/SV/MultiPrefix/XF/Pub/Controller/Thread.php:111
Generated by: Unknown account Feb 13, 2020 at 7:30 PM
Stack trace
#0 src/XF/Mvc/Dispatcher.php(350): SV\MultiPrefix\XF\Pub\Controller\Thread->actionMove()
#1 src/XF/Mvc/Dispatcher.php(257): XF\Mvc\Dispatcher->dispatchClass()
#2 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch()
#3 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop()
#4 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#5 src/XF.php(391): XF\App->run()
#6 index.php(20): XF::runApp()
#7 {main}
Request state
array(4) {
  ["url"] => string(20) "/threads/826782/move"
  ["referrer"] => bool(false)
  ["_GET"] => array(1) {
    ["/threads/826782/move"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
It is a false positive, the code is doing some inheritance tricks to support XFRM v2.0.x and XFRM v2.1.x+ which still matches valid XenForo standards. The next version will simplify it, and remove XFRM v2.0.x support.
 
@Xon Is is possible to add an optional quick prefix filter for this add-on?

e.g. On top of the thread list, there's a quick prefix filter bar like this:

[All] [Prefix 1] [Prefix 2] [Prefix 3] [Prefix 4] [Prefix 5] [Prefix 6]

Clicking [Prefix 2] will only show threads with [Prefix 2], and clicking [Prefix 4] will further filter to threads with [Prefix 2] and/or [Prefix 4]

Clicking [Prefix 4] will unselect [Prefix 4]. etc. which in fact behaves very much how how prefixes on the titles are clicked.

1586246290715.webp
 
hello,
hoping we can get one of the similar threads addons to work with this.....

seems andys has the doubled up prefix selection box issue.....and 021's free one the popup list from starting a thread does not seem to work....

is it possible?
 
This works with my similar thread's feature for ElasticSearch Essentials. AndyB's similar threads has compatibility issues which I can't easily work-around from my end. I've provided a patch for some users who have both MultiPrefix and AndyB's similar threads add-on with the intend to contribute it back, but nothing came of it.
 
@Xon, I just installed the add-on.

Would it be possible to have it display different prefix groups in columns next to each other instead of rows under each other?

Would it be possible to generally remove large amount the padding between the prefixes?

Would it be possible to keep the prefix selection in the same spot that it is in default XF?
 
@Xon, I am confused by "Prefixes are sorted when applying, but displayed as is. Enabling this enables sorting even when displaying" -- what exactly is this changing?

Is it possible to limit it to only 1 prefix per prefix group? Or to two prefixes total?
 
Top Bottom