diff --git a/readme.md b/readme.md index d9416e2..bfea702 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,25 @@ # Admin Panel +## Table of Content + +- [Admin Panel](#admin-panel) + - [Table of Content](#table-of-content) + - [Description](#description) + - [Changelog](#changelog) + - [Themes](#themes) + - [Templates](#templates) + - [styles & scripts](#styles--scripts) + - [Options](#options) + - [Modules](#modules) + - [Files/Folders architecture](#filesfolders-architecture) + - [Configs files](#configs-files) + - [page.json (in `pages` folder)](#pagejson-in-pages-folder) + - [scripts.json & styles.json](#scriptsjson--stylesjson) + - [admin.json](#adminjson) + - [vars.json](#varsjson) + - [moduleName.json & themeName.json](#modulenamejson--themenamejson) + - [templates.json](#templatesjson) + ## Description WIP @@ -19,6 +39,7 @@ first a template named "page" is a must, your template can be static or not (sta ```php website->addTemplate("Template Name", "templateURI/from/root/page.php", "functionName", true); ``` + - `"Template Name"` is the shown name - `"templateURI"` is the file URI - `"functionName"` is the function used @@ -56,15 +77,16 @@ updating an option will update the static files ```php $optionMenu = website->addOptionsMenu("Menu Name"); ``` + here we create a new option menu that will be located in the admin sidebar `theme -> Options` within the tabs - `"Menu Name"` is the shown name ```php $optionMenu->addTextOption("Option Name", "variableName", "defaultValue", { - "min": 1, - "max": 16, - "placeholder": "placeholder" + "min": 1, + "max": 16, + "placeholder": "placeholder" }); ``` @@ -83,155 +105,166 @@ To keep the document strict it's advised to use the php `DOMDocument` Object - router.php (handle the first route part ( separating the loading process)) - uploads/ - cache/ (public cache (won't be seen by client via .htaccess redirection)) - - .htaccess (make sure clients can't access this folder) - - scripts.js - - styles.css + - .htaccess (make sure clients can't access this folder) + - scripts.js + - styles.css - pages/ (NO `scripts.js` NOR `styles.css` NOR `admin` NOR `login` files must be in here) - - .htaccess (make sure clients can't access this folder) - - index.json (this index.json will be the root name "/") - - slugname.json (path = "/slugname") - - iamjson.json.json (path = "/iamjson.json" wand with a module/theme could just return json) - - folderslug/ - - index.json (path = "/folderslug" if no index.json is given there will be a 404 error for "/folderslug" but not for the "/folderslug/pouet") - - pouet.json (path = "/folderslug/pouet") + - .htaccess (make sure clients can't access this folder) + - index.json (this index.json will be the root name "/") + - slugname.json (path = "/slugname") + - iamjson.json.json (path = "/iamjson.json" wand with a module/theme could just return json) + - folderslug/ + - index.json (path = "/folderslug" if no index.json is given there will be a 404 error for "/folderslug" but not for the "/folderslug/pouet") + - pouet.json (path = "/folderslug/pouet") - admin/ - - .htaccess manage redirection for admin pages (pass throught a verify login script) - - index.php - - admin.js - - admin.css - - settings/ (settings files more infos [here](#config-files)) - - scripts.json (if cache is disabled these files will be used to get the styles & scripts) - - styles.json (else these files are only used to create the caches files) - - admin.json (admin settings (see admin.json section)) - - templates.json (simple name to redirect) - - modules/ - - moduleName/ - - settings.json - - vars.json - - themes/ - - themeName/ - - settings.json - - vars.json - - admin.list (used to see what to launch on the admin side) - - options.list (options for modules & themes to be used site-wide) - - templates.list (store the template used on the website with a link to there .php file) - - themes/ (when a new theme is loaded regenerate scripts.js & styles.css, an option will allow the use of direct files) - - default/ (a default theme will be here) - - theme.php - - themeName/ - - theme.php (only launched on theme load, to generate cache files & admin options files) - - public.php (launched everytime on website when page is launched (admins sections are excluded) - - admin.php (launched everytime on admin/themename/** launch (with args like page)) - - templates/ (all folders included under are optional anc can be located somewhere else in the theme folder) - - page.php (at least a template named "page" must exist to make the theme usable) - - templateName.php (file launched everytime a page is loaded with the template selected) - - css/ - - js/ - - modules/ - - default/ (a default module will be here) - - module.php - - moduleName/ - - module.php - - public.php (same as theme) + - .htaccess manage redirection for admin pages (pass throught a verify login script) + - index.php + - admin.js + - admin.css + - settings/ (settings files more infos [here](#config-files)) + - scripts.json (if cache is disabled these files will be used to get the styles & scripts) + - styles.json (else these files are only used to create the caches files) + - admin.json (admin settings (see admin.json section)) + - templates.json (simple name to redirect) + - modules/ + - moduleName/ + - settings.json + - vars.json + - themes/ + - themeName/ + - settings.json + - vars.json + - admin.json (used to see what to launch on the admin side) + - options.json (options for modules & themes to be used site-wide) + - templates.json (store the template used on the website with a link to there .php file) + - themes/ (when a new theme is loaded regenerate scripts.js & styles.css, an option will allow the use of direct files) + - default/ (a default theme will be here) + - theme.php + - themeName/ + - theme.php (only launched on theme load, to generate cache files & admin options files) + - public.php (launched everytime on website when page is launched (admins sections are excluded) + - admin.php (launched everytime on admin/themename/** launch (with args like page)) + - templates/ (all folders included under are optional anc can be located somewhere else in the theme folder) + - page.php (at least a template named "page" must exist to make the theme usable) + - templateName.php (file launched everytime a page is loaded with the template selected) + - css/ + - js/ + - modules/ + - default/ (a default module will be here) + - module.php + - moduleName/ + - module.php + - public.php (same as theme) ## Configs files ### page.json (in `pages` folder) + ```json { - "title": "pageTitle", - "template": "templateName", - "access": "typeOfAccess (public: everyone has access to the page, limited:only logged in users has access to the page, private: only the author & admins has access to the page)", - "author": "Aviortheking", - "content": "