Удаление комментария пользователем - решено
Добрый день.
Помогите такую задачу решить для релиза 0.5 — надо дать возможность пользователям удалять свои комментарии из топиков.
В файле comments.tpl сделал такую конструкцию:
Т.е. в добавил OR $oUserCurrent->getUserID() == $oComment->getUserID() там, где идет проверка на админа.
Но при нажатии «удалить» — ошибка «нет доступа».
Решение под cut'ом
UPD: методом проб и ошибок и благодаря советам netlanc удалось найти вот такое решение: в /classes/actions/ActionAjax.class.php нужно исправить следующий блок
Помогите такую задачу решить для релиза 0.5 — надо дать возможность пользователям удалять свои комментарии из топиков.
В файле comments.tpl сделал такую конструкцию:
{if !$oComment->getDelete() and $oUserCurrent and ($oUserCurrent->isAdministrator() OR $oUserCurrent->getUserID() == $oComment->getUserID())}
<li><a href="#" class="delete" onclick="ls.comments.toggle(this,{$oComment->getId()}); return false;">{$aLang.comment_delete}</a></li>
{/if}
Т.е. в добавил OR $oUserCurrent->getUserID() == $oComment->getUserID() там, где идет проверка на админа.
Но при нажатии «удалить» — ошибка «нет доступа».
Решение под cut'ом
UPD: методом проб и ошибок и благодаря советам netlanc удалось найти вот такое решение: в /classes/actions/ActionAjax.class.php нужно исправить следующий блок
protected function EventCommentDelete() {
$idComment=getRequest('idComment',null,'post');
$oComment=$this->Comment_GetCommentById($idComment);
if (!$this->oUserCurrent and (!$this->oUserCurrent->isAdministrator() or $this->oUserCurrent->getId()!=$oComment->getUserId())) {
$this->Message_AddErrorSingle($this->Lang_Get('not_access'), $this->Lang_Get('error'));
return;
}
if !($oComment=$this->Comment_GetCommentById($idComment))) {...
4 комментария
А как бы так сделать, чтоб автор топика мог удалять комментарии к нему?