/** * Deletes comment * * @param int $id * @param Activity $stream * @param UserTable $user * @param UserTable $viewer * @param bool $silent */ private function deleteComment( $id, $stream, $user, $viewer, $silent = false ) { global $_PLUGINS; $row = new CommentTable(); $row->load( (int) $id ); if ( ( ! $row->get( 'id' ) ) || ( ( $viewer->get( 'id' ) != $row->get( 'user_id' ) ) && ( ! CBActivity::isModerator( (int) $viewer->get( 'id' ) ) ) ) ) { header( 'HTTP/1.0 404 Not Found' ); exit(); } if ( ! $row->canDelete() ) { header( 'HTTP/1.0 401 Unauthorized' ); exit(); } if ( ! $row->delete() ) { header( 'HTTP/1.0 500 Internal Server Error' ); exit(); } $_PLUGINS->trigger( 'activity_onRemoveComments', array( $stream, $row ) ); if ( ! $silent ) { if ( $stream->get( 'type' ) == 'comment' ) { echo CBTxt::T( 'This reply has been deleted.' ); } else { echo CBTxt::T( 'This comment has been deleted.' ); } } header( 'HTTP/1.0 200 OK' ); exit(); }