#!/bin/sh . "${_EXEC:-${0%/*}}/cgilite/cgilite.sh" . "${_EXEC}/cgilite/session.sh" . "${_EXEC}/cgilite/users.sh" . "${_EXEC}/tools.sh" . "${_EXEC}/acl.sh" export REV_PAGES=${REV_PAGES:-true} export REV_ATTACHMENTS=${REV_ATTACHMENTS:-false} export WIKI_THEME="${WIKI_THEME:-default}" which git >/dev/null || REV_PAGES=false [ "$REV_PAGES" != true ] && REV_ATTACHMENTS=false . "${_EXEC}/themes/${WIKI_THEME}.sh" # Renew session cookie, only if cookie already set [ "$(COOKIE session)" ] && SESSION_COOKIE wiki_text() { # Print source text of a wiki page # Get page from data or underlay dir local page="$(PATH "$1")" mdfile mdfile="$(mdfile "$page")" || return 4 acl_read "$page" || return 3 cat -- "$mdfile" } if [ "$REV_PAGES" = true -a ! -f "$_DATA/.gitignore" ]; then cat >"$_DATA/.gitignore" <<-EOF users.db serverkey **/#cache/ **/#page.lock **/#page.*.cache **/#page.*.cache.* **/#page:*.*.cache **/#page:*.*.cache.* EOF [ "$REV_ATTACHMENTS" != true ] \ && printf '**/#attachments/\n' >>"$_DATA/.gitignore" git init "$_DATA" git -C "$_DATA" add .gitignore printf '%s\n' "" "[user]" \ "email = \"shellwiki@localhost\"" \ "name = \"Shellwiki\"" \ >>"$_DATA/.git/config" git -C "$_DATA" commit -m 'initialization' -- .gitignore fi 1>&2 for handler in "$_EXEC"/handlers/*; do . "$handler" && break done if [ $? != 0 ]; then export ERROR_MSG="The presented URL schema cannot be handled" theme_error 400 fi