Filelist
Table of contents | Inhaltsverzeichnis
- 1. Repository picture
- 2. Runtime under CMS/
- 3. Inventory vs this map
- 4. config
- 5. core
- 6. admin
- 7. assets
- 8. member
- 9. plugins
- 10. themes
- 11. Other CMS areas
- 12. DOC
- 13. Sibling repositories
- 14. Task orientation
- 15. Summary
1. Repository picture | Gesamtbild des Repositories
English
This file is the readable structure map. It answers: where does something live, what does the running CMS load, and which paths matter when you change code.
Product version in code: 3.4.00. PHP: 8.4.0+. Schema: v22.
Deutsch
Diese Datei ist die lesbare Strukturkarte. Sie beantwortet: wo liegt etwas, was lädt das laufende CMS, und welche Pfade zählen bei Änderungen.
Produktversion im Code: 3.4.00. PHP: 8.4.0+. Schema: v22.
1.1 Workspace context | Workspace-Kontext
English
Relevant repositories in the workspace:
365CMS.DE-MAIN— this repository, productive runtime base365CMS.DE-THEME— separate theme source repository365CMS.DE-PLUGINS— separate plugin source repository
The CMS loads themes and plugins only from CMS/themes/ and CMS/plugins/.
Deutsch
Relevante Repositories im Workspace:
365CMS.DE-MAIN— dieses Repository, produktive Laufzeitbasis365CMS.DE-THEME— separates Theme-Quellrepository365CMS.DE-PLUGINS— separates Plugin-Quellrepository
Das CMS lädt Themes und Plugins nur aus CMS/themes/ und CMS/plugins/.
1.2 Root of this repository | Wurzel dieses Repositories
| Path | Purpose / Zweck |
|---|---|
CMS/ |
productive application runtime |
DOC/ |
documentation |
ASSETS/ |
vendor/source assets outside runtime |
RELEASE/ |
release zips and checksums |
SCREENSHOTS/ |
screenshots |
TESTS/ |
tests |
tools/ |
helper tools |
README.md |
public README |
Changelog.md |
changelog |
Rule: always know whether you are editing runtime, documentation, or source context.
Regel: immer klären, ob gerade Runtime, Doku oder Quellkontext bearbeitet wird.
2. Runtime under CMS/ | Produktive Kernstruktur unter CMS/
English
CMS/ is the application the web server should serve.
Deutsch
CMS/ ist die Anwendung, die der Webserver ausliefern soll.
| Path | Purpose / Zweck |
|---|---|
.htaccess |
rewrite and protection rules |
index.php |
public entry |
config.php |
config stub, PHP 8.4.0+ gate |
config/ |
real configuration |
install.php / install/ |
installer |
cron.php |
cron entry |
update.php / update.json |
updates |
orders.php |
orders entry |
default.php |
default helper entry |
core/ |
bootstrap, security, routing, services |
admin/ |
backend |
member/ |
member area |
themes/ |
theme runtime |
plugins/ |
plugin runtime |
assets/ |
CSS, JS, bundled libraries |
includes/ |
helpers |
lang/ |
de.yaml, en.yaml |
marketplace/ |
marketplace manifests |
vendor/ |
extra vendor (dompdf) |
views/ |
extra views |
uploads/, cache/, logs/, backups/, db/ |
storage / ops |
Hotspots: core/Bootstrap.php, core/Security.php, core/ThemeManager.php, core/PluginManager.php, admin/, assets/js/, member/includes/class-member-controller.php.
3. Inventory vs this map | Inventar und Strukturkarte
English
Do not use the old 467-file / 28.03.2026 numbers. Current counts and file lists are in CMSFILESTRUCTUR.md. DOC/_cms_inventory_current.txt does not exist.
| Document | Role |
|---|---|
| CMSFILESTRUCTUR.md | inventory |
| FILELIST.md | this readable map |
| DEVLIST.md | architecture and contracts |
| FILESTRUCTUR.md | repository layout |
Deutsch
Die alten Zahlen (467 Dateien, 28.03.2026) nicht mehr verwenden. Aktuelle Zählungen und Dateilisten stehen in CMSFILESTRUCTUR.md. DOC/_cms_inventory_current.txt existiert nicht.
4. CMS/config/ | Konfiguration
English / Deutsch
| File | Purpose / Zweck |
|---|---|
config/.htaccess |
deny direct access |
config/app.php |
DB, keys, paths, SMTP, LDAP, JWT, HSTS, theme |
config/media-meta.json |
media metadata |
config/media-settings.json |
media settings |
config/app.php defines ABSPATH, CMS_DEBUG, DB_*, AUTH_KEY, SECURE_AUTH_KEY, NONCE_KEY, SITE_NAME, SITE_URL (no trailing slash, no subdirectory), ADMIN_EMAIL, CMS_VERSION from Version::CURRENT, path constants, DEFAULT_THEME = cms-default, login limits, optional LDAP/JWT/SMTP.
Changes here affect bootstrap, HTTPS, sessions, mail, LDAP, JWT, and logging at once.
5. CMS/core/ | Technischer Kern
English
If you need to know how 365CMS works, start in core/. Suggested order: Bootstrap.php → router/manager → service → Auth/Security/Hooks → then views.
Bootstrap modes (Bootstrap::detectMode()):
| Mode | Trigger |
|---|---|
cli |
PHP_SAPI === 'cli' |
api |
path starts with /api/ |
admin |
path is /admin or starts with /admin/ |
web |
everything else |
Deutsch
Wer verstehen will, wie 365CMS arbeitet, beginnt in core/. Lesereihenfolge: Bootstrap.php → Router/Manager → Service → Auth/Security/Hooks → danach Views.
Bootstrap-Modi (Bootstrap::detectMode()):
| Modus | Auslöser |
|---|---|
cli |
PHP_SAPI === 'cli' |
api |
Pfad beginnt mit /api/ |
admin |
Pfad ist /admin oder beginnt mit /admin/ |
web |
alles andere |
Root classes, Auth, Routing, and the service list are inventoried in CMSFILESTRUCTUR.md. Service families:
| Family | Examples |
|---|---|
MailService, MailQueueService, MailLogService, AzureMailTokenProvider, GraphApiService |
|
| SEO | SEOService, SeoAnalysisService, RedirectService, SitemapService |
| Media | MediaService, MediaDeliveryService, FileUploadService, ImageService |
| Editor | EditorJsService, EditorJsRenderer, EditorService |
| Landing | LandingPageService + Services/Landing/ |
| AI | Services/AI/ (admin-only in 3.4.00) |
| Member | MemberService, MessageService |
| Ops | BackupService, UpdateService, StatusService, SystemService |
6. CMS/admin/ | Backend-Struktur
English
298 files. Layout:
CMS/admin/*.php— HTTP entry pointsCMS/admin/modules/<domain>/— domain modules (comments,dashboard,hub,landing,legal,media,member,menus,pages,plugins,posts,security,seo,settings,subscriptions,system,tables,themes,toc,users)CMS/admin/views/— templatesCMS/admin/partials/— shared chrome (including sidebar)CMS/admin/logs/— log UI helpers
Notable routes present as files: /admin/cms-loginpage (cms-loginpage.php), /admin/cms-logs (cms-logs.php), AI admin scripts (ai-services.php, ai-content-creator.php, ai-seo-creator.php, ai-translation.php, …).
Deutsch
298 Dateien. Aufbau:
CMS/admin/*.php— HTTP-EinstiegeCMS/admin/modules/<domain>/— FachmoduleCMS/admin/views/— TemplatesCMS/admin/partials/— gemeinsame Oberfläche (inkl. Sidebar)CMS/admin/logs/— Log-UI
Besondere Dateien: cms-loginpage.php, cms-logs.php, AI-Admin-Skripte (ai-services.php, ai-content-creator.php, ai-seo-creator.php, ai-translation.php, …).
7. CMS/assets/ | Produktive Frontend-/Admin-Assets
English
Runtime assets are under CMS/assets/, not the repository ASSETS/ folder.
assets/css/— 13 stylesheets (admin, hub, consent, EditorJS content, member, public)assets/js/— 41 scripts (admin modules, EditorJS boot, cookie consent init, member dashboard, PhotoSwipe, web vitals)- bundled libraries — see CMSFILESTRUCTUR.md
cookieconsent, elfinder, filepond, and msgraph directories are not present under CMS/assets/ in this tree. cookieconsent-init.js still exists.
Deutsch
Runtime-Assets liegen unter CMS/assets/, nicht im Repository-Ordner ASSETS/.
assets/css/— 13 Stylesheetsassets/js/— 41 Skripte- gebündelte Bibliotheken — siehe CMSFILESTRUCTUR.md
Die Ordner cookieconsent, elfinder, filepond und msgraph liegen in diesem Baum nicht unter CMS/assets/. cookieconsent-init.js existiert weiterhin.
8. CMS/member/ | Benutzerbereich
English
17 files. Pages: dashboard, favorites, media, messages, notifications, plugin-section, privacy, profile, security, subscription. Controller: member/includes/class-member-controller.php. Router: core/Routing/MemberRouter.php. Service: core/Services/MemberService.php.
Deutsch
17 Dateien. Seiten: Dashboard, Favoriten, Medien, Nachrichten, Benachrichtigungen, Plugin-Bereich, Datenschutz, Profil, Sicherheit, Abo. Controller: member/includes/class-member-controller.php. Router: core/Routing/MemberRouter.php. Service: core/Services/MemberService.php.
9. CMS/plugins/ | Produktiv geladene Plugins
English
Loaded by PluginManager from CMS/plugins/<slug>/. Currently installed: cms-importer only. Sibling repo 365CMS.DE-PLUGINS is not an automatic load path.
Deutsch
Geladen durch PluginManager aus CMS/plugins/<slug>/. Derzeit installiert: nur cms-importer. Das Nachbar-Repo 365CMS.DE-PLUGINS ist kein automatischer Ladepfad.
10. CMS/themes/ | Produktiv geladene Themes
English
ThemeManager reads the active theme from settings and uses themes/<slug>/. Currently installed: cms-default. Fallback constant: DEFAULT_THEME = cms-default. Typical files: style.css, functions.php, index.php, header.php, footer.php, page.php, home.php, 404.php, search.php, theme.json, update.json. Sibling repo 365CMS.DE-THEME is not an automatic load path.
Deutsch
ThemeManager liest das aktive Theme aus den Settings und nutzt themes/<slug>/. Derzeit installiert: cms-default. Fallback: DEFAULT_THEME = cms-default. Das Nachbar-Repo 365CMS.DE-THEME ist kein automatischer Ladepfad.
11. Other CMS areas | Weitere Runtime-Bereiche
English / Deutsch
| Path | Notes |
|---|---|
CMS/includes/ |
10 helper files, including wordpress-compat.php |
CMS/lang/ |
de.yaml, en.yaml |
CMS/logs/ |
LOG_PATH — not var/logs/ (that directory does not exist here) |
CMS/uploads/ |
public uploads; .gitkeep in git |
CMS/cache/ |
cache, including optimizer output |
CMS/db/ |
DB artefacts |
CMS/install/ |
9 installer files |
CMS/vendor/ |
dompdf only in this tree — no TCPDF |
CMS/views/ |
extra views including auth |
CMS/marketplace/ |
core/plugin/theme index JSON |
CMS/backups/ |
local backups, protected |
12. DOC/ | Dokumentationsbaum
English
Canonical DOC/ files: README.md, INDEX.md, INSTALLATION.md, DEVLIST.md, FILELIST.md, FILESTRUCTUR.md, CMSFILESTRUCTUR.md.
Subfolders: admin/, ai/, assets/, core/, member/, plugins/, theme/, workflow/.
Asset Markdown is under DOC/assets/. There is no audit folder in this repository; see core/STATUS.md.
Deutsch
Kanonische DOC/-Dateien: README.md, INDEX.md, INSTALLATION.md, DEVLIST.md, FILELIST.md, FILESTRUCTUR.md, CMSFILESTRUCTUR.md.
Unterordner: admin/, ai/, assets/, core/, member/, plugins/, theme/, workflow/.
Asset-Markdown liegt unter DOC/assets/. Ein Audit-Ordner existiert im Repository nicht; siehe core/STATUS.md.
13. Sibling repositories | Benachbarte Repositories
English
365CMS.DE-THEME and 365CMS.DE-PLUGINS hold sources. Runtime effect requires files under CMS/themes/ or CMS/plugins/.
Deutsch
365CMS.DE-THEME und 365CMS.DE-PLUGINS enthalten Quellen. Runtime-Wirkung entsteht erst unter CMS/themes/ bzw. CMS/plugins/.
14. Task orientation | Schnelle Orientierung nach Aufgabenart
| If you … / Wenn du … | start at / beginne bei |
|---|---|
| Bootstrap | CMS/core/Bootstrap.php, CMS/config/app.php |
| Auth / MFA / Passkeys | CMS/core/Auth.php, CMS/core/Auth/, CMS/views/auth/ |
| Themes | CMS/core/ThemeManager.php, CMS/themes/ |
| Plugins | CMS/core/PluginManager.php, CMS/plugins/ |
| Redirects / 404 | CMS/admin/modules/seo/, CMS/assets/js/admin-seo-redirects.js |
| EditorJS | CMS/assets/js/admin-content-editor.js, CMS/core/Services/EditorJs/, CMS/assets/editorjs/ |
| Member | CMS/member/, CMS/core/Routing/MemberRouter.php |
| Admin UI | CMS/admin/modules/, CMS/admin/views/, CMS/assets/js/admin*.js |
| Assets | CMS/assets/ |
| Security constants | CMS/config/app.php, CMS/core/Security.php |
| AI (admin only) | CMS/admin/ai-*.php, CMS/core/Services/AI/ |
| Docs | DOC/INDEX.md, DOC/DEVLIST.md, DOC/FILELIST.md |
15. Summary | Kurzfazit
English
Read 365CMS along the runtime:
config/ sets rules → core/ is the foundation → admin/ is the backend → member/ is the member area → assets/ is UI and libraries → plugins/ and themes/ are the real extension runtime → DOC/ explains it.
The path that is actually loaded under CMS/ wins. Sibling source repos and the top-level ASSETS/ folder are not automatic runtime.
Deutsch
365CMS entlang der Runtime lesen:
config/ setzt Regeln → core/ ist das Fundament → admin/ das Backend → member/ der Benutzerbereich → assets/ UI und Bibliotheken → plugins/ und themes/ die echte Erweiterungs-Runtime → DOC/ erklärt das Ganze.
Entscheidend ist der tatsächlich geladene Runtime-Pfad unter CMS/. Nachbar-Quellrepos und der Top-Level-Ordner ASSETS/ sind keine automatische Runtime.