Added php-selector support

This commit is contained in:
Alexey Berezhok
2024-08-27 23:35:17 +03:00
parent cce8d44f91
commit 3a964e54b1
7 changed files with 153 additions and 28 deletions

56
bin/v-change-selector-state Executable file
View File

@@ -0,0 +1,56 @@
#!/bin/bash
# info: Change php selector state
# options: STATUS
# STATUS can be yes or no
# example: v-change-selector-state yes
status=$1
# Includes
# shellcheck source=/etc/hestiacp/hestia.conf
source /etc/hestiacp/hestia.conf
# shellcheck source=/usr/local/hestia/func/main.sh
source $HESTIA/func/main.sh
# load config file
source_conf "$HESTIA/conf/hestia.conf"
#----------------------------------------------------------#
# Variables & Functions #
#----------------------------------------------------------#
check_args '1' "$#" 'STATUS'
if [ -f /etc/redhat-release ]; then
:
else
log_event "$OK" "$ARGUMENTS"
exit 0
fi
# Perform verification if read-only mode is enabled
check_hestia_demo_mode
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
if [ "$status" == "yes" ]; then
update-alternatives --set php /usr/bin/hestiacp-php-selector
if [ $? -ne 0 ]; then
update-alternatives --install /usr/bin/php php /usr/bin/hestiacp-php-selector 1
update-alternatives --set php /usr/bin/hestiacp-php-selector
fi
change_sys_value "PHP_SELECTOR" "yes"
else
/usr/local/hestia_php_selector/hestiacp_php_selector_installer off
change_sys_value "PHP_SELECTOR" "no"
fi
#----------------------------------------------------------#
# Hestia #
#----------------------------------------------------------#
log_event "$OK" "$ARGUMENTS"

View File

@@ -83,6 +83,11 @@ if [ -f '/etc/redhat-release' ]; then
fi
update-alternatives --set php /usr/bin/php$version
if [ $? -eq 0 ]; then
update-alternatives --install /usr/bin/php php /usr/bin/php$version 1
update-alternatives --set php /usr/bin/php$version
fi
/usr/bin/hestiacp-php-admin system $version
#----------------------------------------------------------#
# Hestia #

View File

@@ -44,6 +44,7 @@ check_hestia_demo_mode
# Reading user values
source $USER_DATA/user.conf
versions=$($BIN/v-list-sys-php plain)
support=0
for v in $versions; do
@@ -57,27 +58,35 @@ if [ "$support" = 0 ]; then
exit 2
fi
# Create .bash_aliases is not exsists
if [ ! -f "$FILE" ]; then
if [ -f /etc/redhat-release ];then
mkdir -p $HOMEDIR/$user/.bashrc.d
chown -R $user:$user $HOMEDIR/$user/.bashrc.d
if [ "$PHP_SELECTOR" == "yes" ]; then
/usr/bin/hestiacp-php-admin set $user $version
if grep -q "alias php='env php" "$FILE"; then
sed -i "/alias php='env/d" $FILE
fi
touch $FILE
chown $user:$user $FILE
else
# Create .bash_aliases is not exsists
if [ ! -f "$FILE" ]; then
if [ -f /etc/redhat-release ];then
mkdir -p $HOMEDIR/$user/.bashrc.d
chown -R $user:$user $HOMEDIR/$user/.bashrc.d
fi
touch $FILE
chown $user:$user $FILE
fi
if grep -q "alias php='env php$version'" "$FILE"; then
echo "PHP CLI Already defined"
exit
fi
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
sed -i "/alias php='env/d" $FILE
echo "alias php='env php$version'" >> $FILE
fi
if grep -q "alias php='env php$version'" "$FILE"; then
echo "PHP CLI Already defined"
exit
fi
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
sed -i "/alias php='env/d" $FILE
echo "alias php='env php$version'" >> $FILE
update_user_value "$user" '$PHPCLI' "$version"
#----------------------------------------------------------#

View File

