ref: a1da6cc55a75db8d780920e7af591a7e2dd731ff
parent: 2f73d1ccfe941f89ddb254d6fe4f094837d03309
author: uriel <uriel@engel.se.cat-v.org>
date: Thu Jan 8 22:08:02 EST 2009
Minor reorg of handler selection, move comment code to bridge app. Bigger changes still to come.
--- /dev/null
+++ b/apps/bridge/app.rc
@@ -1,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
+ }
+
+}
--- a/bin/werc.rc
+++ b/bin/werc.rc
@@ -93,32 +93,9 @@
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
@@ -125,11 +102,7 @@
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
@@ -143,6 +116,10 @@
# Dir listing
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 {