Регистрация...

Eserv Forum / E4 / Eserv 4 beta / Устройство форума

recent wikipost // (v2)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Понадобилось сделать форум.
Со списком форумов разобрался, {{FolderList}}.
А как сделать подписи к форумам, как на рисунке?
ForumE4
И еще, кто кроме admin'ов получает сообщения (какие роли)?
 
Комментарии к версии 1 (13.09.2012 14:15) [~ili_a] eed08563
Комментарии к этой версии (13.09.2012 14:16) [~ili_a] 14fa0613
АвторДатаТекстtags
ac13.09.2012 16:31
ili_a пишет: А как сделать подписи к форумам, как на рисунке?

Когда с высшими правами находитесь в списке форумов в вебе, он выглядит несколько иначе — появляются дополнительные точки, на которых можно ввести описание.

ili_a пишет: И еще, кто кроме admin'ов получает сообщения (какие роли)?

В данном случае это задаётся не ролями, а шаблонами сообщений в acWEB/conf/*.pat, потому что там могут быть и адреса резервных ящиков вне списка локальных учеток.
wikipost
ili_a13.09.2012 17:30
ac пишет: Когда с высшими правами находитесь в списке форумов в вебе, он выглядит несколько иначе — появляются дополнительные точки, на которых можно ввести описание.
Спасибо, точки я и не заметил
wikipost
ili_a13.09.2012 18:42
ред: 13.09.2012 18:43
ac пишет: В данном случае это задаётся не ролями, а шаблонами сообщений в acWEB/conf/*.pat, потому что там могут быть и адреса резервных ящиков вне списка локальных учеток.
Насколько я понял, там "глобальные шаблоны", действующие для всех сайтов, форумов. Можно ли для конкретного домена — сайта сделать свой шаблон?
При регистрации написано: "Имя пользователя — можно не указывать, тогда будет использоваться ваш Email." Но если его не вводишь, то выxодит ошибка "Логин слишком короткий!" utils.js смотрел, но где там изменить не нашел
wikipost
ac13.09.2012 22:17
ili_a пишет: Можно ли для конкретного домена — сайта сделать свой шаблон?

Можно в основном pat-файле написать:
{S" MsgTemplate" HostKeyValue EVAL-FILE}


Потом в ini добавить:
[www.ваш_домен1.ru] MsgTemplate=conf\домен1.pat [www.ваш_домен2.ru] MsgTemplate=conf\домен2.pat
и в этих двух файлах записать разные варианты исходного файла, в котором мы поставили HostKeyValue.
wikipost
ili_a14.09.2012 12:22
Один форум должен быть закрытым, но с возможной регистрацией пользователей. HTTP авторизация в этом случае не подходит.
Вставил строку в PageTemplate.e
{UID @ 0= [IF] S" <div class='bug' style='padding:5px;margin:3px'><b>Для просмотра, необходимо <a href='javascript:login()'>выполнить вход</a> или <a href='javascript:register()'>зарегистрироваться</a>.</b><span class='post'>login()</span></div>" [ELSE] PageText [THEN]}

Но она открывает содержимое всем пользователям. Как сделать, чтобы пускали пользователей определенного проекта, или нескольких проектов?
wikipost
ac14.09.2012 20:57
ред: 14.09.2012 21:02
ili_a пишет: Как сделать, чтобы пускали пользователей определенного проекта, или нескольких проектов?

Чтобы куковая авторизация влияла на ACL наравне с HTTP-авторизацией придётся добавить в OnStartup команду LoginByCookie перед строкой с EvalACL. Сейчас куки там не влияют, т.к. делать такую авторизацию для всего подряд, включая не-eserv-ные файлы, слишком затратно по нагрузке на БД.

Если такой патч устраивает, то можно сделать спец.опцию.

ili_a пишет: Но если его не вводишь, то выxодит ошибка "Логин слишком короткий!" utils.js смотрел, но где там изменить не нашел

Это внутри acWEB уже позже были прикручены проверки, а в странице исправить забыл. Виноват, исправляюсь, спасибо!
wikipost
ili_a15.09.2012 21:01
ac пишет: Чтобы куковая авторизация влияла на ACL наравне с HTTP-авторизацией придётся добавить в OnStartup команду LoginByCookie перед строкой с EvalACL. Сейчас куки там не влияют, т.к. делать такую авторизацию для всего подряд, включая не-eserv-ные файлы, слишком затратно по нагрузке на БД.

Если такой патч устраивает, то можно сделать спец.опцию.
Не совсем понял, а права где настраивать? Если в праваx доступа, то мне сначало надо запретить, но тогда и первая страница не откроется, появится окно http авторизации. Или я что то не допонимаю? Может есть вариант аналогичный UID @ 0= для проектов?

LoginByCookie вставлять перед строкой URI HOST " {s}{s}" STR@ EvalACL ?
wikipost
ac18.09.2012 21:09
ili_a пишет: LoginByCookie вставлять перед строкой URI HOST " {s}{s}" STR@ EvalACL ?

Да.

ili_a пишет: Не совсем понял, а права где настраивать? Если в праваx доступа, то мне сначало надо запретить, но тогда и первая страница не откроется, появится окно http авторизации. Или я что то не допонимаю? Может есть вариант аналогичный UID @ 0= для проектов?

Запретите по URL в ACL только тот форум, где доступ ограничен, тогда главная страница останется "открывабельной" и доступной для регистраций.
wikipost
ili_a19.09.2012 19:06
ac пишет: Запретите по URL в ACL только тот форум, где доступ ограничен, тогда главная страница останется "открывабельной" и доступной для регистраций.
Если ставлю просто запрет, то выходит окно http авторизации, если запрет ставлю конкретному проекту, авторизирует и все показывает. LoginByCookie вставил и перезагрузил.
Думаю решение где то рядом, к примеру заменять URL или Dir пользователям проектов, или вы об этом и говорили?
wikipost
ac20.09.2012 23:33
Вот с этой версией можно убрать LoginByCookie из OnStartup, т.е. вернуться к штатному.

Файл: acWEB5 cookacl [2252775 bytes]
wikipost
ili_a21.09.2012 23:03
Спасибо, пробую.
wikipost
ili_a24.09.2012 10:30
ac пишет: Запретите по URL в ACL только тот форум, где доступ ограничен, тогда главная страница останется "открывабельной" и доступной для регистраций.
В этом случае после входа нет возможности сбросить авторизацию. Сделал не через ограничение прав а подменой URL, сделал страницу и прописал ее в URL /Error. Страница выводится, но кнопка выход не работает (как и другие, и картинки не загрузаются). Может есть какой еще способ?
wikipost
ac24.09.2012 22:37
ред: 24.09.2012 22:38
Я делал так: создал на сайте папку TestForum/ (через веб), затем в ACL добавил два элемента:
Ресурс: сайт/TestForum/* Протокол: HTTP Полномочия: 0
и
Ресурс: сайт/TestForum/* Протокол: HTTP Проект: test Полномочия: 63


В результате корень сайта работает как обычно — с возможностью регистрации и входа/выхода, а в TestForum/ пускает только ранее залогиненных. Картинки и кнопки все работают, т.к. на их каталог /e4a/ никаких ограничений этими acl не накладывались.
wikipost
ili_a25.09.2012 09:44
ac пишет: В результате корень сайта работает как обычно — с возможностью регистрации и входа/выхода, а в TestForum/ пускает только ранее залогиненных. Картинки и кнопки все работают, т.к. на их каталог /e4a/ никаких ограничений этими acl не накладывались.
Это хорошо, когда надо ограничить доступ к определенной папке-разделу сайта, у меня так и сделано для админского раздела на офисном портале. А сейчас мне надо для всего сайта. Или придется прописывать права для каждой папки
wikipost
ac25.09.2012 16:09
Но какая-то страница должна остаться доступной, чтобы на ней авторизоваться, а дальше ходить по кукам. Если доступна должна быть только корневая, а все папки закрыты, то описанные выше ACL можно расширить сразу на все папки: "Ресурс сайт/*/*". А чтобы картинки и скрипты не блокировались — добавить "Ресурс сайт/e4a/* Полномочия 63".
wikipost
ILI_A25.09.2012 20:34
Почемуто не работают эти правила.
Ресурс: *forum.domen.ru/*/* Протокол: HTTP Полномочия: 0

