function MessagesRender($msg)
{
    global $userAccess;
    $disableMsg = '';
    $total = TotalTime(time(), $msg['date'] + Day2Sec * $msg['expire']);
    if ($total === false) {
        if ($msg['expire'] != 0) {
            $disableMsg .= "and `id`='" . $msg['id'] . "'";
            return;
        }
    }
    if (VisibilityConditionsCheck($msg['showin'], $msg['showin_uri'])) {
        $adin = '';
        if ($userAccess == '1') {
            if ($msg['expire'] != '0') {
                $vt = 'Срок истекает через ' . $total['sdays'] . ($total['hours'] != 0 ? ' и ' . $total['shours'] : '');
            } else {
                $vt = 'Неограниченно';
            }
            $adin = '(Просматривают: ' . ViewLevelToStr($msg['view'], 'Только администраторы', 'Только пользователи', 'Только анонимные пользователи', 'Все посетители') . ' - ' . $vt . ' - <a href="' . ADMIN_FILE . '?exe=messages&a=msgeditor&id=' . $msg['id'] . '">Редактировать</a>)';
        }
        if ($msg['view_title'] == 1) {
            // Показывать заголовок
            $title = $msg['title'];
        } else {
            $title = '';
        }
        System::site()->AddMessage($title, $msg['text'], $adin);
    }
}
function AdminSiteMessagesEditor()
{
    $title = '';
    $text = '';
    $showin = array('ALL_EXCEPT');
    $extrauri = array();
    $time = '0';
    $view = 4;
    $enabled = 1;
    $view_title = array(false, false);
    $position = array(false, false);
    $resettime = '';
    if (!isset($_GET['id'])) {
        $view_title[1] = true;
        $position[1] = true;
        $url = '';
        $btitle = 'Создать сообщение';
        $method = 'Создать';
        $a = 'add';
    } else {
        $id = SafeEnv($_GET['id'], 11, int);
        System::database()->Select('messages', "`id`='{$id}'");
        $msg = System::database()->FetchRow();
        $title = SafeDB($msg['title'], 250, str);
        $text = SafeDB($msg['text'], 0, str, false);
        $time = SafeDB($msg['expire'], 11, int);
        if ($time != '0') {
            $total = TotalTime(time(), SafeDB($msg['date'], 11, int) + Day2Sec * SafeDB($msg['expire'], 11, int));
            $resettime = 'Осталось времени ' . $total['sdays'] . ' и ' . $total['shours'];
        }
        $showin = unserialize($msg['showin']);
        $extrauri = unserialize($msg['showin_uri']);
        $view_title[SafeDB($msg['view_title'], 1, int)] = true;
        $position[SafeDB($msg['position'], 1, int)] = true;
        $view = SafeDB($msg['view'], 1, int);
        $enabled = SafeDB($msg['active'], 1, int);
        $url = '&id=' . $id;
        $btitle = 'Редактирование сообщения';
        $method = 'Сохранить изменения';
        $a = 'edit';
    }
    FormRow('Заголовок', System::site()->Edit('title', $title, false, 'maxlength="250" style="width:400px;" class="autofocus"'));
    FormRow('Показывать заголовок', System::site()->Radio('vtitle', 'on', $view_title[1]) . 'Да&nbsp;' . System::site()->Radio('vtitle', 'off', $view_title[0]) . 'Нет');
    FormTextRow('Текст сообщения', System::site()->HtmlEditor('text', $text, 625, 300));
    FormRow('Отображать&nbsp;дней:<br /><small> (0 - неограниченно)</small>', System::site()->Edit('time', $time, false, 'maxlength="3" style="width:40px;"') . $resettime);
    if ($a == 'edit') {
        FormRow('Сбросить таймер', System::site()->Check('resettime', '1', false));
    }
    VisibilityConditionsAdmin($showin, $extrauri);
    System::site()->DataAdd($posd, 'top', 'Вверху', $position[1]);
    System::site()->DataAdd($posd, 'bottom', 'Внизу', $position[0]);
    FormRow('Положение', System::site()->Select('position', $posd));
    FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($view)));
    FormRow('Включить', System::site()->Select('enabled', GetEnData($enabled)));
    AddCenterBox($btitle);
    AddForm('<form action="' . ADMIN_FILE . '?exe=messages&a=save' . $url . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($method));
}