3 . "$_EXEC/session_lock.sh"
10 if [ "$(POST action)" != newpage ]; then
11 printf 'Refresh: %i; url=%s\r\n' 4 ./
12 export ERROR_MSG="Formdata invalid"
17 pattern="$(POST pattern)"
18 template="$(POST template)"
22 # either a page name has been entered
23 pattern="$(date +"$pattern")"
24 page="$(printf -- "$pattern" "$page")"
26 elif [ "${pattern%%"%%s"*}" = "${pattern}" ]; then
27 # or a page name is not part of the pattern
28 pattern="$(date +"$pattern")"
32 printf 'Refresh: %i; url=%s\r\n' 4 ./
33 export ERROR_MSG="Page name required"
38 page="$(page_abs "$page")"
40 && template="$(page_abs "$template")" \
43 if [ -f "$_DATA/pages/$page/#page.md" -o \
44 -f "$_EXEC/pages/$page/#page.md" ]; then
45 printf 'Refresh: %i; url=%s\r\n' 4 ./
46 export ERROR_MSG="Page exists already"
50 elif ! acl_write "$page"; then
51 printf 'Refresh: %i; url=%s\r\n' 4 ./
52 export ERROR_MSG="You don't have permission to write to this page"
56 elif mkdir -p -- "$_DATA/pages/${page}" \
57 && S_LOCK "$_DATA/pages/$page/#page.md"; then
58 theme_editor "$page" "$template"
62 printf 'Refresh: %i; url=%s\r\n' 4 ./
63 export ERROR_MSG="Unable to lock page for editing"