Решил проблему - пришлось немного дописать.
Файл mod.forum_core.php
Строчка примерно 7416
$query = $DB->query("SELECT status, forum_id, announcement FROM exp_forum_topics WHERE topic_id = '".$DB->escape_str($_GET['topic_id'])."'");
на
$query = $DB->query("SELECT status, forum_id, announcement, author_id FROM exp_forum_topics WHERE topic_id = '".$DB->escape_str($_GET['topic_id'])."'");
Строчка примерно 7430
if ( ! $this->_mod_permission('can_change_status', $query->row['forum_id']))
{
return $OUT->show_user_error('general', array($LANG->line('not_authorized')));
}
на
if ( ! $this->_mod_permission('can_change_status', $query->row['forum_id']))
{
if ( $SESS->userdata['member_id']!= $query->row['author_id'] )
{
return $OUT->show_user_error('general', array($LANG->line('not_authorized')));
}
}
Потом правим сам шаблон для добавления ссылки закрыть тему
Шаблон Ряды обсуждения
Находим тег
{if is_topic}
вставляем после него
{if can_edit}
<span class="smallLinks">[ <a href="{path:change_status}">{lang:change_status}</a> ]</span>
{/if}