diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index 2a4c0f7..f844fd1 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -2,6 +2,7 @@
namespace App\Controllers;
+use App\Classes\Config;
use App\Classes\User;
class AdminController extends PageController {
@@ -12,6 +13,37 @@ class AdminController extends PageController {
parent::view('', 'Admin');
}
+ public function developmentAction(): void
+ {
+ if (Config::c('DEVELOPMENT_MODE') == 'cloudflare') {
+ $token = Config::c('DEVELOPMENT_MODE_TOKEN');
+ $zone = Config::c('DEVELOPMENT_MODE_ZONE');
+
+ $url = "https://api.cloudflare.com/client/v4/zones/$zone/settings/development_mode";
+ $headers = [
+ "Authorization: Bearer $token",
+ "Content-Type: application/json"
+ ];
+ $data = '{"value": "on"}';
+
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_URL, $url);
+ curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
+ curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
+ curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PATCH');
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+ // curl_setopt($curl, CURLINFO_HEADER_OUT, 1);
+
+ $response = curl_exec($curl);
+ // $info = curl_getinfo($curl, CURLINFO_HEADER_OUT);
+
+ curl_close($curl);
+ }
+
+ echo $response;
+ // echo $info;
+ }
+
public function toggleAction(): void {
User::toggle();
echo User::getToggle() ? '1' : '0';
diff --git a/app/views/layouts/default.php b/app/views/layouts/default.php
index 6674815..3262d8d 100644
--- a/app/views/layouts/default.php
+++ b/app/views/layouts/default.php
@@ -22,7 +22,7 @@
-
+
= ($this->escape)($this->pageTitle); ?>= $this->pageTitle != '' ? ' - ' : '' ?>Rick van Vonderen
diff --git a/app/views/partials/admin.php b/app/views/partials/admin.php
index 533ee19..5d35318 100644
--- a/app/views/partials/admin.php
+++ b/app/views/partials/admin.php
@@ -22,6 +22,9 @@
- Syntax Highlighting
+
+ Development mode
+
- Log out
diff --git a/app/views/partials/script.php b/app/views/partials/script.php
index a30d14b..a55fa2f 100644
--- a/app/views/partials/script.php
+++ b/app/views/partials/script.php
@@ -23,6 +23,6 @@
-
+
-
+
diff --git a/config.php.example b/config.php.example
index 12e6609..3e9a032 100644
--- a/config.php.example
+++ b/config.php.example
@@ -14,4 +14,8 @@ return [
'MAIL_NAME' => '',
'MAIL_USERNAME' => '',
'MAIL_PASSWORD' => '',
+
+ 'DEVELOPMENT_MODE' => '',
+ 'DEVELOPMENT_MODE_TOKEN' => '',
+ 'DEVELOPMENT_MODE_ZONE' => '',
];
diff --git a/public/js/app.js b/public/js/app.js
index 1b56c17..9412469 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -227,6 +227,24 @@ $(document).ready(function() {
});
+//------------------------------------------
+
+ // Developer mode
+ $('#development-mode').on('click', function(e)
+ {
+ $.get('/admin/toggle-development-mode').done(function(data)
+ {
+ const response = JSON.parse(data);
+ if (response.success == true) {
+ alert("Development mode has been turned: " + response.result.value);
+ }
+ else {
+ alert("Development mode could not be enabled!")
+ console.log(data);
+ }
+ });
+ });
+
});
// @Todo
diff --git a/route.php b/route.php
index d26cd7c..6f6d038 100644
--- a/route.php
+++ b/route.php
@@ -21,6 +21,7 @@ return [
['/logout', 'LoginController', 'logout', ''],
['/admin', 'AdminController', '', ''],
['/admin/toggle', 'AdminController', 'toggle', ''],
+ ['/admin/toggle-development-mode', 'AdminController', 'development', ''],
['/admin/syntax-highlighting', 'AdminController', 'syntax', ''],
['/test', 'TestController', '', ''],
// ["", "", "", ""],