diff --git a/.gitignore b/.gitignore
index ca33a53..ebd118c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
db/bkp
config.php
-functions/assets
-.claude
\ No newline at end of file
+.claude
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..9e3600a
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,14 @@
+
+
+# Enable rewrite engine
+RewriteEngine on
+# Passthroughs
+RewriteRule ^(css|js|route|test)/.*$ - [L,QSA]
+
+# Rewrites
+RewriteRule ^index\.php$ - [L]
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteRule ^ index.php [L]
+
+
diff --git a/functions/assets/Net_DNS2 b/functions/assets/Net_DNS2
new file mode 160000
index 0000000..37dcffa
--- /dev/null
+++ b/functions/assets/Net_DNS2
@@ -0,0 +1 @@
+Subproject commit 37dcffabf099a33871a9870834a6976f92d4b2ec
diff --git a/functions/assets/PHPMailer b/functions/assets/PHPMailer
new file mode 160000
index 0000000..e193b92
--- /dev/null
+++ b/functions/assets/PHPMailer
@@ -0,0 +1 @@
+Subproject commit e193b921a73e65bff40cab89ea0b0293be0e0c20
diff --git a/functions/autoload.php b/functions/autoload.php
index 57bc833..5567c01 100644
--- a/functions/autoload.php
+++ b/functions/autoload.php
@@ -142,7 +142,7 @@ function load_translations ($Database)
$testssl_available = file_exists(dirname(__FILE__)."/../functions/testSSL/testssl.sh");
# required extensions
-$required_extensions = ['curl', 'openssl', 'pcntl', 'posix', 'pdo', 'pdo_mysql', 'session', 'hash'];
+$required_extensions = ['curl', 'openssl', 'posix', 'pdo', 'pdo_mysql', 'session', 'hash'];
$missing_extensions = php_feature_missing_all ($required_extensions);
if (sizeof($missing_extensions)>0)
@@ -244,4 +244,4 @@ function load_translations ($Database)
$_params = ['tenant'=>'error', "route"=>"generic"];
}
}
-}
\ No newline at end of file
+}
diff --git a/functions/classes/class.User.php b/functions/classes/class.User.php
index c8124d3..7fc8741 100644
--- a/functions/classes/class.User.php
+++ b/functions/classes/class.User.php
@@ -164,6 +164,7 @@ public function save_current_user()
$this->errors[] = $e->getMessage();
$this->result_die();
}
+ $user->admin = strval($user->admin);
// save
if ($user != null) {
$this->user = $user;
@@ -429,7 +430,7 @@ public function validate_session($require_admin = false, $is_popup = false, $is_
}
}
// not admin
- elseif ($require_admin && $this->user->admin != 1) {
+ elseif ($require_admin && $this->user->admin != "1") {
if ($is_popup && !$is_popup_result) {
global $Modal;
$Modal->modal_print("Error", "
" . _("Administrative privileges required") . ".
", "", false, "danger");
@@ -679,4 +680,4 @@ function setResult($Result): self
$this->Result = $Result;
return $this;
}
-}
\ No newline at end of file
+}