anchor.diff:  </c:if>
   </div>
   
  -<% if (Template.isSessionAuthorized(session) && !message.isExpired() && !showDeleted) { %>
  +<% if (Template.isSessionAuthorized(session) && (!message.isExpired() || tmpl.isModeratorSession()) && !showDeleted) { %>
   <hr>
   <form action="view-message.jsp" method=POST>
   <input type=hidden name=msgid value="<%= msgid %>">
  
positive.code: <%@ page pageEncoding="koi8-r" contentType="text/html; charset=utf-8"%>
  <%@ page import="java.sql.Connection,java.sql.Statement,javax.servlet.http.HttpServletResponse,ru.org.linux.site.*,ru.org.linux.util.StringUtil" errorPage="/error.jsp" buffer="200kb"%>
  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  <% Template tmpl = new Template(request, config, response); %>
  <%= tmpl.head() %>
  
negative.code: 
      Message message = new Message(db, msgid);
  
      if (message.isExpired() && showDeleted && !tmpl.isModeratorSession()) {
        throw new AccessViolationException("      ");
      }
      if (message.isExpired() && message.isDeleted() && !tmpl.isModeratorSession()) {
        throw new AccessViolationException("    ");
      }
      if (message.isDeleted() && !Template.isSessionAuthorized(session)) {
  