Основное внимание было уделено дальнейшей оптимизации по скорости работы. Все найденные запросы в базу рассчитанные на подсчет количества записей оптимизированы. Теперь даже расширяя функциональность php-nuke и обвешивая её блоками из стандартного набора Вы не снизите производительность кардинально. Хостинг может вздохнуть ещё чуть чуть свободнее:-)
Была проделана работа над изменением админской части, что должно сильно расширить возможности раздачи админских прав пользователям. Можно выдать права на операции над почти каждой админской опцией. Улучшена админо-невидимость неадминских частей:-)
Добавлены некоторые полезные блоки. Добавлен модуль и блок закладок по сайту.
Доска объявлений и новости ещё немного оптимизированы под яндекс (поисковые системы), сделан так же небольшой задел на будующее. Заметим что хронологически, после оптимизации доски объявлений на нашем сайте http://www.dogsempire.com/ объявления стали размещать заметно чаще.
В состав апдейта включен так же хайлайтер. Теперь можно настроить автоматическую подсветку нужных Вам слов. Например слово "хостинг" в этой статье подсвечено автоматически.
Блоки для нюки.
block-ForumsWD.php - Выводит последние сообщения с форума и последние добавленные линки и последние добавленные файлы.
block-ebookmarks.php - Блок закладок с удобном кнопкой "добавить" закладку:-) Работает вместе с модулем eBookmark. Примерно то же самое что известные Favorites для форума, но работает с любой частью сайта.
block-newssubscription.php - Блок подписки на новости. Отдельный блок показывающий число текущих подписчиков и возможность для зарегистрированных пользователей подписаться на новости в один клик.
block-rusnewsp.php - Блок новостей. Выводит часть новостей с превьюхами. А часть новостей только заголовки и короткую информацию. Подарен нашему проекту добрым человеком SLAED. Пока не тестировался:-)
Так же изменены, оптимизированы, скорректированы некоторые другие блоки в папке.
Модули для нюки.
Opros - сделан небольшой патч для корректной работы с новой системой админки.
NukeC - оптимизирован под поисковые системы (яндекс).
Your_Account - исправлены некоторые неточности и добавлена функция подписки новостей из блока.
eBookmarks - модуль закладок для нюки, на самом деле реально полезная вещь. Делали изначально для себя.
Другие модули частично оптимизированы по скорости.
Изменения в админской части.
Основная идея в следующем: нас несколько утомляло, что например выдавая админские права на модуль скачки файлов, этот админ мог зайти в News и увидеть там кнопки редактировать и удалять новости. Не на все админские функции можно было выдать админские права. Была затруднена раздача прав сторонним и/или дополнительным модулям. К сожалению в меру отсутствия четкого стандартна написания модулей под php-nuke и сохранения 100% совместимости не удалось и видимо не удаться реализовать полноценную админку. Насколько хорошо то, что мы реализовали сейчас - решать Вам. Будем рады любым предложениям и пожеланиям и идеям.
Изменено поведение функции is_admin. Теперь она по идее возвращает подтверждение админства только если админ имеет право админить текущий модуль. На практике это означает, что админ с правами на "файлы" не увидит кнопок "редактировать новость" в "новостях". Так же например, для модулей у которых нет собственных "админских" полей или админская часть реализована непосредственно в модуле реально реализовать админскую часть.
Описание (инструкция)
Когда Вы зайдете в редактирование админов, то снизу у Вас вылезет длиннейшее меню приаттаченное к админу.
links: это ссылки на те админские фукнции которые показываются в админке. В целом соответствуют модулям.
case: это файлы в папке case которые будут доступны админу. В целом тоже соответствуют модулям.
modules: это модули в которых админ при заходе в модуль будет проявляться как админ. Если у Вас есть админы без Божественных прав, не забудьте выставить им там галочки.
Если галочка в case/links не поставлена, то все установки будут как в обычной админке. modules - при "правильном" написании модуля разрешает админские функции для конкретного модуля (показывает админские кнопки при заходе в сам модуль). Но учтите, что если админские функции модуля реализованы через admin.php их прийдется задавать либо через стандартный набор админа, либо (если это есть) через стандартную админские галочки.
Практическое применение: допустим Вам надо дать админу доступ на Opros и Pages. Заходите в админку. Выбираете создать и/или редактировать админа. Выставляете галочки напротив Pages во всех трех колонках. Выставляете галочки на Opros там в колонке modules (в двух других он отсутствует, так как имеет свою админку). Это всё:-)
Как это проделывать для сторонних модулей - спрашивайте на форуме, лучше с конкретными примерами. Или можете посмотреть примерную реализацию на любом из модулей, например admin/modules/pages.php если они имеют нюковскую админку.
Новая фича:
"Раскрашиватель". Можно гордо назвать яндексатор. Можно более скромно подчеркиватель. Мысль в том, что бы подсвечивать определенный набор слов ссылками. Такие слова будут иметь бОльший вес для поисковиков (яндекса). Поэтому это можно с полным правом назвать поисковой оптимизацией. Главное не злоупотребляйте этим. В качестве примера, вот например, слово хостинг, здесь мы не выделяли ссылкой. Это автоматически.
Инструкция по применению... хм... просто загляните в файл highlighter.php Там в общем достаточно очевидно. Ключ массива - поисковое слово. Значение массива - чем подсвечивать.
Что было задумано, но не было сделано и почему
Красивые ссылки, сделанные под яндекс или что-то вроде того. Не успели доделать к сроку. Всё ещё находимся в задумчивости на тему что делать, красивые ссылки или одно быстрое универсальное правило?
Модуль faq/bookmarks от сторонних производителей. И то и другое оказось с непозволительным с точки зрения необходимого количество изменений для безопасной и быстрой работы.
Форма быстрого ответа, другие хаки для форума. Зависят в том числе и от темы, поэтому включены в дистрибутив не были и возможно не будут.
Постраничная разбивка новости, если она большая. Решили почти полностью переписать модуль Новости, включив в него более хорошую оптимизацию под поисковые системы (яндекс например), возможно добавить несколько функций. Сейчас сделан небольшой задел для этого.
Установка.
Сделайте обязательно полные бакапы, и базы и файлов. Импортируйте файл update010_015.sql из папки sql в базу данных, не забудьте о своих префиксах если они у Вас не стандартные. Скопируйте все файлы на хостинг предварительно вспомнив какую версию (с MNS или без) Вы устанавливали и выбрав соответствующую папку из архива.
О всех неточностях, проблемах и просто с вопросами - пожалуйста, обращайтесь в соответствующий раздел форума. Указывыайте максимально подробную информацию.
P.S.: Скачать можно по ссылке http://www.edogs.ru/modules.php?name=Downloads&d_op=viewdownload&cid=8
Важно: В случае если происходят непонятные вещи при превью новостей, редактировании и прочем аналогичном. Необходимо для соответствующих частей отключить "хайлайтер". Когда он подсвечивает ссылки, то spaw бывает этого не понимает. Отключить можно заменив например строку
return preg_replace($in,$out,$a[0]);
в файле footer.php
на
return $a[0];
В основном это конфликт spaw и "хайлайтера". Мы пока не решили что по этому поводу предпринимать, поэтому просто оставляем этот солюшен.