Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Система была задумана как безопасная, скоростная, функциональная, гибкая в использовании, а главное простая для понимания рядовых пользователей с начальным уровнем знаний. Основные замыслы, которые были реализованы в системе, это снижение нагрузки на базу данных и сервер, повышение функциональности и безопасности, удобство управления и работы с системой, интуитивно понятный интерфейс, простота в использовании и расширении, то есть написании своих тем оформления, блоков, модулей и дополнений. Таким образом, система предназначена для максимально широкого спектра использования и предоставляет возможность построения на своей основе любого сайта, начиная от персональной странички или презентации компании и заканчивая мощными, высоко посещаемыми порталами.
SLAED CMS является гибкой, мощной и интуитивно понятной системой с минимальными требованиями к хостингу, малым количеством запросов к базе MySQL и является превосходным выбором для построения сайта любой степени сложности - от обычной домашней странички с сотней посещений в день до корпоративного портала со встроенным магазином и форумом, могущего принимать десятки тысяч посетителей в сутки. По оценкам специалистов, SLAED CMS является самым удачным выбором для построения современного, быстрого и надежно защищенного от хакеров сайта.
Open SLAED является гибкой, мощной и интуитивно понятной системой с минимальными требованиями к хостингу, высоким уровнем защиты и является превосходным выбором для построения сайта любой степени сложности - от обычной домашней странички с сотней посещений в день до корпоративного портала со встроенным магазином и форумом, способного принимать десятки тысяч посетителей в сутки.
Панель администратора
Администраторы, Блоки и баннеры, Категории, Комментарии, База данных, Редактор, Дополнительные поля, Группы, Языки, Сообщения, Модули, Рейтинги, RSS каналы, Безопасность, Конфигурации, Файловый редактор, Пользователи.
Системные модули
Обратная связь, Содержание, Каталог файлов, Новости, Опросы, Личный отдел пользователя, Резервное копирование базы данных, RSS Информер, Рекомендовать сайт, Поиск по сайту, Редактор TinyMCE, Редактор Spaw 2, Редактор FCKeditor, Топ пользователи.
Интеграция с форумами
Общая регистрация и авторизация с самыми популярными и актуальными на сегодняшний день форумами: Invision Power Board, phpBB, vBulletin, SMF.
Инструкция по установке и обновлению системы находится в директории архива: doc/
Для установки системы на своём персональном компьютере мы рекомендуем: VertrigoServ
О дизайне и тенденциях развития и построения сайтов. Изготовление сайтов дорого или дешево - почему? Оптимизация и продвижение - зачем и почем? Частный сайт Владимира Чижевского.
Готов к запланированному выходу представитель нового поколения систем построения сайтов Open SLAED. В системе используются новые технологии, способные реализовать самые высокие запросы пользователей, а так же уже известные методы и функции, зарекомендовавшие себя стабильной и безопасной работой. Одним из нововведений является универсальная мультиязычьность, повышенный уровень безопасности работы системы и её компонентов, встроенная в систему технология AJAX и многое другое. Стабильная работа системы возможна не только на PHP 4 и PHP 5, но рассчитана на будущую версию PHP 6. Не маловажным фактором является полный переход на лицензию GPL 3, которая даёт неограниченную возможность разработчикам для расширения функционала системы, реализации новых модулей, тем и блоков. На сегодняшний день можно с уверенностью сказать, что Open SLAED является актуальным, стабильным, функциональным представителем нового поколения, отвечающим требованиям и запросам в сфере построения сайтов, не только сегодняшнего но и завтрашнего дня.
Минимальные требования
Минимальными требованиями для корректной работы системы являются установленные на Вашем хостинге или сервере программы: PHP 4.3 или выше, MySQL 4 или выше. Данные программы являются на сегодняшний день стандартом и как правило, установлены у всех профессиональных хостеров.
Панель администратора системы
Модули панели администратора: Администраторы, Блоки и баннеры, Категории, Комментарии, База данных, Редактор, Дополнительные поля, Группы, Языки, Сообщения, Модули, Рейтинги, RSS каналы, Безопасность, Конфигурации, Файловый редактор, Пользователи.
Модули системы с панелью управления: Обратная связь, Содержание, Каталог файлов, Новости, Опросы.
Дополнительные модули
Система не ограничивается только представленными выше модулями, в системе существует ряд дополнительных модулей, которые не используют панель управления сайтом и работают в стационарном режиме.
Дополнительные модули: Личный отдел пользователя, Резервное копирование базы данных, RSS Информер, Рекомендовать сайт, Поиск по сайту, Редактор TinyMCE, Редактор Spaw 2, Редактор FCKeditor, Топ пользователи.
Дополнительные возможности
Реализована полная поддержка ЧПУ для системы и её стандартных модулей. В случае использование дополнительных модулей, возможно расширение правил преобразования ссылок.
Возможна интеграция системы Open SLAED с самыми популярными и актуальными на сегодняшний день форумами: IPB, phpBB 2, vBulletin, SMF.
Для более удобной публикации и редактирования материала в систему встроены:
Редактор BB с возможностью загрузки файлов и их управлением
Редактор TinyMCE 3
Редактор Spaw 2 с возможностью загрузки файлов и их управлением
Редактор FCKeditor с возможностью загрузки файлов и их управлением
Ко всему этому для опытных пользователей существует возможность отключения редакторов для работы в прямом режиме.
Оформление и дизайн
Скачать новую версию можно в каталоге файлов нашего проекта. В связи с появлением новой версии Open SLAED, версия SLAED Lite, в том варианте как было до этого прекрашает своё существование. На данный момент установка Open SLAED рекомендуется только для новых проектов. Обновление с версии SLAED Lite будет выпущено позже, не исключено что вместе с выходом стабильной версии Open SLAED.
Не для кого не секрет что в последнее время компьютерные технологии начали развиваться с большой скоростью, ещё больше это развитие отобразилось на сферу Интернета и технологиях применяемых в ней. Появились новые, модные на сегодняшний день тенденции, такие как Web 2 и AJAX. Буквально 3-5 лет назад, основная масса сайтов общего направления сети Интернет состояла из HTML страниц, в лучшем случае не сложных скриптов которые их генерируют. Не говоря об использование возможностей и эффектов JavaScript, которые считались спецификой, и применялись весьма редко, можно сказать неохотно в виду слабой поддержки браузеров. На сегодняшний день JavaScript пережил второе рождение и появился снова, но уже под названием AJAX.
Нечто подобное мы наблюдаем с использованием CMS (Систем построения сайтов), получивших высокую популярность в последние годы по причине универсальности, возможностях внедрения, расширения, адоптации под свои нужды. Хочу, заметит, что в системах подобного рода, уже в то время, использовалась тенденция, ране не существовавшая, а ныне известная как Web 2, парадоксально, но факт. Что же представляет собой Web 2? Это ничто иное, как участие пользователей в жизни проекта, комментарии к статьям, рейтинги и прочие функции, которые с не за памятных времён применялись в портальных системах и были практически не доступны на HTML сайтах, за редким своим исключением. Именно данные возможности и применение Web 2 на портальных системах послужило сильному повышению их популярности.
С выпуском новой версии мы переходим на более высокий уровень развития, а именно, использования системы, как портальной системы построения сайтов, на уровень выше, чем Web 2. Начиная с версии SLAED CMS 3.3 Pro, мы предоставляем возможность не просто пассивного прибывания пользователей, а активного участие всех посетителей в жизни сайта. Скажу больше, пользователи получают возможность оценки, комментариев, публикаций статей, материалов, участие в опросах, добавления файлов, графических элементов, объектов, оценки друг друга, рейтинга, комментариев и многого другого почти во всех основных отделах проекта в полном объеме. Пользователи и посетители при их желании смогут стать не только наблюдателями, но и принимать активное участие в развитии сайтов. Исходя из этого, система отвечает не только тенденции Web 2, но и её последующим модификациям как Web 3. Это значит что любой посетитель, естественно при желании и одобрении администратора, может иметь неограниченную возможность участия в развитии и наполнении всего проекта, всех его отделов.
Идя в ногу со временем наша задача не опережать его, как это было с JavaScrit который опередил его и не получил заслуженную популярность в своё время. Естественно, что мы за использование новых технологий, но только за проверенные, востребованные временем, а главное безопасные. Основные факторы, которые ставились и ставятся при разработке системы это простота в использовании, функциональность, универсальность скорость, а главное безопасность. Наверняка и в новой версии Вы сможете по достоинству не только оценить проделанную работу, но и активно использовать новые возможности системы, с основными изменениями которой Вы будете ознакомлены в следующей статье.
Вы решили заявить о себе в интернете. Вы знаете, о чем будет Ваш сайт. Но уверены ли Вы том, что Ваш сайт будет пользоваться успехом? Сможет ли Ваш веб-проект окупить хотя бы затраты на его построение и содержание. Для того чтобы Ваш сайт приносил прибыль, Ваша работа должна состоять из следующих этапов. Что самое главное при создании сайта? Нет не дизайн, самое главное это сделать так чтобы на сайт приходили люди, а еще главнее, чтобы они возвращались. Как повысить посещаемость и сделать ваш сайт привлекательным для людей вы узнаете в этой статье...
Сделайте сайт максимально удобным для посетителей. Не перенасыщайте страницы информацией, однако и не заставляйте людей кликать множество раз, чтобы добраться до того, что им нужно. Навигация по сайту должна быть удобной. Используйте поисковые формы каталогов и поисковых систем, с помощью которых можно бедет посетителям дополнительно поискать информацию.
Самый существенный момент. Чтобы посетители приходили к Вам, они должны быть уверены, что в следующий раз найдут для себя что-то новое. Поэтому необходимо постоянное обновление страниц. Не обязательно ежедневно - раз в неделю или в две, как у Вас получится. Выделяйте добавленные ссылки или разделы: new! Придумывайте оригинальные новости. Можно немного пофилосовствовать по мере способностей. Новости желательно вынести на основную страницу.
Обратите внимание на дизайн. Дизайн должен сочетать в себе эстетитечское удовлетворение, удобство поиска информации, минимум времени на загрузку страниц. Не перенасыщайте страничку рисунками и баннерами. Если Вы обмениваетесь баннерами с другими сайтами, постарайтесь загрузить их на свой сервер, чтобы они всегда были видны в виде рисунка, а не в виде пустого пятна.
Если есть возможность, постарайтесь не использовать на страничке фреймы, это облегчит Вам жизнь при индексировании вашего сайта в поисковых системах. Если Вы используете таблицы, для построения навигации старайтесь задавать ширину в пикселях, а не в процентах. Иначе у машин с разным рарешением экрана страничка будет выглядеть по разному. Никогда не ориентируйте свою страничку на определенный броузер. От этого вы можете потерять до половины своих посетителей в день. Постарайтесь найти компромис.
Постарайтесь сделать свой сайт привлекательным. Как? Наиболее полно охватите полюбившуюся Вам тему, сделайте ссылки на сайты, которые предоставляют аналогичную информацию.
Устройте конференцию по Вашей теме. Пусть сразу посетителей будет немного, но Вы сами должны обязательно давать ответы на задаваемые вопросы. Организуйте конкурсы, желательно с призами. Например в качестве приза можно поместить на страничке баннер победителя или написать обзор его сайта в новостях.
Предлагайте бесплатные услуги. Убедитесь, что предлагаемая бесплатная услуга тесно связана с вашей продукцией, чтобы воспользовавшиеся ею посетители сайта с большой долей вероятности могли стать вашими партнерами или клиентами. Предоставьте посетителям множество возможностей перехода и ссылок на страницы сайта, посвященные предлагаемой продукции и условиям работы с клиентами.
Дата: 18.06.2007 Модуль: Новости Категория: Интернет Разместил: Иванов
Представляю Вашему вниманию новую версию SLAED CMS 2.1 Lite. Данная версия отличается от своих предшественников тем, что она базируется на ядре платной версии SLAED CMS 2.0 Pro, которая зарекомендовала себя стабильной и безопасной работой. В данной версии системы внесена масса изменений улучшающие функциональность, скорость, безопасность и удобство работы. Полностью переписаны все модули и функции системы. Некоторые модули написаны заново. Написано новое ядро генерации шаблонов. Повсеместному внедрению подвергся ББ редактор, зарекомендовавший себя удобной работой. Полностью удалено использование HTML кода в пользовательской части системы, таким образом, значительно повышена безопасность и удобство работы со стороны пользователей и посетителей. Добавлена повсеместная возможность использования ББ редактора в административной части. Частично изменены функции подключения административных модулей. Всё это только малая часть произведённых изменений. Более детальную информацию можно получить при подробном просмотре.
Написана новая панель управления новостным модулем. Таким образом, расширена функциональность модуля. Добавлена функция отключения новости. Установлена возможность смены даты публикации. Встроен BB редактор, который даёт расширенные возможности форматирования текста в административной и отображения в пользовательской части модуля.
Написан и установлен новый модуль для публикации новостей посетителями и гостями сайта. В данном модуле установлен BB редактор для более удобного форматирования текста.
Удалены лишние и неиспользуемые поля в новостном модуле.
Удалена таблица временного размещения новых статей не прошедших проверку администратора старого модуля в виду ненадобности.
Удален старый модуль размещения новостей посетителями и гостями сайта.
Откорректирован главный отдел администратора системы для управления новостным модулем.
Удалёна панель администрации модуля тем. Данный отдел интегрирован в панель администрации модуля новостей. Таким образом, установка тем стала более интуитивно понятной для новичков.
В новостном модуле добавлена возможность редактирования, установки новых и удаления категорий непосредственно из самого модуля, а не как было раньше, из статьи.
Оптимизации и коррекции подвергся файл генерации RSS каналов системы.
Переписана функция проверки активности модуля, таким образом, значительно снижена нагрузка на базу данных на главной страницы панели администратора.
Модифицирована система сообщений. В административной части добавлена возможность использования ББ редактора при публикации. Оптимизирован программный код.
Оптимизирован код файла администрация блоков. Улучшена его функциональность, сокращено количество запросов в базу данных.
Оптимизирована функция отключения блоков и сообщение при истечении установленного срока.
Модифицирован ББ редактор, добавлены дополнительные возможности использования тег.
Частично оптимизирована и модифицирована система оформления тем и все связанные с ней файлы. Устранены проблемы связанные с использованием одинарных кавычек при установке блоков и баннеров.
Полностью переписано часть ядра системы отвечающего за отдел администрации и управления. Добавлены дополнительные функции проверки, установки администратора, а так же входа. Удалена старая таблица базы данных администратора, установлена новая.
Написан новый модуль установки и управления администраторами системы, расширена её функциональность.
Внесены значительные изменения, разграничивающие доступ в панель администрирования, улучшена функциональность и удобство управления.
Произведена смена расшифровки пользовательских и административных переменных, а так же их обработка.
Значительным образом снижена нагрузка на базу данных в панели администратора системы. Оптимизирован код и некоторые функции проверки прав доступа.
Удалена глобальная переменная, используемая для прификса таблицы базы данных пользователя в виду её ненадобности.
Проработаны все файлы панели администратора, оптимизированы функции и код.
Установлена дополнительная проверка администратора по последнему IP адресу, в случае не соответствия нового и сохранённого в базе данных с последнего визита, система потребует от вас войти заново. Это значительным образом повышает безопасность системы.
В модуле обратной связи установлено обязательное подтверждение ввода секретного кода, который исключает отправку сообщений спамерскими роботами.
В модуле опросов исправлена ошибка, связанная с установкой языка, при выборе всех языков для опроса раньше он не отображался.
Внесены изменения, которые повышают безопасность системы от XSS инъекций.
Написан новый модуль панели администратора для оптимизации и ремонта базы данных системы. Производя оптимизацию базы данных, Вы уменьшаете её размер и соответственно с этим ускоряете её работу. Рекомендуется использовать данную функцию минимум один раз в неделю.
Внесены изменения, способствующие корректной работе RSS канала систему в случае использования ББ кода.
Исправлено зашкаливание графической шкалы в модуле опросов в случае стопроцентного голосования по одному из предложенных ответов.
Полностью переписана пользовательская часть модулей каталога файлов и ссылок. Благодаря этому была значительно снижена нагрузка на базу данных. Теперь при большом количестве вложений в категории нагрузка не повышается, как это было раньше. Внесены визуальные корректировки и улучшения.
Произведена смена подключения административных модулей всей системы в целом. Удалены дублирующие функции и сами файлы case.php использовавшиеся в старых версиях.
Внесены визуальные изменения в панель администратора пользователями. Добавлен ББ редактор в подписи.
Оптимизированы участки кода ядра, системы, снижена нагрузка на базу данных при посещении сайта зарегистрированными пользователями.
Удалено глобальное включения параметров Register globals: On. Включается только в тех местах, где это необходимо, как правило, в модулях системы.
Модифицирован редактор стилей панели администратора.
Модифицирован языковой редактор панели администратора.
Написан новый модуль для администратора системы. При помощи него Вы можете с лёгкостью менять шаблоны темы оформления системы непосредственно в панели администратора. Для более удобной работы, описаны все основные переменные, которые могут использоваться в шаблонах системы.
Написан новый модуль панели администратора для загрузки и управления файлами, используемыми в новостях и других модулях системы.
Перемещены в одну директорию и таким образом централизованы все конфигурационный файлы системы и модулей.
Создана новая папка для загрузки и централизованного использования файлов.
Переписана пользовательская и административная часть модуля файлов. Ведены дополнительные возможности, такие как сжатие графических файлов для предварительного просмотра, предварительный просмотр без перезагрузки. Улучшена визуальная и управленческая часть модуля для более удобного управления и конфигурации.
Внесены визуальные изменения в пользовательскую часть модуля вопросов и ответов.
Частично переписан отдел администратора модуля вопросов и ответов, добавлены новые параметры для его гибкой настройки. Изменена структура управления. Произведено повсеместное внедрения возможности использовании ББ кода и редактора.
Визуальным изменениям подверглась основная панель администратора. Для удобства использования добавлена возможность свёртывания панели.
Произведена смена установки и формата даты регистрации пользователей.
Визуальным изменениям подвергся модуль, топ пользователей, добавлено отображение аватара при наведении на ник пользователя.
Переписана основная часть пользовательского отдела модуля «Контент». Снижена нагрузка на базу данных, переписана структура генерации категорий, таким образом, количество категорий не повышает количество запросов в базу данных, как это было раньше. Модифицирована навигация и визуальная часть.
Написана новая панель администрации модуля «Контент». Добавлена возможность использования ББ кода, а так же редактора. Установлены дополнительные параметры времени, дающие возможность установки, смены и праграммирования содержание на определённое число, время. Улучшена визуальная часть и навигационная часть модуля.
Частично переписана пользовательская часть модуля опросов. Модифицирована визуальная часть, сам код модуля, а так же блок.
Написана новая панель администрации модуля опросов, добавлены новые параметры в настройке количества отображаемых опросов в модуле, а так же интервал времени между опросами. Добавлена возможность установки времени публикации опроса с возможность программирования на будущее. Улучшена и модифицирована визуальная часть отдела администратора.
Откорректирована таблица базы данных в плане установки идентификационных ключей, удалены двоичные.
Начиная с версии 2.1, мы имеет новую ветку системы, которая отвечает последним требованиям построения сайтов, как автор системы, я буду развивать её дальше в этом направлении и стараться идти в ногу со временем. На сколько хорошо мне это удаётся решать Вам, уважаемые пользователи. Оценить новую версию будет возможно начиная с 20.10.2006, скачав систему в файловом архиве нашего проекта. По причинам большого количества нововведений, а в некоторых случаях полностью новых функции и модулей, данная версия системы будет иметь название Beta.
ЧПУ - термин, принятый среди веб-разработчиков для обозначения WWW-адресов, удобных для восприятия человеком (а также систем и методов построения таких адресов), является аббревиатурой от словосочетания «человекопонятный урл» («урл» - жаргонное для URL). С развитием и ростом Интернета ситуации, когда веб-сайт содержит страницы с очень длинными и трудночитаемыми адресами, стали реальной проблемой. Адрес вроде http://www.slaed.net/index.php?ext=83465&p1=some&p2=some крайне сложно запомнить или, скажем, продиктовать по телефону.
ЧПУ предполагает построение адресов по иерархической схеме, очевидной для человека: вместо http://www.slaed.net/index.php?ext=83465&p1=some&p2=some использовать http://www.slaed.net/doc/83465/some/some. При этом удаление части адреса («укорачивание» адреса на некоторое число секций, разделенных слешами) приводит к попаданию на более высокую ступень навигационной иерархии: http://www.slaed.net/doc/83465/ - документ под номером 83465, http://www.slaed.net/doc/ - список всех документов и т.п.
Первый способ
Cоздать для каждой заметки поддиректорию с соответствующим именем и помещать в нее index.html, то есть сделать так, чтобы по адресу http://www.slaed.net/php/user_urls лежал бы реальный файл.
Второй способ
Использование ошибочной страницы. Если страница не существует, то сервер выдает ошибку 404. Так что вторая идея - прописать в фале .htaccess страницу, которая будет выдаваться при ошибке 404, а уже эта страница будет смотреть на текущий УРЛ и выдавать нужный документ
Пользователь набирает http://www.slaed.net/php/user_urls, такая страница не найдена, и загружается файл index.php. Дальше - все просто. Переменная $REQUEST_URI дает нам адрес вызываемой страницы (в данном случае это будет /php/user_urls), вывести на экран соответствующий документ - дело техники.
Этого мало. В некоторых браузерах и с поисковиками такой фокус не пройдет: страница 404 будет выдавать соответствующий код, и страницы индексироваться не будут. Поэтому надо, чтобы страница, которая грузится в случае ошибки 404, изменяла бы код ошибки и сигналила, мол, все ОК, есть такая страница: <?php header("http/1.0 200 Ok"); ?>
Итого: прописываем в .htaccess страницу, которая, собственно, за все отвечает (у нас это index.php). В этой странице пишем php-скрипт, который работает с $REQUEST_URI, шлет заголовок «http/1.0 200 Ok» и отображает то, что надо.
Плюсы: Очень простой способ. Работает почти везде.
Минусы: При таком способе нельзя постить содержимое формы на несуществующие псевдоурлы. И если в Апаче ведется лог 404-ых ошибок, то он будет забит.
Третий способ
Основан на директиве FilesMatch, которая в Апаче является core feature. Все просто. Пишем опять же в .htaccess
После этого все УРЛы, которые подпадают под условие «^([^.]+)$», (то есть все урлы, в которых не содержится точка) будут передаваться на index.php. Вы можете написать свое условие, разумеется.
Плюсы: Простой и удобный способ.
Минусы: Говорят, что для того, чтобы ForceType работал, php должен быть подключен к апачу в виде модуля. Если php вызывается, как обыкновенный CGI — ForceType работать не будет.
Четвёртый способ
Для этих (и не только) целей есть специальный модуль в Апаче, который называется mod_rewrite. Он позволяет «переписывывать урлы», то есть, преобразовывать их «на лету» по правилам, которые вы ему опишите.
Это очень мощный модуль, и если вы в нем разберетесь, то сможете творить чудеса.
Плюсы: Очень мощный способ.
Минусы: Может не хватить мозгов. На хостинге может быть не установлен этот модуль.
История происхождения и развития наиболее известных и популярных систем построения сайтов. В 1998 году Франциско Бурзи один из первых, разработал и создал систему построения сайтов. На данный момент подобные системы называются CMS - Content Management System. Взяв за основу популярную в то время новостную ленту ThatWare, он выпустил в свет PHP-Nuke. Таким образом, Франциско Бурзи стал родоначальником данного направления развития подобных систем. В скором времени начали появляться в свет подобные системы, они брали за основу или частично использовали структуру и функции PHP-Nuke.
Данная информация собиралась по крупицам, по этой причине могут быть некоторые не соответствия действительности, в виду не существования некоторых проектов. Системы, обозначенные крестом, это проекты которые уже не существуют или двигаются в этом направлении.
Информация о проектах
Ссылки, которые мне удалось найти, на те проекты, которые существуют или существовали в своё время по данному адресу.
Если обратить внимание на самые популярные системы, которые основаны на PHP-Nuke, то можно заметить что они полностью или почти полностью изменили основные функции. Это говорит о том, что сама по себе система PHP-Nuke нуждается в оптимизации и модификации. Некоторые системы занимаются наращиванием или изменением функций, не обращая внимание на скорость работы и нагрузку на сервер.
Разрабатывая SLAED CMS, мы в отличие от других, в первую очередь максимально снизили нагрузку на сервер и скорость работы системы, максимально увеличили безопасность. При всём этом, функционал системы нисколько не пострадал, даже наоборот увеличился. Уделяется особое внимание на простоту в использовании, интуитивно понятный интерфейс, приятное оформление. Система росла, видоизменялась и модифицировалась. В конечном итоге родилась самостоятельная система SLAED CMS, которая переросла своего прародителя, избавилась от всех его недостатков, в свою очередь, переняв и приумножив все его плюсы.
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов 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"
Данная информация пригодится более опытным пользователям системы для отслеживания ошибок в работе сервера и системы. Не для кого не секрет что наша система построения сайтов способна отслеживать стандартные ошибки 400, 401, 403, 404, 500, 503 и вести соответствующую статистику в лог файлах. Но немногие знаю о том, что система способна регистрировать не только стандартные, но и все возможные ошибки. Для того, что бы активировать регистрацию новых ошибок, необходимо добавить в основной файл: .htaccess соответствующую запись.
Допустим, у Вас появилась необходимость отследить ошибку 504, которая отвечает за время прохождения шлюза.
Открываем файл: .htaccess
После:
Добавляем:
Этого достаточно для того, что бы система начала фиксировать соответствующую ошибку в случае её появления. Просмотреть файл статистики ошибок, а так же загрузить его к себе на компьютер Вы сможете на главной странице отдела безопасности панели администратора системы. Ниже мы рассмотрим все существующие ошибки и их значения.
Коды первого класса Они не посылаются клиентам.
100 Continue - Начальная часть запроса принята, и клиент может продолжать передачу запроса.
101 Switching Protocols - Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade.
Коды второго класса Возникают, когда запрос успешно принят и понят сервером.
200 OK - Пользователю не посылается.
201 Created - Объект создан.
202 Accepted - Информация принята.
203 Non-Authoritative Information - Информация, не заслуживающая доверия.
204 No Content - Нет содержания.
205 Reset Content - Восстановить исходное содержание.
206 Partial Content - Частичное содержание.
Коды третьего класса Сообщают о перенаправлении. Для того чтобы выполнить запрос, нужны еще какие-то действия.
300 Multiple Choices - Несколько вариантов на выбор.
301 Moved Permanently - Ресурс перемещен на постоянной основе.
302 Found - Ресурс временно перемещен.
303 See Other - Смотрите другой ресурс.
304 Not Modified - Не изменился.
305 Use Proxy - Следует использовать прокси-сервер.
307 Temporary Redirect - Временное перенаправление.
Коды четвертого класса Сообщают об ошибках клиента. Проблема связана не с сервером, а с работой системы и запросами посетителей.
400 Bad Request - Некорректный запрос.
401 Unauthorized - Нет разрешения.
402 Payment Required - Требуется оплата.
403 Forbidden - Доступ запрещен.
404 Not Found - Ресурс не найден.
405 Method Not Allowed - Недопустимый метод.
406 Not Acceptable - Неприемлимый запрос.
407 Proxy Authentication Required - Необходима регистрация.
408 Request Time-out - Время обработки запроса истекло.
409 Conflict - Конфликт.
410 Gone - Ресурса больше нет.
411 Length Required - Необходимо указать длину.
412 Precondition Failed - Не выполнено предварительное условие.
413 Request Entity Too Large - Запрашиваемый элемент слишком велик.
414 Request-URI Too Large - Идентификатор ресурса слишком длинный.
415 Unsupported Media Type - Неподдерживаемый тип ресурса.
416 Requested range not satisfiable - Диапазон не может быть обработан.
417 Expectation Failed - Время ожидания истекло.
Коды пятого класса Сообщают об ошибке на сервере. Система к этим ошибкам не имеет отношения.
500 Internal Server Error - Внутренняя ошибка сервера.
501 Not Implemented - Функция не реализована.
502 Bad Gateway - Дефект шлюза.
503 Service Unavailable - Служба недоступна.
504 Gateway Time-out - Время прохождения через шлюз истекло.
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов 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"