Инструменты пользователя

Инструменты сайта


manual:application_core:test

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
manual:application_core:test [2026/07/12 16:04] – создано VladPolskiymanual:application_core:test [2026/07/12 21:31] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
-test+arch-linux\\   
 +css/php/js\\   
 +ffmpeg - автономный без установки\\   
 +tauri+php+js\\   
 +автономная библиотека wire-guard\\   
 + 
 +  - UCMS Kernel - создание ядра приложения и модулей, а так-же шаблонов. 
 +  - UCMS install - создание временного модуля установки приложения (англ. application installation) 
 +  - UCMS Dashboard - создание подключаемого модуля панель управления (англ. dashboard) 
 +  - UCMS File - создание подключаемого модуля файловая библиотека (англ. file, от file library) 
 +  - UCMS Bcw - создание подключаемого модуля сайта-визитки (англ. BCW, от business card website) 
 +  - UCMS Book - создание подключаемого модуля книжная библиотека (англ. book, от book library) 
 +  - UCMS Blog - создание подключаемого модуля блога (англ. blog, от web log) 
 +  - UCMS Video - создание подключаемого модуля видеохостинга (лат. video и англ. hosting) 
 +  - UCMS Sns - создание подключаемого модуля социа́льная сеть (англ. SNS от social networking service) 
 + 
 +<code> 
 +ucms_stick/                      <-- Автономная папка-капсула на ПК или флешке 
 +│ 
 +├── LICENSE                      <-- Юридическая свобода (Лицензия MIT/Apache 2.0 на весь комплект) 
 +├── README.md                    <-- Краткая инструкция по запуску run.cmd для читателя книги 
 +├── server/                      <-- Портативное окружение (Apache / PHP) 
 +├── run.cmd                      <-- Скрипт запуска локального сервера в 1 клик 
 +│ 
 +└── ucms/                        <-- ЕДИНОЕ ВЕБ-ПРИЛОЖЕНИЕ (APP_ROOT) 
 +    │ 
 +    ├── .htaccess                <-- Единое перенаправление всех запросов на index.php 
 +    ├── index.php                <-- Входная точка ядра (запуск сессий, вызов роутера) 
 +    ├── version.txt              <-- Текущая версия системы (например, "1.0.0"
 +    ├── LICENSE                  <-- Лицензия на само веб-приложение 
 +    ├── README.md                <-- Описание структуры папок ucms для изучающих код 
 +    │ 
 +    ├── config/                  <-- КОНФИГУРАЦИЯ 
 +    │   └── config.ini           <-- Создается автоматически при первой установке 
 +    │ 
 +    ├── core/                    <-- ЖЕСТКОЕ СИСТЕМНОЕ ЯДРО (ДНК системы) 
 +    │   ├── router.php           <-- Маршрутизатор, проверка config.ini, защита CORS 
 +    │   ├── database.php         <-- SQLite обертка (авто-подключение core_main.db) 
 +    │   ├── system.php           <-- (Наш прошлый сборщик паспорта version.json) 
 +    │   │ 
 +    │   ├── logger.php           <-- ГЛАВНЫЙ КЛАСС ЛОГИРОВАНИЯ (Сборщик всех багов) 
 +    │   │                            - Перехватывает ошибки PHP через set_error_handler 
 +    │   │                            - Перехватывает фатальные сбои через register_shutdown_function 
 +    │   │                            - Форматирует и записывает баги в файлы ниже 
 +    │   │ 
 +    │   ├── template.php         <-- Шаблонизатор (обработка тегов {content}, {auth}) 
 +    │   ├── paths.php            <-- Карта относительной автономности путей 
 +    │   │ 
 +    │   ├── security.php         <-- ГЛОБАЛЬНЫЙ ДИСПЕТЧЕР БЕЗОПАСНОСТИ (Цепляет списки ниже) 
 +    │   ├── security/            <-- Базы данных и списки черного контура защиты 
 +    │   │   ├── black_ip.dat     <-- Локальный список забаненных IP адресов за флуд 
 +    │   │   ├── bad_logins.dat   <-- Запрещенные ники (admin, root, moder, system, null) 
 +    │   │   └── weak_pwd.dat     <-- База топ-1000 известных паролей (запрет к установке юзерами) 
 +    │   │ 
 +    │   │ 
 +    │   ├── system.php           <-- НАШ НОВЫЙ ФАЙЛ: СИСТЕМНЫЙ ИНСПЕКТОР (Сборщик паспорта) 
 +    │   │                            - Сканирует версию PHP и подключенные модули (FFI, SQLite) 
 +    │   │                            - Читает лимиты из php.ini (upload_max_filesize, memory_limit) 
 +    │   │                            - Обходит папку /modules/, собирая версии из файлов init.php 
 +    │   │                            - Генерирует или обновляет файл version.json одной функцией 
 +    │   │ 
 +    │   └── lang/                <-- СИСТЕМНЫЕ ПЕРЕВОДЫ ЯДРА (Только база) 
 +    │       ├── ru.php           <-- Перевод системных ошибок и ядра на русский 
 +    │       └── en.php           <-- Перевод системных ошибок на английский 
 +    │ 
 +    ├── logs/                    <-- НОВАЯ ИЗОЛИРОВАННАЯ ПАПКА ДЛЯ ЛОГОВ СИСТЕМЫ 
 +    │   ├── php_errors.log       <-- КЛАССИЧЕСКИЕ БАГИ (Сюда пишутся опечатки в коде, забытые ';' и т.д.) 
 +    │   ├── sql_errors.log       <-- СБОИ БАЗЫ ДАННЫХ (Ошибки запросов к SQLite, блокировки таблиц WAL) 
 +    │   └── security_attacks.log <-- ЛОГ АТАК (Сюда security.php пишет IP-адреса тех, кто подбирает пароли) 
 +    │  
 +    ├── templates/               <-- ГЛОБАЛЬНЫЙ ДИЗАЙН (Каркас по умолчанию) 
 +    │   ├── errors/              <-- ПАПКА КРАСИВЫХ СУВЕРЕННЫХ ЗАГЛУШЕК ДЛЯ ПОЛЬЗОВАТЕЛЯ 
 +    │   │   ├── 403.html         <-- Доступ запрещен (Например, юзер без прав лезет в Dashboard) 
 +    │   │   ├── 404.html         <-- Модуль или страница не найдены 
 +    │   │   └── 500.html         <-- Критическая ошибка (Когда упал PHP или база данных)  
 +    │   │ 
 +    │   ├── main.html            <-- Шаблон Dashboard (содержит теги {content}, {menu}) 
 +    │   ├── auth.html            <-- Шаблон страницы входа (содержит тег {auth}) 
 +    │   └── assets/              <-- Глобальные стили ядра (main.css, nav.css, main.js) 
 +    │ 
 +    ├── test/                    <-- ОБУЧАЮЩАЯ ИНТЕРАКТИВНАЯ ПЕСОЧНИЦА (Лаборатория читателя) 
 +    │   ├── test_paths.php       <-- Урок 1: Эксперименты с константами путей 
 +    │   ├── test_controller_1.php <-- Урок 2: Разбор URL и логика роутинга 
 +    │   ├── test_controller_2.php <-- Урок 3: Прямое сырое подключение к SQLite 
 +    │   ├── test_controller_4.php <-- Урок 4: Тестовый вызов портативного Си-бинарника FFmpeg 
 +    │   └── test_errors_dump.php <-- Урок 5: Изучение перехвата ошибок и логов 
 +    │ 
 +    └── modules/                 <-- ФАБРИКА АВТОНОМНЫХ МОДУЛЕЙ (Капсулы Варианта А) 
 +        │ 
 +        ├── test/                <-- Визуальный модуль отладки для Dashboard (Рентген тегов и логов) 
 +        │ 
 +        ├── core_install/        <-- Временный модуль установки (Блокируется после генерации config.ini) 
 +        ├── core_auth/           <-- Система контроля доступа (login, register, 2fa, reset) 
 +        ├── core_dashboard/      <-- Панель управления Суперадмина + Подмодуль суверенного обновления updater/ 
 +        │ 
 + ├── core_edit/           <-- НОВЫЙ ОБЯЗАТЕЛЬНЫЙ МОДУЛЬ: СУВЕРЕННЫЙ ТЕКСТОВЫЙ РЕДАКТОР 
 + │   ├── init.php         <-- Проверяет авторизацию пользователя перед открытием редактора 
 + │   ├── controller.php   <-- PHP-мозг (принимает измененный текст и перезаписывает файлы) 
 + │   ├── view.html        <-- HTML-каркас панели редактора (кнопки "Жирный", "Курсив", "Сохранить"
 + │   │ 
 + │   └── assets/          <-- Главное оружие визуального редактора 
 + │       ├── css/ 
 + │       │   └── edit.css <-- Стили кнопок форматирования и окна редактора 
 + │       └── js/ 
 + │           └── edit.js  <-- Ультралегкий JS-движок визуального редактирования текста  
 + │  
 + ├── file_manager/                <-- НАШ ФАЙЛОВЫЙ МЕНЕДЖЕР (КАК НА СКРИНШОТЕ) 
 + │   ├── admin_panel.php          <-- НОВЫЙ ФАЙЛ: ЛОКАЛЬНЫЙ ДАШБОРД МОДУЛЯ (Только для Root) 
 + │   │                                - Выводит форму настроек (цвет вкладок, фон, чекбоксы разрешенных файлов) 
 + │   │                                - Сохраняет персональные лимиты модуля в config.ini 
 + │   │                                - Показывает Суперадмину файл file_actions.log 
 + │   ├── init.php                 <-- Точка входа, проверка сессии ядра 
 + │   ├── controller.php           <-- Основной мозг обработки команд 
 + │   ├── view.html                <-- Наша верстка таблицы и вкладок (как на фото) 
 + │   │ 
 + │   ├── assets/                  <-- Визуальные ресурсы 
 + │   │   ├── css/ 
 + │   │   │   └── manager.css      <-- Стили вкладок, таблицы и зоны Drag-and-Drop 
 + │   │   └── js/ 
 + │   │       └── manager.js       <-- Локальный JS (переключение вкладок, fetch-запросы) 
 + │   │ 
 + │   ├── file_manager.db          <-- База данных индексов папок проекта 
 + │   │ 
 + │   ├── config.ini               <-- ЛОКАЛЬНЫЕ НАСТРОЙКИ ТОЛЬКО ЭТОГО МОДУЛЯ! 
 + │   │                                -allowed_extensions = "jpg,png,pdf,zip" 
 + │   │                                -theme_tab_color = "#3498db" 
 + │   │                                -theme_bg_color = "#ffffff"  
 + │   │ 
 + │   │ 
 +        │   ├── logs/                    <-- ПАПКА ЛОКАЛЬНЫХ ЖУРНАЛОВ МОДУЛЯ 
 + │   │ ├── file_actions.log     <-- ЖУРНАЛ ДЕЙСТВИЙ (Сюда пишется: кто, когда, что загрузил/удалил) 
 + │   │ ├── readme.txt           <-- Источник для вкладки "README" (описание текущей папки проекта) 
 + │   │ ├── license.txt          <-- Источник для вкладки "Лицензия" (юридические условия проекта) 
 + │   │ └── comments.txt         <-- Источник для вкладки "Комментарий" (заметки пользователя)  
 + │   │ 
 + │   │  
 +        │   ├── lang/                    <-- ДЕЦЕНТРАЛИЗОВАННЫЙ ПЕРЕВОД МОДУЛЯ 
 +        │   │   ├── ru.php               <-- Перевод кнопок "Загрузить", "Удалить" на русский 
 +        │   │   └── fr.php               <-- Возможность дополнить модуль французским переводом 
 + │   ├── core_api.php             <-- НОВЫЙ ФАЙЛ: ВНУТРЕННИЙ ШЛЮЗ ДЛЯ ДРУГИХ МОДУЛЕЙ 
 + │   │                                - Позволяет модулю библиотеки запрашивать файлы 
 + │   │                                - Проверяет права доступа стороннего модуля к хранилищу 
 + │   │ 
 + │   └── storage/                 <-- Изолированное хранилище файлов пространств 
 + │       ├── igor/                <-- Пространство Игоря со скриншота 
 + │       │   ├── test/            <-- Папка проекта "test" 
 + │       │   ├── мурманск/        <-- Папка проекта "мурманск" 
 + │       │   └── ... 
 + │       └── root_admin/ 
 +        │ 
 +        └── library/             <-- МОДУЛЬ: ДОМАШНЯЯ КНИЖНАЯ БИБЛИОТЕКА 
 +            ├── init.php 
 +            ├── controller.php 
 +            ├── view.html 
 +            ├── assets/          <-- Локальные стили каталога и темы оформления (изменение цвета модуля) 
 +            ├── library.db 
 +            ├── lang/            <-- Локальные переводы библиотеки (ru.php, en.php, fr.php) 
 +            └── storage/         <-- Хранилище книг (.pdf) и ISO-образов софта (alisa/, root_admin/
 + 
 +    
 +</code> 
 + 
 +https://wwoss.ru/doku.php?id=manual:file_manager:test \\   
 +https://wwoss.ru/doku.php?id=manual:file_manager_db:test \\   
 + 
 +<diagram> 
 +|AAA||||||AAA{text-align:left;border-color:white}={{fa>folder?}} ucms_stick 
 +|)|AAA||||||AAA{text-align:left;border-color:white}={{fa>file?}} run.cmd 
 +|)|AAA||||||AAA{text-align:left;border-color:white}={{fa>folder?}} server 
 +|`|AAA||||||AAA{text-align:left;border-color:white}={{fa>folder?}} ucms 
 +||)|EEE|||||EEE{text-align:left;border-color:white}={{fa>folder?}} users 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} .htaccess 
 +||!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} admin 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} account_admin 
 +||!|!|!|`|BBB||BBB{text-align:left;border-color:white}={{fa>file}} admin_setting.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} admin_nav.php 
 +||!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} admin.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} account_user 
 +||!|!|!|)|BBB||BBB{text-align:left;border-color:white}={{fa>file}} user_login.php 
 +||!|!|!|)|BBB||BBB{text-align:left;border-color:white}={{fa>file}} user_logout.php 
 +||!|!|!|`|BBB||BBB{text-align:left;border-color:white}={{fa>file}} user_signup.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} messages 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} user_edit.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} user_nav.php 
 +||!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} user.php 
 +||!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} ghost.php 
 +||!|`|CCC|||||CCC{text-align:left;border-color:white}={{fa>file?}} users.php 
 +||)|BBB|||||BBB{text-align:left;border-color:white}={{fa>folder?}} content 
 +||!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} data 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} books 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} images 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} media 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} music 
 +||!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>folder?}} media 
 +||!|`|BBB|||BBB{text-align:left;border-color:white}={{fa>file?}} cont.php 
 +||)|DDD|||DDD{text-align:left;border-color:white}={{fa>folder?}} includes 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} .htaccess 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} config.ini 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} cons.php 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} db.php 
 +||!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} demo 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} mail.php 
 +||!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} lang 
 +||!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} en 
 +||!|!|!|`|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} lang_en.php 
 +||!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} ru 
 +||!|!||`|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} lang_ru.php 
 +||!|)|DDD||DDD{text-align:left;border-color:white}={{fa>file?}} function.php 
 +||!|`|DDD|||DDD{text-align:left;border-color:white}={{fa>file?}} search.php 
 +||)|CCC|||CCC{text-align:left;border-color:white}={{fa>folder?}} library 
 +||!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} install 
 +||!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} css 
 +||!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} install.css 
 +||!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} js 
 +||!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} install.js 
 +||!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} tpl 
 +||!|!|!|)|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} tpl_install_header.php 
 +||!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} tpl_install_footer.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} account_settings.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} database_options.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} install.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} installation_progress.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} lang_and_time_zone.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} module_help.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} options.php 
 +||!|!|)|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} server_check.php 
 +||!|!|`|BBB||||BBB{text-align:left;border-color:white}={{fa>file?}} setting.php 
 +||!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} template 
 +||!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} blog 
 +||!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} vcms 
 +||!|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} standart 
 +||!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} css 
 +||!|!|!|!|!|)|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} main.css 
 +||!|!|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} nav.css 
 +||!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} js 
 +||!|!|!|!|!|)|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} main.js 
 +|!|!|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} nav.js 
 +||!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} img 
 +||!|!|!|!|)|CCC|CCC{text-align:left;border-color:white}={{fa>folder?}} fonts 
 +||!|!|!|!|!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} style.ini 
 +||!|!|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>file}} tpl_main.php 
 +||!|!|!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>file}} tpl_footer.php 
 +||!|!|!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>file}} tpl_header.php 
 +||!|!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} user_template 
 +||!|!|)|CCC||CCC{text-align:left;border-color:white}={{fa>folder?}} updata 
 +||!|!|`|CCC||CCC{text-align:left;border-color:white}={{fa>file?}} main.php 
 +||!|)|222||222{text-align:left;border-color:white}={{fa>file?}} 404.php 
 +||!|`|CCC|||CCC{text-align:left;border-color:white}={{fa>file?}} lib.php 
 +||)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} .htaccess 
 +||)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} .htpasswd 
 +||)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} index.php 
 +||)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} [[software:development:demo:cms:ucms:help|help.txt]] 
 +||)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} readme.html 
 +||)|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} license.txt 
 +||`|MMM|||MMM{text-align:left;border-color:white}={{fa>file?}} version.txt 
 +</diagram> 
 + 
 +==== Основные этапы и Формы ==== 
 +  * Файл **index.php** 
 +  * Создание директорий модуля и приложения 
 +  * Временный шаблон **sample.php** 
 +    * Создание блочной адаптивной формы **HTML** 
 +    * Подключение стилей **CSS**  
 +    * Переводы приложения **lang.php** 
 +    * Сессии **PHP** 
 +  * Главный шаблон формы **auth.php** 
 +    * Верхний подключаемый компонент шаблона **header.php** 
 +    * Нижний подключаемый компонент шаблона **footer.php** 
 +    * Форма регистрации **register.php** 
 +    * Форма авторизации **login.php** 
 +    * Форма верификации (подтверждения почты) **confirm.php** 
 +    * Форма сброса пороля **reset.php** 
 +    * Форма двухфакторная аутентификация **2fa.php** 
 +    * Форма регистрации двухфакторной аутентификации **otp.php** 
 +    * Форма редактирования профиля пользователя **edit.php** 
 +    * Форма удаления регистрации **delete.php** 
 +  * Проверка вводимых данных, вывод ошибок на стороне клиента 
 +  * Проверка вводимых данных, вывод ошибок на стороне сервера 
 +  * Логика работы модуля 
 +    * Работа с БД  
 +    * Работа с почтой 
 +    * Работа с OTP QR-code 
 +    * Загрузка фото на сервер 
 +      * Обработка фото и безопасность перед загрузкой на сервер 
 +  *  
manual/application_core/test.1783861451.txt.gz · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki