فهرست منبع

Merge pull request #3009 from hestiacp/staging/1.6.11

Staging/1.6.11
Jaap Marcus 3 سال پیش
والد
کامیت
e0d0d7168a

+ 29 - 1
CHANGELOG.md

@@ -1,6 +1,34 @@
 # Changelog
 # Changelog
 All notable changes to this project will be documented in this file.
 All notable changes to this project will be documented in this file.
 
 
+## [1.6.11] - Service release 
+
+### Important
+
+A bug in v-update-sys-hestia caused auto update to be not working. Please run: ` apt update && apt upgrade `
+
+### Security
+
+- Fix issues with session timeout and filemnanger (#3004)
+
+### Bugfixes
+
+- Fixed an issue in auto update script for HestiaCP (#2967)
+- Fixed an issue in download ssl certificate in Firefox (#2979)
+- Resolve issue with idn domains and redirect (#2988)
+- Update Ipverse url for United Kingdom (#2962)
+- Fixed an issue with icons disapearing when viewing system logs
+- Fixd issue with unlimeted quota button on edit mail account
+
+### Dependencies
+
+- Update Rainloop to 1.17.0 (#2957)
+- Update Zlib to 1.2.13
+- Update hestia-nginx to 1.23.2
+- Update hestia-php to 8.1.12
+- Update OpenSSL to 3.0.7
+- Update Filegator to 7.8.7
+
 ## [1.6.10] - Service release 
 ## [1.6.10] - Service release 
 
 
 ### Security
 ### Security
@@ -48,7 +76,7 @@ All notable changes to this project will be documented in this file.
 
 
 - Force update composer to v2 instead of v1 when no version is provided (#2839 #2777)
 - Force update composer to v2 instead of v1 when no version is provided (#2839 #2777)
 - Fixed an issue with v-change-web-domain-owner and mail only domains (#2840, #2841)
 - Fixed an issue with v-change-web-domain-owner and mail only domains (#2840, #2841)
-- Grey out phpmyadmin buttons + add link to docs.hestia.com for support (#2843)
+- Grey out phpmyadmin buttons + add link to docs.hestiacp.com for support (#2843)
 - Block the use of CNAME records on @ or root records DNS domain (#2838, #2842)
 - Block the use of CNAME records on @ or root records DNS domain (#2838, #2842)
 - Code clean up and remove unused tests and templates (#2829 and #2831)
 - Code clean up and remove unused tests and templates (#2829 and #2831)
 - Fixed an issue where no password was send when a user create a new mail account (#2819 #2815)
 - Fixed an issue where no password was send when a user create a new mail account (#2819 #2815)

+ 6 - 6
bin/v-add-sys-filemanager

@@ -23,8 +23,8 @@ MODE=$1
 user="admin"
 user="admin"
 
 
 FM_INSTALL_DIR="$HESTIA/web/fm"
 FM_INSTALL_DIR="$HESTIA/web/fm"
-FM_FILE="filegator_v${fm_v}.zip"
-FM_URL="https://github.com/filegator/filegator/releases/download/v${fm_v}/${FM_FILE}"
+FM_FILE="filegator_latest"
+FM_URL="https://github.com/filegator/static/raw/master/builds/filegator_latest.zip"
 COMPOSER_BIN="$HOMEDIR/$user/.composer/composer"
 COMPOSER_BIN="$HOMEDIR/$user/.composer/composer"
 
 
 #----------------------------------------------------------#
 #----------------------------------------------------------#
@@ -69,18 +69,18 @@ rm --recursive --force "$FM_INSTALL_DIR"
 mkdir -p "$FM_INSTALL_DIR"
 mkdir -p "$FM_INSTALL_DIR"
 cd "$FM_INSTALL_DIR"
 cd "$FM_INSTALL_DIR"
 
 
-[ ! -f "${FM_INSTALL_DIR}/${FM_FILE}" ] && wget "$FM_URL" --quiet -O "${FM_INSTALL_DIR}/${FM_FILE}"
+[ ! -f "${FM_INSTALL_DIR}/${FM_FILE}" ] && wget "$FM_URL" --quiet -O "${FM_INSTALL_DIR}/${FM_FILE}.zip"
 
 
-unzip -qq "${FM_INSTALL_DIR}/${FM_FILE}"
+unzip -qq "${FM_INSTALL_DIR}/${FM_FILE}.zip"
 mv --force ${FM_INSTALL_DIR}/filegator/* "${FM_INSTALL_DIR}"
 mv --force ${FM_INSTALL_DIR}/filegator/* "${FM_INSTALL_DIR}"
-rm --recursive --force ${FM_INSTALL_DIR}/filegator
+rm --recursive --force ${FM_INSTALL_DIR}/${FM_FILE}
 [[ -f "${FM_INSTALL_DIR}/${FM_FILE}" ]] && rm "${FM_INSTALL_DIR}/${FM_FILE}"
 [[ -f "${FM_INSTALL_DIR}/${FM_FILE}" ]] && rm "${FM_INSTALL_DIR}/${FM_FILE}"
 
 
 cp --recursive --force ${HESTIA_INSTALL_DIR}/filemanager/filegator/* "${FM_INSTALL_DIR}"
 cp --recursive --force ${HESTIA_INSTALL_DIR}/filemanager/filegator/* "${FM_INSTALL_DIR}"
 
 
 chown $user: -R "${FM_INSTALL_DIR}"
 chown $user: -R "${FM_INSTALL_DIR}"
 
 
-if [ -z "$openssl_installed"  ]; then 
+if [ -z "$openssl_installed"  ]; then
     COMPOSER_HOME="$HOMEDIR/$user/.config/composer" user_exec /usr/bin/php $COMPOSER_BIN --quiet --no-dev install
     COMPOSER_HOME="$HOMEDIR/$user/.config/composer" user_exec /usr/bin/php $COMPOSER_BIN --quiet --no-dev install
 else
 else
     COMPOSER_HOME="$HOMEDIR/$user/.config/composer" user_exec /usr/local/hestia/php/bin/php $COMPOSER_BIN --quiet --no-dev install
     COMPOSER_HOME="$HOMEDIR/$user/.config/composer" user_exec /usr/local/hestia/php/bin/php $COMPOSER_BIN --quiet --no-dev install

+ 3 - 3
bin/v-add-sys-rainloop

@@ -22,12 +22,12 @@ MODE=$1
 UPDATE="no"
 UPDATE="no"
 # Version and Download paths
 # Version and Download paths
 # Version to be moved to upgrade script
 # Version to be moved to upgrade script
-RL_FILE="rainloop-community-latest.zip"
+RL_FILE="rainloop-latest.zip"
 # For removal of folder
 # For removal of folder
 RL_EXTRACT_MAIN="rainloop"
 RL_EXTRACT_MAIN="rainloop"
 
 
 # Downloading full version
 # Downloading full version
-RL_URL="https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip"
+RL_URL="https://www.rainloop.net/repository/webmail/rainloop-latest.zip"
 
 
 # Folder paths
 # Folder paths
 RL_INSTALL_DIR="/var/lib/rainloop"
 RL_INSTALL_DIR="/var/lib/rainloop"
@@ -155,7 +155,7 @@ else
    [ ! -f "${RC_INSTALL_DIR}/${RC_FILE}" ] && wget "$RL_URL" --quiet -O "${RL_INSTALL_DIR}/${RL_FILE}"
    [ ! -f "${RC_INSTALL_DIR}/${RC_FILE}" ] && wget "$RL_URL" --quiet -O "${RL_INSTALL_DIR}/${RL_FILE}"
    version=$(cat $RL_INSTALL_DIR/data/VERSION);
    version=$(cat $RL_INSTALL_DIR/data/VERSION);
    
    
-   unzip -q -j rainloop-community-latest.zip "data/VERSION" -d $RL_INSTALL_DIR/ 
+   unzip -q -j rainloop-latest.zip "data/VERSION" -d $RL_INSTALL_DIR/ 
    version_source=$(cat $RL_INSTALL_DIR/VERSION);
    version_source=$(cat $RL_INSTALL_DIR/VERSION);
    
    
    # Check version inside .zip file in case hestia didn't update yet
    # Check version inside .zip file in case hestia didn't update yet

+ 1 - 1
bin/v-add-user-2fa

@@ -42,7 +42,7 @@ source $USER_DATA/user.conf
 # Check if 2FA is already enabled
 # Check if 2FA is already enabled
 if [ -n "$TWOFA" ]; then
 if [ -n "$TWOFA" ]; then
     echo "Error: 2FA already enabled"
     echo "Error: 2FA already enabled"
-    exit "$E_EXIST"
+    exit "$E_EXISTS"
 fi
 fi
 
 
 # Get secret and qr code from 2fa libary
 # Get secret and qr code from 2fa libary

+ 7 - 2
bin/v-add-web-domain-redirect

@@ -42,14 +42,19 @@ is_object_unsuspended 'user' 'USER' "$user"
 is_object_valid 'web' 'DOMAIN' "$domain"
 is_object_valid 'web' 'DOMAIN' "$domain"
 is_object_unsuspended 'web' 'DOMAIN' "$domain"
 is_object_unsuspended 'web' 'DOMAIN' "$domain"
 
 
+idn_redirect=$(idn2 --quiet $3)
+if [ $? == 0 ]; then
+    redirect=$idn_redirect;
+fi
+
 if [[ "$3" =~ http://|https:// ]]; then
 if [[ "$3" =~ http://|https:// ]]; then
     scheme=1
     scheme=1
-    isValidUrl=$(php -r '$url=$argv[1]; $url=filter_var($url,FILTER_VALIDATE_URL); echo $url;' "$3")
+    isValidUrl=$(php -r '$url=$argv[1]; $url=filter_var($url,FILTER_VALIDATE_URL); echo $url;' "$redirect")
     if  [ -z "$isValidUrl" ]; then
     if  [ -z "$isValidUrl" ]; then
         check_result $E_INVALID "Invalid redirect"
         check_result $E_INVALID "Invalid redirect"
     fi
     fi
 else
 else
-    isValidUrl=$(php -r '$url=$argv[1]; $url=filter_var($url,FILTER_VALIDATE_URL); echo $url;' "http://$3")
+    isValidUrl=$(php -r '$url=$argv[1]; $url=filter_var($url,FILTER_VALIDATE_URL); echo $url;' "http://$redirect")
     if  [ -z "$isValidUrl" ]; then
     if  [ -z "$isValidUrl" ]; then
         check_result $E_INVALID "Invalid redirect"
         check_result $E_INVALID "Invalid redirect"
     fi
     fi

+ 8 - 2
bin/v-change-sys-port

@@ -71,8 +71,14 @@ else
     if [ -d /etc/rainloop/ ]; then
     if [ -d /etc/rainloop/ ]; then
         sed -i "/hestia_port/c\hestia_port = $PORT" /etc/rainloop/data/_data_/_default_/configs/plugin-hestia-change-password.ini
         sed -i "/hestia_port/c\hestia_port = $PORT" /etc/rainloop/data/_data_/_default_/configs/plugin-hestia-change-password.ini
     fi
     fi
-    sed -i "/COMMENT='HESTIA'/c\RULE='2' ACTION='ACCEPT' PROTOCOL='TCP' PORT='$PORT' IP='0.0.0.0/0' COMMENT='HESTIA' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25'" $HESTIA/data/firewall/rules.conf
-    sed -i "/CHAIN='HESTIA'/c\CHAIN='HESTIA' PORT='$PORT' PROTOCOL='TCP'" $HESTIA/data/firewall/chains.conf
+    
+    if [ -f "$HESTIA/data/firewall/rules.conf" ]; then
+        sed -i "/COMMENT='HESTIA'/c\RULE='2' ACTION='ACCEPT' PROTOCOL='TCP' PORT='$PORT' IP='0.0.0.0/0' COMMENT='HESTIA' SUSPENDED='no' TIME='07:40:16' DATE='2014-05-25'" $HESTIA/data/firewall/rules.conf
+    fi
+    
+    if [ -f $HESTIA/data/firewall/chains.conf ]; then
+        sed -i "/CHAIN='HESTIA'/c\CHAIN='HESTIA' PORT='$PORT' PROTOCOL='TCP'" $HESTIA/data/firewall/chains.conf
+    fi
      
      
     # Restart services
     # Restart services
     if [ -n "$FIREWALL_SYSTEM" ] && [ "$FIREWALL_SYSTEM" != no ]; then
     if [ -n "$FIREWALL_SYSTEM" ] && [ "$FIREWALL_SYSTEM" != no ]; then

+ 2 - 2
func/main.sh

@@ -1502,8 +1502,8 @@ multiphp_default_version() {
 
 
 is_hestia_package(){
 is_hestia_package(){
     check=false;
     check=false;
-    for package in $1; do 
-      if [ $package == "$2" ]; then 
+    for pkg in $1; do 
+      if [ "$pkg" == "$2" ]; then 
         check="true";
         check="true";
       fi
       fi
     done
     done

+ 108 - 462
install/deb/filemanager/filegator/composer.lock

@@ -78,16 +78,16 @@
         },
         },
         {
         {
             "name": "league/flysystem",
             "name": "league/flysystem",
-            "version": "1.1.9",
+            "version": "1.1.10",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/thephpleague/flysystem.git",
                 "url": "https://github.com/thephpleague/flysystem.git",
-                "reference": "094defdb4a7001845300334e7c1ee2335925ef99"
+                "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99",
-                "reference": "094defdb4a7001845300334e7c1ee2335925ef99",
+                "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1",
+                "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -160,7 +160,7 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/thephpleague/flysystem/issues",
                 "issues": "https://github.com/thephpleague/flysystem/issues",
-                "source": "https://github.com/thephpleague/flysystem/tree/1.1.9"
+                "source": "https://github.com/thephpleague/flysystem/tree/1.1.10"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -168,7 +168,7 @@
                     "type": "other"
                     "type": "other"
                 }
                 }
             ],
             ],
-            "time": "2021-12-09T09:40:50+00:00"
+            "time": "2022-10-04T09:16:37+00:00"
         },
         },
         {
         {
             "name": "league/flysystem-sftp",
             "name": "league/flysystem-sftp",
@@ -228,6 +228,7 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
+            "abandoned": "league/flysystem-sftp-v3",
             "time": "2022-01-04T22:02:01+00:00"
             "time": "2022-01-04T22:02:01+00:00"
         },
         },
         {
         {
@@ -705,16 +706,16 @@
         },
         },
         {
         {
             "name": "phpseclib/phpseclib",
             "name": "phpseclib/phpseclib",
-            "version": "2.0.37",
+            "version": "2.0.39",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/phpseclib/phpseclib.git",
                 "url": "https://github.com/phpseclib/phpseclib.git",
-                "reference": "c812fbb4d6b4d7f30235ab7298a12f09ba13b37c"
+                "reference": "f3a0e2b715c40cf1fd270d444901b63311725d63"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c812fbb4d6b4d7f30235ab7298a12f09ba13b37c",
-                "reference": "c812fbb4d6b4d7f30235ab7298a12f09ba13b37c",
+                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/f3a0e2b715c40cf1fd270d444901b63311725d63",
+                "reference": "f3a0e2b715c40cf1fd270d444901b63311725d63",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -729,7 +730,8 @@
                 "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
                 "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
                 "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
                 "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
                 "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
                 "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
-                "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
+                "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.",
+                "ext-xml": "Install the XML extension to load XML formatted public keys."
             },
             },
             "type": "library",
             "type": "library",
             "autoload": {
             "autoload": {
@@ -794,7 +796,7 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/phpseclib/phpseclib/issues",
                 "issues": "https://github.com/phpseclib/phpseclib/issues",
-                "source": "https://github.com/phpseclib/phpseclib/tree/2.0.37"
+                "source": "https://github.com/phpseclib/phpseclib/tree/2.0.39"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -810,7 +812,7 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-04-04T04:57:45+00:00"
+            "time": "2022-10-24T10:49:03+00:00"
         },
         },
         {
         {
             "name": "psr/container",
             "name": "psr/container",
@@ -1008,7 +1010,7 @@
         },
         },
         {
         {
             "name": "symfony/deprecation-contracts",
             "name": "symfony/deprecation-contracts",
-            "version": "v2.5.1",
+            "version": "v2.5.2",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/deprecation-contracts.git",
                 "url": "https://github.com/symfony/deprecation-contracts.git",
@@ -1055,7 +1057,7 @@
             "description": "A generic function and convention to trigger deprecation notices",
             "description": "A generic function and convention to trigger deprecation notices",
             "homepage": "https://symfony.com",
             "homepage": "https://symfony.com",
             "support": {
             "support": {
-                "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1"
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -1075,7 +1077,7 @@
         },
         },
         {
         {
             "name": "symfony/event-dispatcher-contracts",
             "name": "symfony/event-dispatcher-contracts",
-            "version": "v2.5.1",
+            "version": "v2.5.2",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/event-dispatcher-contracts.git",
                 "url": "https://github.com/symfony/event-dispatcher-contracts.git",
@@ -1134,7 +1136,7 @@
                 "standards"
                 "standards"
             ],
             ],
             "support": {
             "support": {
-                "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.1"
+                "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -1154,16 +1156,16 @@
         },
         },
         {
         {
             "name": "symfony/http-foundation",
             "name": "symfony/http-foundation",
-            "version": "v4.4.43",
+            "version": "v4.4.47",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/http-foundation.git",
                 "url": "https://github.com/symfony/http-foundation.git",
-                "reference": "4441dada27f9208e03f449d73cb9253c639e53c5"
+                "reference": "7eea76ae186c68466e7676e62812ce2769f96811"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4441dada27f9208e03f449d73cb9253c639e53c5",
-                "reference": "4441dada27f9208e03f449d73cb9253c639e53c5",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7eea76ae186c68466e7676e62812ce2769f96811",
+                "reference": "7eea76ae186c68466e7676e62812ce2769f96811",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -1202,7 +1204,7 @@
             "description": "Defines an object-oriented layer for the HTTP specification",
             "description": "Defines an object-oriented layer for the HTTP specification",
             "homepage": "https://symfony.com",
             "homepage": "https://symfony.com",
             "support": {
             "support": {
-                "source": "https://github.com/symfony/http-foundation/tree/v4.4.43"
+                "source": "https://github.com/symfony/http-foundation/tree/v4.4.47"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -1218,20 +1220,20 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-06-19T13:07:44+00:00"
+            "time": "2022-10-01T21:39:02+00:00"
         },
         },
         {
         {
             "name": "symfony/mime",
             "name": "symfony/mime",
-            "version": "v5.4.10",
+            "version": "v5.4.14",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/mime.git",
                 "url": "https://github.com/symfony/mime.git",
-                "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc"
+                "reference": "1c118b253bb3495d81e95a6e3ec6c2766a98a0c4"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mime/zipball/02265e1e5111c3cd7480387af25e82378b7ab9cc",
-                "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc",
+                "url": "https://api.github.com/repos/symfony/mime/zipball/1c118b253bb3495d81e95a6e3ec6c2766a98a0c4",
+                "reference": "1c118b253bb3495d81e95a6e3ec6c2766a98a0c4",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -1245,7 +1247,8 @@
                 "egulias/email-validator": "~3.0.0",
                 "egulias/email-validator": "~3.0.0",
                 "phpdocumentor/reflection-docblock": "<3.2.2",
                 "phpdocumentor/reflection-docblock": "<3.2.2",
                 "phpdocumentor/type-resolver": "<1.4.0",
                 "phpdocumentor/type-resolver": "<1.4.0",
-                "symfony/mailer": "<4.4"
+                "symfony/mailer": "<4.4",
+                "symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6"
             },
             },
             "require-dev": {
             "require-dev": {
                 "egulias/email-validator": "^2.1.10|^3.1",
                 "egulias/email-validator": "^2.1.10|^3.1",
@@ -1253,7 +1256,7 @@
                 "symfony/dependency-injection": "^4.4|^5.0|^6.0",
                 "symfony/dependency-injection": "^4.4|^5.0|^6.0",
                 "symfony/property-access": "^4.4|^5.1|^6.0",
                 "symfony/property-access": "^4.4|^5.1|^6.0",
                 "symfony/property-info": "^4.4|^5.1|^6.0",
                 "symfony/property-info": "^4.4|^5.1|^6.0",
-                "symfony/serializer": "^5.2|^6.0"
+                "symfony/serializer": "^5.4.14|~6.0.14|^6.1.6"
             },
             },
             "type": "library",
             "type": "library",
             "autoload": {
             "autoload": {
@@ -1285,7 +1288,7 @@
                 "mime-type"
                 "mime-type"
             ],
             ],
             "support": {
             "support": {
-                "source": "https://github.com/symfony/mime/tree/v5.4.10"
+                "source": "https://github.com/symfony/mime/tree/v5.4.14"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -1301,7 +1304,7 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-06-09T12:22:40+00:00"
+            "time": "2022-10-07T08:01:20+00:00"
         },
         },
         {
         {
             "name": "symfony/polyfill-intl-idn",
             "name": "symfony/polyfill-intl-idn",
@@ -1879,16 +1882,16 @@
         },
         },
         {
         {
             "name": "symfony/service-contracts",
             "name": "symfony/service-contracts",
-            "version": "v2.5.1",
+            "version": "v2.5.2",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/service-contracts.git",
                 "url": "https://github.com/symfony/service-contracts.git",
-                "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c"
+                "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c",
-                "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c",
+                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+                "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -1942,7 +1945,7 @@
                 "standards"
                 "standards"
             ],
             ],
             "support": {
             "support": {
-                "source": "https://github.com/symfony/service-contracts/tree/v2.5.1"
+                "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -1958,7 +1961,7 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-03-13T20:07:29+00:00"
+            "time": "2022-05-30T19:17:29+00:00"
         }
         }
     ],
     ],
     "packages-dev": [
     "packages-dev": [
@@ -2496,16 +2499,16 @@
         },
         },
         {
         {
             "name": "nette/finder",
             "name": "nette/finder",
-            "version": "v2.5.3",
+            "version": "v2.5.4",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/nette/finder.git",
                 "url": "https://github.com/nette/finder.git",
-                "reference": "64dc25b7929b731e72a1bc84a9e57727f5d5d3e8"
+                "reference": "4a1236db9067d86a75c3dcc0d9c2aced17f9bde8"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/nette/finder/zipball/64dc25b7929b731e72a1bc84a9e57727f5d5d3e8",
-                "reference": "64dc25b7929b731e72a1bc84a9e57727f5d5d3e8",
+                "url": "https://api.github.com/repos/nette/finder/zipball/4a1236db9067d86a75c3dcc0d9c2aced17f9bde8",
+                "reference": "4a1236db9067d86a75c3dcc0d9c2aced17f9bde8",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -2557,9 +2560,9 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/nette/finder/issues",
                 "issues": "https://github.com/nette/finder/issues",
-                "source": "https://github.com/nette/finder/tree/v2.5.3"
+                "source": "https://github.com/nette/finder/tree/v2.5.4"
             },
             },
-            "time": "2021-12-12T17:43:24+00:00"
+            "time": "2022-10-13T01:30:47+00:00"
         },
         },
         {
         {
             "name": "nette/neon",
             "name": "nette/neon",
@@ -2631,21 +2634,21 @@
         },
         },
         {
         {
             "name": "nette/php-generator",
             "name": "nette/php-generator",
-            "version": "v3.6.7",
+            "version": "v3.6.9",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/nette/php-generator.git",
                 "url": "https://github.com/nette/php-generator.git",
-                "reference": "b9ba414c9895fd9420887f20eeb4eabde123677f"
+                "reference": "d31782f7bd2ae84ad06f863391ec3fb77ca4d0a6"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/nette/php-generator/zipball/b9ba414c9895fd9420887f20eeb4eabde123677f",
-                "reference": "b9ba414c9895fd9420887f20eeb4eabde123677f",
+                "url": "https://api.github.com/repos/nette/php-generator/zipball/d31782f7bd2ae84ad06f863391ec3fb77ca4d0a6",
+                "reference": "d31782f7bd2ae84ad06f863391ec3fb77ca4d0a6",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
                 "nette/utils": "^3.1.2",
                 "nette/utils": "^3.1.2",
-                "php": ">=7.2 <8.2"
+                "php": ">=7.2 <8.3"
             },
             },
             "require-dev": {
             "require-dev": {
                 "nette/tester": "^2.4",
                 "nette/tester": "^2.4",
@@ -2693,9 +2696,9 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/nette/php-generator/issues",
                 "issues": "https://github.com/nette/php-generator/issues",
-                "source": "https://github.com/nette/php-generator/tree/v3.6.7"
+                "source": "https://github.com/nette/php-generator/tree/v3.6.9"
             },
             },
-            "time": "2022-03-10T01:51:00+00:00"
+            "time": "2022-10-04T11:49:47+00:00"
         },
         },
         {
         {
             "name": "nette/robot-loader",
             "name": "nette/robot-loader",
@@ -2828,20 +2831,20 @@
         },
         },
         {
         {
             "name": "nette/utils",
             "name": "nette/utils",
-            "version": "v3.2.7",
+            "version": "v3.2.8",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/nette/utils.git",
                 "url": "https://github.com/nette/utils.git",
-                "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99"
+                "reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99",
-                "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99",
+                "url": "https://api.github.com/repos/nette/utils/zipball/02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
+                "reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
-                "php": ">=7.2 <8.2"
+                "php": ">=7.2 <8.3"
             },
             },
             "conflict": {
             "conflict": {
                 "nette/di": "<3.0.6"
                 "nette/di": "<3.0.6"
@@ -2907,22 +2910,22 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/nette/utils/issues",
                 "issues": "https://github.com/nette/utils/issues",
-                "source": "https://github.com/nette/utils/tree/v3.2.7"
+                "source": "https://github.com/nette/utils/tree/v3.2.8"
             },
             },
-            "time": "2022-01-24T11:29:14+00:00"
+            "time": "2022-09-12T23:36:20+00:00"
         },
         },
         {
         {
             "name": "nikic/php-parser",
             "name": "nikic/php-parser",
-            "version": "v4.14.0",
+            "version": "v4.15.1",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/nikic/PHP-Parser.git",
                 "url": "https://github.com/nikic/PHP-Parser.git",
-                "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1"
+                "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1",
-                "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1",
+                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
+                "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -2963,9 +2966,9 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/nikic/PHP-Parser/issues",
                 "issues": "https://github.com/nikic/PHP-Parser/issues",
-                "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0"
+                "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1"
             },
             },
-            "time": "2022-05-31T20:59:12+00:00"
+            "time": "2022-09-04T07:30:47+00:00"
         },
         },
         {
         {
             "name": "phar-io/manifest",
             "name": "phar-io/manifest",
@@ -3078,232 +3081,6 @@
             },
             },
             "time": "2022-02-21T01:04:05+00:00"
             "time": "2022-02-21T01:04:05+00:00"
         },
         },
-        {
-            "name": "phpdocumentor/reflection-common",
-            "version": "2.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
-                "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
-                "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^7.2 || ^8.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-2.x": "2.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "phpDocumentor\\Reflection\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Jaap van Otterdijk",
-                    "email": "opensource@ijaap.nl"
-                }
-            ],
-            "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
-            "homepage": "http://www.phpdoc.org",
-            "keywords": [
-                "FQSEN",
-                "phpDocumentor",
-                "phpdoc",
-                "reflection",
-                "static analysis"
-            ],
-            "support": {
-                "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
-                "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
-            },
-            "time": "2020-06-27T09:03:43+00:00"
-        },
-        {
-            "name": "phpdocumentor/reflection-docblock",
-            "version": "4.3.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c",
-                "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^7.0",
-                "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0",
-                "phpdocumentor/type-resolver": "~0.4 || ^1.0.0",
-                "webmozart/assert": "^1.0"
-            },
-            "require-dev": {
-                "doctrine/instantiator": "^1.0.5",
-                "mockery/mockery": "^1.0",
-                "phpdocumentor/type-resolver": "0.4.*",
-                "phpunit/phpunit": "^6.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "phpDocumentor\\Reflection\\": [
-                        "src/"
-                    ]
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Mike van Riel",
-                    "email": "me@mikevanriel.com"
-                }
-            ],
-            "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
-            "support": {
-                "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
-                "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/4.x"
-            },
-            "time": "2019-12-28T18:55:12+00:00"
-        },
-        {
-            "name": "phpdocumentor/type-resolver",
-            "version": "1.6.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/TypeResolver.git",
-                "reference": "77a32518733312af16a44300404e945338981de3"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
-                "reference": "77a32518733312af16a44300404e945338981de3",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^7.2 || ^8.0",
-                "phpdocumentor/reflection-common": "^2.0"
-            },
-            "require-dev": {
-                "ext-tokenizer": "*",
-                "psalm/phar": "^4.8"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-1.x": "1.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "phpDocumentor\\Reflection\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Mike van Riel",
-                    "email": "me@mikevanriel.com"
-                }
-            ],
-            "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
-            "support": {
-                "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
-                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
-            },
-            "time": "2022-03-15T21:29:03+00:00"
-        },
-        {
-            "name": "phpspec/prophecy",
-            "version": "v1.10.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpspec/prophecy.git",
-                "reference": "451c3cd1418cf640de218914901e51b064abb093"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093",
-                "reference": "451c3cd1418cf640de218914901e51b064abb093",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": "^5.3|^7.0",
-                "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
-                "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0",
-                "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0"
-            },
-            "require-dev": {
-                "phpspec/phpspec": "^2.5 || ^3.2",
-                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.10.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Prophecy\\": "src/Prophecy"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                },
-                {
-                    "name": "Marcello Duarte",
-                    "email": "marcello.duarte@gmail.com"
-                }
-            ],
-            "description": "Highly opinionated mocking framework for PHP 5.3+",
-            "homepage": "https://github.com/phpspec/prophecy",
-            "keywords": [
-                "Double",
-                "Dummy",
-                "fake",
-                "mock",
-                "spy",
-                "stub"
-            ],
-            "support": {
-                "issues": "https://github.com/phpspec/prophecy/issues",
-                "source": "https://github.com/phpspec/prophecy/tree/v1.10.3"
-            },
-            "time": "2020-03-05T15:02:03+00:00"
-        },
         {
         {
             "name": "phpstan/phpdoc-parser",
             "name": "phpstan/phpdoc-parser",
             "version": "0.3.5",
             "version": "0.3.5",
@@ -3747,16 +3524,16 @@
         },
         },
         {
         {
             "name": "phpunit/phpunit",
             "name": "phpunit/phpunit",
-            "version": "8.5.27",
+            "version": "8.5.30",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "df70070f2711b8fe8dcca0797c1239ede8c94be6"
+                "reference": "4fd448df9affda65a5faa58f8b93087d415216ce"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/df70070f2711b8fe8dcca0797c1239ede8c94be6",
-                "reference": "df70070f2711b8fe8dcca0797c1239ede8c94be6",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4fd448df9affda65a5faa58f8b93087d415216ce",
+                "reference": "4fd448df9affda65a5faa58f8b93087d415216ce",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -3771,15 +3548,14 @@
                 "phar-io/manifest": "^2.0.3",
                 "phar-io/manifest": "^2.0.3",
                 "phar-io/version": "^3.0.2",
                 "phar-io/version": "^3.0.2",
                 "php": ">=7.2",
                 "php": ">=7.2",
-                "phpspec/prophecy": "^1.10.3",
                 "phpunit/php-code-coverage": "^7.0.12",
                 "phpunit/php-code-coverage": "^7.0.12",
                 "phpunit/php-file-iterator": "^2.0.4",
                 "phpunit/php-file-iterator": "^2.0.4",
                 "phpunit/php-text-template": "^1.2.1",
                 "phpunit/php-text-template": "^1.2.1",
                 "phpunit/php-timer": "^2.1.2",
                 "phpunit/php-timer": "^2.1.2",
-                "sebastian/comparator": "^3.0.2",
+                "sebastian/comparator": "^3.0.5",
                 "sebastian/diff": "^3.0.2",
                 "sebastian/diff": "^3.0.2",
                 "sebastian/environment": "^4.2.3",
                 "sebastian/environment": "^4.2.3",
-                "sebastian/exporter": "^3.1.2",
+                "sebastian/exporter": "^3.1.5",
                 "sebastian/global-state": "^3.0.0",
                 "sebastian/global-state": "^3.0.0",
                 "sebastian/object-enumerator": "^3.0.3",
                 "sebastian/object-enumerator": "^3.0.3",
                 "sebastian/resource-operations": "^2.0.1",
                 "sebastian/resource-operations": "^2.0.1",
@@ -3825,7 +3601,7 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
                 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
-                "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.27"
+                "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.30"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -3835,9 +3611,13 @@
                 {
                 {
                     "url": "https://github.com/sebastianbergmann",
                     "url": "https://github.com/sebastianbergmann",
                     "type": "github"
                     "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+                    "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-06-19T12:11:16+00:00"
+            "time": "2022-09-25T03:43:00+00:00"
         },
         },
         {
         {
             "name": "sebastian/code-unit-reverse-lookup",
             "name": "sebastian/code-unit-reverse-lookup",
@@ -3896,16 +3676,16 @@
         },
         },
         {
         {
             "name": "sebastian/comparator",
             "name": "sebastian/comparator",
-            "version": "3.0.3",
+            "version": "3.0.5",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/comparator.git",
                 "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "1071dfcef776a57013124ff35e1fc41ccd294758"
+                "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758",
-                "reference": "1071dfcef776a57013124ff35e1fc41ccd294758",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dc7ceb4a24aede938c7af2a9ed1de09609ca770",
+                "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -3958,7 +3738,7 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/sebastianbergmann/comparator/issues",
                 "issues": "https://github.com/sebastianbergmann/comparator/issues",
-                "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3"
+                "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.5"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -3966,7 +3746,7 @@
                     "type": "github"
                     "type": "github"
                 }
                 }
             ],
             ],
-            "time": "2020-11-30T08:04:30+00:00"
+            "time": "2022-09-14T12:31:48+00:00"
         },
         },
         {
         {
             "name": "sebastian/diff",
             "name": "sebastian/diff",
@@ -4099,16 +3879,16 @@
         },
         },
         {
         {
             "name": "sebastian/exporter",
             "name": "sebastian/exporter",
-            "version": "3.1.4",
+            "version": "3.1.5",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/exporter.git",
                 "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db"
+                "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db",
-                "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/73a9676f2833b9a7c36968f9d882589cd75511e6",
+                "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -4164,7 +3944,7 @@
             ],
             ],
             "support": {
             "support": {
                 "issues": "https://github.com/sebastianbergmann/exporter/issues",
                 "issues": "https://github.com/sebastianbergmann/exporter/issues",
-                "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.4"
+                "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.5"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -4172,7 +3952,7 @@
                     "type": "github"
                     "type": "github"
                 }
                 }
             ],
             ],
-            "time": "2021-11-11T13:51:24+00:00"
+            "time": "2022-09-14T06:00:17+00:00"
         },
         },
         {
         {
             "name": "sebastian/global-state",
             "name": "sebastian/global-state",
@@ -4570,16 +4350,16 @@
         },
         },
         {
         {
             "name": "symfony/console",
             "name": "symfony/console",
-            "version": "v4.4.43",
+            "version": "v4.4.47",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "8a2628d2d5639f35113dc1b833ecd91e1ed1cf46"
+                "reference": "4f40012db8d55c956406890b5720f686fee7f7b7"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/8a2628d2d5639f35113dc1b833ecd91e1ed1cf46",
-                "reference": "8a2628d2d5639f35113dc1b833ecd91e1ed1cf46",
+                "url": "https://api.github.com/repos/symfony/console/zipball/4f40012db8d55c956406890b5720f686fee7f7b7",
+                "reference": "4f40012db8d55c956406890b5720f686fee7f7b7",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -4640,7 +4420,7 @@
             "description": "Eases the creation of beautiful and testable command line interfaces",
             "description": "Eases the creation of beautiful and testable command line interfaces",
             "homepage": "https://symfony.com",
             "homepage": "https://symfony.com",
             "support": {
             "support": {
-                "source": "https://github.com/symfony/console/tree/v4.4.43"
+                "source": "https://github.com/symfony/console/tree/v4.4.47"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -4656,20 +4436,20 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-06-23T12:22:25+00:00"
+            "time": "2022-10-04T05:58:30+00:00"
         },
         },
         {
         {
             "name": "symfony/finder",
             "name": "symfony/finder",
-            "version": "v4.4.41",
+            "version": "v4.4.44",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/finder.git",
                 "url": "https://github.com/symfony/finder.git",
-                "reference": "40790bdf293b462798882ef6da72bb49a4a6633a"
+                "reference": "66bd787edb5e42ff59d3523f623895af05043e4f"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/finder/zipball/40790bdf293b462798882ef6da72bb49a4a6633a",
-                "reference": "40790bdf293b462798882ef6da72bb49a4a6633a",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/66bd787edb5e42ff59d3523f623895af05043e4f",
+                "reference": "66bd787edb5e42ff59d3523f623895af05043e4f",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -4702,89 +4482,7 @@
             "description": "Finds files and directories via an intuitive fluent interface",
             "description": "Finds files and directories via an intuitive fluent interface",
             "homepage": "https://symfony.com",
             "homepage": "https://symfony.com",
             "support": {
             "support": {
-                "source": "https://github.com/symfony/finder/tree/v4.4.41"
-            },
-            "funding": [
-                {
-                    "url": "https://symfony.com/sponsor",
-                    "type": "custom"
-                },
-                {
-                    "url": "https://github.com/fabpot",
-                    "type": "github"
-                },
-                {
-                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
-                    "type": "tidelift"
-                }
-            ],
-            "time": "2022-04-14T15:36:10+00:00"
-        },
-        {
-            "name": "symfony/polyfill-ctype",
-            "version": "v1.26.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/polyfill-ctype.git",
-                "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
-                "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=7.1"
-            },
-            "provide": {
-                "ext-ctype": "*"
-            },
-            "suggest": {
-                "ext-ctype": "For best performance"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "1.26-dev"
-                },
-                "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
-                }
-            },
-            "autoload": {
-                "files": [
-                    "bootstrap.php"
-                ],
-                "psr-4": {
-                    "Symfony\\Polyfill\\Ctype\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Gert de Pagter",
-                    "email": "BackEndTea@gmail.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony polyfill for ctype functions",
-            "homepage": "https://symfony.com",
-            "keywords": [
-                "compatibility",
-                "ctype",
-                "polyfill",
-                "portable"
-            ],
-            "support": {
-                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
+                "source": "https://github.com/symfony/finder/tree/v4.4.44"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -4800,7 +4498,7 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-05-24T11:49:31+00:00"
+            "time": "2022-07-29T07:35:46+00:00"
         },
         },
         {
         {
             "name": "symfony/polyfill-php73",
             "name": "symfony/polyfill-php73",
@@ -4883,16 +4581,16 @@
         },
         },
         {
         {
             "name": "symfony/var-dumper",
             "name": "symfony/var-dumper",
-            "version": "v4.4.42",
+            "version": "v4.4.47",
             "source": {
             "source": {
                 "type": "git",
                 "type": "git",
                 "url": "https://github.com/symfony/var-dumper.git",
                 "url": "https://github.com/symfony/var-dumper.git",
-                "reference": "742aab50ad097bcb62d91fccb613f66b8047d2ca"
+                "reference": "1069c7a3fca74578022fab6f81643248d02f8e63"
             },
             },
             "dist": {
             "dist": {
                 "type": "zip",
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/742aab50ad097bcb62d91fccb613f66b8047d2ca",
-                "reference": "742aab50ad097bcb62d91fccb613f66b8047d2ca",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1069c7a3fca74578022fab6f81643248d02f8e63",
+                "reference": "1069c7a3fca74578022fab6f81643248d02f8e63",
                 "shasum": ""
                 "shasum": ""
             },
             },
             "require": {
             "require": {
@@ -4952,7 +4650,7 @@
                 "dump"
                 "dump"
             ],
             ],
             "support": {
             "support": {
-                "source": "https://github.com/symfony/var-dumper/tree/v4.4.42"
+                "source": "https://github.com/symfony/var-dumper/tree/v4.4.47"
             },
             },
             "funding": [
             "funding": [
                 {
                 {
@@ -4968,7 +4666,7 @@
                     "type": "tidelift"
                     "type": "tidelift"
                 }
                 }
             ],
             ],
-            "time": "2022-05-21T10:00:54+00:00"
+            "time": "2022-10-03T15:15:11+00:00"
         },
         },
         {
         {
             "name": "theseer/tokenizer",
             "name": "theseer/tokenizer",
@@ -5019,58 +4717,6 @@
                 }
                 }
             ],
             ],
             "time": "2021-07-28T10:34:58+00:00"
             "time": "2021-07-28T10:34:58+00:00"
-        },
-        {
-            "name": "webmozart/assert",
-            "version": "1.8.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/webmozarts/assert.git",
-                "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/webmozarts/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
-                "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^5.3.3 || ^7.0",
-                "symfony/polyfill-ctype": "^1.8"
-            },
-            "conflict": {
-                "vimeo/psalm": "<3.9.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^4.8.36 || ^7.5.13"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "Webmozart\\Assert\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@gmail.com"
-                }
-            ],
-            "description": "Assertions to validate method input/output with nice error messages.",
-            "keywords": [
-                "assert",
-                "check",
-                "validate"
-            ],
-            "support": {
-                "issues": "https://github.com/webmozarts/assert/issues",
-                "source": "https://github.com/webmozarts/assert/tree/1.8.0"
-            },
-            "time": "2020-04-18T12:12:48+00:00"
         }
         }
     ],
     ],
     "aliases": [],
     "aliases": [],

+ 18 - 1
install/deb/filemanager/filegator/configuration.php

@@ -11,6 +11,23 @@ $dist_config['frontend_config']['guest_redirection'] = '/login/' ;
 $dist_config['frontend_config']['upload_max_size'] = 1024 * 1024 * 1024;
 $dist_config['frontend_config']['upload_max_size'] = 1024 * 1024 * 1024;
 
 
 $dist_config['services']['Filegator\Services\Storage\Filesystem']['config']['adapter'] = function () {
 $dist_config['services']['Filegator\Services\Storage\Filesystem']['config']['adapter'] = function () {
+    if (!empty($_SESSION['INACTIVE_SESSION_TIMEOUT'])){
+    if ($_SESSION['INACTIVE_SESSION_TIMEOUT'] * 60 + $_SESSION['LAST_ACTIVITY'] < time()) {
+        $v_user = escapeshellarg($_SESSION['user']);
+        $v_session_id = escapeshellarg($_SESSION['token']);
+        exec('/usr/local/hestia/bin/v-log-user-logout ' . $v_user . ' ' . $v_session_id, $output, $return_var);
+        unset($_SESSION);
+        session_unset();
+        session_destroy();
+        session_start();
+        echo '<meta http-equiv="refresh" content="0; url=/">';
+        exit;
+    } else {
+        $_SESSION['LAST_ACTIVITY'] = time();
+    }
+    }else{
+        echo '<meta http-equiv="refresh" content="0; url=/">';
+    }
     if (isset($_SESSION['user'])) {
     if (isset($_SESSION['user'])) {
         $v_user = $_SESSION['user'];
         $v_user = $_SESSION['user'];
     }
     }
@@ -104,7 +121,7 @@ $dist_config['services']['Filegator\Services\View\ViewInterface']['config'] = [
             }
             }
             observer = new MutationObserver(callback);
             observer = new MutationObserver(callback);
             observer.observe(div,config);
             observer.observe(div,config);
-        }    
+        }
     }, 200);
     }, 200);
 </script>',
 </script>',
 ];
 ];

+ 5 - 6
install/deb/filemanager/install-fm.sh

@@ -22,8 +22,8 @@ fi
 
 
 FM_INSTALL_DIR="$HESTIA/web/fm"
 FM_INSTALL_DIR="$HESTIA/web/fm"
 
 
-FM_FILE="filegator_v${fm_v}.zip"
-FM_URL="https://github.com/filegator/filegator/releases/download/v${fm_v}/${FM_FILE}"
+FM_FILE="filegator_latest"
+FM_URL="https://github.com/filegator/static/raw/master/builds/filegator_latest.zip"
 
 
 
 
 COMPOSER_BIN="$HOMEDIR/$user/.composer/composer"
 COMPOSER_BIN="$HOMEDIR/$user/.composer/composer"
@@ -40,12 +40,11 @@ if [ "$fm_error" != "yes" ]; then
     mkdir -p "$FM_INSTALL_DIR"
     mkdir -p "$FM_INSTALL_DIR"
     cd "$FM_INSTALL_DIR"
     cd "$FM_INSTALL_DIR"
 
 
-    [ ! -f "${FM_INSTALL_DIR}/${FM_FILE}" ] && 
-        wget "$FM_URL" --quiet -O "${FM_INSTALL_DIR}/${FM_FILE}"
+    [ ! -f "${FM_INSTALL_DIR}/${FM_FILE}" ] && wget "$FM_URL" --quiet -O "${FM_INSTALL_DIR}/${FM_FILE}.zip"
 
 
-    unzip -qq "${FM_INSTALL_DIR}/${FM_FILE}"
+    unzip -qq "${FM_INSTALL_DIR}/${FM_FILE}.zip"
     mv --force ${FM_INSTALL_DIR}/filegator/* "${FM_INSTALL_DIR}"
     mv --force ${FM_INSTALL_DIR}/filegator/* "${FM_INSTALL_DIR}"
-    rm --recursive --force ${FM_INSTALL_DIR}/filegator
+    rm --recursive --force ${FM_INSTALL_DIR}/${FM_FILE}
     [[ -f "${FM_INSTALL_DIR}/${FM_FILE}" ]] && rm "${FM_INSTALL_DIR}/${FM_FILE}"
     [[ -f "${FM_INSTALL_DIR}/${FM_FILE}" ]] && rm "${FM_INSTALL_DIR}/${FM_FILE}"
 
 
     cp --recursive --force ${HESTIA_INSTALL_DIR}/filemanager/filegator/* "${FM_INSTALL_DIR}"
     cp --recursive --force ${HESTIA_INSTALL_DIR}/filemanager/filegator/* "${FM_INSTALL_DIR}"

+ 1 - 1
install/hst-install-debian.sh

@@ -31,7 +31,7 @@ HESTIA_INSTALL_DIR="$HESTIA/install/deb"
 VERBOSE='no'
 VERBOSE='no'
 
 
 # Define software versions
 # Define software versions
-HESTIA_INSTALL_VER='1.6.10'
+HESTIA_INSTALL_VER='1.6.11'
 # Dependencies
 # Dependencies
 multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1")
 multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1")
 fpm_v="8.0"
 fpm_v="8.0"

+ 1 - 1
install/hst-install-ubuntu.sh

@@ -31,7 +31,7 @@ HESTIA_INSTALL_DIR="$HESTIA/install/deb"
 VERBOSE='no'
 VERBOSE='no'
 
 
 # Define software versions
 # Define software versions
-HESTIA_INSTALL_VER='1.6.10'
+HESTIA_INSTALL_VER='1.6.11'
 # Dependencies
 # Dependencies
 multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1")
 multiphp_v=("5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1")
 fpm_v="8.0"
 fpm_v="8.0"

+ 2 - 2
install/upgrade/upgrade.conf

@@ -50,14 +50,14 @@ pma_v='5.2.0'
 rc_v='1.6.0'
 rc_v='1.6.0'
 
 
 # Set version of Rainloop (Webmail) to update during upgrade if not already installed
 # Set version of Rainloop (Webmail) to update during upgrade if not already installed
-rl_v='1.16.0'
+rl_v='1.17.0'
 
 
 # Update the File Manager or it's configuration file
 # Update the File Manager or it's configuration file
 # Check if Filegator requires an update based on current version and setting below 
 # Check if Filegator requires an update based on current version and setting below 
 # UPGRADE_UPDATE_FILEMANAGER_CONFIG: Updates only the configuration file if changes are made but now new issue has been issued!
 # UPGRADE_UPDATE_FILEMANAGER_CONFIG: Updates only the configuration file if changes are made but now new issue has been issued!
 UPGRADE_UPDATE_FILEMANAGER_CONFIG='false'
 UPGRADE_UPDATE_FILEMANAGER_CONFIG='false'
 # Set version of File manager to update during upgrade if not already installed
 # Set version of File manager to update during upgrade if not already installed
-fm_v='7.8.2'
+fm_v='7.8.7'
 
 
 # Set version of PHPMailer to update during upgrade if not already installed
 # Set version of PHPMailer to update during upgrade if not already installed
 pm_v='6.6.5'
 pm_v='6.6.5'

+ 1 - 1
src/deb/hestia/control

@@ -1,7 +1,7 @@
 Source: hestia
 Source: hestia
 Package: hestia
 Package: hestia
 Priority: optional
 Priority: optional
-Version: 1.6.10
+Version: 1.6.11
 Section: admin
 Section: admin
 Maintainer: HestiaCP <info@hestiacp.com>
 Maintainer: HestiaCP <info@hestiacp.com>
 Homepage: https://www.hestiacp.com
 Homepage: https://www.hestiacp.com

+ 1 - 1
src/deb/nginx/control

@@ -1,7 +1,7 @@
 Source: hestia-nginx
 Source: hestia-nginx
 Package: hestia-nginx
 Package: hestia-nginx
 Priority: optional
 Priority: optional
-Version: 1.23.1
+Version: 1.23.2
 Section: admin
 Section: admin
 Maintainer: HestiaCP <info@hestiacp.com>
 Maintainer: HestiaCP <info@hestiacp.com>
 Homepage: https://www.hestiacp.com
 Homepage: https://www.hestiacp.com

+ 1 - 1
src/deb/php/control

@@ -1,7 +1,7 @@
 Source: hestia-php
 Source: hestia-php
 Package: hestia-php
 Package: hestia-php
 Priority: optional
 Priority: optional
-Version: 8.1.11
+Version: 8.1.12
 Section: admin
 Section: admin
 Maintainer: HestaCP <info@hestiacp.com>
 Maintainer: HestaCP <info@hestiacp.com>
 Homepage: https://www.hestiacp.com
 Homepage: https://www.hestiacp.com

+ 30 - 30
src/hst_autocompile.sh

@@ -3,10 +3,10 @@
 # set -e
 # set -e
 # Autocompile Script for HestiaCP package Files.
 # Autocompile Script for HestiaCP package Files.
 # For building from local source folder use "~localsrc" keyword as hesia branch name,
 # For building from local source folder use "~localsrc" keyword as hesia branch name,
-#   and the script will not try to download the arhive from github, since '~' char is 
+#   and the script will not try to download the arhive from github, since '~' char is
 #   not accepted in branch name.
 #   not accepted in branch name.
 # Compile but dont install -> ./hst_autocompile.sh --hestia --noinstall --keepbuild '~localsrc'
 # Compile but dont install -> ./hst_autocompile.sh --hestia --noinstall --keepbuild '~localsrc'
-# Compile and install -> ./hst_autocompile.sh --hestia --install '~localsrc' 
+# Compile and install -> ./hst_autocompile.sh --hestia --install '~localsrc'
 
 
 # Clear previous screen output
 # Clear previous screen output
 clear
 clear
@@ -131,7 +131,7 @@ else
 fi
 fi
 
 
 # Set packages to compile
 # Set packages to compile
-for i in $*; do 
+for i in $*; do
     case "$i" in
     case "$i" in
         --all)
         --all)
           NGINX_B='true'
           NGINX_B='true'
@@ -190,7 +190,7 @@ if [ -z $branch ]; then
 fi
 fi
 
 
 if [ $(echo "$branch" | grep '^~localsrc')  ]; then
 if [ $(echo "$branch" | grep '^~localsrc')  ]; then
-    branch=$(echo "$branch" | sed 's/^~//'); 
+    branch=$(echo "$branch" | sed 's/^~//');
     use_src_folder='true'
     use_src_folder='true'
 else
 else
     use_src_folder='false'
     use_src_folder='false'
@@ -224,7 +224,7 @@ if [ -e "/etc/redhat-release" ]; then
 else
 else
     HESTIA_V="${BUILD_VER}_${BUILD_ARCH}"
     HESTIA_V="${BUILD_VER}_${BUILD_ARCH}"
 fi
 fi
-OPENSSL_V='3.0.5'
+OPENSSL_V='3.0.7'
 PCRE_V='10.40'
 PCRE_V='10.40'
 ZLIB_V='1.2.12'
 ZLIB_V='1.2.12'
 
 
@@ -324,7 +324,7 @@ branch_dash=$(echo "$branch" |sed 's/\//-/g');
 
 
 if [ "$NGINX_B" = true ] ; then
 if [ "$NGINX_B" = true ] ; then
     echo "Building hestia-nginx package..."
     echo "Building hestia-nginx package..."
-    if [ "$CROSS" = "true" ]; then 
+    if [ "$CROSS" = "true" ]; then
       echo "Cross compile not supported for hestia-nginx or hestia-php"
       echo "Cross compile not supported for hestia-nginx or hestia-php"
       exit 1;
       exit 1;
     fi
     fi
@@ -334,10 +334,10 @@ if [ "$NGINX_B" = true ] ; then
     BUILD_DIR_HESTIANGINX=$BUILD_DIR/hestia-nginx_$NGINX_V
     BUILD_DIR_HESTIANGINX=$BUILD_DIR/hestia-nginx_$NGINX_V
     if [[ $NGINX_V =~ - ]]; then
     if [[ $NGINX_V =~ - ]]; then
       BUILD_DIR_NGINX=$BUILD_DIR/nginx-$(echo $NGINX_V |cut -d"-" -f1)
       BUILD_DIR_NGINX=$BUILD_DIR/nginx-$(echo $NGINX_V |cut -d"-" -f1)
-    else 
+    else
       BUILD_DIR_NGINX=$BUILD_DIR/nginx-$(echo $NGINX_V |cut -d"~" -f1)
       BUILD_DIR_NGINX=$BUILD_DIR/nginx-$(echo $NGINX_V |cut -d"~" -f1)
     fi
     fi
-    
+
     if [ "$KEEPBUILD" != 'true' ] || [ ! -d "$BUILD_DIR_HESTIANGINX" ]; then
     if [ "$KEEPBUILD" != 'true' ] || [ ! -d "$BUILD_DIR_HESTIANGINX" ]; then
         # Check if target directory exist
         # Check if target directory exist
         if [ -d "$BUILD_DIR_HESTIANGINX" ]; then
         if [ -d "$BUILD_DIR_HESTIANGINX" ]; then
@@ -471,23 +471,23 @@ fi
 #################################################################################
 #################################################################################
 
 
 if [ "$PHP_B" = true ] ; then
 if [ "$PHP_B" = true ] ; then
-    if [ "$CROSS" = "true" ]; then 
+    if [ "$CROSS" = "true" ]; then
       echo "Cross compile not supported for hestia-nginx or hestia-php"
       echo "Cross compile not supported for hestia-nginx or hestia-php"
       exit 1;
       exit 1;
     fi
     fi
-    
+
     echo "Building hestia-php package..."
     echo "Building hestia-php package..."
 
 
     BUILD_DIR_HESTIAPHP=$BUILD_DIR/hestia-php_$PHP_V
     BUILD_DIR_HESTIAPHP=$BUILD_DIR/hestia-php_$PHP_V
-    
+
     BUILD_DIR_PHP=$BUILD_DIR/php-$(echo $PHP_V |cut -d"~" -f1)
     BUILD_DIR_PHP=$BUILD_DIR/php-$(echo $PHP_V |cut -d"~" -f1)
-    
+
     if [[ $PHP_V =~ - ]]; then
     if [[ $PHP_V =~ - ]]; then
       BUILD_DIR_PHP=$BUILD_DIR/php-$(echo $PHP_V |cut -d"-" -f1)
       BUILD_DIR_PHP=$BUILD_DIR/php-$(echo $PHP_V |cut -d"-" -f1)
     else
     else
       BUILD_DIR_PHP=$BUILD_DIR/php-$(echo $PHP_V |cut -d"~" -f1)
       BUILD_DIR_PHP=$BUILD_DIR/php-$(echo $PHP_V |cut -d"~" -f1)
     fi
     fi
-    
+
     if [ "$KEEPBUILD" != 'true' ] || [ ! -d "$BUILD_DIR_HESTIAPHP" ]; then
     if [ "$KEEPBUILD" != 'true' ] || [ ! -d "$BUILD_DIR_HESTIAPHP" ]; then
         # Check if target directory exist
         # Check if target directory exist
         if [ -d $BUILD_DIR_HESTIAPHP ]; then
         if [ -d $BUILD_DIR_HESTIAPHP ]; then
@@ -547,7 +547,7 @@ if [ "$PHP_B" = true ] ; then
     # Move php directory
     # Move php directory
     [ "$HESTIA_DEBUG" ] && echo DEBUG: mkdir -p $BUILD_DIR_HESTIAPHP/usr/local/hestia
     [ "$HESTIA_DEBUG" ] && echo DEBUG: mkdir -p $BUILD_DIR_HESTIAPHP/usr/local/hestia
     mkdir -p $BUILD_DIR_HESTIAPHP/usr/local/hestia
     mkdir -p $BUILD_DIR_HESTIAPHP/usr/local/hestia
-    
+
     [ "$HESTIA_DEBUG" ] && echo DEBUG: rm -r $BUILD_DIR_HESTIAPHP/usr/local/hestia/php
     [ "$HESTIA_DEBUG" ] && echo DEBUG: rm -r $BUILD_DIR_HESTIAPHP/usr/local/hestia/php
     if [ -d $BUILD_DIR_HESTIAPHP/usr/local/hestia/php ]; then
     if [ -d $BUILD_DIR_HESTIAPHP/usr/local/hestia/php ]; then
         rm -r $BUILD_DIR_HESTIAPHP/usr/local/hestia/php
         rm -r $BUILD_DIR_HESTIAPHP/usr/local/hestia/php
@@ -625,27 +625,27 @@ fi
 arch="$BUILD_ARCH"
 arch="$BUILD_ARCH"
 
 
 if [ "$HESTIA_B" = true ]; then
 if [ "$HESTIA_B" = true ]; then
-  if [ "$CROSS" = "true" ]; then 
+  if [ "$CROSS" = "true" ]; then
     arch="amd64 arm64"
     arch="amd64 arm64"
   fi
   fi
-  for BUILD_ARCH in $arch; do 
+  for BUILD_ARCH in $arch; do
       echo "Building Hestia Control Panel package..."
       echo "Building Hestia Control Panel package..."
-      
+
       BUILD_DIR_HESTIA=$BUILD_DIR/hestia_$HESTIA_V
       BUILD_DIR_HESTIA=$BUILD_DIR/hestia_$HESTIA_V
-  
+
       # Change to build directory
       # Change to build directory
       cd $BUILD_DIR
       cd $BUILD_DIR
-  
+
       if [ "$KEEPBUILD" != 'true' ] || [ ! -d "$BUILD_DIR_HESTIA" ]; then
       if [ "$KEEPBUILD" != 'true' ] || [ ! -d "$BUILD_DIR_HESTIA" ]; then
           # Check if target directory exist
           # Check if target directory exist
           if [ -d $BUILD_DIR_HESTIA ]; then
           if [ -d $BUILD_DIR_HESTIA ]; then
               rm -r $BUILD_DIR_HESTIA
               rm -r $BUILD_DIR_HESTIA
           fi
           fi
-  
+
           # Create directory
           # Create directory
           mkdir -p $BUILD_DIR_HESTIA
           mkdir -p $BUILD_DIR_HESTIA
       fi
       fi
-  
+
       cd $BUILD_DIR
       cd $BUILD_DIR
       rm -rf $BUILD_DIR/hestiacp-$branch_dash
       rm -rf $BUILD_DIR/hestiacp-$branch_dash
       # Download and unpack source files
       # Download and unpack source files
@@ -655,16 +655,16 @@ if [ "$HESTIA_B" = true ]; then
       elif [ -d $SRC_DIR ]; then
       elif [ -d $SRC_DIR ]; then
           download_file $HESTIA_ARCHIVE_LINK '-' 'fresh' | tar xz
           download_file $HESTIA_ARCHIVE_LINK '-' 'fresh' | tar xz
       fi
       fi
-  
+
       mkdir -p $BUILD_DIR_HESTIA/usr/local/hestia
       mkdir -p $BUILD_DIR_HESTIA/usr/local/hestia
-  
+
       # Move needed directories
       # Move needed directories
       cd $BUILD_DIR/hestiacp-$branch_dash
       cd $BUILD_DIR/hestiacp-$branch_dash
       cp -rf bin func install web $BUILD_DIR_HESTIA/usr/local/hestia/
       cp -rf bin func install web $BUILD_DIR_HESTIA/usr/local/hestia/
-  
+
       # Set permissions
       # Set permissions
       find $BUILD_DIR_HESTIA/usr/local/hestia/ -type f -exec chmod -x {} \;
       find $BUILD_DIR_HESTIA/usr/local/hestia/ -type f -exec chmod -x {} \;
-      
+
       # Allow send email via /usr/local/hestia/web/inc/mail-wrapper.php via cli
       # Allow send email via /usr/local/hestia/web/inc/mail-wrapper.php via cli
       chmod +x $BUILD_DIR_HESTIA/usr/local/hestia/web/inc/mail-wrapper.php
       chmod +x $BUILD_DIR_HESTIA/usr/local/hestia/web/inc/mail-wrapper.php
       # Allow the executable to be executed
       # Allow the executable to be executed
@@ -672,7 +672,7 @@ if [ "$HESTIA_B" = true ]; then
       find $BUILD_DIR_HESTIA/usr/local/hestia/install/ \( -name '*.sh' \) -exec chmod +x {} \;
       find $BUILD_DIR_HESTIA/usr/local/hestia/install/ \( -name '*.sh' \) -exec chmod +x {} \;
       chmod -x $BUILD_DIR_HESTIA/usr/local/hestia/install/*.sh
       chmod -x $BUILD_DIR_HESTIA/usr/local/hestia/install/*.sh
       chown -R root:root $BUILD_DIR_HESTIA
       chown -R root:root $BUILD_DIR_HESTIA
-  
+
       if [ "$BUILD_DEB" = true ]; then
       if [ "$BUILD_DEB" = true ]; then
           # Get Debian package files
           # Get Debian package files
           mkdir -p $BUILD_DIR_HESTIA/DEBIAN
           mkdir -p $BUILD_DIR_HESTIA/DEBIAN
@@ -685,17 +685,17 @@ if [ "$HESTIA_B" = true ]; then
           get_branch_file 'src/deb/hestia/postinst' "$BUILD_DIR_HESTIA/DEBIAN/postinst"
           get_branch_file 'src/deb/hestia/postinst' "$BUILD_DIR_HESTIA/DEBIAN/postinst"
           chmod +x $BUILD_DIR_HESTIA/DEBIAN/postinst
           chmod +x $BUILD_DIR_HESTIA/DEBIAN/postinst
           chmod +x $BUILD_DIR_HESTIA/DEBIAN/preinst
           chmod +x $BUILD_DIR_HESTIA/DEBIAN/preinst
-  
+
           echo Building Hestia DEB
           echo Building Hestia DEB
           dpkg-deb -Zxz --build $BUILD_DIR_HESTIA $DEB_DIR
           dpkg-deb -Zxz --build $BUILD_DIR_HESTIA $DEB_DIR
       fi
       fi
-  
+
       if [ "$BUILD_RPM" = true ]; then
       if [ "$BUILD_RPM" = true ]; then
           # Get RHEL package files
           # Get RHEL package files
           get_branch_file 'src/rpm/hestia/hestia.spec' "${BUILD_DIR_HESTIA}/hestia.spec"
           get_branch_file 'src/rpm/hestia/hestia.spec' "${BUILD_DIR_HESTIA}/hestia.spec"
           sed -i "s/%HESTIA-VERSION%/${HESTIA_V}/g" "${BUILD_DIR_HESTIA}/hestia.spec"
           sed -i "s/%HESTIA-VERSION%/${HESTIA_V}/g" "${BUILD_DIR_HESTIA}/hestia.spec"
           get_branch_file 'src/rpm/hestia/hestia.service' "${BUILD_DIR_HESTIA}/hestia.service"
           get_branch_file 'src/rpm/hestia/hestia.service' "${BUILD_DIR_HESTIA}/hestia.service"
-  
+
           # Build RPM package
           # Build RPM package
           mkdir -p $BUILD_DIR/rpmbuild
           mkdir -p $BUILD_DIR/rpmbuild
           echo Building Hestia RPM
           echo Building Hestia RPM
@@ -704,7 +704,7 @@ if [ "$HESTIA_B" = true ]; then
           rm ~/rpmbuild/RPMS/x86_64/hestia-*.rpm
           rm ~/rpmbuild/RPMS/x86_64/hestia-*.rpm
           rm -rf $BUILD_DIR/rpmbuild
           rm -rf $BUILD_DIR/rpmbuild
       fi
       fi
-  
+
       # clear up the source folder
       # clear up the source folder
       if [ "$KEEPBUILD" != 'true' ]; then
       if [ "$KEEPBUILD" != 'true' ]; then
           rm -r $BUILD_DIR_HESTIA
           rm -r $BUILD_DIR_HESTIA

+ 11 - 0
web/js/pages/edit_mail_acc.js

@@ -40,6 +40,16 @@ App.Listeners.MAIL_ACC.checkbox_unlimited_feature = function() {
     $('.unlim-trigger').on('click', App.Actions.MAIL_ACC.toggle_unlimited_feature);
     $('.unlim-trigger').on('click', App.Actions.MAIL_ACC.toggle_unlimited_feature);
 }
 }
 
 
+
+App.Helpers.isUnlimitedValue = function(value) {
+    var value = value.trim();
+    if (value == App.Constants.UNLIM_VALUE || value == App.Constants.UNLIM_TRANSLATED_VALUE) {
+        return true;
+    }
+
+    return false;
+}
+
 App.Listeners.MAIL_ACC.init = function() {
 App.Listeners.MAIL_ACC.init = function() {
     $('.unlim-trigger').each(function(i, elm) {
     $('.unlim-trigger').each(function(i, elm) {
         var ref = $(elm).prev('.vst-input');
         var ref = $(elm).prev('.vst-input');
@@ -52,6 +62,7 @@ App.Listeners.MAIL_ACC.init = function() {
         }
         }
     });
     });
 }
 }
+App.Listeners.MAIL_ACC.checkbox_unlimited_feature();
 
 
 App.Actions.MAIL_ACC.update_v_password = function (){
 App.Actions.MAIL_ACC.update_v_password = function (){
     var password = $('input[name="v_password"]').val();
     var password = $('input[name="v_password"]').val();

+ 0 - 1
web/js/pages/list_ssl.js

@@ -21,7 +21,6 @@ function saveTextToBlob ( file, element ){
     }
     }
 
 
     downloadLink.click();
     downloadLink.click();
-    return false;
 }
 }
 
 
 function destroyClickedElement(event)
 function destroyClickedElement(event)

+ 1 - 1
web/list/log/index.php

@@ -31,7 +31,7 @@ $data = json_decode(implode('', $output), true);
 $data = array_reverse($data);
 $data = array_reverse($data);
 unset($output);
 unset($output);
 if (empty($_SESSION['look'])) {
 if (empty($_SESSION['look'])) {
-    $_SESSION['look'] = '';
+    unset($_SESSION['look']);
 }
 }
 
 
 // Render page
 // Render page

+ 1 - 0
web/src/app/WebApp/Installers/Wordpress/WordpressSetup.php

@@ -41,6 +41,7 @@ class WordpressSetup extends BaseSetup
                         'it_IT' => 'Italian',
                         'it_IT' => 'Italian',
                         'nl_NL' => 'Dutch',
                         'nl_NL' => 'Dutch',
                         'pt_PT' => 'Portuguese',
                         'pt_PT' => 'Portuguese',
+                        'pt_BR' => 'Portuguese (Brazil)',
                         'sk_SK' => 'Slovak',
                         'sk_SK' => 'Slovak',
                         'sr_RS' => 'Serbian',
                         'sr_RS' => 'Serbian',
                         'tr_TR' => 'Turkish',
                         'tr_TR' => 'Turkish',

+ 2 - 2
web/templates/pages/add_firewall_ipset.html

@@ -99,8 +99,8 @@
 
 
 <script>
 <script>
 	var country_iplists = [
 	var country_iplists = [
-		<?php 
-			$country = array('ca' => 'Canada', 'cn' => 'China', 'fr' => 'French', 'de' => 'Germany', 'in' => 'India', 'nl' => 'Netherlands', 'ro' => 'Romania', 'ru' => 'Russia', 'es' => 'Spain', 'ch' => 'Switzerland', 'tr' => 'Turkey', 'ua' => 'Ukraine',  'uk' => 'United Kingdom', 'us' => 'United States');
+		<?php
+			$country = array('ca' => 'Canada', 'cn' => 'China', 'fr' => 'French', 'de' => 'Germany', 'in' => 'India', 'nl' => 'Netherlands', 'ro' => 'Romania', 'ru' => 'Russia', 'es' => 'Spain', 'ch' => 'Switzerland', 'tr' => 'Turkey', 'ua' => 'Ukraine',  'gb' => 'United Kingdom', 'us' => 'United States');
 			foreach($country as $iso =>$name){
 			foreach($country as $iso =>$name){
 				echo '{name: "[IPv4] Country - '.$name.'",	source:"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/'.$iso.'/ipv4-aggregated.txt"},'."\n";
 				echo '{name: "[IPv4] Country - '.$name.'",	source:"https://raw.githubusercontent.com/ipverse/rir-ip/master/country/'.$iso.'/ipv4-aggregated.txt"},'."\n";
 			}
 			}

+ 2 - 2
web/templates/pages/add_mail_acc.html

@@ -98,7 +98,7 @@
 									<tr>
 									<tr>
 										<td>
 										<td>
 											<input type="text" size="20" class="vst-input" name="v_quota" value="<?=htmlentities(trim($v_quota, "'"))?>">
 											<input type="text" size="20" class="vst-input" name="v_quota" value="<?=htmlentities(trim($v_quota, "'"))?>">
-											<i class="unlim-trigger fas fa-infinity" title="<?=_('Unlimited');?>" id="unlim-quota" /</i>
+											<i class="unlim-trigger fas fa-infinity" title="<?=_('Unlimited');?>" id="unlim-quota"></i>
 										</td>
 										</td>
 									</tr>
 									</tr>
 									<tr>
 									<tr>
@@ -191,4 +191,4 @@
 			</tr>
 			</tr>
 		</table>
 		</table>
 	</form>
 	</form>
-</div>
+</div>