Minor reorg of handler selection, move comment code to bridge app.

Bigger changes still to come.
This commit is contained in:
Uriel 2009-01-09 03:08:02 +01:00
parent e3770969a9
commit c91a635ac2
2 changed files with 32 additions and 29 deletions

26
apps/bridge/app.rc Normal file
View 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
}
}

View file

@ -93,43 +93,16 @@ fn dir_listing_handler {
fn select_handler {
if(test -f $local_path.md) {
if(test -f $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)
set_handler tpl_handler $local_path.tpl
if not if(test -f $local_path.html)
set_handler html_handler $local_path.html
# 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$//' }
# Global tpl (eg sitemap.tpl)
# Global tpl (eg sitemap.tpl), should take precedence over txt handler!
if not if(test -f 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)
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
if not {
set_handler tpl_handler `{get_lib_file 404.tpl}