#!/bin/sh . "$_EXEC/cgilite/cgilite.sh" . "$_EXEC/tools.sh" . "$_EXEC/acl.sh" _(){ printf %s\\n "$*"; } [ "${LANGUAGE}" -a -r "${_EXEC}/l10n/${LANGUAGE}.sh" ] && . "${_EXEC}/l10n/${LANGUAGE}.sh" LIST=true DIFF= while [ $# -gt 0 ]; do case $1 in --list) LIST=true shift 1 ;; --no-list) LIST= shift 1 ;; --diff) DIFF=true shift 1 ;; --no-diff) DIFF= shift 1 ;; *)page="$1" shift 1 ;; esac; done page_abs="$(page_abs "$page")" page_default="${page_abs%:*/}" if ! acl_read "$page_abs"; then return 0 fi printf '
\n' if [ "$REV_PAGES" != true ]; then printf '
%s
' "$(_ GIT is not available to handle revisioning.)" exit 1 fi if [ "$LIST" = true ]; then printf '\n' fi if [ "$DIFF" = true -a "$LANGUAGE_DEFAULT" -a "$page_default" != "$page_abs" ]; then commit="$(git -C "$_DATA" log --pretty=format:%H -- "pages${page_abs}#page.md" |head -n1)" printf '

%s

' "$(_ 'Latest changes to the original language page')" git -C "$_DATA" diff -U3 "$commit" -- "pages${page_default}#page.md" |tail -n+5 \ | while read -r diff; do case $diff in @@\ *\ @@*) line="${diff#@@ * @@}" num="${diff%"${line}"}" printf '%s\n' "$(HTML "$num")" printf '%s\n' "$(HTML "$line")" ;; -*) printf '%s\n' "$(HTML "$diff")";; +*) printf '%s\n' "$(HTML "$diff")";; \ *) printf '%s\n' "$(HTML "$diff")";; \\\ *) printf '%s\n' "$(HTML "$diff")";; esac; done printf '
' fi printf '
\n'