Вы не зашли.
Knopik пишет:<div id="new_comments" ></div> нужно поставить внужное место в шаблоне plugins/comments/comments.form.tpl
Я его оттуда и не удалял. Попробывал сейчас добавить в несколько разных мест в comments.form.tpl - не помогает
И всё-таки ты его удалил
Открываем страницу с комментариями, делаем "view as HTML..." и пытаемся найти текст "new_comments".
Что мы видим?
Правильно - находим только обращение к new_comments в JavaScript'е, но HTML блока с таким ID нигде нет.
Shef, проблема как раз в кодинге, точнее - в особенностях работы регулярных выражений с UTF-8. Пока эта проблема в NG не решена.
Тупо перекодировать можно на автомате за 10 минут
sergey777, насколько я знаю подобное делается при помощи ads_pro.
vl, внимательней работаем с шаблонами.
Ошибка возникает вот на этом JS коде:
var nc = document.getElementById('new_comments');
Тебе необходимо создать элемент с ID = new_comments в который и будут добавляться новые комментарии.
mittus, блокировка по странам действительно может оказаться эффективной, но только если:
1. Атака идёт из нецелевых стран (из какого-нибудь Китая где целевых посетителей просто нет)
2. Блокировка по странам - один из элементов защиты. Иначе всего единственный долдон с ApacheBenchmark сможет положить всё что угодно (ab легко выдаёт под 500 одновременных подключений и >1000 запросов в секунду)
Ну и плюсом ко всему нужно включать тотальное кеширование (везде где только можно) средствами nginx'а..
Для чайника:
1. Читаем доки:
* тут http://sysoev.ru/nginx/
* тут http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html
2. Анализируем access.log'и для определения характера атаки и выделения критериев, по которым возможно заблокировать запрос сразу
3. Анализируем поведение обычного пользователя и решаем какое ограничение можно установить для limit_req_module
4. При желании - делаем анализ error.log'а на предмет блокировки IP (через iptables) с которых идёт атака
5. Настраиваем nginx и получаем профит
Если нет желания читать, то велкам в ICQ. За чисто символические 1 т.р. готов всё это сделать вместо тебя.
Единственное "но" - при правильно поставленной DoS атаке защиту нужно постоянно оптимизировать, т.к. правильные атакующие находят и пытаются обойти способы блокировки атак.
Указанная цена (1 т.р.) - за разовую настройку защиты.
Неа
Максимум что ты заблокируешь - атаки с серверов, на которых находятся указанные тобой сайты.
По referer'у ты таким образом не закроешься.
p.s. Как только запрос прошел от nginx до апача, то смело можешь считать атаку удавшейся. У тебя апач банально ляжет под трафиком.
legenda, nginx тебе в помощь.
У меня сейчас связка nginx + limit_req_module + самописный скрипт на perl'е успешно защищают сайт на WP от периодических DDoS атак.
Атаки средней тяжести, в пике может приходить ботнет из 200+ компов и 700+ запросов в секунду.
p.s. Сайт не мой, я просто сделал для него простенькую защиту.
Обнаружил ещё две ошибки, Changeset 780:
1. При добавлении новостей не отображаются заголовки разделов "Дополнительные категории" и "Настройки".
2. Во вкладке "приложенные файлы" при добавлении новости в блоке с id="attachFilelist" всё кроме кнопки "Добавить поле" на английском.
Спасибо, исправлю.
И еще при удалении xfields:
Выполняются изменения в БД, требуемые для удаления данного плагина
Удаление поля xfields из таблицы news
SQL: [alter table ng_news drop column `xfields`] выполнено
Изменение таблицы categories => таблица не существует
Спасибо, исправлю.
KhadeR, не надо гнаться за объединением всего и вся, иначе было бы проще объединить вообще весь код движка в один файл и радоваться жизни
А по существу - объединение addnews/editnews выглядит логически, т.к. это разные операции над одной сущностью. Т.е. это просто напросто удобно с точки зрения создания кода.
В случае с files.php / images.php я просто не вижу смысла их объединять.
Ну а уж с точки зрения пользователей тут вообще разницы нет, т.к. такие изменения никак не влияют на логику работы.
KhadeR, фактически они объединены, загляни в код - вся логика перенесена в другие библиотеки.
А визуально объединить их будет сложно, т.к. для файлов и изображений необходимы совершенно разные элементы управления.
KhadeR, выложил ещё один фикс в SVN + необходимо выключить&включить comments.
Codwyn, на "новый дизайн сайта" я после здравого размышления решил забить.
Причина - оно того просто не стоит.
Нужен функционал, а не рюшечки (которых и сейчас достаточно).
Вот если сделаешь хотябы 2 действительно дельных шаблона, то будет неплохо.
Codwyn, ну тему-то я на самом деле читаю... но отвечать тут действительно сейчас не на что.
Всё остаётся как и раньше:
- одни много-много болтают, критикуют, рассказывают как всё плохо и надо валить (почему же не валят-то??)
- другие занимаются более полезными делами
Других, к сожалению, значительно меньше чем первых.
При этом реальных предложений в этой теме не было, нет,... и, видимо, не будет
Knopik, пока такого сделать нельзя.
Но чуть позже будет можно.
mittus, ты ведь таблицу ng_xfields создал?
Ошибки исправил.
Knopik, в ЧПУ для идентификации категории используется её альт. имя.
Как ты будешь отличаться категорию "css" от "css" и от "css"?
В SVN выложен набор патчей - оптимизация редактирования новостей + обновлённая (!!! тестовая !!!) версия плагина xfields.
Прошу всех желающих на тестирование.
phoenix, вообще в NGCMS короткая и длинная новость объединены в одно единственное поле "content" и на лету разрезается на короткую и полную часть тегом <!--more-->.
С точки зрения программирования разницы нет - одно это поле или несколько.
Если у тебя в DLE короткая и полная новости лежат в разных полях, то можешь просто объединить их (вставив между ними <!--more-->) и всё.
Дальше больше - поставь более чёткую задачу:
1. Тебе надо убрать HTML теги из кода ибо "так хочется"
2. Тебе надо убрать HTML теги из кода ибо при разрезании (по длине) строчки может получиться обрезок HTML'я.
Вот вторая задача достаточно легко решается функцией truncateHTML() из класса parse (engine/includes/classes/parse.class.php).
Вызвать можно так:
$parse = new parse;
$truncated = $parse->truncateHTML($need_to_truncate, 500, '');
При этом в $truncated у тебя окажется первые 500 печатаемых символов из переменной $need_to_truncate (т.е. сами HTML теги в отсчёте длины учитываться не будут и обрезок визуально всегда будет одинаковой длины), все открытые (до точки обрезания) теги будут закрыты.
Как тебе такой вариант?
В http://trac2.assembla.com/ngcms/changeset/652 ты поправил дефолтный шаблон, но забыл добавить token в шаблон, который идет с самим плагином
Спасибо!
Что есть "теги"?
BB коды / HTML теги или что-то иное?
Wolverine, session_start() делается в начале core.php, а session_register() уберу, спасибо.
legenda, 2-3 месяца
legenda, корректное решение будет только после появления групп пользователей - тогда можно будет задавать каждой группе нужные права.
Сейчас же можно сделать просто небольшой фикс для плагина nsched, который будет выводить свой блок только тем, кто и так имеет права на публикацию.