@@ -112,7 +112,8 @@ json_list() {
"APP_NAME": "'$APP_NAME'",
"TITLE": "'$TITLE'",
"SUBJECT_EMAIL": "'$SUBJECT_EMAIL'",
"HIDE_DOCS": "'$HIDE_DOCS'"
"HIDE_DOCS": "'$HIDE_DOCS'",
"PHP_SELECTOR": "'$PHP_SELECTOR'"
}
}'
}
@@ -226,10 +227,19 @@ shell_list() {
echo "Hide System Administator: $POLICY_SYSTEM_HIDE_ADMIN"
echo "Updates: Notify by email: $UPGRADE_SEND_EMAIL"
echo "Updates: Email install log: $UPGRADE_SEND_EMAIL_LOG"
if [ -n "$PHP_SELECTOR" ]; then
echo "PHP cli selector: $PHP_SELECTOR"
else
echo "PHP cli selector: no"
fi
}
# PLAIN list function
plain_list() {
T_PHP_SELECTOR="no"
if [ -n "$PHP_SELECTOR" ]; then
T_PHP_SELECTOR="$PHP_SELECTOR"
fi
echo -ne "$WEB_SYSTEM\t$WEB_RGROUPS\t$WEB_PORT\t$WEB_SSL\t"
echo -ne "$WEB_SSL_PORT\t$WEB_BACKEND\t$PROXY_SYSTEM\t$PROXY_PORT\t"
echo -ne "$PROXY_SSL_PORT\t$FTP_SYSTEM\t$MAIL_SYSTEM\t$IMAP_SYSTEM\t"
@@ -239,8 +249,9 @@ plain_list() {
echo -ne "$FILE_MANAGER\t$REPOSITORY\t$VERSION\t$DEMO_MODE\t$RELEASE_BRANCH\t"
echo -ne "$SMTP_RELAY_HOST\t$SMTP_RELAY_PORT\t$SMTP_RELAY_USER\t"
echo -ne "$UPGRADE_SEND_EMAIL\t$UPGRADE_SEND_EMAIL_LOG\t$THEME\t$LANGUAGE\t$BACKUP_GZIP\t"
echo -ne "$BACKUP\t$WEBMAIL_ALIAS\t$DB_PMA_URL\t$DB_PGA_URL\t\t$DEBUG_MODE\t$API\t$API_ALLOWED_IP"
echo -e "$POLICY_SYSTEM_PROTECTED_ADMIN\t$POLICY_SYSTEM_HIDE_ADMIN"
echo -ne "$BACKUP\t$WEBMAIL_ALIAS\t$DB_PMA_URL\t$DB_PGA_URL\t$DEBUG_MODE\t$API\t$API_ALLOWED_IP\t"
echo -ne "$POLICY_SYSTEM_PROTECTED_ADMIN\t$POLICY_SYSTEM_HIDE_ADMIN\t"
echo -e "$T_PHP_SELECTOR"
}
# CSV list
@@ -257,7 +268,8 @@ csv_list() {
echo -n "'UPGRADE_SEND_EMAIL','UPGRADE_SEND_EMAIL_LOG',"
echo -n "'THEME', 'LANGUAGE','BACKUP_GZIP','BACKUP','WEBMAIL_ALIAS',"
echo -n "'DB_PMA_ALIAS','DB_PGA_ALIAS','DEBUG_MODE','API','API_ALLOWED_IP',"
echo -n "'POLICY_SYSTEM_PROTECTED_ADMIN',POLICY_SYSTEM_HIDE_ADMIN'"
echo -n "'POLICY_SYSTEM_PROTECTED_ADMIN',POLICY_SYSTEM_HIDE_ADMIN',"
echo -n "'PHP_SELECTOR'"
echo
echo -n "'$WEB_SYSTEM','$WEB_RGROUPS','$WEB_PORT','$WEB_SSL',"
echo -n "'$WEB_SSL_PORT','$WEB_BACKEND','$PROXY_SYSTEM','$PROXY_PORT',"
@@ -268,8 +280,9 @@ csv_list() {
echo -n "'$REPOSITORY', '$VERSION','$DEMO_MODE','$RELEASE_BRANCH',"
echo -n "'$SMTP_RELAY','$SMTP_RELAY_HOST','$SMTP_RELAY_PORT','$SMTP_RELAY_USER',"
echo -n "'$UPGRADE_SEND_EMAIL','$UPGRADE_SEND_EMAIL_LOG','$THEME','$LANGUAGE',"
echo -n "'$BACKUP_GZIP','$BACKUP','$WEBMAIL_ALIAS','$DB_PMA_URL','$DB_PGA_URL'"
echo -n "'$DEBUG_MODE','$API','$API_ALLOWED_IP','$POLICY_SYSTEM_PROTECTED_ADMIN,$POLICY_SYSTEM_HIDE_ADMIN"
echo -n "'$BACKUP_GZIP','$BACKUP','$WEBMAIL_ALIAS','$DB_PMA_URL','$DB_PGA_URL',"
echo -n "'$DEBUG_MODE','$API','$API_ALLOWED_IP','$POLICY_SYSTEM_PROTECTED_ADMIN,$POLICY_SYSTEM_HIDE_ADMIN',"
echo -n "'$PHP_SELECTOR'"
echo
}
@@ -289,7 +302,7 @@ fi
# Listing data
case $format in
json) json_list ;;
plain) shell_list ;;
plain) plain_list ;;
csv) csv_list ;;
shell) shell_list ;;
esac