| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- # info: add wp-cli for a user
- # options: USER
- # labels: hestia
- #
- # example: v-add-user-wp-cli user
- #
- # The function adds support for wp-cli to the user account
- #----------------------------------------------------------#
- # Variable&Function #
- #----------------------------------------------------------#
- # Argument definition
- user=$1
- if [ -z "$HESTIA" ]; then
- HESTIA="/usr/local/hestia"
- fi
- source $HESTIA/func/main.sh
- #----------------------------------------------------------#
- # Verifications #
- #----------------------------------------------------------#
- check_args '1' "$#" 'USER'
- is_format_valid 'user'
- is_object_valid 'user' 'USER' "$user"
- is_object_unsuspended 'user' 'USER' "$user"
- [ -z "$HOMEDIR" ] && check_result $E_NOTEXIST "Hestia environment vars not present"
- # Perform verification if read-only mode is enabled
- check_hestia_demo_mode
- #----------------------------------------------------------#
- # Action #
- #----------------------------------------------------------#
- WPCLI_DIR="/home/$user/.wp"
- WPCLI_BIN="$WPCLI_DIR/wp"
- WPCLICACHE_DIR="/home/$user/.wp-cli"
- if [ -f "$WPCLI_DIR" ]; then
- echo "WP-CLI already available"
- exit
- fi
- [ -z "$(readlink -m "$WPCLI_DIR" | egrep "^$HOMEDIR/$user/")" ] && check_result $E_FORBIDEN "Path outside of user homedir (WP Cli dir)"
- [ -z "$(readlink -m "$WPCLI_BIN" | egrep "^$HOMEDIR/$user/")" ] && check_result $E_FORBIDEN "Path outside of user homedir (WP Cli bin)"
- mkdir -p "$WPCLI_DIR"
- chown $user:$user "$WPCLI_DIR"
- user_exec wget --tries=3 --timeout=15 --read-timeout=15 --waitretry=3 --no-dns-cache --quiet -O $WPCLI_BIN https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
- user_exec chmod +x $WPCLI_BIN
- #----------------------------------------------------------#
- # Hestia #
- #----------------------------------------------------------#
- # Logging
- log_history "Enabled wp-cli for user $user"
- log_event "$OK" "$ARGUMENTS"
- exit
|