[XTR] Conversation Management [Deleted]

XDinc

Well-known member
XDinc submitted a new resource:

[XTR] Conversation Management - This add-on allows you to easily manage the conversations.

XenForo 2.2.x Compatibility
  • Requires PHP 7.2+
  • Supports only XF 2.2.2+
Note: Please do not install the add-on, if you are using lower than XF 2.2.2+

The best way to manage conversations between of members.
All you need to limit start or reply a conversation, view the details, view the attached files, batch delete and more.

Features
  • Searching in conversations by selected keywords,
  • Ordering by selected filters,
  • Invite to new...

Read more about this resource...
 
Is this only for personal conversations or admins can view another person's private conversations?
 
This resource has been removed and is no longer available. The following reason was provided:
This resource has been deleted by XenForo Ltd. in line with our resource housekeeping criteria.
 
Nice little add-on.

One remark, you should change the layout of the permissions:
1623498868489.png

The first 3 options are moderator options. One little mistake here can have some pretty serious consequences (normal users can read all conversations).

Only the last 4 options are general options imho.
 
Last edited:
And it looks like the option "Can invite a member to any conversation" doesn't seem to work.

When enabled for the registered users group, a normal user cannot add another member to a conversation started by another user.

Edit: Same goes for "Can view conversation attachments". When set to "No" a normal user can still view an attachment.
 
Last edited:
Feature request: It is now possible to search for titles but I would also like to search in the message body itself.
 
And it looks like the option "Can invite a member to any conversation" doesn't seem to work.

When enabled for the registered users group, a normal user cannot add another member to a conversation started by another user.

Edit: Same goes for "Can view conversation attachments". When set to "No" a normal user can still view an attachment.

Hi @duderuud ;
I think there is a misunderstanding.,

You may use the following options only if you view the conversation via conversation-management.
These options are deliberately planned to only work on the relevant page. It has no effect on the overall default/public structure.
Users or staffs cannot see these options in their own standart conversations.

But I can consider these suggestions.
Many thanks.
 
This add-on is throwing errors once in a while, doesn't play nice with the AMPXF add-on from @mazzly :
Code:
[LIST]
[*]ErrorException: Template error: [E_USER_WARNING] Cannot call method isMemberOf on a non-object (NULL)
[*]src/XF/Template/Templater.php:1153
[*]Generated by: xxxxx
[*]Jun 21, 2021 at 11:51 PM
[/LIST]
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/var/www/dom...', 1153)
#1 src/XF/Template/Templater.php(1153): trigger_error('Cannot call met...', 512)
#2 /mnt/storage/internal_data/code_cache/templates/l2/s13/public/xtr_conversations_index.php(145): XF\Template\Templater->method(NULL, 'isMemberOf', Array)
#3 src/XF/Template/Templater.php(1628): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, NULL)
#4 src/addons/MaZ/AMP/XF/Template/XF22/Templater.php(52): XF\Template\Templater->renderTemplate('xtr_conversatio...', Array, true, NULL)
#5 src/XF/Template/Template.php(24): MaZ\AMP\XF\Template\XF22\Templater->renderTemplate('public:xtr_conv...', Array)
#6 src/XF/Mvc/Renderer/Html.php(48): XF\Template\Template->render()
#7 src/XF/Mvc/Dispatcher.php(458): XF\Mvc\Renderer\Html->renderView('XENTR\\Conversat...', 'public:xtr_conv...', Array)
#8 src/XF/Mvc/Dispatcher.php(440): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(400): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(58): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#11 src/XF/App.php(2337): XF\Mvc\Dispatcher->run()
#12 src/XF.php(488): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}

