# You should have received a copy of the GNU Affero General Public License
# along with shcgi. If not, see <http://www.gnu.org/licenses/>.
-export LC_ALL=C
+export LC_ALL=C LANG=C
+DBG_ENABLED=false
+DBG_FILE=/dev/stderr
# this program is supposed to be symlinked into a http root directory
# we will use the http root as object storage (data directory) and call sub
_DATA="$(dirname "$call")" #storage directory
_EXEC="${real%/shcgi/index.cgi}" #execution directory
+# put debug options in the local.opts file
+[ -r "$_DATA/local.opts" ] && . "$_DATA/local.opts"
+
# basic functions
-die() {
- echo "$@" >&2
- exit 1
+debug() { #change to false to disable debugging
+ if [ "$DBG_ENABLED" = true -a -n "$*" ]; then
+ echo -E "$@" >>"$DBG_FILE"
+ elif [ "$DBG_ENABLED" = true -a -z "$*" ]; then
+ tee -a "$DBG_FILE"
+ elif [ -z "$*" ]; then
+ cat
+ fi
}
-debug() { #change to false to disable debugging
- #true && echo "$*" >>debug
- true && [ -n "$*" ] && echo -E "$*" >>/dev/stderr
- true && [ -z "$*" ] && tee /dev/stderr
+die() {
+ debug "$@"
+ echo -E "$@" >>/dev/stderr
+ exit 1
}
data_dirs(){
if [ -n "$_GET[\"action\"]" ]; then
. "$_EXEC/shcgi/action.sh"
-elif [ -n "$_GET[\"export\"]" ]; then
- . "$_EXEC/shcgi/export.sh"
else
. "$_EXEC/shcgi/page.sh"
fi