Ресурс: *forum.domen.ru/e4a/* Протокол: HTTP Полномочия: 63

Ресурс: *forum.domen.ru/public/* Протокол: HTTP Полномочия: 63

Ресурс: *forum.domen.ru/*/* Протокол: HTTP Проект клиента: test Полномочия: 63

Пользователь авторизируется, видит список форумов, а при входе в них получает Forbidden (ACL)
Уже все перепробовал, не работает, кэш очищал, аналогичные правила на другие ресурсы но с запретом на весь сайт (выдает http авторизацию) работают.
wikipost
ac26.09.2012 00:13
Поставьте в OnStartup (внизу, где прочие дебаги) ACL_DEBUG ON и перезапустите. Потом посмотрите, срабатывает ли последнее из перечисленных правил выше — совпадает ли проект, например.
wikipost
ili_a27.09.2012 13:51
А как сделать чтоб новости появлялись на первой странице в левой колонке? Создал страницу в корне, выделил ее по IMAP, а она не появляется И можно ли заголовок НОВОСТИ, назвать по другому?
wikipost
ac27.09.2012 19:44
На главной странице в левой колонке новости показываются из папки news (отмеченные флагом), т.е. как бы "официальные" новости. На остальных страницах в левой колонке показываются названия страниц, отмеченных флагом в корневой папке, т.е. интересное в списке последних изменений.

При необходимости это можно менять в шаблоне страницы PageTemplate.e, указав другую папку {S" mynews" ListAllNewsFromFolder}.
wikipost
ac27.09.2012 19:46
Или ListNewsFromFolder — отличие от ListAllNewsFromFolder в фильтре по флагам.
wikipost
ili_a27.09.2012 20:41
Не совсем понял, как нужно прописать, чтоб новости на главной показывались отмеченные из текущей папки, в других папках пусть показываются другие отмеченные в этих папках.
А то если создаю папку news, она автоматом показывается в списке форумов.
wikipost
ac27.09.2012 21:02
Чтоб всегда из текущей, без особой обработки главной, можно так: {FALSE ListNewsDef}
TRUE — все обновления, FALSE — только отмеченные.
wikipost
Работает на Eserv/5.05567 (10.02.2020)