|
Правила •
Регистрация •
Справка Сообщения за день • Поиск |
|
|
|
Опции темы | Опции просмотра |
Напильникъ - наше все
![]() |
LARK, а что с модулями? По умолчанию будешь пытаться добаваить newbb_plus в редакции Зормакса?
Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
[исход]
![]() |
Модулями потом займусь. Прежде чем добавлять какой либо функционал надо их основательно почистить.
Все, что не касается базы данных. Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском ------------------------------------------------------------------- Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки. |
||||
|
|
[исход]
![]() |
В общем, то о чем писал, практически все сделал. Осталось доделать систему конфигурирования визивигов и разобраться со стилями новых шаблонов.
Плюс, добавил подключение произвольных капч и возможность менять интерфейс админки (речь идет не о шаблонах а о gui). Полностью написана система плагинов/хуков. На этом думаю, остановлюсь и после доделок оставшегося, выложу первую альфу. Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском ------------------------------------------------------------------- Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки. |
||||
|
|
): ǝҺɐни dиw ɐн иd⊥оwɔ
![]() |
Цитата:
![]() Жду, протестирую Напильник для RUNCMS Строим помаленьку Для гурманов Мебель для дома |
||||
|
|
[исход]
![]() |
Выкладываю первую альфу RUNCMS RE 1.7, архив большой, так как содержит разные библиотеки для тестирования и примеров.
RUNCMS RE 1.7 дистрибутив Основная задача была сделать движок более расширяемым. Для этого была введена система хуков и возможность подключать сторонние библиотеки. Первое позволит более безболезненно интегрировать сторонние скрипты (форумы, галереи и т.д.), второе подключать разные шаблонизаторы, визивиги, капчи и т.д. Так же ставилась задача не нарушить совместимость со старыми модулями. Система плагинов/хуков В данной реализации хук это точка, в которой вызывается конкретный плагин или цепочка плагинов. Плагины это простые файлы с функциями, расположенные в папке /modules/имя_модуля/plugins/ Каждый плагин должен быть описан в xoops_version.php следующим образом: PHP код:
имя_плагина.plugin.php Функция плагина должна иметь имя: plugin_имямодуля_имяплагина Добавление хука: PHP код:
rc_remove_cache_hook rc_waiting_hook rc_search_hook rc_meta_hook rc_map_hook rc_user_update rc_user_avatar_upload rc_user_lostpass rc_admin_user_del rc_admin_user_add rc_admin_user_activate rc_admin_user_update rc_user_finish_register rc_user_logout rc_user_login rc_user_activate rc_user_delete rc_user_info В дальнейшем по мере необходимости список будет расширятся. Поэтому предлагайте свои варианты. На данный момент 5 плагинов имеют фиксированные имена remove waiting search meta map и заменяют собой файлы /modules/имя_модуля/include/waiting.inc.php /modules/имя_модуля/include/remove.inc.php /modules/имя_модуля/include/search.inc.php /modules/имя_модуля/include/map.inc.php а так же /modules/имя_модуля/metagenerator/*.php Все они привязаны к соответствующим хукам: rc_waiting_hook, rc_remove_cache_hook, rc_search_hook, rc_map_hook, rc_meta_hook Делать я этого (переносить *_search(), *_waiting() и т.д.) не собирался, но потом решил, как-то унифицировать подключаемые функции, чтобы не было путаницы. Старые модули с файлами /include/waiting.inc.php, /include/search.inc.php и т.д. поддерживаются и совместимы. Плагины можно включить/отключить в админке, а так же, указать очередность их вызова, если плагин входит в цепочку плагинов. Система шаблонизации Поддерживается два режима, старые темы и новые, основанные на шаблонах. Новая система активируется в админке. Новые темы хранятся там же, что и старые в папке /themes/ Структура темы следующая: /themes/имя_темы/images/ /themes/имя_темы/language/ /themes/имя_темы/menu/ /themes/имя_темы/style/ /themes/имя_темы/theme_custombox_test.html /themes/имя_темы/theme_centerbox_center.html /themes/имя_темы/theme_centerbox_left.html /themes/имя_темы/theme_centerbox_right.html /themes/имя_темы/theme_sidebox_left.html /themes/имя_темы/theme_sidebox_right.html /themes/имя_темы/theme_news.html /themes/имя_темы/theme_centerposts.html /themes/имя_темы/theme_waitbox.html /themes/имя_темы/theme_table.html /themes/имя_темы/theme.php /themes/имя_темы/version.php /themes/имя_темы/theme_main.html /themes/имя_темы/theme_main.html – основной темплейт Остальные темплейты соответствуют функциям из файла theme.php, старых тем Файл /themes/имя_темы/theme.php пустой, оставлен для совместимости со старыми модулями Файл /themes/имя_темы/theme_custombox_test.html – произвольный шаблон блока, аналог шаблонов блоков из /themes/имя_темы/template/ старых тем, theme_custombox префикс, test – имя шаблона version.php – описание темы, например: PHP код:
Возможно использовать произвольные шаблонизаторы, для этого нужно для конкретного шаблонизатора писать свой обработчик и расположить его в /class/rclibhandler/rctplengine/handlers/ сам шаблонизатор помещается в /lib/tplengine/ На данный момент кроме нативного шаблонизатора (он будет стандартным для системы), поддерживается smarty. Выбираются в админке. Обработчик smarty сделан для примера, каждый может написать для себя свой, более ему подходящий. Соответственно добавлены две темы test_native и test_smarty. Естественно для того чтобы их использовать, в админке нужно активировать нужный движок шаблонизатора. Смена шаблонных движков поддерживается только для тем (!), для модулей используется нативный шаблонизатор, но если очень нужно в конкретном модуле использовать другой шаблонизатор то в xoops_version.php нужно прописать PHP код:
Шаблоны модулей должны хранится в /modules/имя_модуля /templates/ Простейший пример работы с шаблонизатором для модулей PHP код:
Код HTML:
<!-- HTML код --> <b><?php echo $var;?></b> <!-- HTML код --> Код HTML:
<!-- HTML код --> <b><{$var}></b> <!-- HTML код --> В шаблонах, что нативном, что smarty, все прозрачно, кто с темплейтами работал, разберется без объяснения. Сами модули на темплейты я пока не переводил - и времени нет и необязательно на данный момент. GUI админ-панели Появилась возможность менять интерфейс (не путать с шаблонами) админки Обработчики располагаются в /lib/cpgui/ пока доступно стандартное GUI Визуальные редакторы, капчи Добавлена возможность устанавливать произвольные редакторы и капчи - пишутся обработчики, которые должны располагаться в: /class/rclibhandler/rccaptcha/handlers/ и /class/rclibhandler/creditor/handlers/ Сами библиотеки располагаются в /lib/captcha/ /lib/editors/ На данный момент поддерживаются капчи: "captchator", "kcaptcha", "recaptcha", "securimag", "w3captcha" редакторы: "ckeditor", "nicedit", "spaw2", "tinymce", "wymeditor" Конфигурирование редакторов реализовано пока не в полной мере. Предлагайте варианты. + несколько фиксов и небольшие перемещения файлов, в частности все ява-скрипт файлы помещены в одну директорию /js/ Также в раздел "Основные настройки" добавлены опции: - "Включить эмуляцию register_globals=ON" - используйте эту опцию только для тестирования, если что-то не работает, отключенные register_globals – это бич всей линейки 1.6, и не все ошибки связанные с этим еще вычищены. - "Отключить редирект с главной страницы" - "Кэшировать SQL запросы" - "Кэшировать объекты ядра" ----------------------------------------------------------------- Во всем остальном это RUNCMS 1.6.3, со всеми его оставшимися глюками, никаких оптимизаций, никакого добавления нового функционала в модули я не делал. Теперь надо протестировать добавленные возможности, после чего можно продолжить вылавливать оставшиеся в линейке 1.6 баги. CHANGES: Код:
Расшифровка[*] - Исправление ошибки безопасности [#] - Исправление ошибки [+] - Добавление [^] - Изменение [-] - Удаление [!] - Примечание ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RUNCMS Russian Edition (RE) 1.7.0 (alpha-1) 10.11.2009 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Выпуск основывается на версии RunCms 1.6.3 с частичным откатом на RunCms 1.6.2 Выпуск подготовил LARK (http://www.runcms.ru) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [#] Удаление функции sql_safe() [!] Данная функция очень (!) сильно влияла на производительность и не вписывалась в систему верификации данных основанной на API RunCms [^] Была возвращена версия модуля whosonline из RunCms 1.6.2 [!] В RunCms 1.6.3 была добавлена старая (по отношению к RunCms 1.6.2) версия модуля whosonline [*] Фикс безопасности от HDMan (http://moscowvolvoclub.ru/) исправляющий ошибку обхождения капчи при регистрации [#] Фикс от HDMan (http://moscowvolvoclub.ru/) исправляющий метод Database::fetch_rowset() [#] Фикс в модуле sections, исправление ошибки связанной с register_globals = off [#] Фикс в модуле news, исправление ошибки связанной с register_globals = off [#] Исправлен баг в функции order_block() - /modules/system/admin/blocksadmin/blocksadmin.php, не обновлялись блоки [#] Исправлен баг двойной авторизации после установки портала в методе XoopsUserHandler::login() [#] Исправлен баг двойной авторизации после установки портала в функции install_tables() - /_install/install.php [-] Удалена директория /class/jsmenu/ [^] Файл jstree.class.php перенесен в директорию /class/ [+] Добавлен класс XoopsFormColorPicker /class/xoopsform/formcolorpicker.php [+] Добавлена библиотека /js/tigra_color_picker/ (связана с XoopsFormColorPicker) [!] Класс XoopsFormColorPicker добавлен временно, в дальнейшем будет заменен [+] Добавлен класс RCFormElementFactory /class/xoopsform/formelementfactory.php [^] Изменен метод XoopsForm::addElement(), для поддержки фабрики RCFormElementFactory [^] Функции из /class/debug/debug.php объеденены в класс RCDebug [-] Удалена JavaScript библиотека Prototype - /include/prototype.js [+] Добавлен JavaScript фреймворк jQuery - /js/jquery.js [+] Новые директории: /lib/, /js/, /cache/data/, /cache/tpl_cache/, /cache/tpl_compile/ [-] Удален файл: /include/xoopsjs.php функции перенесены в /js/core.js [^] Файлы: /include/calendar.js, /include/layersmenu.js, /include/scripts.js, /include/sha1.js перенесены в директорию /js/ [^] Файл: /include/calendar-blue.css перенесен в директорию /style/ [^] Файл: /include/scripts.js перенесен и переименован в /js/core.js [+] Добавлен файл: /include/theme_compatible.php - функции для совместимости со старыми модулями [-] Удалена директория /class/fckeditor/ [-] Удалена директория /class/kcaptcha/ [+] Добавлена новая система плагинов и хуков: классы RCPlugin и RCHook [+] Добавлены новые методы: XoopsModule::plugin_install(), XoopsModule::plugin_update(), XoopsModule::plugin_uninstall(), XoopsModule::plugin_activate(), XoopsModule::plugin_deactivate() [+] Добавлен раздел "Управление плагинами" в панели администрирования [^] Подключаемые системные функции *_search(), *_waiting() и т.д. /modules/имя_модуля/include/waiting.inc.php /modules/имя_модуля/include/remove.inc.php /modules/имя_модуля/include/search.inc.php /modules/имя_модуля/include/map.inc.php перенесены в соответствующие плагины: /modules/имя_модуля/plugins/search.plugin.php /modules/имя_модуля/plugins/waiting.plugin.php /modules/имя_модуля/plugins/remove.plugin.php /modules/имя_модуля/plugins/map.plugin.php [^] Функции метогенератора get_meta() /modules/имя_модуля/metagenerator/*.php перенесены в плагин /modules/имя_модуля/plugins/meta.plugin.php [+] Добавлен абстрактный слой для подключения сторонних библиотек - класс RCLibHandler [+] Новый класс кэширования объектов - RCCacheObj [^] Класс RCCachedPage перенесен в /class/rccache/rccache.php [+] Добавлен абстрактный слой для подключения капч - RCCaptchaFactory, RCCaptchaHandler [+] Добавлены обработчики для капч: "captchator", "kcaptcha", "recaptcha", "securimag", "w3captcha" [!] Рекомендуется использовать "kcaptcha" или "recaptcha", остальные добавлены в качестве примера интеграции [^] Изменен раздел "Captcha" панели администрирования [+] Добавлен корневой файл /captcha.php [+] Добавлен абстрактный слой для подключения интерфейса админ-панели - RCCpGuiFactory, RCCpGuiHandler [+] В раздел "Основные настройки" добавлена опция: "Интерфейс админ-панели" позволяющая выбирать поддерживаемые GUI админ-панели [^] Модифицированы функции xoops_cp_header(), xoops_cp_footer() [+] Добавлен абстрактный слой для подключения визуальных редакторов - RCEditorFactory, RCEditorHandler [+] Добавлены обработчики для визуальных редакторов: "ckeditor", "nicedit", "spaw2", "tinymce", "wymeditor" [!] Интеграция пока, в основном, демонстрационная [^] Изменен раздел "Редактор" панели администрирования [^] Активация редактора перенесена из раздела "Редактор" в раздел "Основные настройки" [+] В раздел "Основные настройки" добавлена возможность указывать подразделы админ-панели для которых нужно активировать редактор [+] В раздел "Основные настройки" добавлена опция: "Тип WYSIWYG редактора" позволяющая выбирать поддерживаемые визуальные редакторы [+] Добавлен абстрактный слой для подключения различных шаблонизаторов - RCTplEngineFactory, RCTplEngineHandler [+] Добавлены обработчики для шаблонизаторов: "phpnative" (стандартный), "smarty" [+] Добавлены функции используемые в нативном шаблонизаторе: center_block_top(), center_block_bottom(), left_block(), right_block(), page_footer(), page_header(), page_stylesheet(), page_script(), debug_info() [+] В раздел "Основные настройки" добавлена опция: "Шаблонный движок" позволяющая выбирать поддерживаемые шаблонизаторы [^] Модифицирована функция xoops_header() [^] Модифицированы файлы /index.php, /footer.php, /header.php [+] Добавлены методы: RCCoreApi::setCaching, RCCoreApi::initTplSystem, RCCoreApi::getEditor, RCCoreApi::getSystemTpl, RCCoreApi::getModuleTpl, RCCoreApi::getThemesList [+] Добавлены функции rc_check_var(), get_http_headers(), get_maintenance(), get_html_head() [^] Изменен раздел "Системная информация" [+] В раздел "Основные настройки" добавлена опция: "Включить эмуляцию register_globals=ON" [+] В раздел "Основные настройки" добавлена опция: "Отключить редирект с главной страницы" [+] В раздел "Основные настройки" добавлена опция: "Кэшировать SQL запросы" [+] В раздел "Основные настройки" добавлена опция: "Кэшировать объекты ядра" Последний раз редактировалось LARK, 11-11-2009 в 20:54 Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском ------------------------------------------------------------------- Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки. |
||||
|
|
Напильникъ - наше все
![]() |
Что тут можно сказать... Ронька ЖИВА!!! Замечательный факт и замечательный человек в поддержке направления RE
![]() LARK, как думаешь, финалку реально забубенить в этом году? Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
[исход]
![]() |
Надо тестировать, насколько все добавленное корректно работает, от этого будет зависеть.
Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском ------------------------------------------------------------------- Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки. |
||||
|
|
[исход]
![]() |
Небольшое замечание, я тестировал только на PHP 5, так как с PHP 4 давно не работаю, сейчас поставил на PHP 4.4.4, наблюдается несколько багов. Поэтому на данный момент, пока я их не исправил, тестируйте на пятерке.
Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском ------------------------------------------------------------------- Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки. |
||||
|
|
|
|
|
![]() |
Powered by: vBulletin Version 3.0 Copyright ©2000-2025, Jelsoft Enterprises Ltd. |
Все разделы прочитаны - Руководство форума - Архив - Вверх |