function _mysql_vars() { # someone might want to use empty password for development, # let's make it possible - we asked before. if [ -z $DBPASS ]; then # password still empty PASSWDSECTION="" else PASSWDSECTION="-p$DBPASS" fi HOSTSECTTION="" if [ ! -z "$DBHOST" ]; then HOSTSECTION="-h $DBHOST" fi PORTSECTION="" if [ ! -z "$DBPORT" ]; then PORTSECTION="-P $DBPORT" fi } function mysql_cmd() { _mysql_vars echo "mysql -u$DBUSER $PASSWDSECTION $HOSTSECTION $PORTSECTION $DBARGS $DBNAME" } function mysqladmin_cmd() { _mysql_vars echo "mysqladmin -u$DBUSER $PASSWDSECTION $HOSTSECTION $PORTSECTION $DBARGS" } function mysqldump_cmd() { _mysql_vars echo "mysqldump -u$DBUSER $PASSWDSECTION $HOSTSECTION $PORTSECTION $DBARGS" } ## Pick the first available command. If none, then abort. ## example: COMPOSER=$(pickcmd composer composer.phar) function pickcmd() { for name in "$@" ; do if which $name >> /dev/null ; then echo $name return fi done echo "ERROR: Failed to find any of these commands: $@" exit 1 } ## usage: has_commands ... function has_commands() { for cmd in "$@" ; do if ! which $cmd >> /dev/null ; then return 1 fi done return 0 } ## Execute some PHP within CMS context ## usage: cms_eval '' function cms_eval() { case "$GENCODE_CMS" in [Dd]rupal*|[Bb]ackdrop) drush ev "$1" ;; [Ww]ordPress*) wp eval "$1" ;; *) echo "Cannot boot (GENCODE_CMS=$GENCODE_CMS)" > /dev/stderr exit 1 ;; esac }