#!/bin/bash
#
# Wordpress Update
#
# Requires: cpio, find, tar and wget
# By Guillermo Antonio Amaral Bastidas < gamaral@amaral.com.mx >
#

### CONFIGURE ###

declare WORDPRESS_LATEST='http://wordpress.org/latest.tar.gz'
declare TMP_DIR='/tmp'

## DO NOT MODIFY BELOW THIS LINE ##

export PATH='/bin:/usr/bin'

declare CPIO=`which cpio`
declare FIND=`which find`
declare RM=`which rm`
declare TAR=`which tar`
declare TEST=`which test`
declare WGET=`which wget`

declare COMMAND="${1}"
declare DESTINATION="${2}"

if [ -z "${COMMAND}" -o "${COMMAND}" = "HELP" ]; then
    echo "Usage: ${0} [COMMAND] ([DESTINATION])"
    echo "       ${0} FETCH"
    echo "       ${0} UPDATE [PATH_TO_EXISTING_WORDPRESS_INSTALL]"
    echo
    exit 0;
elif [ "${COMMAND}" = "FETCH" ]; then
    ${WGET} -q -nv -O "${TMP_DIR}/wordpress.tar.gz" 'http://wordpress.org/latest.tar.gz'
    ${RM} -Rf "${TMP_DIR}/wordpress/"
    ${TAR} -xpszf "${TMP_DIR}/wordpress.tar.gz" -C"${TMP_DIR}"
elif [ "${COMMAND}" = "UPDATE" ]; then
    if [ -z "${DESTINATION}" ]; then
	echo "Usage: ${0} UPDATE [PATH_TO_EXISTING_WORDPRESS_INSTALL]"
	echo
	exit 1;
    fi

    ${TEST} -d "${DESTINATION}";
    if [ $? -ne 0 ]; then
	echo "Destination directory does not exist."
	echo "Abort"
	echo
	exit 2;
    fi

    ${TEST} -d "${TMP_DIR}/wordpress/";
    if [ $? -ne 0 ]; then
	bash ${0} FETCH

	if [ $? -ne 0 ]; then
	    echo 'Latest Wordpress Fetch Failed.'
	    echo 'Abort'
	    echo
	    exit 3;
	fi
    fi

    ( cd ${TMP_DIR}/wordpress/ && ${FIND} . | ${CPIO} -up --quiet "${DESTINATION}" )
    if [ $? -ne 0 ]; then
	echo 'Copy Failed'
	echo
	exit 1;
    fi
fi

exit 0;
