Minor reorg of handler selection, move comment code to bridge app.
Bigger changes still to come.
This commit is contained in:
parent
e3770969a9
commit
c91a635ac2
2 changed files with 32 additions and 29 deletions
26
apps/bridge/app.rc
Normal file
26
apps/bridge/app.rc
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
fn bridge_init {
|
||||||
|
if(! ~ $#allowComments 0 && ~ $REQUEST_METHOD POST) {
|
||||||
|
get_post_args comment_text
|
||||||
|
d=`{date -n} # FIXME Obvious race
|
||||||
|
d=$local_path.md_werc/comments/$d/
|
||||||
|
|
||||||
|
u=$logged_user
|
||||||
|
if(~ $#logged_user 0) {
|
||||||
|
get_post_args comment_user_name comment_user_password
|
||||||
|
# TODO Should take this path too if the user can login but doesn't
|
||||||
|
# belong to required group
|
||||||
|
if(! login_user $comment_user_name $comment_user_password) {
|
||||||
|
u=$comment_user_name ':' $comment_user_password
|
||||||
|
d=$d^'_pending'
|
||||||
|
}
|
||||||
|
if not
|
||||||
|
u = $logged_user
|
||||||
|
}
|
||||||
|
|
||||||
|
umask 002
|
||||||
|
mkdir -m 775 -p $d
|
||||||
|
echo $u > $d/user
|
||||||
|
echo $comment_text > $d/body
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
35
bin/werc.rc
35
bin/werc.rc
|
|
@ -93,43 +93,16 @@ fn dir_listing_handler {
|
||||||
|
|
||||||
fn select_handler {
|
fn select_handler {
|
||||||
|
|
||||||
if(test -f $local_path.md) {
|
if(test -f $local_path.md)
|
||||||
set_handler md_handler $local_path.md
|
set_handler md_handler $local_path.md
|
||||||
if(! ~ $#allowComments 0 && ~ $REQUEST_METHOD POST) {
|
|
||||||
get_post_args comment_text
|
|
||||||
d=`{date -n} # FIXME Obvious race
|
|
||||||
d=$local_path.md_werc/comments/$d/
|
|
||||||
|
|
||||||
u=$logged_user
|
|
||||||
if(~ $#logged_user 0) {
|
|
||||||
get_post_args comment_user_name comment_user_password
|
|
||||||
# TODO Should take this path too if the user can login but doesn't
|
|
||||||
# belong to required group
|
|
||||||
if(! login_user $comment_user_name $comment_user_password) {
|
|
||||||
u=$comment_user_name ':' $comment_user_password
|
|
||||||
d=$d^'_pending'
|
|
||||||
}
|
|
||||||
if not
|
|
||||||
u = $logged_user
|
|
||||||
}
|
|
||||||
|
|
||||||
umask 002
|
|
||||||
mkdir -m 775 -p $d
|
|
||||||
echo $u > $d/user
|
|
||||||
echo $comment_text > $d/body
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if not if(test -f $local_path.tpl)
|
if not if(test -f $local_path.tpl)
|
||||||
set_handler tpl_handler $local_path.tpl
|
set_handler tpl_handler $local_path.tpl
|
||||||
|
|
||||||
if not if(test -f $local_path.html)
|
if not if(test -f $local_path.html)
|
||||||
set_handler html_handler $local_path.html
|
set_handler html_handler $local_path.html
|
||||||
|
|
||||||
# Explicit .html urls, unfortunately usually the web server will handle this as static files
|
# Global tpl (eg sitemap.tpl), should take precedence over txt handler!
|
||||||
if not if(~ $local_path *.html && test -f $local_path)
|
|
||||||
perm_redirect `{ echo $req_path|sed 's/.html$//' }
|
|
||||||
|
|
||||||
# Global tpl (eg sitemap.tpl)
|
|
||||||
if not if(test -f lib^$req_path^.tpl)
|
if not if(test -f lib^$req_path^.tpl)
|
||||||
set_handler tpl_handler lib^$req_path^.tpl
|
set_handler tpl_handler lib^$req_path^.tpl
|
||||||
|
|
||||||
|
|
@ -144,6 +117,10 @@ fn select_handler {
|
||||||
if not if(~ $local_path */index)
|
if not if(~ $local_path */index)
|
||||||
set_handler dir_listing_handler $local_path
|
set_handler dir_listing_handler $local_path
|
||||||
|
|
||||||
|
# Explicit .html urls, unfortunately usually the web server will handle this as static files
|
||||||
|
if not if(~ $local_path *.html && test -f $local_path)
|
||||||
|
perm_redirect `{ echo $req_path|sed 's/.html$//' }
|
||||||
|
|
||||||
# File not found
|
# File not found
|
||||||
if not {
|
if not {
|
||||||
set_handler tpl_handler `{get_lib_file 404.tpl}
|
set_handler tpl_handler `{get_lib_file 404.tpl}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue