+0  
 
0
937
0
avatar
#! /usr/bin/ksh
##########################################################################
# Shellscript: cgitemplate.ksh - CGI script template
# Version : 1.2
# Author : Heiner Steven <heiner.steven@odn.de>
# Date : 2001-08-26
# Requires : ksh, urlgetopt
# Category : CGI
# SCCS-Id. : @(#) cgitemplate.ksh 1.2 04/02/18
##########################################################################
# Description
#
# Note
# o Needs the following, non-standard scripts and prograrms:
# urlgetopt (http://www.shelldorado.com/scripts/cmds/urlgetopt)
##########################################################################

PN=${0##*/} # Program name
VER='1.2'

Debug=false
#Debug=true

# Append directories with local commands to the command search path:
PATH=$PATH:/home/heiner/cmds
export PATH

function Usage {
$iscgi && print "<pre>"
print -u2 "$PN - short description, $VER"
$iscgi && print "</pre>"
exit 1
}

function Msg {
$iscgi && print "<pre>"
print -u2 "$PN:" "$@"
$iscgi && print "</pre>"
}

function Fatal { Msg "$@"; exit 1; }


# Redirect error messages to standard output, where we can see them
$Debug && exec 2>&1

# The variable "iscgi" can be used to determine, if the script was
# invoked as a CGI program, or from a command line

if [[ -n $REQUEST_METHOD ]]
then iscgi=true
else iscgi=false
fi

if $iscgi
then

if $Debug
then print "Content-type: text/plain\r\n\r"
else print "Content-type: text/html\r\n\r"
fi

case "$REQUEST_METHOD" in
(GET)
# CGI Arguments are in QUERY_STRING
;;

(POST)
# First line from standard input contains CGI arguments
read -r query_string || exit 2

# If QUERY_STRING is non-empty, append the string read from
# standard input. This is useful for debugging purposes

QUERY_STRING=${QUERY_STRING:+$QUERY_STRING&$query_string}
;;
(*)
Fatal "ERROR: unknown request method: $REQUEST_METHOD"
;;
esac

# Decode CGI arguments, sent script environment variables. Each
# variable will get the prefix FORM_. If a form variable has the name
# "email", the corresponding script variable will be named FORM_email

eval "$(urlgetopt -p FORM_ -l $QUERY_STRING)"

else

while getopts :h opt
do
case "$opt" in
# your flags here
#f) argument=$OPTARG;;
h) Usage;;
?) Usage;;
esac
done
shift OPTIND-1

fi

# At this point, the script's arguments are processed, and the script should
# write HTML code to standard output

print "DEBUG: Script arguments and their values:"
set | grep "^FORM_"

exit 0
 
 Apr 14, 2015

1 Online Users