X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=themes%2Fdefault.sh;h=1f8d285d4eb9a241601dde074f0fbd80fcb66800;hb=83e0af894f4b236b13df61e96ac774de8c2605a5;hp=3c5f2a1819a000277c06dc31451a2013f1335812;hpb=922181c682dc5d499eea65ae502e894e88e07f84;p=shellwiki diff --git a/themes/default.sh b/themes/default.sh index 3c5f2a1..1f8d285 100755 --- a/themes/default.sh +++ b/themes/default.sh @@ -15,20 +15,27 @@ theme_header(){ } theme_footer(){ - printf '' "$(wiki '[wiki]/footer/' ||echo No footer)" + printf '' "$(wiki '[wiki]/footer/')" } -theme_page(){ - local page="$1" title - title="${page%/}"; title="${title##*/}" +theme_pagemenu(){ + local page="$1" - if [ ! "$(mdfile "$page")" ]; then - theme_error 404 - return 0 - elif ! acl_read "$page"; then - theme_error 403 - return 0 + if acl_write "$page"; then + printf ' + ' fi +} + +theme_page(){ + local page="$1" title="$2" id="$3" + title="$(HTML "${title:-"${page}"}")" + id="$(HTML "${id:-"${page}"}")" # Important! Web Server response including newline printf "%s\r\n" "Content-Type: text/html; charset=utf-8" "" @@ -37,19 +44,18 @@ theme_page(){ $(theme_head) - $(HTML "${title}") - + ${title} + $(theme_header)
- $(acl_write "$page" && printf %s \ - '' - ) -
- $(wiki "$page" || printf 'Error while loading page
function "wiki" of index.sh returned with an error.') -
+ $(theme_pagemenu) + $(if [ "$page" = '-' ]; then + cat + else + printf '
' + wiki "$page" + printf '
' + fi)
$(theme_footer) @@ -60,107 +66,68 @@ theme_editor(){ local page="$1" template="$2" title title="${page%/}"; title="${title##*/}" - if ! acl_write "$page"; then - theme_error 403 - return 0 - fi - [ "$template" ] && acl_read "$template" || template="$page" - # Important! Web Server response including newline - printf "%s\r\n" "Content-Type: text/html; charset=utf-8" "" - - cat <<-EOF - - - $(theme_head) - $(HTML "${title}") - - $(theme_header) -
- - - - -
- $(theme_footer) - + theme_page - "Editor: $title" "${page}[edit]" <<-EOF +
+ + + + +
EOF } -theme_attachments(){ +theme_revisions(){ local page="$1" title title="${page%/}"; title="${title##*/}" - if [ ! "$(mdfile "$page")" ]; then - theme_error 404 - return 0 - elif ! acl_read "$page"; then - theme_error 403 - return 0 - fi + "$_EXEC/macros/revisions" "$page" \ + | theme_page - "Revisions: $title" "${page}[revision]" +} - # Important! Web Server response including newline - printf "%s\r\n" "Content-Type: text/html; charset=utf-8" "" +theme_attachments(){ + local page="$1" title + title="${page%/}"; title="${title##*/}" if acl_write "$page"; then - cat <<-EOF - - - $(theme_head) - Attachments $(HTML "${title}") - - $(theme_header) -
-
- - - -
- -
-
- $(theme_footer) - + theme_page - "Attachments: $title" "${page}[attachment]" <<-EOF +
+ + + +
+ +
EOF else - cat <<-EOF - - - $(theme_head) - Attachments $(HTML "${title}") - - $(theme_header) -
- -
- $(theme_footer) - + theme_page - "Attachments: $title" "${page}[attachment]" <<-EOF + EOF fi }