v-change-user-php-cli 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. # info: add php version alias to .bash_aliases
  3. # options: USER VERSION
  4. # labels: hestia
  5. #
  6. # example: v-change-user-php-cli user php7.4
  7. #
  8. # add line to .bash_aliases to set default php command line
  9. # version when multi-php is enabled.
  10. #----------------------------------------------------------#
  11. # Variable&Function #
  12. #----------------------------------------------------------#
  13. # Argument definition
  14. user=$1
  15. version=$2
  16. # Includes
  17. source $HESTIA/func/main.sh
  18. source $HESTIA/conf/hestia.conf
  19. #----------------------------------------------------------#
  20. # Verifications #
  21. #----------------------------------------------------------#
  22. FILE=$HOMEDIR/$user/.bash_aliases
  23. check_args '2' "$#" 'USER PHPVERSION'
  24. is_format_valid 'user'
  25. is_object_valid 'user' 'USER' "$user"
  26. is_object_unsuspended 'user' 'USER' "$user"
  27. # Reading user values
  28. source $USER_DATA/user.conf
  29. # Verify php version format
  30. if [[ ! $version =~ ^[0-9]\.[0-9]+ ]]; then
  31. echo "The php version format is invalid, it should look like [0-9].[0-9]..."
  32. exit
  33. fi
  34. # Check if php version is supported
  35. if [ ! -f "$HESTIA_INSTALL_DIR/multiphp/$WEB_SYSTEM/PHP-${version//.}.sh" ]; then
  36. echo "Version is currently not supported or does not exist..."
  37. exit
  38. fi
  39. # Create .bash_aliases is not exsists
  40. if [ ! -f "$FILE" ]; then
  41. touch $FILE
  42. chown $user:$user $FILE
  43. fi
  44. if grep -q "alias php='env php$version'" "$FILE"; then
  45. echo "PHP CLI Already defined"
  46. exit;
  47. fi
  48. # Perform verification if read-only mode is enabled
  49. check_hestia_demo_mode
  50. #----------------------------------------------------------#
  51. # Action #
  52. #----------------------------------------------------------#
  53. sed -i "/alias php='env/d" "$FILE"
  54. echo "alias php='env php$version'" >> $FILE
  55. update_user_value "$user" '$PHPCLI' "$version"
  56. #----------------------------------------------------------#
  57. # Hestia #
  58. #----------------------------------------------------------#
  59. $BIN/v-log-action "system" "Info" "Users" "Changed default PHP CLI version (User: $user, Version: $version)."
  60. exit