array(4) {
  ["url"] => string(25) "/conversation-management/"
  ["referrer"] => string(51) "https://www.website.com/conversation-management/"
  ["_GET"] => array(1) {
    ["/conversation-management/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
I like that you can search by who started the conversations - but can we get an option to also search for a users conversations regardless of if they started the conversation or not?
 
Still getting these errors...

Code:
[LIST]
[*]ErrorException: Template error: [E_USER_WARNING] Cannot call method isMemberOf on a non-object (NULL)
[*] 
[*]src/XF/Template/Templater.php:1176
[/LIST]
[LIST]
[*]Generated by: user
[*] 
[*]Jan 2, 2022 at 4:10 PM
[/LIST]
[HEADING=2]Stack trace[/HEADING]
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/nginx/dom...', 1176)
#1 src/XF/Template/Templater.php(1176): trigger_error('Cannot call met...', 512)
#2 /mnt/storage/internal_data/code_cache/templates/l2/s13/public/xtr_conversations_index.php(133): XF\Template\Templater->method(NULL, 'isMemberOf', Array)
#3 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, NULL)
#4 src/addons/MaZ/AMP/XF/Template/XF22/Templater.php(52): XF\Template\Templater->renderTemplate('xtr_conversatio...', Array, true, NULL)
#5 src/XF/Template/Template.php(24): MaZ\AMP\XF\Template\XF22\Templater->renderTemplate('public:xtr_conv...', Array)
#6 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#7 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('XENTR\\Conversat...', 'public:xtr_conv...', Array)
#8 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#11 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#12 src/XF.php(517): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}

[HEADING=2]Request state[/HEADING]
array(4) {
  ["url"] => string(25) "/conversation-management/"
  ["referrer"] => string(27) "https://www.domain.com"
  ["_GET"] => array(1) {
    ["/conversation-management/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
 
@XDinc getting these errors also:

Code:
ErrorException: Template error: [E_WARNING] Attempt to read property "group_id" on null src/addons/XENTR/Conversations/MacroRender.php:15

Stack trace
#0 src/addons/XENTR/Conversations/MacroRender.php(15): XF\Template\Templater->handleTemplateError(2, '[E_WARNING] Att...', '/home/nginx/dom...', 15)
#1 src/XF/Extension.php(52): XENTR\Conversations\MacroRender::preRender(Object(MaZ\AMP\XF\Template\XF22\Templater), 'admin', 'option_macros', 'option_form_blo...', Array, Array)
#2 src/XF/App.php(2853): XF\Extension->fire('templater_macro...', Array, 'admin:option_ma...')
#3 src/XF/Template/Templater.php(761): XF\App->fire('templater_macro...', Array, 'admin:option_ma...')
#4 src/addons/MaZ/AMP/XF/Template/Templater.php(139): XF\Template\Templater->callMacro('option_macros', 'option_form_blo...', Array, Array, NULL)
#5 /mnt/storage/internal_data/code_cache/templates/l3/s0/admin/notice_list.php(116): MaZ\AMP\XF\Template\Templater->callMacro('option_macros', 'option_form_blo...', Array, Array)
#6 src/XF/Template/Templater.php(1651): XF\Template\Templater->{closure}(Object(MaZ\AMP\XF\Template\XF22\Templater), Array, NULL)
#7 src/addons/MaZ/AMP/XF/Template/XF22/Templater.php(52): XF\Template\Templater->renderTemplate('notice_list', Array, true, NULL)
#8 src/XF/Template/Template.php(24): MaZ\AMP\XF\Template\XF22\Templater->renderTemplate('admin:notice_li...', Array)
#9 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#10 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('XF:Notice\\Listi...', 'admin:notice_li...', Array)
#11 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#13 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#14 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#15 src/XF.php(517): XF\App->run()
#16 admin.php(13): XF::runApp('XF\\Admin\\App')
#17 {main}

Request state
array(4) {
  ["url"] => string(19) "/admin.php?notices/"
  ["referrer"] => string(36) "https://www.domain.com/admin.php"
  ["_GET"] => array(1) {
    ["notices/"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
XDinc updated [XTR] Conversation Management with a new update entry:

Changelog 1.0.3

1.0.3 Changelog
  • Fixed [E_WARNING] Attempt to read property "group_id" on null
  • Confirmed XF 2.2.8+ Support
  • Updated MacroRender.php
  • Template modifications updated.
  • Added new phrases.
  • Added new permissions to control the following limits,
    • Max. conversations can create
    • Can create a conversation with only staff
Recommended
  • PHP 8.0+
Many thanks to @duderuud for the reports!

Read the rest of this update entry...
 
Back
Top Bottom