Вы не зашли.
Ммм... uztrans, который ведёт T-Moor: ~6k посетителей в сутки, работает без проблем.
А по поводу обязательной премодерации - посмотри на "небольшой" портальчик mail.ru - там нет премодерации комментариев,... и на куче аналогичных нет этой функции
С остальным частично согласен.
Сделал тоже самое,... мягко выражаясь вылезла просто масса мусора.
Правда действительно - только та мелочь, на которую я сознательно при разработке не обращал внимание.
Кое что, думаю, устраню, но специально вычищать все эти сообщения не вижу смысла.
Когда мне надо проверить условие "элемент массива определён и её значение не равно нулю (фактически - установлено в единицу)" я пишу:
if ($params['var']) {;}
при этом чтобы не получать Warning'ов надо писать:
if (isset($params['var']) && $params['var']) {;}
что фактически не даёт никакой пользы.
p.s. Если обоснуешь причину, по которой это надо вычищать - вычищу.
Magic Quotes GPC - Рекомендуется: Отключено, Установлено-Включено
Нужна эта "штука" затем, чтобы в информации, передаваемой методами GET и POST, а так же в куках ко всем кавычкам (") слква добавлялся слэш (/") автоматически
Что произойдет, стоит ли ставить дальше?
Ничего не произойдёт.
Просто будет чуть-чуть медленнее работать из-за необходимости преобразовать все GET/POST переменные (убрать последствия работы MagicQuotes'а).
Luca, есть ещё вариант - заменить хостера "$10/год" на "$10/мес" и проблемы решатся
Хм.. действительно интересный вопрос получается.
Если надо только на главной такое сделать - можно направлять просто на "/", а вот если подобный фильтр нужно делать для любых новостей, то без плагина-фильтра не обойтись, нужно будет цепляться на событие onBeforeShow
И, очень похоже, у тебя там ещё и Wiki сильно портила ситуацию...
Описание action'ов будет сегодня-завтра - мне осталось ещё немного с документацией по шаблонам, сразу после этого займусь описанием плагинов и начну с action'ов.
Создание своих собственных action'ов обычным плагинам действительно крайне нежелательно.
Но вот если речь идёт про какие плагины-enabler'ы (обеспечивающие работу других плагинов) или наоборот про плагины-агрегаторы (для работы которых создаются дополнительные плагины), то создание собственных action'ов - правильный путь.
Сейчас таких плагинов всего 2: comments (исторически сложилось + позволяет работать плагинам, фильтрующим комментарии) и finance.
Создать action не просто, а безумно просто. Пишешь в коде:
exec_acts('super_action');
и можешь смело указывать этот самый action в файле version других плагинов. Логику действительно проще всего посмотреть в дебаге - становится всё значительно понятней.
Оповещение должно работать через сайт с опубликованными плагинами, но сейчас живёт на ручнике: при заходе на страничку плагина двиг с определённой периодичностью делает запрос на ngcms.ru, сообщает список установленных у себя плагинов и их версии и в ответ - получает список плагинов по которым доступны новые версии + ссылки на страницы плагинов.
p.s. ob_clean не используется, поэтому для debug'а можно использовать обычные print'ы (я, кстати, именно так при отладке и поступаю)
Новости "с полей" (это чтобы никто не подумал, что работы приостановлены):
1. На 90% завершена документация по шаблонной системе и процедура обновления шаблонов, из SVN удалены все ненужные файлы для шаблона default
2. В SVN выложен фикс, который позволит более эффетивно работать независимым плагинам, т.е. тем, которые самостоятельно генерируют выводимые странички (к таким плагинам относятся: jchat и форум, который сейчас разрабатывает ROZARD). Просьба потестировать.
Лучше делать отдельным плагином.
Сейчас же, как минимум, появляется уязвимость с возможностью исполнения произвольного PHP кода.
Если автор гостевой книги не озаботился о таком виде защиты, то любой желающий сможет исполнить любой код на твоём сайте,... согласись - это не очень хорошо..
Всё верно, удалены ненужные шаблоны в SVN changeset 369.
Шаблон news.search.tpl - брат близнец шаблона news.short.tpl и является опциональным шаблоном, в случае его наличия именно он будет использоваться для поиска.
Выложил обновлённую процедуру апгрейда, плюс - немного доработал документацию по шаблонам.
Смотреть тут.
Если нет категории, то двиг использует "none" вместо альт. имени категории.
А вообще двигу пофигу на категорию - уникальным идентификатором новость является её альт. имя
Убрать можно всё, вопрос в другом - надо ли оно тебе?
p.s. Видимо ты про другое хочешь спросить? Как теперь находить новости, которые отмечены как "отобразить на главной"? Заходишь... правильно - в "управление форматом ссылок", находишь news:main ("Главная новостная страница") и прописываешь желаемый URL
infinity237, п. 1 - особенность работы движка, и SQL запрос по категориям и подгрузку плагинов делает ядро. Возможно надо что-то менять в архитектуре, чтобы подобные плагины могли совсем уж независимо работать.
Уже кому-то отвечал, а потом в SVN версии добавил маленький хак для удобства.
Открываешь index.php, находишь:
// /////////////////////////////////////////////////////////// //
// You may modify variable $systemAccessURL here (for hacks) //
// /////////////////////////////////////////////////////////// //
// /////////////////////////////////////////////////////////// //
Вставляешь в середину:
if (($systemAccessURL == '/')&&($_SERVER['REQUEST_METHOD'] == 'GET')) {
$systemAccessURL = '/static/15.html'; // вставляешь адрес твоей статик страницы
}
Ого, круто!
Что за плагин делаешь?
Amarelius, ты задаёшь очень хорошие вопросы
Добавил новую функцию:
// Remove recently registered command
function removeCommand($plugin, $cmd)
Отпишись, plz, по результатам тестирования.
Выложил драфт описание структуры файла version, пока ещё не интегрированное в основное меню документации.
Если найдёшь какие-либо неточности - пиши.
Чуть позже дам и описание существующих action'ов и правила их использования.
SeeD'у требовался каталог и несколько других функций, которые были в DLE и которых не было в NG.
Вполне возможно что когда-нибудь он вернётся на наш двиг
"Глубоко встроенных" (типа magic quotes) функций нет - если серьёзно, но от подобных вещей вреда больше чем пользы.
В самом же движке (и во всех плагинах) используется стандартный метод - без экранирования в SQL запрос добавляются только те переменные, которые сформированы двигом (к примеру, собственный счетчик) и в которых не может быть ничего опасного.
Для экранирования используется функция db_squote(), рекомендую использовать именно её (она находится в functions.inc.php и сама добавляет апострофы). Если посмотришь на SQL запросы, то заметишь, что она используется в 90% запросов
Amarelius, да, всё верно - эти переменные позволяют отключить вывод основного шаблона.
А групп, к сожалению, пока нет
По поводу makeCategoryList, поддерживаю вопрос (возможно немного иного плана): как сделать, чтобы в настройках категории заполнено поле "Альтернативный URL", то эта категория не отображалась в списке при добавлении/редактировании новости?
Логичнее было бы это захардкодить. Так, наверное, и сделаю - категории с альт. урлом не предназначены ведь для использования в новостях.
Amarelius, постараюсь ответить по порядку:
1. Категории - нет, исправлять содержимое массива ни в коем случае нельзя, т.к. данные из него используются и для отображения новостей.
Если тебе нужно заменить меню категорий, то лучше сделай свой собственный плагин, который будет генерировать нужное тебе меню. При желании плагин сможет создать доп. поля в таблице категорий и в админке плагина можно будет его настраивать.
2. Специальных механизмов для работы с AJAX'ом нет. Возможность выдачи только части информации также не предусмотрено.
Если хочешь понять как можно сделать что-то на AJAX'е, то посмотри на плагин jchat.
RPC механизм пока только в зачаточном состоянии, но будет развиваться.
3. Префильтр именно на редактирование? Боюсь, что такого нет. Редактировать новости может автор новости и администраторы с редакторами.
С просмотром тоже вопрос - если надо скрыть контент, то можно. Если же надо саму новость скрыть, то, боюсь, не получится.
Единственный способ - собственный плагин для отображения, который будет работать по аналогии с механизмом поиска (в поиске можно задать SQL фильтр на вывод контента)
4. Для вывода сообщения можно использовать стандартную функцию msg(), а можно - в отдельном шаблоне выводить информационный блок (это сделано в плагине complain, файл engine/plugins/complain/complain.php, строки 39-45)
Styler, плагин адаптировать под новую версию будешь?
Это вопрос, ответ на кем-то заданный вопрос или утверждение?
Настройки хранятся не в БД, а в файлах в engine/conf/
Полный бекап БД и есть бекап пользователей + новостей + данных плагинов (к примеру, тегов плагина tags для новостей).
Просто бекапить/восстанавливать отдельно пользователей (или новости или ещё что) нельзя - поплывут нафиг все связи автор<->контент