|
|
@@ -0,0 +1,70 @@
|
|
|
+#!/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
|