Your Time
Our Time
Response Time
24 — 48 hours
We strive to provide the fastest ever response possible. However, we are not super beings.

Allow at least 24 — 48 hours
  Support is offline
Our team is away during the weekend. Some answers may already be available on our documentation

Rest assured that we will get back to your posts as soon as the week starts!
  Support is offline

Change who can accept answer

Ignacio · ·
1:47 AM Sunday, 31 May 2020

As far as I can see who can accept answer in easydiscuss is controlled by user group.
I wanted to set it so that only the person who posted the question can accept the answer, and I found some tickets about this issue without a solution. I came up with the following solution.

I share it so that others can use it, and for the Easydiscuss team to evaluate it. Please tell me if it's a good solution.
Thank you!

Change the file: components/com_easydiscuss/themes/wireframe/post/default.actions.php

Add the following code in the line 59 under <?php if ($post->canAcceptAsAnswer()) { ?>

$usert = JFactory::getUser()->id;
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->where('id =' . $post->id);
$parentidet = $db->loadObjectlist();
$postp = $parentidet[0]->parent_id;

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->where('id =' . $postp);
$idet = $db->loadObjectlist();
$userp = $idet[0]->user_id;

$userad = JFactory::getUser();
$groups = $userad->get('groups');
foreach($groups as $group) {
if( $group == 8 or $userp == $usert){ ?>

And don't forget to add another two } above the line <?php if ($post->canReply()) { ?>

so that it looks like:

<?php }}} ?>

By doing this only users in user group 8 and question owner can accept answer.

Please let me know if it's a good idea to use this solution.

Thank you!
Love Stackideas.
The replies under this section are restricted to logged in users or users with an active subscription with us