X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=handlers%2F40_revision.sh;h=e06a95b16843b256a3610a21aa41a03d0373d2a6;hb=88f810ea1d815a37dc57d380e8c8ebaaa16b9466;hp=08350c7b80855bca4624a5091ea00f760edc6939;hpb=3a2e8368acb337c5b96faff1e0aeed58c04b5a99;p=shellwiki diff --git a/handlers/40_revision.sh b/handlers/40_revision.sh index 08350c7..e06a95b 100755 --- a/handlers/40_revision.sh +++ b/handlers/40_revision.sh @@ -1,14 +1,30 @@ #!/bin/sh +# Copyright 2022 - 2024 Paul Hänsch +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +# IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + case "${PATH_INFO}" in */\[revision\]/) REDIRECT "${_BASE}${PATH_INFO%/}" ;; */\[revision\]) - if ! acl_read "${PATH_INFO%\[revision\]}"; then + page="${PATH_INFO%\[revision\]}" + if ! acl_read "${page}"; then theme_error 403 else - theme_revisions "${PATH_INFO%\[revision\]}" + "$_EXEC/macros/revisions" --list --diff "${page}" \ + | theme_revisions - "$(_ Revisions): ${PAGE_TITLE:-"${page##*/}"}" fi return 0 ;; @@ -25,7 +41,7 @@ case "${PATH_INFO}" in cd "${_DATA}/pages${page}" || cd "${_DATA}/pages/" git -C "${_DATA}" show "${rev}:pages${PATH_INFO}#page.md" \ | { printf '
'; md; printf '
'; } \ - | theme_page - "${page##*/}" + | theme_page - "${PAGE_TITLE:-"${page##*/}"} (${rev})" ) fi return 0