#!/bin/bash
#
# start-webserver
#
# Start the PHP built-in webserver.
#

SELF_DIRNAME="`dirname -- "$0"`"
PROJECT_BASE_DIR="`cd -P -- "$SELF_DIRNAME/.." && pwd -P`"
DRUPAL_ROOT="$PROJECT_BASE_DIR/drupal"
if [ ! -d "$DRUPAL_ROOT" ] && [ -d "$PROJECT_BASE_DIR/web/sites" ]
then
  DRUPAL_ROOT="$PROJECT_BASE_DIR/web"
fi
if [ ! -d "$DRUPAL_ROOT" ] && [ -d "$PROJECT_BASE_DIR/htdocs/sites" ]
then
  DRUPAL_ROOT="$PROJECT_BASE_DIR/htdocs"
fi
if [ ! -d "$DRUPAL_ROOT" ] && [ -d "$PROJECT_BASE_DIR/code/sites" ]
then
  DRUPAL_ROOT="$PROJECT_BASE_DIR/code"
fi
if [ ! -d "$DRUPAL_ROOT" ] && [ -d "$PROJECT_BASE_DIR/../sites" ] && [ -f "$PROJECT_BASE_DIR/../index.php" ]
then
  DRUPAL_ROOT="`cd -P -- "$PROJECT_BASE_DIR/.." && pwd -P`"
fi

DEFAULT_ENVIRONMENT_SCRIPT="$PROJECT_BASE_DIR/scripts/default-environment"
if [ -f "$DEFAULT_ENVIRONMENT_SCRIPT" ]
then
  source "$DEFAULT_ENVIRONMENT_SCRIPT"
fi

# What is the URI for the site we are testing?
FALLBACK_URI="http://localhost:${PORT:-${DEFAULT_PORT:-8088}}"
TESTURI="${URI:-${DEFAULT_URI:-$FALLBACK_URI}}"

# Set up our $PATH
export PATH="$PROJECT_BASE_DIR/bin:$HOME/bin:$PATH"

# Use Drush to spin up PHP's built-in webserver
cd "$DRUPAL_ROOT"
echo drush runserver --uri="$TESTURI" --server=builtin --strict=0
drush runserver --uri="$TESTURI" --server=builtin --strict=0 </dev/null &>$HOME/server.log &
if [ $? != 0 ]
then
  echo "Could not start php built-in webserver" >&2
  exit 1
fi
