Compare commits
1
Commits
main
..
ae6b945c7d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae6b945c7d |
@@ -1,6 +0,0 @@
|
|||||||
RewriteEngine On
|
|
||||||
|
|
||||||
RewriteCond %{REQUEST_FILENAME} !-f
|
|
||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
|
||||||
|
|
||||||
RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?page=$1 [QSA,L]
|
|
||||||
@@ -1,163 +1,3 @@
|
|||||||
# SLD PHP Template
|
# sld-php-template
|
||||||
|
|
||||||
A lightweight and modular PHP starter framework for building plain PHP websites without heavy dependencies.
|
Basic php framework for php plain websites.
|
||||||
|
|
||||||
This project is designed to provide a clean structure, reusable components, and a simple initialization system to speed up development while keeping full control over the codebase.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Features
|
|
||||||
|
|
||||||
- ⚡ Lightweight and fast (no external frameworks required)
|
|
||||||
- 📁 Clean and scalable folder structure
|
|
||||||
- 🔧 Centralized configuration system
|
|
||||||
- 🧩 Modular templates (header, footer, includes)
|
|
||||||
- 🎨 Basic frontend setup (CSS variables, animations, JS helpers)
|
|
||||||
- 🛠 Ready-to-use initialization system
|
|
||||||
- ❌ Built-in error pages (environment & database)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📂 Project Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
.
|
|
||||||
├── admin/
|
|
||||||
├── assets/
|
|
||||||
│ ├── css/
|
|
||||||
│ ├── img/
|
|
||||||
│ └── js/
|
|
||||||
├── config/
|
|
||||||
├── functions/
|
|
||||||
├── includes/
|
|
||||||
├── pages/
|
|
||||||
├── templates/
|
|
||||||
├── themes/
|
|
||||||
├── public/
|
|
||||||
├── index.php
|
|
||||||
└── README.md
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Configuration
|
|
||||||
|
|
||||||
All core configuration is located inside the `config/` directory:
|
|
||||||
|
|
||||||
- `init.php` → Application bootstrap
|
|
||||||
- `constants.php` → Global constants
|
|
||||||
- `settings.php` → App settings
|
|
||||||
- `db.php` → Database connection
|
|
||||||
- `functions_init.php` → Function loader
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧠 How It Works
|
|
||||||
|
|
||||||
1. The application starts from `index.php`
|
|
||||||
2. Core initialization is handled by the config system
|
|
||||||
3. Templates are loaded dynamically (`header.php`, `footer.php`)
|
|
||||||
4. Pages are rendered from the `pages/` directory
|
|
||||||
5. Custom logic can be added via the `functions/` folder
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎨 Frontend
|
|
||||||
|
|
||||||
The project includes a minimal frontend setup:
|
|
||||||
|
|
||||||
### CSS System
|
|
||||||
- Variables-based color system with multiple shades
|
|
||||||
- Basic layout styles
|
|
||||||
- Animation utilities
|
|
||||||
|
|
||||||
### JavaScript
|
|
||||||
- Simple helper functions like dynamic year rendering
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🛠 Usage
|
|
||||||
|
|
||||||
1. Clone the repository:
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/your-username/sld-php-template.git
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Move it into your web server directory
|
|
||||||
|
|
||||||
3. Configure:
|
|
||||||
- Database (`config/db.php`)
|
|
||||||
- Environment settings (`config/settings.php`)
|
|
||||||
|
|
||||||
4. Open in browser:
|
|
||||||
```
|
|
||||||
http://localhost/your-project
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📄 Pages
|
|
||||||
|
|
||||||
- `home.php` → Main homepage
|
|
||||||
- `db-error.php` → Database error page
|
|
||||||
- `env-error.php` → Environment error page
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧩 Templates
|
|
||||||
|
|
||||||
Reusable layout components:
|
|
||||||
|
|
||||||
- `templates/header.php`
|
|
||||||
- `templates/footer.php`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🧪 Status
|
|
||||||
|
|
||||||
🚧 This project is currently in development.
|
|
||||||
New features and improvements will be added progressively.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📌 Roadmap (Planned)
|
|
||||||
|
|
||||||
- [ ] Routing system
|
|
||||||
- [ ] Theme engine
|
|
||||||
- [ ] Admin panel structure
|
|
||||||
- [ ] CLI tools
|
|
||||||
- [ ] Environment (.env) support
|
|
||||||
- [ ] Basic authentication system
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🤝 Contributing
|
|
||||||
|
|
||||||
Contributions, ideas, and feedback are welcome.
|
|
||||||
Feel free to open issues or pull requests.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📜 License
|
|
||||||
|
|
||||||
This project is licensed under the MIT License.
|
|
||||||
See the `LICENSE` file for details.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 👤 Author
|
|
||||||
|
|
||||||
Created by Simone (SLD)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 💡 Philosophy
|
|
||||||
|
|
||||||
This project aims to stay:
|
|
||||||
|
|
||||||
- Simple
|
|
||||||
- Transparent
|
|
||||||
- Framework-free
|
|
||||||
- Easy to extend
|
|
||||||
|
|
||||||
No magic, just clean PHP.
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
@keyframes example {
|
|
||||||
0% {background-color: red;}
|
|
||||||
25% {background-color: yellow;}
|
|
||||||
50% {background-color: blue;}
|
|
||||||
100% {background-color: green;}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ### EXAMPLE SETTING CODE ###
|
|
||||||
animation-name: example;
|
|
||||||
animation-duration: 4s;
|
|
||||||
animation-iteration-count: 2;
|
|
||||||
animation-direction: alternate-reverse;
|
|
||||||
animation-delay: -2s;
|
|
||||||
animation-fill-mode: forwards;
|
|
||||||
animation-timing-function: ease-in-out;}
|
|
||||||
|
|
||||||
### SAME ABOVE ANIMATION IN ONE LINE CODE ###
|
|
||||||
animation: example 5s linear 2s infinite alternate;
|
|
||||||
*/
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
html { scroll-behavior: smooth; }
|
|
||||||
*{ box-sizing: border-box; margin:0; padding:0;}
|
|
||||||
|
|
||||||
|
|
||||||
.main-nav{
|
|
||||||
display:flex;
|
|
||||||
width:100%;
|
|
||||||
gap: 1rem;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: flex-start;
|
|
||||||
list-style-type: none;
|
|
||||||
padding:1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-nav a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
:root {
|
|
||||||
/*### PrimaryColor ###*/
|
|
||||||
--demo1:hsl(98, 100%, 50%);/*Use this only to check the color (--pri) if is fine*/
|
|
||||||
--pri:98; /*Change only this from the color that you need! Don't Touch the code below!*/
|
|
||||||
/*The color below is automaticaly created 20 levels of lightness*/
|
|
||||||
--priCol20:hsl(var(--pri), 100%, 100%);
|
|
||||||
--priCol19:hsl(var(--pri), 100%, 95%);
|
|
||||||
--priCol18:hsl(var(--pri), 100%, 90%);
|
|
||||||
--priCol17:hsl(var(--pri), 100%, 85%);
|
|
||||||
--priCol16:hsl(var(--pri), 100%, 80%);
|
|
||||||
--priCol15:hsl(var(--pri), 100%, 75%);
|
|
||||||
--priCol14:hsl(var(--pri), 100%, 70%);
|
|
||||||
--priCol13:hsl(var(--pri), 100%, 65%);
|
|
||||||
--priCol12:hsl(var(--pri), 100%, 60%);
|
|
||||||
--priCol11:hsl(var(--pri), 100%, 55%);
|
|
||||||
--priCol10:hsl(var(--pri), 100%, 50%);
|
|
||||||
--priCol9:hsl(var(--pri), 100%, 45%);
|
|
||||||
--priCol8:hsl(var(--pri), 100%, 40%);
|
|
||||||
--priCol7:hsl(var(--pri), 100%, 35%);
|
|
||||||
--priCol6:hsl(var(--pri), 100%, 30%);
|
|
||||||
--priCol5:hsl(var(--pri), 100%, 25%);
|
|
||||||
--priCol4:hsl(var(--pri), 100%, 20%);
|
|
||||||
--priCol3:hsl(var(--pri), 100%, 15%);
|
|
||||||
--priCol2:hsl(var(--pri), 100%, 10%);
|
|
||||||
--priCol1:hsl(var(--pri), 100%, 5%);
|
|
||||||
|
|
||||||
/*### SecondColor ###*/
|
|
||||||
--demo2:hsl(207, 100%, 50%);/*Use this only to check the color (--pri) if is fine*/
|
|
||||||
--sec:207; /*Change only this from the color that you need! Don't Touch the code below!*/
|
|
||||||
/*The color below is automaticaly created 20 levels of lightness*/
|
|
||||||
--secCol20:hsl(var(--sec), 100%, 100%);
|
|
||||||
--secCol19:hsl(var(--sec), 100%, 95%);
|
|
||||||
--secCol18:hsl(var(--sec), 100%, 90%);
|
|
||||||
--secCol17:hsl(var(--sec), 100%, 85%);
|
|
||||||
--secCol16:hsl(var(--sec), 100%, 80%);
|
|
||||||
--secCol15:hsl(var(--sec), 100%, 75%);
|
|
||||||
--secCol14:hsl(var(--sec), 100%, 70%);
|
|
||||||
--secCol13:hsl(var(--sec), 100%, 65%);
|
|
||||||
--secCol12:hsl(var(--sec), 100%, 60%);
|
|
||||||
--secCol11:hsl(var(--sec), 100%, 55%);
|
|
||||||
--secCol10:hsl(var(--sec), 100%, 50%);
|
|
||||||
--secCol9:hsl(var(--sec), 100%, 45%);
|
|
||||||
--secCol8:hsl(var(--sec), 100%, 40%);
|
|
||||||
--secCol7:hsl(var(--sec), 100%, 35%);
|
|
||||||
--secCol6:hsl(var(--sec), 100%, 30%);
|
|
||||||
--secCol5:hsl(var(--sec), 100%, 25%);
|
|
||||||
--secCol4:hsl(var(--sec), 100%, 20%);
|
|
||||||
--secCol3:hsl(var(--sec), 100%, 15%);
|
|
||||||
--secCol2:hsl(var(--sec), 100%, 10%);
|
|
||||||
--secCol1:hsl(var(--sec), 100%, 5%);
|
|
||||||
|
|
||||||
/*### ThirdColor ###*/
|
|
||||||
--demo3:hsl(280, 100%, 50%);/*Use this only to check the color (--pri) if is fine*/
|
|
||||||
--thi:280; /*Change only this from the color that you need! Don't Touch the code below!*/
|
|
||||||
/*The color below is automaticaly created 20 levels of lightness*/
|
|
||||||
--thiCol20:hsl(var(--thi), 100%, 100%);
|
|
||||||
--thiCol19:hsl(var(--thi), 100%, 95%);
|
|
||||||
--thiCol18:hsl(var(--thi), 100%, 90%);
|
|
||||||
--thiCol17:hsl(var(--thi), 100%, 85%);
|
|
||||||
--thiCol16:hsl(var(--thi), 100%, 80%);
|
|
||||||
--thiCol15:hsl(var(--thi), 100%, 75%);
|
|
||||||
--thiCol14:hsl(var(--thi), 100%, 70%);
|
|
||||||
--thiCol13:hsl(var(--thi), 100%, 65%);
|
|
||||||
--thiCol12:hsl(var(--thi), 100%, 60%);
|
|
||||||
--thiCol11:hsl(var(--thi), 100%, 55%);
|
|
||||||
--thiCol10:hsl(var(--thi), 100%, 50%);
|
|
||||||
--thiCol9:hsl(var(--thi), 100%, 45%);
|
|
||||||
--thiCol8:hsl(var(--thi), 100%, 40%);
|
|
||||||
--thiCol7:hsl(var(--thi), 100%, 35%);
|
|
||||||
--thiCol6:hsl(var(--thi), 100%, 30%);
|
|
||||||
--thiCol5:hsl(var(--thi), 100%, 25%);
|
|
||||||
--thiCol4:hsl(var(--thi), 100%, 20%);
|
|
||||||
--thiCol3:hsl(var(--thi), 100%, 15%);
|
|
||||||
--thiCol2:hsl(var(--thi), 100%, 10%);
|
|
||||||
--thiCol1:hsl(var(--thi), 100%, 5%);
|
|
||||||
|
|
||||||
/*######################################*/
|
|
||||||
|
|
||||||
/*##### Default Variable #####*/
|
|
||||||
--padsidepage:0 25px; /*Padding side for page*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ### Use Example ###
|
|
||||||
background-color:var(--main-bg-color)
|
|
||||||
*/
|
|
||||||
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
/* @ default js*/
|
|
||||||
function yearNow(textlocation) {
|
|
||||||
//This is a function to substitutes a value into the current year.
|
|
||||||
//Usually good for the footer.
|
|
||||||
var data = new Date();
|
|
||||||
var year;
|
|
||||||
year = data.getFullYear();
|
|
||||||
document.querySelector(textlocation).replaceWith(year);
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
<?php
|
|
||||||
/*
|
|
||||||
* In this array, please add the functions you may want to add on your project.
|
|
||||||
* Please note that you can use a variable or a costant by adding a space rather than
|
|
||||||
*/
|
|
||||||
|
|
||||||
$NewCostants = [
|
|
||||||
[ "BLOCKNOTES_FOLD", "ROOT_DIR", "blocknotes/" ]
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
// ##### PLEASE DO NOT TOUCH THE BELOW COSTANTS ##### //
|
|
||||||
// --- ROOT DIR --- //
|
|
||||||
define("ASSETS_FOLD", ROOT_DIR . "assets/");
|
|
||||||
define("ADMIN_FOLD", ROOT_DIR . "admin/");
|
|
||||||
define("BLOCKNOTES_FOLD", ROOT_DIR . "blocknotes/");
|
|
||||||
define("CONFIG_FOLD", ROOT_DIR . "config/");
|
|
||||||
define("PAGES_FOLD", ROOT_DIR . "pages/");
|
|
||||||
define("PUBLIC_FOLD", ROOT_DIR . "public/");
|
|
||||||
define("TEMPLATES_FOLD", ROOT_DIR . "templates/");
|
|
||||||
define("THEMES_FOLD", ROOT_DIR . "themes/");
|
|
||||||
define("FUNCTIONS_FOLD", ROOT_DIR . "functions/");
|
|
||||||
define("INCLUDES_FOLD", ROOT_DIR . "includes/");
|
|
||||||
|
|
||||||
// - ASSETS
|
|
||||||
define("CSS_FOLD", ASSETS_FOLD . "css/");
|
|
||||||
define("IMG_FOLD", ASSETS_FOLD . "img/");
|
|
||||||
define("JS_FOLD", ASSETS_FOLD . "js/");
|
|
||||||
define("FONTS_FOLD", CSS_FOLD . "fonts/");
|
|
||||||
|
|
||||||
// --------------- //
|
|
||||||
|
|
||||||
|
|
||||||
// --- ROOT URL --- //
|
|
||||||
// - CSS
|
|
||||||
define("CSS_STYLE", ROOT_URL . "/assets/css/style.css");
|
|
||||||
define("CSS_VAR", ROOT_URL . "/assets/css/variables.css");
|
|
||||||
define("CSS_ANIM", ROOT_URL . "/assets/css/animations.css");
|
|
||||||
define("CSS_FONTS", ROOT_URL . "/assets/css/fonts.css");
|
|
||||||
|
|
||||||
// - JS
|
|
||||||
define("JS_MAIN", ROOT_URL . "/assets/js/main.js");
|
|
||||||
// --------------- //
|
|
||||||
|
|
||||||
|
|
||||||
/// CUSTOM COSTANTS DECLARED ///
|
|
||||||
foreach ($NewCostants as $const_array) {
|
|
||||||
$const_name = strtoupper($const_array[0]);
|
|
||||||
|
|
||||||
if (isset($const_array[2]) && !empty($const_array[2])) {
|
|
||||||
$base = $const_array[1];
|
|
||||||
$const_before = defined($base) ? constant($base) : $base;
|
|
||||||
$const_value = $const_array[2];
|
|
||||||
$full_path = $const_before . $const_value;
|
|
||||||
|
|
||||||
if (!is_dir($full_path) && !is_file($full_path)) {
|
|
||||||
debugStatusMes("The folder/file declared into '$const_name' constant is missing or not accessible. Please check it.", "High");
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!defined($const_name)) {
|
|
||||||
define($const_name, $full_path);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$const_value = $const_array[1];
|
|
||||||
|
|
||||||
if (!is_dir($const_value) && !is_file($const_value)) {
|
|
||||||
debugStatusMes("The folder/file declared into '$const_name' constant is missing or not accessible. Please check it.", "High");
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!defined($const_name)) {
|
|
||||||
define($const_name, $const_value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
<?php
|
|
||||||
// Exceptions PHP-MSQLI
|
|
||||||
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Create Connection
|
|
||||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
|
|
||||||
|
|
||||||
// Connections Successfully
|
|
||||||
if(DB_DEBUG == "yes"){
|
|
||||||
echo "Connected successfully";
|
|
||||||
}
|
|
||||||
} catch (mysqli_sql_exception $e) {
|
|
||||||
// Access Deny
|
|
||||||
include(PAGES_FOLD . "db-error.php");
|
|
||||||
debugStatusMes("Database connection failed.", "High");
|
|
||||||
|
|
||||||
|
|
||||||
die();
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
@@ -1,134 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
function error_env($option) {
|
|
||||||
global $env;
|
|
||||||
|
|
||||||
if (empty($env)) {
|
|
||||||
$result = "<p class='err_env_result'><span>ERROR:</span> Variable '<u>\$env</u>' is empty!</p>";
|
|
||||||
$help = "<p class='err_env_help'>Please insert the correct value in the file 'config/init.php' or leave it to 'generic'</p>";
|
|
||||||
} else {
|
|
||||||
$result = "<p class='err_env_result'><span>ERROR:</span> The environment '<u>{$env}</u>' does not exist!</p>";
|
|
||||||
$help = "<p class='err_env_help'>Please insert the correct value in the file 'config/init.php' or leave it to 'generic'</p>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo $option === "result" ? $result : $help;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get current page safely.
|
|
||||||
*/
|
|
||||||
function get_current_page() {
|
|
||||||
$page = $_GET["page"] ?? "home";
|
|
||||||
|
|
||||||
$page = strtolower(trim($page));
|
|
||||||
$page = preg_replace("/[^a-z0-9\-]/", "", $page);
|
|
||||||
|
|
||||||
if ($page === "") {
|
|
||||||
$page = "home";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $page;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resolve page file.
|
|
||||||
*/
|
|
||||||
function resolve_page() {
|
|
||||||
$page = get_current_page();
|
|
||||||
$file = PAGES_FOLD . $page . ".php";
|
|
||||||
|
|
||||||
// 👉 rendi disponibile globalmente
|
|
||||||
$GLOBALS["current_page"] = $page;
|
|
||||||
|
|
||||||
if (file_exists($file)) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
|
|
||||||
http_response_code(404);
|
|
||||||
$GLOBALS["current_page"] = "404";
|
|
||||||
return PAGES_FOLD . "404.php";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DEBUG FUNCTIONS AND ARRAY
|
|
||||||
*/
|
|
||||||
|
|
||||||
$debug_messages = [
|
|
||||||
'High' => [],
|
|
||||||
'Medium' => [],
|
|
||||||
'Low' => [],
|
|
||||||
'Info' => []
|
|
||||||
];
|
|
||||||
|
|
||||||
// FUNCTION TO GET DEBUG STATUS MESSAGES
|
|
||||||
function debugStatusMes( string $Message, string $intensity) {
|
|
||||||
global $debug, $debug_messages;
|
|
||||||
|
|
||||||
// Controlla se il debug è attivo
|
|
||||||
if ($debug !== "on") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Normalizza l'intensità per evitare errori di battitura (es. "high" diventa "High")
|
|
||||||
$intensity = ucfirst(strtolower($intensity));
|
|
||||||
|
|
||||||
// Verifica che l'intensità sia valida prima di inserire il messaggio
|
|
||||||
if (array_key_exists($intensity, $debug_messages)) {
|
|
||||||
$debug_messages[$intensity][] = $Message;
|
|
||||||
} else {
|
|
||||||
// Se l'intensità non è corretta, la salva in una categoria generica o Low
|
|
||||||
$debug_messages['Low'][] = "[Intensità errata: $intensity] " . $Message;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// DISPLAY DEBUG ERROR BAR
|
|
||||||
function displayDebug() {
|
|
||||||
global $debug, $debug_messages;
|
|
||||||
|
|
||||||
if ($debug !== "on") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Contenitore temporaneo nascosto per non creare sfarfallii nella pagina
|
|
||||||
echo '<div id="debug-source-content" style="display: none;">';
|
|
||||||
echo '<div style="background: #222; color: #fff; padding: 15px; font-family: monospace; border-bottom: 3px solid #ff4444; border-top: 3px solid #ff4444; margin-bottom: 20px;">';
|
|
||||||
echo '<h3 style="margin-bottom:5px;">⚙️ Debug Status Messages</h3>';
|
|
||||||
|
|
||||||
foreach ($debug_messages as $level => $messages) {
|
|
||||||
if (!empty($messages)) {
|
|
||||||
$color = '#6cef93';
|
|
||||||
if ($level === 'High') $color = '#ff4444';
|
|
||||||
if ($level === 'Medium') $color = '#ffbb33';
|
|
||||||
if ($level === 'Info') $color = '#4444ff';
|
|
||||||
|
|
||||||
echo "<div style='margin-bottom: 10px;'>";
|
|
||||||
echo "<strong style='color: $color;'>[" . $level . "]</strong>";
|
|
||||||
echo "<ul style='margin: 5px 0; padding-left: 20px;'>";
|
|
||||||
foreach ($messages as $msg) {
|
|
||||||
echo "<li>" . htmlspecialchars($msg) . "</li>";
|
|
||||||
}
|
|
||||||
echo "</ul>";
|
|
||||||
echo "</div>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo '</div>';
|
|
||||||
echo '</div>';
|
|
||||||
|
|
||||||
// Questo script JS prende il contenuto appena generato e lo sposta nel segnaposto in cima
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
|
||||||
const source = document.getElementById('debug-source-content');
|
|
||||||
const target = document.getElementById('debug-target-container');
|
|
||||||
if (source && target) {
|
|
||||||
// Sposta l'HTML dentro il contenitore all'inizio del body
|
|
||||||
target.innerHTML = source.innerHTML;
|
|
||||||
// Rimuove il vecchio elemento nascosto per pulizia
|
|
||||||
source.remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<?php
|
|
||||||
include("config/functions_init.php");
|
|
||||||
$env="generic";
|
|
||||||
|
|
||||||
switch($env){
|
|
||||||
/*------ DON'T TOUCH THIS PART ------ */
|
|
||||||
case "generic":
|
|
||||||
define('WEB_ROOT', $_SERVER['DOCUMENT_ROOT']);
|
|
||||||
define('DOMAIN', $_SERVER['HTTP_HOST']);
|
|
||||||
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://';
|
|
||||||
define('FULL_DOMAIN', $protocol . $_SERVER['HTTP_HOST']);
|
|
||||||
define("ROOT_URL", "http://" . DOMAIN );
|
|
||||||
define("ROOT_DIR", WEB_ROOT . "/");
|
|
||||||
break;
|
|
||||||
/* ----------------------------------- */
|
|
||||||
default:
|
|
||||||
// Showing error page by default.
|
|
||||||
$error_env_check=true;
|
|
||||||
include("pages/env-error.php");
|
|
||||||
die;
|
|
||||||
|
|
||||||
}
|
|
||||||
require_once(ROOT_DIR . "config/constants.php");
|
|
||||||
require_once(CONFIG_FOLD . "settings.php");
|
|
||||||
require_once(FUNCTIONS_FOLD . "functions.php");
|
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
<?php
|
|
||||||
// -- GENERAL SETTING --
|
|
||||||
$debug="on";
|
|
||||||
$php_debug="on";
|
|
||||||
|
|
||||||
// --- DB SETTINGS ---
|
|
||||||
$db_needed="no";
|
|
||||||
$db_debug="yes";
|
|
||||||
$db_host="localhost";
|
|
||||||
$db_name="database-name";
|
|
||||||
$db_user="database-user";
|
|
||||||
$db_pass="database-user-password";
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------
|
|
||||||
// --- DON'T CHANGE ALL THE CODE BELOW!!! ---
|
|
||||||
//-------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// --- GENERAL SECTION CONFIGURATION
|
|
||||||
if ($debug == "on"){ define("DEBUG",true);} else { define("DEBUG", false); }
|
|
||||||
|
|
||||||
if ($php_debug == "on") {
|
|
||||||
ini_set('display_errors', 1);
|
|
||||||
ini_set('display_startup_errors', 1);
|
|
||||||
error_reporting(E_ALL);
|
|
||||||
} else {
|
|
||||||
ini_set('display_errors', 0);
|
|
||||||
error_reporting(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- DB SECTION CONFIGURATION
|
|
||||||
if ($db_needed == "yes"){
|
|
||||||
define("DB_HOST", $db_host);
|
|
||||||
define("DB_USER", $db_user);
|
|
||||||
define("DB_PASS", $db_pass);
|
|
||||||
define("DB_NAME", $db_name);
|
|
||||||
define("DB_DEBUG", $db_debug);
|
|
||||||
require_once(CONFIG_FOLD . "db.php");
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
/*
|
|
||||||
### LIST OF FUNCTIONS TO INCLUDE ###
|
|
||||||
Include in this array all the function files you may want to include.
|
|
||||||
You don't need to specify the extension .php, the system will automatically add it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
$fun_to_inc = array(
|
|
||||||
//"example",
|
|
||||||
"demo-example"
|
|
||||||
);
|
|
||||||
|
|
||||||
// DON'T CHANGE THE CODE BELOW!!!
|
|
||||||
if (isset($fun_to_inc) && is_array($fun_to_inc) && !empty($fun_to_inc)){
|
|
||||||
foreach ($fun_to_inc as $fun){
|
|
||||||
if (file_exists(FUNCTIONS_FOLD . $fun . ".php")){
|
|
||||||
require_once(FUNCTIONS_FOLD . $fun . ".php");
|
|
||||||
} else {
|
|
||||||
debugStatusMes("Function file $fun.php not found in functions folder: '" . FUNCTIONS_FOLD . "'", "Medium");
|
|
||||||
if ($fun === "demo-example") {
|
|
||||||
debugStatusMes("The 'demo-example' function is only a demo. If you create a new function, needs to be included in the file specified above. Please remove the demo-example record from 'functions/functions.php' ", "Info");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<link rel="stylesheet" href="<?= CSS_VAR ?>">
|
|
||||||
<link rel="stylesheet" href="<?= CSS_ANIM ?>">
|
|
||||||
<link rel="stylesheet" href="<?= CSS_STYLE ?>">
|
|
||||||
<script src="<?= JS_MAIN ?>"></script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
<script>
|
|
||||||
yearNow("year");
|
|
||||||
</script>
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<?php
|
|
||||||
include("./config/init.php");
|
|
||||||
|
|
||||||
include(TEMPLATES_FOLD . "header.php");
|
|
||||||
include(resolve_page());
|
|
||||||
include(TEMPLATES_FOLD . "footer.php");
|
|
||||||
?>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
<section>
|
|
||||||
<h1>404</h1>
|
|
||||||
<p>Page not found.</p>
|
|
||||||
</section>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<h1>About</h1>
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
<?php if ($db_needed !== "yes"){
|
|
||||||
header("Location: " . ROOT_URL );
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Error Environment</title>
|
|
||||||
<style>
|
|
||||||
html{font-size: 20px; font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif}
|
|
||||||
*{ margin:0; padding:0;}
|
|
||||||
body{
|
|
||||||
width:100vw;
|
|
||||||
height:100vh; display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #f8d5d5;
|
|
||||||
}
|
|
||||||
.container{
|
|
||||||
text-align: center;
|
|
||||||
background-color: #e6e6e6;
|
|
||||||
padding:100pt;
|
|
||||||
border: 4px solid #2b2b2b;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.err_env_result{
|
|
||||||
color:red;
|
|
||||||
margin:6px;
|
|
||||||
font-size: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.err_env_result > span{
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.err_env_help{
|
|
||||||
color: #880000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.details{
|
|
||||||
font-style: italic;
|
|
||||||
margin-top:10px;
|
|
||||||
color: #272727;
|
|
||||||
font-size:17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.details > span{
|
|
||||||
color: #f30000;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<p class="err_env_result"><span>ERROR:</span> Can't establish a db connection!</p>
|
|
||||||
<p class='err_env_help'>Please check the db.php configurations.</p>
|
|
||||||
<?php
|
|
||||||
if (DB_DEBUG == "yes"){
|
|
||||||
echo "<p class=' details err_env_help'><span>Error Details: </span>" . $e->getMessage() . "</p>";
|
|
||||||
}
|
|
||||||
debugStatusMes("Database connection failed.", "High");
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
<?php
|
|
||||||
if (! $error_env_check){
|
|
||||||
header("Location: " . ROOT_URL );
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Error Environment</title>
|
|
||||||
<style>
|
|
||||||
html{font-size: 20px; font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif}
|
|
||||||
*{ margin:0; padding:0;}
|
|
||||||
body{
|
|
||||||
width:100vw;
|
|
||||||
height:100vh; display:flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #f8d5d5;
|
|
||||||
}
|
|
||||||
.container{
|
|
||||||
text-align: center;
|
|
||||||
background-color: #e6e6e6;
|
|
||||||
padding:100pt;
|
|
||||||
border: 4px solid #2b2b2b;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.err_env_result{
|
|
||||||
color:red;
|
|
||||||
margin:6px;
|
|
||||||
font-size: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.err_env_result > span{
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.err_env_help{
|
|
||||||
color: #880000;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<?php
|
|
||||||
error_env('result');
|
|
||||||
error_env('help');
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<main class="main-content">
|
|
||||||
<section>
|
|
||||||
<h1>Welcome to the Home Page</h1>
|
|
||||||
<p>This is the home page.</p>
|
|
||||||
</section>
|
|
||||||
</main>
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
|
|
||||||
<footer class="main-footer">
|
|
||||||
<div class="footer-credit">© <year>year</year> - Company Name. All right reserved.</div>
|
|
||||||
<div class="webmaster_footer">Website designed by Simone Cusano - SimoLinuxDesign.org</div>
|
|
||||||
</footer>
|
|
||||||
<?php include(INCLUDES_FOLD . "js_footer.php"); ?>
|
|
||||||
<?php displayDebug(); ?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<?php include(INCLUDES_FOLD . "head_links.php"); ?>
|
|
||||||
<title><?php echo ucfirst($GLOBALS["current_page"] ?? "Home"); ?></title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="debug-target-container"></div>
|
|
||||||
|
|
||||||
<header>
|
|
||||||
<ul class="main-nav">
|
|
||||||
<li><a href="#">Home</a></li>
|
|
||||||
<li><a href="#">Page1</a></li>
|
|
||||||
<li><a href="#">Page2</a></li>
|
|
||||||
<li><a href="#">Page3</a></li>
|
|
||||||
<li><a href="#">Page4</a></li>
|
|
||||||
</ul>
|
|
||||||
</header>
|
|
||||||
Reference in New Issue
Block a user