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 {
|
||||
|
||||
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}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue