Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Система SLAED CMS написана на PHP, и работает с базой данных MySQL. Если коротко, то это мощный програмный пакет, позволяющий эффективно и гибко управлять интернет-проектами. На основе SLAED CMS любой желающий, даже, не обладающий большими знаниями, может построить себе не только качественный сайт, но и мощный портал. Модульное наращивание позволяет инсталлировать на Ваш сайт разного рода модули. При помощи, которых, Вы без особого труда сможете дополнить стандартный пакет SLAED CMS. Систему можно использовать для любой языковой аудитории, а так же одновременно использовать на сайте неограниченное количество языковых версий. При наличие хотя бы небольшого опыта и знания HTML, сможете существенно изменить не только внешний вид, но и саму структуру сайта.
В стандартный пакет системы входят: Галерея, Аудио, Вопросы и ответы, Обратная связь, Файлы, Форум, HTML Контент, Интернет радио, Анекдоты, Список пользователей, Новости, Контент, Приватные сообщения, Рекомендовать, Поиск, Редактор, Добавить новость, Топ пользователи, Актуальные темы, Загрузка изображений, Видео, Опросы, Пользователи, а так же большой спектр функций и модулей панели администратора. Возможность настройки портала каждым пользователем под себя, сортировка новостей, статей и обзоров, по категориям, дате опубликования, по автору. Всё это является лишь небольшой частью возможностей SLAED CMS.
Тема для системы и форума в зеленых тонах. Шаблон обновлён от системы SLAED CMS 1.6 Free Final по договору с администрацией SLAED CMS. Для корректной работы шаблона необходимо внести изменения в структуру модуля. В архиве имеется описание.
Мод интеграции форума PHPBB 2.0.22 для CMS SLAED 2.2 Lite.
Этот мод не является полной интеграцией форума, так как для этого пришлось бы глобально изменять структуру Slaed или phpBB что не имеет никакого смысла. Данный мод только лишь объединяет две системы воедино, и позволяет им совместно работать используя одну базу данных.
Добавление информации о фирме для пользователей.
Размещение прайс-листов, после разрешения администратора.
Размещение информации о товаре услуге производимой фирмой, с возможностью загрузки фотографии товара. Загрузка логотипа фирмы.
Для возможности выбора категории смотрите структуру базы, для примера оставлена моя база.
При отборе сайтов в ответ на запрос гугль отфильтровывает множество сайтов, формально подходящих под условия запроса, но по тем или иным причинам вызывающие сомнения и подозрения. Вот об этих сомнениях и подозрениях и поговорим. Называются они фильтрами. У гугля их много. Нет никаких доказательств истинности этого списка, то есть пресс-релизы Google объявляют только о том, что фильтры существуют, а сам список основывается скорее на идеях, теориях и предположениях, построенных исходя из опыта оптимизации поисковых систем.
Песочница
Обычно применяется к новым сайтам, появившимся в течении последнего года. Благодаря этому фильтру страницы не попадают в результаты поиска по высококонкурентным фразам, хотя по редким фразам сайт может присутствовать в выдаче. Гугль использует систему называемую "степень доверия", в основе которой авторитетность сайтов, ссылающихся на ваш новый сайт. Для того, чтобы поскорее выбраться из песочницы необходимо заиметь побольше таких авторитетных ссылок. Это нелегко, а иногда и практически невозможно. Тогда можно попробовать расширить контент сайта, чтобы взять не качеством а количеством на редких фразах.
-30
Этот фильтр применяется гуглем к сайтам, которые используют черные методы, такие как дорвеи и редиректы при помощи javascript. Когда гугль обнаруживает такое на вашем сайте, то ваш сайт понижается на 30 позиций. Чтобы обойти этот фильтр, как правило, достаточно убрать редирект.
Bombing
Применяется к сайтам, которые имеют большое количество входящих ссылок с одним и тем же текстом. Гугль справедливо полагает, что это неестественно, что везде текст ссылки один и тот же. Если гугль уже применил этот фильтр, то наверное лучше всего будет написать запрос на повторное включение сайта. Если вы опасаетесь, что этот фильтр вот-вот будет применен к вашему сайту, то можно попросить людей изменить ссылки на вас или купить несколько ссылок с разнообразным текстом.
Дублирующийся контент
Фильтр применяется к сайтам, которые используют заимствованный контент, который уже публиковался на других сайтах. В случае применения этого фильтра к сайту, сайт обесценивается и если он не имеет достаточное количество весомых входящих ссылок, то ваш сайт попадает в "опущенные результаты", которые выдаются пользователю только если он нажмет на одноименную ссылку на последней странице. Главные действия по преодолению этого фильтра должны быть направлены на удаление дублирующегося контента. Напишите письма тем, кто воспользовался вашим контентом, с требованием убрать ваш контент, напишите их хостерам, пожалуйтесь гуглю в конце концов.
Дополнительные результаты
Гугль может проиндексировать ваши страницы и поместить их в под-индекс. Страницы помещенные туда не считаются гуглем достойными, но они используются в случаях, когда у гугля недостаточно хороших страниц для запроса. Чтобы избежать этого фильтра обычно достаточно нескольких входящих ссылок.
Возраст домена
Этот фильтр тесно связан с "песочницей". В его основе лежит предположение, что более старые домены имеют больше доверия, чем только что появившиеся. Повлиять тут на что либо трудно, поправить ситуацию могут ссылки с авторитетных сайтов. Можно еще перекупать старые домены.
Опущенные результаты
Страницы вашего сайта могут попадать в опущенные результаты поиска и будут показаны только если пользователь долистает до последней страницы и нажмет одноименную ссылку, что крайне маловероятно, т.е. фактически ваши страницы выпадают из поиска. Причины попадания туда - недостаток входящих ссылок, дублирующийся контент, дублирующиеся заголовки страниц и метатеги, а также слабая внутренняя перелинковка страниц. Чтобы исправить ситуацию измените метатеги и заголовки страниц, исправьте дублирующийся контент и добавьте внешних ссылок.
Степень доверия
Подобно PR(PageRank) степень доверия (Google Trust Rank) имеет множество влияющих факторов. Из известных факторов можно отметить возраст сайта, количество авторитетных входящих ссылок, количество исходящих ссылок, качество внутренней перелинковки. Все сайты проходят через этот фильтр и если ваш Trust Rank низкий, то это неативно повляет на ваши позиции в результатах поиска. Как новый так и старый сайт могут иметь одинаково высокий или низкий Trust Rank. Для того чтобы его повысить оптимизируйте остальные известные факторы, влияющие на степень доверия.
links.htm
Этот фильтр наказывает сайты, которые были замечены во взаимном обмене ссылками. Обмен ссылками - эта старый способ повысить позицию в гугле, который не поощряется гуглем. Вместо использования links попробуйте назвать страницу по-другому, например coolsites. Взаимный обмен ссылками теперь не так эффективен как когда-то, возможно стоит и вообще отказаться от этой практики.
Ссылочные фермы
Ссылочные фермы - это сайты (или страницы), которые содержат огромное количество ссылок, как правило совершенно различной тематики, перелинкованные между собой беспорядочно. Участие в подобной ферме может сильно понизить позиции сайта или вообще сайт может быть забанен. Способ борьбы с этим явлением только один - не участвовать в таких махинациях.
Социтирование
Этот фильтр анализирует структуру внешних ссылок на ваш сайт. Если рядом со ссылками на ваш сайт находятся ссылки на порно и онлайновые казино, то гугль посчитает, что ваш сайт тоже связан с порно и казино. Это может повредить действительной теме сайта и он будет понижен по релевантным этой теме фразам. Для того чтобы этого не произошло нужно тщательно проверять места, где вы покупаете ссылки.
Много ссылок сразу
Этот фильтр блокирует сайт когда у него слишком быстро растет число внешних ссылок. Это может привести к полному бану сайта всеми поисковиками. Чтобы этого не произошло следует осторожно покупать ссылки и не использовать ссылочный спам.
Много страниц сразу
Суть фильтра в том, что нормальный сайт не может разрастаться слишком быстро и если у какого-то сайта число страниц увеличивается крайне быстро, то это скорее всего искусственно сгенерированный контент не достойный внимания поисковика. Некоторые считают что 5000 страниц в месяц - это предел, однако многие полагают, что эта цифра может зависеть от различных факторов. Результатом работы этого фильтра может быть помещение страницы в "опущенные результаты", а иногда в особо тяжелых случая к полному бану сайта. Если ваш сайт берет контент из открытых источников или динамически формарует страницы следите за тем, чтобы число новых страниц не превышало 5000 в месяц чтобы не попасть под действие этого фильтра. В зависимости от того насколько большой и известный у вас сайт эта цифра может варьироваться, но в любом случае стоит помнить об этом фильтре и не увлекаться созданием новых урлов.
Битые ссылки
Битые внутренние ссылки приводят к тому что поисковый бот не может получить содержимое страницы, и соответственно закешировать ее и поместить в индекс. Если ваша главная страница не имеет ссылок со всех других страниц вашего сайта это может плохо сказаться на результатах поиска и на общих показателях качества вашего сайта наподобие PR. Это не только плохо с точки зрения SEO и с точки зрения дизайна сайта. Это также плохо для ваших посетителей, что может привести к снижению трафика и плохим позициям в поисковиках. Убедитесь, что у вашего сайта правильный нижний колонтитул, что карта сайта содержит все ваши страницы и проверьте свой сайт на наличие битых ссылок.
Время загрузки
Этот фильтр очень прост. Если поисковый бот гугля не дождется страницы в течение определенного времени, он ее попросту пропустит. Это приведет к тому, что страница не будет кеширована и не попадет в индекс. Такие страницы никогда не попадут в результаты поиска Google. Поэтому убедитесь, что ваши страницы не слишком огромные и грузятся достаточно быстро.
Чрезмерная оптимизация
Под действие этого фильтра могут попасть сайты напичканные ключевыми фразами, со слишком высокой плотностью ключевиков, со слишком близким расположением ключевых слов, с перегруженными мета-тегами. Рекомендация лишь одна - не переборщите с оптимизацией своего сайта.
Дата: 14.07.2008 Модуль: Новости Категория: Интернет Разместил: A. Hapanovich
Не для кого не секрет что SLAED CMS начала своё развитие от PHP-Nuke 7.6 Patch 2.9 + phpBB 2.0.14. В первых версиях было переписано ядро системы, а так же основные модули для снижения количество запросов в базу данных. Полное изменение графики, а так же повышения функциональности для администратора системы. Плюс функция наблюдения и редактирования пользователей. Была произведена масса изменений не только в ядре системы, а так же в модулях и блоках. Некоторые модули были удалены в целях повышения безопасности и скорости. С версии SLAED CMS 1.4 Meteora, система стала самостоятельной и независимой, а так же подверглась основным изменениям. До этой версии, система имела полную совместимость со стандартными модулями, темами и блоками первоисточника. Предлагаю Вам ознакомится с историей развития, начиная с версии SLAED CMS 1.4 Meteora.
История работы над SLAED CMS 1.4 Meteora - Реализация
1. Отражения форума на весь экран, настройка из меню администратора.
2. Сжатие GZip для более быстрой подачи для модемной связи, настройка из меню администратора.
3. Возможность использования старых модулей PHPNuke, настройка из меню администратора.
4. Изменён графически отдел "Свойства", так же удалены порядка 5 мёртвых переменных.
5. Установлен форум версии 2.0.17.
6. Исправлена ошибка при выходе с сайта и форума.
7. Исправлена ошибка с входом через форум.
9. Центральные блоки форума на главной больше не выводят закрытые сообщения и темы для модераторов.
10 Некоторые языковые коррекции в модуле Your_Account.
11. Настройки бакапа базы данных из меню администратора.
12. Для повышения безопасности, возможность смены названия файла бакапа.
13. Смена названия файла для вывода новостей в формате rss, а так же исправлены ошибки при выводе кодировки и новостей на различных языках.
14. Защита директории админа по средствам сервера и установка пароля и логина из меню администратора.
15. Коррекция банна по IP.
16. Для повышения оптимизации для поисковых систем, установлена возможность смены дефиса (Знака между заголовками и титлами) из меню администратора.
17. Внесены изменения в модуль новостей, сделан более приятный откат новостей и комментариев при подробном просмотре (Пример на нашем сайте).
18. Внесены изменения в плане оптимизации для поисковых систем в модули Аудио, FAQ, Видео.
19. В модуле FAQ урезан лишний запрос.
20. Графическим и цветовым изменениям подвергся форум, а так же сам сайт, теперь используются более мягкие цвета.
21. Установлена многофункциональная система установки баннеров. Места отражения, один вверху и один внизу настройки из меню администратора.
22. Установлена функция отключения автоматической генерации ключевых слов сайта. Отключения данной функции в
некоторых случаях увеличивает скорость генерации страниц в два раза.
23. Производятся изменения в оформлении меню администратора для повышения обзора и функциональности.
24. Изменён стиль отражения новостей на главной странице сайта.
25. Изготовлена стандартная тема системы, работающая на HTML шаблонах. Теперь, не обладая знаниями PHP вы можете
свободно изменять и редактировать тему оформления вашего сайта.
26. Написан дополнительный модуль для отражения файлов в форматах htm, html и pdf. Модуль не использует базу данных
и работает в автоматическом режиме определяя содержание директорий и отражает в свою очередь их содержание.
27. Произведены изменения в модуль аудио, добавлено удаление публикаций, а так же возможности редактирования и удаления категорий.
28. По техническим соображениям из стандартной комплектации системы удалены два модуля, такие как: Soft и Game.
29. Произведены изменения в модуль вопросов и ответов, а так же данный модуль приведён к общему стилю системы.
30. Произведены изменения в модуль файлов, добавлена возможность редактирования конфигураций из меню администратора, упрощены возможности настройки, а так же данный модуль приведён к общему стилю системы.
31. Возможность добавления и просмотра картинок в модуле Файлов, как с меню администратора, так и пользователем. При нажатии на картинку, скриншот отражается во весь размер в дополнительном окне.
32. Автоматическая сортировка файлов в модуле Files по дате публикации.
33. Изменён модуль Аудио, просмотр и кнопки для редактирования теперь в стандартном модуле. При нажатии на функции удалить или редактировать, переход в нужный отдел администратора.
34. При отсутствии картинки в модуле Аудио отражается стандартная картинка No Cover.
35. Модифицирована система отражения блоков. Теперь вы можете сами управлять и давать возможность показывать или нет, блоки системы в любом из установленных модулей на ваш выбор.
36. Модифицирована функция вывода <head> сайта, куда по вашему желанию вы можете сами вставить нужный код или JavaScript на ваше усмотрение, не внося изменений в файл header.php. Для этого используется сторонний файл config/header.php
37. Модификации подвергся файл mainfile.php, теперь у вас есть возможность вставлять свои функции, в данный файл,
не внося изменений в него. Для этого используется сторонний файл config/mainfile.php
38. Написана и установлена функция отключения сайта для посетителей на профилактику. Возможность включения и отключения из меню администратора.
39. Произведены изменения оформления, добавлены функции повышающие функционал и удобство в управлении
данным модулем. Изменениям подвергся отдел администратора, а так же отдел пользователей и комментарии к нему.
40. Теперь у вас есть возможность отключения правых, левых или всех блоков персонально для каждого модуля в отдельности.
41. Произведены изменения в структуру оформления темы, теперь вы можете установить шаблон для каждого компонента сайта в отдельности, допустим для левых, правых, центральных или верхних блоков, а так же для вывода сообщений на главной странице сайта, для модулей, новостей, подробного просмотра новостей, шапки сайта, титульных заголовков, нижней части сайта.
42. Внесены изменения в модуль Интернет радио, теперь он более компактный.
43. Измёнён модуль новостей, отдел администратора, а так же пользовательская часть. Полностью переписан принцип и дизайн отражение комментариев. Удалены не нужные строки из базы данных. Переписан принцип удаления комментариев.
44. Изменена пользовательская часть отражения комментариев в модуле опросов, теперь он делает в два раза меньше запросов в базу данных при отражении комментариев.
45. Изменена пользовательская часть отражения комментариев в модуле файлов, теперь он делает в два раза меньше запросов в базу данных при отражении комментариев.
46. Усовершенствована защита администраторской части форума по средствам сервера.
47. Установлены дополнительные способы защиты против инъекций.
48. Изменён и отлажен модуль добавления новостей на сайте.
49. Глобальным изменениям подвергся модуль новостей. Теперь при создании категорий модуль не производит дополнительной нагрузки.
50. Были переписаны все скрипты а так же отдел администрирования модулем. Исправлены все известные и найденные ошибки старой версии, повышена функциональность и прочие функции.
51. Изменён модуль актуальных новостей, улучшено оформление модуля.
52. Изменениям подвергся модуль Контент (Pages), управления свойствами модуля из меню администрации, модуль приведен к общему стилю системы.
53. Изменилось меню администратора модуля тем, удалены ненужные функции и таблицы базы данных. Модуль приведён к общему стилю системы.
54. Изменениям подверглась новостная лента RSS, теперь она работает в формате 2.0. Пример работы на нашем проекте,
ссылка: http://www.slaed.net/rss.php
55. Произведены изменения повышающие безопасность системы.
56. Изготовлены графические иконки, а так же шаблон титлов в соответствии с дизайном системы.
57. В пакет системы вошла новая стандартная тема системы.
58. Для повышения безопасности, переписан модуль загрузки графических изображений.
59. Полностью переписан модуль Интернет радио.
60. Произведены некоторые изменения с переменными тем. Таким образом, ликвидирована проблема переключения темы оформления в случае её некорректной работы.
История работы над SLAED CMS 1.5 Reloaded - Реализация
1. Изменён способ установки логина и пароля для дополнительной защиты панели администратора по средствам сервера.
2. В некоторых случаях в браузере Internet Explorer происходила ошибка при загрузке файла в автоматическом режиме, по этой причине исправлен способ подачи загружаемого файла в модуле Files.
3. Визуальные корректировки в модуле вопросов и ответов.
4. Для более корректного отражения комментариев в модуле новостей были установлены смайлики меньшего размера.
5. Исправлена ошибка в модуле галереи связанная с использованием приложения библиотеки PHP, GD Library.
6. Исправлена ошибка входа в панель администратора, в случае выхода при закрытии сайта на профилактику.
7. В стандартную версию системы добавлен анализатор запросов в базу данных для конкретного наблюдения за запросами и их скоростью.
8. Установлена возможность запрета загрузки файлов для анонимных посетителей. Управление из панели администратора.
9. Для повышения оптимизации для поисковых систем, а так же скорости работы, были внесены изменения в модуль файлов.
10. В модуле новостей при подробном просмотре статьи были сокращены запросы в базу данных. Оптимизирован подсчёт количества комментариев к статье.
11. Для снижения количества запросов, в панель администратора добавлена функция отключения или включения подсчёта пунктов пользователей.
12. Для более комфортной и удобной работы, фильтры цензуры и HTML тегов вынесены за приделы файла конфигурации. Таким образом, произведены изменения в ядре системы.
13. Исправлена ошибка в панели администратора модуля файлов. При редактировании файлов прежняя категория отражается корректно.
14. Частично переписаны панели администрирования модулей Аудио и Видео. Теперь у вас есть возможность загрузки изображений не только с компьютера, но и по ссылке из сети. Установлен оптимизатор, используется в случае большого количества изображений в директории для фильтрации и удаления неиспользуемых файлов.
15. Доработана функция смены дефиса для использования в заголовках модулей. Теперь вы можете использовать любые знаки на ваш выбор.
16. Оптимизирован модуль опросов для повышения индексации поисковыми системами. Частично оптимизирован код модуля.
17. Откорректирована функция просмотра не активированных блоков из панели администратора.
18. Установлен Online HTML редактор с возможностью отключения из панели администратора. Вы так же можете использовать данный редактор персонально для каждого модуля в отдельности, все настройки производятся из панели администратора сайта.
19. Для более упрощённой установки, а так же обновления системы написан инсталлятор. При помощи, которого Вы можете без труда установить систему, залить базу данных на сервер и установить администратора сайта.
20. Откорректирована функция отражения количества страниц в модулях Аудио и Видео. Теперь длинна нумерации ограничена, что не портит вид данных модулей.
21. Откорректирована функция загрузки файлов на сервер в модуле Галерея. Теперь вы можете разрешать загрузку файлов пользователям Вашего проекта независимо от настроек сервера.
22. В модуле обратная связь добавлена возможность выбора отправки сообщения любому из зарегистированных администраторов проекта.
23. Откорректирован модуль пользователей. Для более удобной регистрации были удалены некоторые записи, а так же были изменены некоторые компоненты в плане оформления.
24. Исправлен недочет с отражением секретного кода в блоке пользователей.
25. Усовершенствован модуль и блок HTML Content, теперь у Вас есть возможность указывать заголовок для названия файла, в самом файле, используя тэги title.
26. Откоректирована функция отражения скорости генерации страницы.
27. Произведены глобальные изменения в функции работы главного файла отвечающего за работу и отражения ссылок модулей. Теперь все ссылки в модулях работают через файл index.php.
28. Откорректирован подсчёт количества комментарий к статье при удалении комментариев.
29. В пакет системы вошла новая тема оформления системы. Тема оформлена в светлых тонах.
30. В новую версию системы вошёл модуль каталога сайтов, а так же блок, который отображает последние десять сайтов и десять самых лучших сайтов.
31. Установлена новая версия форума phpBB 2.0.18, в которой устранено большое количество ошибок и уязвимостей.
32. Установлена новая система просмотра и предоставления RSS каналов. Вы можете поставить на свой сайт заголовки новостей, а также просматривать их с помощью любых программ и сервисов, совместимых с форматом RSS. Для удобства владельцев сайтов и домашних страничек создан новостной информер, установка которого даёт возможность выбора отдела, категорий и количества новостей.
33. Откорректировано отображение новых анекдотов от пользователей. Теперь они сортируются в порядке получения, старые сверху, новые снизу.
34. В новую версию системы вошёл модуль автоматического обмена ссылками с блоком, а так же топ сайтов. Два в одном, плюс подробная статистика входов, выходов, ссылок входа и время входа посетителей по ссылкам.
35. Для повышения удобства, скорости и стабильности работы системы произведено визуальное отделение панели администратора от общего вида системы.
36. Откорректирована функция проверки правильного ввода данных в модуле рекомендации сайта.
37. Для повышения скорости работы, откорректирован код во всех блоках системы.
38. Закончена языковая поддержка на трёх языках (Русский, Немецкий, Английский) панели управления администратором проекта и главной части системы.
39. Для повышения безопасности, произведено функциональное отделение административной части управления системой.
40. Исправлены проблемы добавления категорий и файлов из панели администратора в модуле галереи.
41. Установлен авто переход в тему форума, в которой был произведён ответ.
42. Откорректирована функция отражения E-Mail в комментариях к статьям.
43. Частично переписан модуль "Топ пользователи". Значительно снижено количество запросов в базу, что в свою очередь повышает скорость работы модуля. Улучшена функциональная часть при просмотре пользователей.
44. Увеличено время сохранения IP адреса проголосовавшего человека. Таким образом, в модуле опросов, предотвращена
возможность голосовать более одного раза в сутки с одного IP адреса.
45. В панели администратора, отдел блоков в два раза сокращено количество запросов в базу данных. Тем самым,
снижено время генерации данного отдела.
46. Повышена функциональность модуля HTML Content. Теперь у Вас есть возможность установки титульного графического элемента персонально для каждой страницы.
47. Коррекция блока посетителей сайта. При получении нового личного сообщения, загорается красная лампочка.
48. В модуле Files добавлена возможность загрузки файлов со своего компьютера в директорию сайта.
49. В панели администратора при редактировании файла, добавлена возможность смены актуальной даты публикации.
50. Произведено структурное разделения ядра системы. Все функциональные файлы вынесены в отдельную директорию системы.
История работы над SLAED CMS 1.6 Free - Реализация
1. Для повышения удобства администратора, отдел «Ждут проверки» перенесён в блок, который находится в левой стороне блоков, отражение информации производится на главной странице администратора системы.
2. Для более корректной работы функции наблюдения и актуального местонахождения посетителей проекта, сокращено время сохранения сессий. Теперь актуальная информация сохраняется в течение десяти минут после последнего действия посетителя на сайте.
3. Исправлена ошибка, которая не показывала количество страниц с пользователями в панели администратора системы.
4. Исправлена ошибка сортировки блоков в панели администратора системы.
5. Исправлена ошибка в модулях: Files и Links. Проблема была связана с невозможностью опубликовать, сайт или файл зарегистрированным пользователям, в случае если это было запрещено анонимным посетителям.
6. Исправлена ошибка в модуле новостей, которая выражалась тем, что при публикации новости с отключением показа на главной, новость всё равно отражалась на главной странице сайта.
7. Исправлено некорректное отражение названия темы в панели администратора системы.
8. Изготовлена новая тема системы в светло синих тонах.
9. Установлена система безопасности, которая способна предотвратить практически любой вид нападений на систему, начиная от инъекций в базу данных и заканчивая загрузкой скриптов. В системе предусмотрен многофункциональный инструмент входа в панель администрирования, который даёт возможность ограничения входа по многим параметрам. Установлена статистика нападений, а так же статистика ошибок.
10. Для повышения скорости работы системы снижено количество запросов в модуле Members_List с 59 до 10. Тем самым уменьшилось время генерации данного модуля.
11. Написан новый блок для модуля Контент, который в свою очередь показывает содержание категорий и суб-категорий данного модуля.
12. Снижено количество запросов в базу данных в модуле форума при просмотре темы с формой быстрого ответа. Теперь за место четырёх, производится всего один запрос в базу.
13. Для избежания повторных голосований, усавершенствонна функция учёта голосовавших посетителей, теперь информация прописывается дополнительно в Cookies.
14. Написан новый блок опроса. После голосования посетителем в актуальном опросе, блок отражает статистику данного опроса.
15. Исправлена функция RSS информера, которая давала возможность просмотра информации ещё неопубликованных файлов и ссылок.
16. Модифицирован модуль файлов. Существенно сокращено количество запросов в базу данных при использовании большого количества суб-категорий и вложений. Добавлены функции: Поиск фалов, Показ новых файлов, Просмотр популярных файлов. Исправлены неточности прежней версии модуля.
17. Модифицирован каталог сайтов. Существенно сокращено количество запросов в базу данных при использовании большого количества суб-категорий и вложений. Добавлены функции: Поиск сайтов, Просмотр популярных сайтов, Просмотр лучших сайтов. Исправлены неточности прежней версии модуля.
18. Для повышения удобства при установки системы модифицирован инсталлятор.
19. Произведены структурные и визуальные изменения основных файлов системы администрирования проектом.
20. Обновлён форум до версии 2.0.19.
История происхождения и развития наиболее известных и популярных систем построения сайтов. В 1998 году Франциско Бурзи один из первых, разработал и создал систему построения сайтов. На данный момент подобные системы называются CMS - Content Management System. Взяв за основу популярную в то время новостную ленту ThatWare, он выпустил в свет PHP-Nuke. Таким образом, Франциско Бурзи стал родоначальником данного направления развития подобных систем. В скором времени начали появляться в свет подобные системы, они брали за основу или частично использовали структуру и функции PHP-Nuke.
Данная информация собиралась по крупицам, по этой причине могут быть некоторые не соответствия действительности, в виду не существования некоторых проектов. Системы, обозначенные крестом, это проекты которые уже не существуют или двигаются в этом направлении.
Информация о проектах
Ссылки, которые мне удалось найти, на те проекты, которые существуют или существовали в своё время по данному адресу.
Если обратить внимание на самые популярные системы, которые основаны на PHP-Nuke, то можно заметить что они полностью или почти полностью изменили основные функции. Это говорит о том, что сама по себе система PHP-Nuke нуждается в оптимизации и модификации. Некоторые системы занимаются наращиванием или изменением функций, не обращая внимание на скорость работы и нагрузку на сервер.
Разрабатывая SLAED CMS, мы в отличие от других, в первую очередь максимально снизили нагрузку на сервер и скорость работы системы, максимально увеличили безопасность. При всём этом, функционал системы нисколько не пострадал, даже наоборот увеличился. Уделяется особое внимание на простоту в использовании, интуитивно понятный интерфейс, приятное оформление. Система росла, видоизменялась и модифицировалась. В конечном итоге родилась самостоятельная система SLAED CMS, которая переросла своего прародителя, избавилась от всех его недостатков, в свою очередь, переняв и приумножив все его плюсы.
Для разных людей термин "веб-стандарты" означает разные вещи. Для некоторых это просто "страницы без таблиц", для других - "правильный код". Однако веб-стандарты это нечто намного большее. Сайт, простроенный по веб-стандартам, это сайт, который придерживается стандартов (HTML, XHTML, XML, CSS, XSLT, DOM, MathML, SVG и т.д.) и лучших отработанных решений (валидный код, доступный код, семантически правильный код).
Указан ли у страниц правильный Doctype?
Doctype (сокращенно от 'document type declaration' - "декларация типа документа") сообщает валидатору, какая версия (X)HTML используется в вашей странице. Декларация должна присутствовать в начале каждой веб-страницы. Doctype - ключевой компонент страницы, претендующей на соответствие стандартам: ваша разметка и CSS не пройдут валидацию, если в вашем документе отсутствует Doctype.
Указан ли у страниц кодировка (charset)?
Если пользовательский агент (например браузер) не может самостоятельно определить кодировку вашей веб-страницы, пользователи увидят на экране нечитаемый текст. Эта информация в особенности важна для тех, кто создает и поддерживает многоязычные веб-сайты. Но вообще объявление кодировки очень важно для тех, кто создает страницы в XHTML/HTML и CSS.
Валиден ли (X)HTML код страниц сайта?
Валидный код браузер выведет быстрее, чем невалидный. Валидный код браузер выведет лучше, чем невалидный. Все больше и больше браузеры подчиняются стандартам, и потому все более важным является валидный и стандартный HTML-код.
Валидны ли CSS-таблицы сайта?
Не забывайте убедиться, что ваш HTML-код и CSS-страницы не содержат ошибок, так как ошибки приведут к искаженному отображению документа на экране.
Использует ли сайт какие-либо CSS-хаки?
В сущности каждый сам решает, какие хаки ему использовать. Это зависит от того, насколько хорошо вы знакомы со всеми вариантами, и от того, какой дизайн вы хотите создать.
Используются ли на сайте какие-либо лишние и ненужные классы (class) и идентификаторы (id)?
Я заметил, что разработчики, осваивая новые приемы и технологии, часто создают замечательные CSS-таблицы, и при этом - плохой XHTML-код. В особенности часто в XHTML-коде встречаются ненужные и лишние "div" и "id". Из-за этого HTML-код теряет стройность, а CSS-файлы становятся запутанными.
Хорошо ли структурирован код страниц?
Семантически правильная разметка подразумевает использование html-элементов по их прямому назначению. Хорошо структурированный HTML-документ хорошо воспринимается всем спектром пользовательских программ (браузерами без поддержки стилевых таблиц, текстовыми броузерами, наладонниками, поисковыми роботами и т.д.)
Есть ли на сайте "сломанные" ссылки?
"Сломанные" ссылки разочаровывают пользователей и потенциально отвращают от вашего сайта ваших клиентов. "Сломанные" ссылки могут также сказаться на том, как поисковые роботы будут индексировать ваш сайт.
Как у сайта со скоростью загрузки страниц и с их размерами?
Не заставляйте меня ждать... Вот какую мысль подразумевают пользователи при проведении всех исследований. Даже пользователи с широким каналом устают от медленной загрузки.
Выдает ли браузер какие-либо ошибки JavaScript при работе со страницей?
Internet Explorer для Windows позволяет включить отладчик, который будет выскакивать на экран всякий раз, когда на странице будет обнаружена ошибка в JavaScript. Эта опция находится в меню "Internet Options" на закладке "Advanced". Уберите галочку с пункта "Disable script debugging".
Используется ли на сайте CSS для всех аспектов оформления страницы?
Используйте стилевые таблицы для управления компоновкой страницы и ее внешним видом.
Перенесены ли вся декоративная графика в CSS, или она все еще встречается в (X)HTML-коде?
Ваша цель, как веб-разработчика, состоит в том, чтобы убрать из html-кода вашей страницы все оформительские элементы. Благодаря чему код станет чище и семантически правильнее.
Используется ли атрибут "alt" во всех значимых изображениях?
Каждый нетекстовый элемент сопровождайте текстовым описанием.
Используется ли на сайте для шрифта относительные единицы измерения вместо фиксированных?
В коде и в стилевых таблицах используйте относительные, а не абсолютные единицы для указания размеров элементов.
Ломается ли каким-либо образом компоновка страницы при увеличении размера шрифта?
Проведите простой тест. Откройте свой веб-сайт в любом браузере, где есть функция изменения размера шрифта. Теперь увеличьте размер шрифта. Еще раз увеличьте. И еще раз... Посмотрите на свой веб-сайт. По-прежнему ли компоновка страницы осталась неизменной? При разработке сайта не рассчитывайте, что у посетителя в браузере размер шрифта совпадает с вашим.
Используются ли на сайте доступные формы?
Формы на веб-страницах не самая простая вещь для людей с физическими недостатками. Одно дело - навигация по странице с текстовым материалом, и совсем другое - переход по полям формы и ввод информации в нее.
Используются ли на сайте доступные таблицы?
Что касается таблиц. Не забудьте указать заголовки для столбцов и рядов... Для таблиц, где имеются два и более логических уровней рядов и столбцов, воспользуйтесь вспомогательными элементами языка html, чтобы связать логически ячейки данных с ячейками заголовков.
Достаточно ли контрастны и ярки цвета на страницах сайта?
Убедитесь, что разница между цветом фона и цветом текста достаточно контрастна, чтобы не вызывать затруднений при чтении у людей с пониженным восприятием цвета.
Используется ли только цвет для выделения критической информации?
Убедитесь, что вся важная информация, выделенная цветом, также выделена при отсутствии цвета, например с помощью контекста или элементами логической разметки.
Используется ли задержка в выпадающих меню (для пользователей с медленной моторикой)?
У людей с медленной моторикой могут возникнуть трудности при работе с меню, которые для них будут работать слишком быстро.
Все ли ссылки содержат достаточно описательный текст (для слепых пользователей)?
Ссылки должны быть достаточно понятными, чтобы они имели смысл при чтении вне контекста - либо при простом чтении или при чтении в виде списка.
Достаточно ли хорошо сайт работает и в современных и в старых браузерах?
Прежде чем начинать верстать страницы с использованием CSS, определитесь, какие браузеры вы собираетесь поддерживать и до какой степени.
Можно ли работать с материалами сайта при отключенном CSS?
На ваш сайт могут зайти люди, у которых браузер не поддерживает CSS или поддержка CSS отключена. Если ваши страницы правильно структурированы, у таких посетителей не возникнет никаких проблем при работе с ними.
Можно ли работать с материалами сайта при отключенных изображениях?
Некоторые пользователи просматривают веб-сайты не загружая графические элементы страниц. Так поступают в особенности те, у которых подключение к Интернету слишком медленное. Ваши страницы не должны вызывать затруднений в работе у таких посетителей.
Работает ли сайт в текстовых броузерах, таких как Lynx?
Текстовый браузер это как бы комбинация отключенных графики и CSS. Текстовые браузеры полагаются целиком на структуру документа при создании изображения на экране.
Хорошо ли выглядит сайт при распечатке?
К любому (X)HTML-документу можно прикрепить стиль для вывода на печать и для этого не потребуется трогать разметку самого документа.
Хорошо ли работает ли сайт на наладонных устройствах?
Этот момент вызывает наибольшие затруднения, так как в настоящее время нет единообразия в том, как наладонные устройства поддерживают веб-страницы. Однако некоторые решения в компоновке страниц поддерживаются на наладонниках лучше, чем другие. Поддержка наладонных устройств зависит от целевой аудитории вашего сайта.
Работает ли сайт в окнах различных размеров?
Среди веб-разработчиков бытует устойчивое убеждение, что с каждым годом средние размеры экрана у посетителей растут. Некоторые разработчики убеждены, что средний размер экрана у посетителей их сайтов составляет по ширине 1024 пикселей. Ну а что насчет пользователей с меньшими размерами экранов или с владельцами наладонников? Являются ли они частью вашей целевой аудитории, и будут ли они испытывать затруднения при работе с вашим сайтом?
Имеется ли на странице четкая визуальная иерархия элементов?
Организуйте и выделяйте важность того или иного материала с помощью размеров, отступов и логических связей.
Легко ли отличить один уровень заголовков от другого?
Используйте заголовки для того, чтобы раскрыть структуру документов, при этом используйте их в соответствие со спецификацией.
Достаточно ли легко понять навигацию по сайту?
Навигация вашего сайта должна подсказывать посетителю, на какой странице сайта он сейчас находится и куда он может следовать дальше.
Используется ли однообразная навигация на всех страницах сайта?
Если на каждой странице вашего сайта навигация придерживается одного и того же стиля, посетителям легче будет работать с сайтом и они быстрее будут находить нужную им информацию.
Используется ли на сайте приемлемый и однообразный язык текстов?
Ясный и простой язык материалов позволяет эффективно вести диалог с посетителем. Не забывайте, что ваш сайт могут читать пользователи, для которых ваш язык не является родным.
Есть ли у сайта карта и страница с контактной информацией? Легко ли их найти?
Большинству карт сайтов не удается раскрыть многоуровневую структуру архитектуры сайта. В тестах на юзабилити пользователи часто игнорируют карту сайта или просто не могут ее найти. Сложность карты также является проблемой: карта должна быть именно картой, а не головоломкой по навигации.
Если ваш сайт очень большой, есть ли на нем инструмент поиска?
Для маленького сайта функция поиска не особенно нужна. Всегда найдутся люди, которые никогда не пользуются поиском по сайту. Тем не менее функция поиска является дополнительным хорошим инструментом навигации по сайту для посетителей.
Присутствует ли на каждой странице сайта ссылка на его главную страницу?
Многие пользователи зарывшись в глубины сайта хотят быстро попасть на его главную страницу. Главная страница является как бы отправной точкой для таких пользователей, на которой они заново собираются с силами, чтобы нырнуть в новые глубины сайта.
Подчеркнуты ли ссылки?
Для полноты восприятия пользователями ссылок текст ссылок должен быть оформлен другим цветом или подчеркнут. Посетители не должны метаться по странице в поисках ссылки.
Четко ли выделены цветом ссылки, которые пользователь уже посетил?
Самое главное, если четкое выделены ссылки, которые пользователь уже посетил, он не нажмет на них случайно, и не будет попадать на ту же самую страницу, где уже побывал.
Есть ли у сайта понятная и полезная страница ошибки 404, которая работает с любого уровня сайта?
Вы запросили страницу - либо набрав URL в адресной строке, либо щелкнув по ссылке - и обнаружили, что провалились в Ничто. Дружественные к пользователю веб-сайты подадут руку помощи потерявшемуся пользователю, а другие сайты будут рассчитывать на то, что браузер пользователь сам их как-нибудь вытащит из бездны киберпространства.
Можно ли к вашему сайту доступиться, набрав адрес без "www"?
В целом не очень критичное требование, а иногда его даже невозможно удовлетворить. Но тем не менее всегда неплохо, если у ваших посетителей есть такая возможность. Если посетитель наберет название вашего сайта без "www" и не сможет до него доступиться, это будет плохо и для вас и для него.
Есть ли у сайта пиктограмма для закладок?
Пиктограмма для закладок (favicon) это графический файл с картинкой в нескольких разрешениях. Они как правило используются на всех профессионально выполненных сайтах. Пиктограмма для закладок дает веб-мастеру еще один способ рекламы сайта. Разумеется, пиктограмма для закладок не является критичной. Однако ее отсутствие порождает волну ошибок 404 в ваших лог-файлах. Такие браузеры как IE всегда запрашивают у сервера эту пиктограмму, когда пользователь помещает ссылку на ваш сайт в закладки. Если на вашем сайте этой пиктограммы нет, в логи попадет ошибка "404 File not found". Так что наличие такой пиктограммы поможет вам значительно сократить размер файла ошибок. То же самое относится и к файлу "robots.txt".
На данный момент готовится новая версия системы SLAED CMS 1.4 Meteora, релиз системы намечен на 30.09.2005. В новой версии исправлены все до сих пор известные и найденные ошибки, внесены изменения повышающие безопасность системы. Проведена работа над оптимизацией самой системы, а так же стандартных модулей вышедших до этого времени. Была произведена колоссальная работа над всеми скриптами системы. Вся система, а так же меню администратора была приведена к общему стилю.
Описание реализации
• Отражения форума на весь экран, настройка из меню администратора.
• Сжатие GZip для более быстрой подачи для модемной связи, настройка из меню администратора.
• Возможность использования старых модулей PHPNuke, настройка из меню администратора.
• Изменён графически отдел "Свойства", так же удалены порядка 5 мёртвых переменных.
• Установлен форум версии 2.0.17.
• Исправлена ошибка при выходе с сайта и форума.
• Исправлена ошибка с входом через форум.
• Центральные блоки форума на главной больше не выводят закрытые сообщения и темы для модераторов.
• Некоторые языковые коррекции в модуле Your_Account.
• Настройки бакапа базы данных из меню администратора.
• Для повышения безопасности, возможность смены названия файла бакапа.
• Смена названия файла для вывода новостей в формате rss, а так же исправлены ошибки при выводе кодировки и новостей на различных языках.
• Защита директории админа по средствам сервера и установка пароля и логина из меню администратора.
• Коррекция банна по IP.
• Для повышения оптимизации для поисковых систем, установлена возможность смены дефиса (Знака между заголовками и титлами) из меню администратора.
• Внесены изменения в модуль новостей, сделан более приятный откат новостей и комментариев при подробном просмотре (Пример на нашем сайте).
• Внесены изменения в плане оптимизации для поисковых систем в модули Аудио, FAQ, Видео.
• В модуле FAQ урезан лишний запрос.
• Графическим и цветовым изменениям подвергся форум, а так же сам сайт, теперь используются более мягкие цвета.
• Установлена многофункциональная система установки баннеров. Места отражения, один вверху и один внизу. Все настройки из меню администратора.
• Установлена функция отключения автоматической генерации ключевых слов сайта. Отключения данной функции в некоторых случаях увеличивает скорость генерации страниц в два раза.
• Производятся изменения в оформлении меню администратора для повышения обзора и функциональности.
• Изменён стиль отражения новостей на главной странице сайта.
• Изготовлена стандартная тема системы, работающая на HTML шаблонах. Теперь, не обладая знаниями PHP вы можете свободно изменять и редактировать тему оформления вашего сайта.
• Написан дополнительный модуль для отражения файлов в форматах htm, html и pdf. Модуль не использует базу данных и работает в автоматическом режиме определяя содержание директорий и отражает в свою очередь их содержание.
• Произведены изменения в модуль аудио, добавлено удаление публикаций, а так же возможности редактирования и удаления категорий.
• По техническим соображениям из стандартной комплектации системы удалены два модуля, такие как: Soft и Game.
• Произведены изменения в модуль вопросов и ответов, а так же данный модуль приведён к общему стилю системы.
• Произведены изменения в модуль файлов, добавлена возможность редактирования конфигураций из меню администратора, упрощены возможности настройки, а так же данный модуль приведён к общему стилю системы.
• Возможность добавления и просмотра картинок в модуле Файлов, как с меню администратора, так и пользователем. При нажатии на картинку, скриншот отражается во весь размер в дополнительном окне.
• Автоматическая сортировка файлов в модуле Files по дате публикации.
• Изменён модуль Аудио, просмотр и кнопки для редактирования теперь в стандартном модуле. При нажатии на функции удалить или редактировать, переход в нужный отдел администратора.
• При отсутствии картинки в модуле Аудио отражается стандартная картинка No Cover.
• Модифицирована система отражения блоков. Теперь вы можете сами управлять и давать возможность показывать или нет, блоки системы в любом из установленных модулей на ваш выбор.
• Модифицирована функция вывода <head> сайта, куда по вашему желанию вы можете сами вставить нужный код или JavaScript на ваше усмотрение, не внося изменений в файл header.php. Для этого используется сторонний файл config/header.php
• Модификации подвергся файл mainfile.php, теперь у вас есть возможность вставлять свои функции, в данный файл, не внося изменений в него. Для этого используется сторонний файл config/mainfile.php
• Написана и установлена функция отключения сайта для посетителей на профилактику. Возможность включения и отключения из меню администратора.
• Закончена работа над модулем Файлов. Произведены изменения оформления, добавлены функции повышающие функционал и удобство в управлении данным модулем. Изменениям подвергся отдел администратора, а так же отдел пользователей и комментарии к нему.
• Теперь у вас есть возможность отключения правых, левых или всех блоков персонально для каждого модуля в отдельности.
• Произведены изменения в структуру оформления темы, теперь вы можете установить шаблон для каждого компонента сайта в отдельности, допустим для левых, правых, центральных или верхних блоков, а так же для вывода сообщений на главной странице сайта, для модулей, новостей, подробного просмотра новостей, шапки сайта, титульных заголовков, нижней части сайта.
• Внесены изменения в модуль Интернет радио, теперь он более компактный.
• Измёнён модуль новостей, отдел администратора, а так же пользовательская часть. Полностью переписан принцип и дизайн отражение комментариев. Удалены не нужные строки из базы данных. Переписан принцип удаления комментариев.
• Изменена пользовательская часть отражения комментариев в модуле опросов, теперь он делает в два раза меньше запросов в базу данных при отражении комментариев.
• Изменена пользовательская часть отражения комментариев в модуле файлов, теперь он делает в два раза меньше запросов в базу данных при отражении комментариев.
• Усовершенствована защита администраторской части форума по средствам сервера.
• Установлены дополнительные способы защиты против инъекций.
• Изменён и отлажен модуль добавления новостей на сайте.
• Глобальным изменениям подвергся модуль новостей. Теперь при создании категорий модуль не производит дополнительной нагрузки. Были переписаны все скрипты а так же отдел администрирования модулем. Исправлены все известные и найденные ошибки старой версии, повышена функциональность и прочие функции.
• Изменён модуль актуальных новостей, улучшено оформление модуля.
• Изменениям подвергся модуль Контент (Pages), управления свойствами модуля из меню администрации, модуль приведен к общему стилю системы.
• Изменилось меню администратора модуля тем, удалены ненужные функции и таблицы базы данных. Модуль приведён к общему стилю системы.
• Изменениям подверглась новостная лента RSS, теперь она работает в формате 2.0. Пример работы на нашем проекте, ссылка: slaed.net/rss.php
• Произведены изменения повышающие безопасность системы.
• Изготовлены графические иконки, а так же шаблон титлов в соответствии с дизайном системы.
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов PHP-Nuke. Программу, написанную специально для нашей системы, для автоматической интеграции модулей PHP-Nuke в SLAED CMS Вы можете скачать на нашем проекте в каталоге файлов.
Прошу учитывать, что старые варианты использования кода в модулях PHP-Nuke могут незначительно отличаться от описанных в данной статье.
1. В самом верху изменяем способ защиты для модулей от стороннего доступа.
Старый вариант: if (!eregi("modules.php", $_SERVER["PHP_SELF"])) {
die ("You can"t access this file directly...");
}
Новый вариант: if (!defined("MODULE_FILE")) {
Header("Location: ../../index.php");
exit;
}
2. Старые модули PHP-Nuke используют соединение с базой по средствам переменной $dbi. Наша система использует соединение с базой по средствам переменной $db, по этой причине необходимо изменить все переменные $dbi на $db.
Меняем все глобальные переменные $dbi в функциях, на новые $db. Если это необходимо, указываем переменную $db как глобальную.
Старый вариант: global $prefix, $dbi;
Новый вариант: global $prefix, $db;
Изменяем структуру запроса в базу данных.
Старый вариант: $result = sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id", $dbi);
Новый вариант: $result = $db->sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id");
Как вы заметили, удалена переменная $dbi в конце запроса и добавлена переменная $db в начале. Это нужно проделать со всеми запросами.
В запросах необходимо изменить:
sql_fetch_array на $db->sql_fetchrow sql_query на $db->sql_query sql_fetch_row на $db->sql_fetchrow sql_num_rows на $db->sql_numrows sql_free_result на $db->sql_freeresult
Если появляются вопросы по поводу запросов или правильности их написания, смотрим файл function/mysql.php
В некоторых модулях используются прямые запросы в базу данных в обход файла классов соединения с базой. В таком варианте запросы не подсчитываются. При желании вы так же можете изменить запросы подобного рода.
В запросах необходимо изменить:
mysql_fetch_array на $db->sql_fetchrow mysql_query на $db->sql_query mysql_fetch_row на $db->sql_fetchrow mysql_num_rows на $db->sql_numrows mysql_free_result на $db->sql_freeresult
В функциях не забываем указывать переменную $db как глобальную.
3. В некоторых модулях производится соединение с файлом конфигурации которое нужно заменить.
Старый вариант: include("config.php");
Новый вариант: include("config/config.php");
4. В некоторых модулях используется переменная основного адреса сайта, которую нужно заменить.
Старый вариант: $nukeurl
Новый вариант: $conf['homeurl']
Не исключено что в последствии возникнет необходимость использования параметров основных конфигураций системы. Для этих целей рекомендуется прописать в глобальные, переменную $conf, отвечающую за основные настройки, которые хранятся в файле config/config_global.php
5. В некоторых модулях используются функции темы OpenTable2() и CloseTable2() которые нужно заменить.
Старый вариант: OpenTable2();
Новый вариант: OpenTable();
Старый вариант: CloseTable2();
Новый вариант: CloseTable();
6. В стандартных модулях в начале скриптов используется соединение с файлом mainfile.php.
Необходимо удалить: require_once("mainfile.php"); или include("mainfile.php");
7. Во всех скриптах нужно произвести поиск и изменить стандартные ссылки modules.php на index.php.
Старый вариант: modules.php
Новый вариант: index.php
8. Во всех скриптах нужно произвести поиск и удалить стандартные цветовые переменные в глобальных, и заменить их в коде.
Старый вариант: bgcolor="$bgcolor1"
Новый вариант: class="bgcolor1"
Старый вариант: bgcolor="$bgcolor2"
Новый вариант: class="bgcolor2"
Старый вариант: bgcolor="$bgcolor3"
Новый вариант: class="bgcolor3"
Старый вариант: bgcolor="$bgcolor4"
Новый вариант: class="bgcolor4"
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов PHP-Nuke. Программу, написанную специально для нашей системы, для автоматической интеграции модулей PHP-Nuke в SLAED Вы можете скачать на нашем проекте в каталоге файлов.
Прошу учитывать, что старые варианты использования кода в модулях PHP-Nuke могут незначительно отличаться от описанных в данной статье.
1. В самом верху изменяем способ защиты для модулей от стороннего доступа.
Старый вариант: if (!eregi("modules.php", $_SERVER["PHP_SELF"])) {
die ("You can"t access this file directly...");
}
Новый вариант: if (!defined("MODULE_FILE")) {
Header("Location: ../../index.php");
exit;
}
2. Старые модули PHP-Nuke используют соединение с базой по средствам переменной $dbi. Наша система использует соединение с базой по средствам переменной $db, по этой причине необходимо изменить все переменные $dbi на $db.
Меняем все глобальные переменные $dbi в функциях, на новые $db. Если это необходимо, указываем переменную $db как глобальную.
Старый вариант: global $prefix, $dbi;
Новый вариант: global $prefix, $db;
Изменяем структуру запроса в базу данных.
Старый вариант: $result = sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id", $dbi);
Новый вариант: $result = $db->sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id");
Как вы заметили, удалена переменная $dbi в конце запроса и добавлена переменная $db в начале. Это нужно проделать со всеми запросами.
В запросах необходимо изменить:
sql_fetch_array на $db->sql_fetchrow sql_query на $db->sql_query sql_fetch_row на $db->sql_fetchrow sql_num_rows на $db->sql_numrows sql_free_result на $db->sql_freeresult
Если появляются вопросы по поводу запросов или правильности их написания, смотрим файл function/mysql.php
В некоторых модулях используются прямые запросы в базу данных в обход файла классов соединения с базой. В таком варианте запросы не подсчитываются. При желании вы так же можете изменить запросы подобного рода.
В запросах необходимо изменить:
mysql_fetch_array на $db->sql_fetchrow mysql_query на $db->sql_query mysql_fetch_row на $db->sql_fetchrow mysql_num_rows на $db->sql_numrows mysql_free_result на $db->sql_freeresult
В функциях не забываем указывать переменную $db как глобальную.
3. В некоторых модулях производится соединение с файлом конфигурации которое нужно заменить.
Старый вариант: include("config.php");
Новый вариант: include("config/config.php");
4. В некоторых модулях используется переменная основного адреса сайта, которую нужно заменить.
Старый вариант: $nukeurl
Новый вариант: $conf['homeurl']
Не исключено что в последствии возникнет необходимость использования параметров основных конфигураций системы. Для этих целей рекомендуется прописать в глобальные, переменную $conf, отвечающую за основные настройки, которые хранятся в файле config/config_global.php
5. В некоторых модулях используются функции темы OpenTable() и CloseTable() которые нужно заменить.
Старый вариант: OpenTable(); или OpenTable2();
Новый вариант: open();
Старый вариант: CloseTable(); или CloseTable2();
Новый вариант: close();
6. В стандартных модулях в начале скриптов используется соединение с файлом mainfile.php.
Необходимо удалить: require_once("mainfile.php"); или include("mainfile.php");
7. Во всех скриптах нужно произвести поиск и изменить стандартные ссылки modules.php на index.php.
Старый вариант: modules.php
Новый вариант: index.php
8. Во всех скриптах нужно произвести поиск и удалить стандартные цветовые переменные в глобальных, и заменить их в коде.
Старый вариант: bgcolor="$bgcolor1"
Новый вариант: class="bgcolor1"
Старый вариант: bgcolor="$bgcolor2"
Новый вариант: class="bgcolor2"
Старый вариант: bgcolor="$bgcolor3"
Новый вариант: class="bgcolor3"
Старый вариант: bgcolor="$bgcolor4"
Новый вариант: class="bgcolor4"
Я встречал много вопросов связанных с интеграцией обычных шаблонов под шаблоны SLAED CMS. У многих нету ни денег, ни опыта. В бесплатной помощи отказываю, в результате чего все плохие, никто не помогает. Для создания шаблонов последних версий SLAED CMS требуются только знания HTML и CSS. Нестандартный шаблон можно сделать и без внутренних изменений системы, т.е. без вмешательства php, для этого существуют переменные в шаблонизаторе системы
Если внимательно прочитать слова Гроссмана "Сложные проблемы всегда имеют простые, легкие для понимания неправильные решения", то можно понять, что на первый взгляд это всё трудно, но поняв сутьсмысл это можно будет щелкать как орешки. Вернемся к самой статье. Лично я выделяю два вида интеграций: 1 - внедрение в стандартную тему (интеграция на существующую тему), 2 - преобразование HTML (интеграция с нуля).
Очень важную роль играет то, какой шаблон Вы выбрали. Не каждый шаблон можно интегрировать без головные боли. Некоторые авторы шаблонов создают их так, что они не пригодны даже даже для использования их как обычных HTML шаблонов без полной смены структуры.
Когда Вы подобрали HTML, выбираем наиболее доступные для Вас способ интеграции:
Внедрение в стандартную тему (интеграция на существующую тему)
Этот способ включает в себя замены в стандартной темы index.html, и доработкой в style.css, ну а так же где потребуется в остальных файлах .html чтобы придать законченный вид шаблону.
1) Для начала нужно проанализировать структуру HTML шаблона.
2) Далее пожалуй самый сложный этап: из шаблона нужно удалить так называемое лишние (java-срипты, коментарии, лищние рисунки), при этому не нарушая структуру сайта, что является очень частой ошибкой начинающих, в результате чего итоговый templates будет кривой (не правильная структура сайта).
3) Заменяем index.html в стандартном шаблоне SLAED CMS (Default)
4) Включаем страницу и видим «Daring copyrights of system, you break the license of use!». Не надо пугаться, на данном этапе так и должно быть.
5) Изменяем путь до изображений. Перед изображением вписывает такой путь: "/templates/$ThemeSel/images/"
6) Слудующий этап будет заключаться в внедрении переменных. index.html должно содержать следующие: {%HEAD%}, {%BLOCKS left%}, {%BLOCKS message%}, {%BLOCKS center%}, {%MODULE%}, {%BLOCKS down%}, {%BLOCKS foot%}, {%BLOCKS time%}, {%LICENSE%}, {%BLOCKS variables%}, {%BLOCKS query%}.
7) Подстраиваем остальные .html файлы под дизайн.
8) Самым последнем моментом ювелирная работа с style.css (кстати часть style.css можно вырвать из <head> начального HTML шаблона)
Преобразование HTML (интеграция с нуля)
Этот вид более трудоемкий и требует больших знаний. Но он даст Вам желаемый результат. Как говорится «Без труда, не вытащишь и рыбку из пруда». Суть этого вида заключается в том, что Вы практически «создаете» тему. Если быть точнее то Вы вставляете код шаблона в index.html бедующей темы, а остальные части сайта прорабатываете сами.
В двух предыдущих частях мы познакомились с основами «правил перезаписи» URL и «условиями правил». Позвольте предложить к рассмотрению два примера, иллюстрирующих более сложные приложения. Первый пример имеет дело с динамическими страницами, а второй показывает возможности вызова «.txt» файлов и произведение различных действий над ними.
Предположим, что у нас есть виртуальный магазин по продаже каких-то товаров. Клиенты обращаются к описаниям товаров через скрипт:
Эти адреса представлены как ссылки на большинстве страниц сайта.
А теперь допустим, что вы решили добавить сайт для индексации в поисковые системы. Тут вас поджидает небольшая неприятность – не все поисковики принимают, понимают и индексируют URL, в которых содержится символ «?».
Более естественным и приемлемым для поисковика является URL вида:
http://www.yoursite.com/cgi-bin/shop.cgi/product1
В данном случае символ «?» заменяется на «/».
Еще более комфортабельный URL с точки зрения поисковика будет иметь вид:
http://www.yoursite.com/shop/product1
Для поисковика, «shop» теперь как-бы является директорией, содержащей товары product1, product2 и т.д.
Если пользователь, со страницы результатов запроса в поисковике проследует по такой ссылке, то эта ссылка должна будет трансформироваться в ссылку: shop.cgi?product1.
Чтобы добиться такого эффекта можно использовать mod_rewrite, используя следующую конструкцию в файле .htaccess:
Переменные $1 и $2 составляют так называемые "backreferences". Они связаны с текстовыми группами. Вызываемый URL разбивается на части. Все, что находится перед «shop», плюс все что находится после «shop/» определяется и хранится в этих двух переменных: $1 и $2.
До этого момента, наши примеры использовали «правила» типа:
Однако мы еще не достигли истинной перезаписи URL адресов, в смысле того, что один URL должен перенаправлять посетителя на другой.
Для нашей записи вида:
применяется общий синтаксис: RewriteRule текущийURL перезаписываемыйURL
Как видите, эта директива выполняет действительную «перезапись» URL адреса.
В дополнение к записям в файл .htaccess, нужно еще заменить все ссылки на сайте, которые имеют формат «cgi-bin/shop.cgi?product», на ссылки вида: «shop/product»
Теперь, когда поисковик найдет страницу с подобными ссылками, он проиндексирует сайт без всяких видимых проблем.
Таким образом вы можете превратить чисто динамический сайт в сайт, имеющий статическую структуру, что явно принесет пользу в вопросе индексирования различными посковыми машинами. Обратите внимание на вид URL адресов на данном сайте. Вдобавок ко всему, они имеют еще и легкочитамую для человека структуру - ЧПУ (человекопонятный УРЛ). Но об этом мы поговорим в другой статье.
В нашем втором примере мы обсудим, как переадресовать запросы «.txt» файлов к сценарию программы.
Многие хостинг провайдеры, работающие с Apache предоставляют лог-файлы в общем формате. Это означает то, что они не будут соджержать поля с ссылающимися страницами и юзер-агентами.
Однако, относительно запросов к файлу «robots.txt», предпочтительно иметь доступ ко всем этим данным, чтобы иметь больше информации о посещении поисковиков, чем просто знать их IP адреса. Для того, чтобы оганизовать это, в «.htaccess» должны быть следующие записи:
Теперь при запросе файла «robots.txt» наш RewriteRule переадресует посетителя (робота) к обрабатывающему запросы скрипту text.cgi. Кроме того, переменная передается скрипту, которая будет обработана в соответствии с вашими нуждами. «REQUEST_URI» определяет имя запрашиваемого файла. В данном примере это – «robots.txt». Скрипт прочтет содержание «robots.txt» и отправит его web-браузеру или роботу поискового сервера. Таким образом, мы можем считать хиты посетителей и вести свои лог-файлы.
С этой целью, скрипт будет использовать переменные окружения «$ENV {'HTTP_USER_AGENT'}» и т.д. Это обеспечит получение всей требуемой информации. Вот исходный текст для сценария cgi, упомянутого выше (пример взят с сайта http://fantomaster.com):
Загрузите файл с данным содержимым в корневую или в DocumentRoot директорию сервера и установите права доступа у файлу (chmod) 755. Затем, создайте каталог «stats». Более детальное описание о том, как установить скрипт вы можете получить на сайте разработчика.
Если настройки вашего сервера не позволяют исполнять cgi-сценарии в главной директории (DocumentRoot), то попробуйте следующий вариант:
Обратите внимание, что в этом случае, будет необходимо изменить пути в коде скрипта!
Наконец, вот решение задачки, данной в предыдущей части этой публикации:
Если мы пишем в регулярном выражении «^212.37.64» вместо «^212.37.64.» (с точкой в конце), то даст ли это тот же самый эффект, и будут ли исключены те же самые IP адреса?
Регулярное выражение ^212.37.64 удовлетворяет и применимо к следующим строкам:
Следовательно, последняя цифра «4» может сопровождаться любой символьной строкой. Однако, максимальным значением IP является адрес 255.255.255.255 – который подразумевает, что например 212.37.642.12 – неправильный (недопустимый) IP. Единственный допустимый IP в вышеприведенном списке – 212.37.64.12!