Thread Titles Manager

Thread Titles Manager 1.0.1 Patch Level 2

No permission to download
Me too... ;-) just read the last postings here - you have to deinstall the old add-on and then you can "new" install the new one.
 
mazzly updated Thread Titles Manager with a new update entry:

More features / Improvements

  • Thread listings changes:
    • Title is broken into multiple lines when longer than max, to better indicate where the "limit" is for the person doing cleaning
      • Under title also shows: Author, create date, forum, last post username and date
    • Statistics column:
      • Reply count
      • View count
      • Thread age (in days)
      • Views per day..
        • This can be useful to know which thread is more popular over time..
    • 3 action buttons
      • ...

Read the rest of this update entry...
 
Would be a nice addition if this could show the user when posting:

The title of their post is too short
The title of their post is too long
Yes this would make sense :) 👍

I see on our own forum we have some members that write very elaborate titles that can be summarized better.. A prompt/note would be good..

Maybe even a "hard limit" that would prevent posting of the thread if title is too short or too long.. (We have quite a few that are just 4-5 characters long thread titles...)
 
Code:
[LIST]
[*]XF\Db\Exception: MySQL query error [1366]: Incorrect string value: '\xF0\x9F\xA7\xB5 T...' for column `table`.`xf_phrase`.`phrase_text` at row 1
[*]src/XF/Db/AbstractStatement.php:230
[/LIST]
[HEADING=2]Stack trace[/HEADING]
INSERT  INTO `xf_phrase` (`addon_id`, `title`, `version_id`, `version_string`, `language_id`, `global_cache`, `phrase_text`, `phrase_id`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
------------

#0 src/XF/Db/Mysqli/Statement.php(198): XF\Db\AbstractStatement->getException('MySQL query err...', 1366, '22007')
#1 src/XF/Db/Mysqli/Statement.php(79): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1366, '22007')
#2 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(220): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1516): XF\Db\AbstractAdapter->insert('xf_phrase', Array, false)
#5 src/XF/Mvc/Entity/Entity.php(1248): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/XF/AddOn/DataType/Phrase.php(100): XF\Mvc\Entity\Entity->save(true, false)
#7 src/XF/Job/AddOnData.php(110): XF\AddOn\DataType\Phrase->importAddOnData('AV/ThreadTitles', Object(SimpleXMLElement), 0, 8)
#8 src/XF/Job/Manager.php(260): XF\Job\AddOnData->run(8)
#9 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
#10 src/XF/Job/Manager.php(118): XF\Job\Manager->runJobEntry(Array, 8)
#11 src/XF/Admin/Controller/Tools.php(122): XF\Job\Manager->runByIds(Array, 8)
#12 src/XF/Mvc/Dispatcher.php(352): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(X0815\ChkTables\XF\Admin\Controller\Tools), NULL)
#14 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(X0815\ChkTables\XF\Admin\Controller\Tools), NULL)
#15 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#16 src/XF/App.php(2353): XF\Mvc\Dispatcher->run()
#17 src/XF.php(524): XF\App->run()
#18 admin.php(13): XF::runApp('XF\\Admin\\App')
#19 {main}
 
Code:
[LIST]
[*]XF\Db\Exception: MySQL query error [1366]: Incorrect string value: '\xF0\x9F\xA7\xB5 T...' for column `table`.`xf_phrase`.`phrase_text` at row 1
[*]src/XF/Db/AbstractStatement.php:230
[/LIST]
[HEADING=2]Stack trace[/HEADING]
INSERT  INTO `xf_phrase` (`addon_id`, `title`, `version_id`, `version_string`, `language_id`, `global_cache`, `phrase_text`, `phrase_id`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
------------

#0 src/XF/Db/Mysqli/Statement.php(198): XF\Db\AbstractStatement->getException('MySQL query err...', 1366, '22007')
#1 src/XF/Db/Mysqli/Statement.php(79): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1366, '22007')
#2 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(220): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1516): XF\Db\AbstractAdapter->insert('xf_phrase', Array, false)
#5 src/XF/Mvc/Entity/Entity.php(1248): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/XF/AddOn/DataType/Phrase.php(100): XF\Mvc\Entity\Entity->save(true, false)
#7 src/XF/Job/AddOnData.php(110): XF\AddOn\DataType\Phrase->importAddOnData('AV/ThreadTitles', Object(SimpleXMLElement), 0, 8)
#8 src/XF/Job/Manager.php(260): XF\Job\AddOnData->run(8)
#9 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
#10 src/XF/Job/Manager.php(118): XF\Job\Manager->runJobEntry(Array, 8)
#11 src/XF/Admin/Controller/Tools.php(122): XF\Job\Manager->runByIds(Array, 8)
#12 src/XF/Mvc/Dispatcher.php(352): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(X0815\ChkTables\XF\Admin\Controller\Tools), NULL)
#14 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(X0815\ChkTables\XF\Admin\Controller\Tools), NULL)
#15 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#16 src/XF/App.php(2353): XF\Mvc\Dispatcher->run()
#17 src/XF.php(524): XF\App->run()
#18 admin.php(13): XF::runApp('XF\\Admin\\App')
#19 {main}
Yep I'll need to fix that.. Did you try to uninstall and install?

Wondering if this is something left over from being version 10 previously... but actually it is likely due to DB not supporting emojis... Odd thing this has never happened(or been reported?) with AMPXF addon that also uses emoji in some phrases..
 
Code:
[LIST]
[*]XF\Db\Exception: MySQL query error [1366]: Incorrect string value: '\xF0\x9F\xA7\xB5 T...' for column `table`.`xf_phrase`.`phrase_text` at row 1
[*]src/XF/Db/AbstractStatement.php:230
[/LIST]
[HEADING=2]Stack trace[/HEADING]
INSERT  INTO `xf_phrase` (`addon_id`, `title`, `version_id`, `version_string`, `language_id`, `global_cache`, `phrase_text`, `phrase_id`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
------------

#0 src/XF/Db/Mysqli/Statement.php(198): XF\Db\AbstractStatement->getException('MySQL query err...', 1366, '22007')
#1 src/XF/Db/Mysqli/Statement.php(79): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1366, '22007')
#2 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/AbstractAdapter.php(220): XF\Db\AbstractAdapter->query('INSERT  INTO `x...', Array)
#4 src/XF/Mvc/Entity/Entity.php(1516): XF\Db\AbstractAdapter->insert('xf_phrase', Array, false)
#5 src/XF/Mvc/Entity/Entity.php(1248): XF\Mvc\Entity\Entity->_saveToSource()
#6 src/XF/AddOn/DataType/Phrase.php(100): XF\Mvc\Entity\Entity->save(true, false)
#7 src/XF/Job/AddOnData.php(110): XF\AddOn\DataType\Phrase->importAddOnData('AV/ThreadTitles', Object(SimpleXMLElement), 0, 8)
#8 src/XF/Job/Manager.php(260): XF\Job\AddOnData->run(8)
#9 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
#10 src/XF/Job/Manager.php(118): XF\Job\Manager->runJobEntry(Array, 8)
#11 src/XF/Admin/Controller/Tools.php(122): XF\Job\Manager->runByIds(Array, 8)
#12 src/XF/Mvc/Dispatcher.php(352): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#13 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(X0815\ChkTables\XF\Admin\Controller\Tools), NULL)
#14 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(X0815\ChkTables\XF\Admin\Controller\Tools), NULL)
#15 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#16 src/XF/App.php(2353): XF\Mvc\Dispatcher->run()
#17 src/XF.php(524): XF\App->run()
#18 admin.php(13): XF::runApp('XF\\Admin\\App')
#19 {main}
I got this also when trying to install (for the first time)

It would not install and I get this after attempting:

Screenshot 2022-11-29 at 11.15.05.webp
 
This is such a great addon! Nice that it ignores private forums.

Would;d it be possible to also automatically ignore public but no indexed forums?
 
It's core since (I think) 2.2. It's in advanced forum options.

No huge deal but if they aren't indexed it's less important and so allows you to easily focus on the more important ones.
 
Great the way it identifies and lists short titles and long titles. All we need now is for it to magically find crap titles :)
 
I noticed when taking care of my threads with too long of titles, that it leaves this messages up at the top. Does it ever go away? I mean since I fixed them, the found 291 should no longer show up? I noticed that the too short or duplicate areas they stay clear.

1.jpg

Also, does this run a cron job, or scan the database in case future threads are created that will show up under either too short, too long, or duplicate? So in case members make new threads in the future I can adjust them again.
 
noticed when taking care of my threads with too long of titles, that it leaves this messages up at the top. Does it ever go away? I mean since I fixed them, the found 291 should no longer show up? I noticed that the too short or duplicate areas they stay clear.
It currently will always be there, but could make it also hideable or move it somewhere else 👍

Also, does this run a cron job, or scan the database in case future threads are created that will show up under either too short, too long, or duplicate? So in case members make new threads in the future I can adjust them again.
It doesn't need any cron job and all threads are fetched when you load the management pages 😊👍
 
Top Bottom