shithub: werc

ref: f4a38285503bec14e2fef24416ba97d2383da590
dir: /apps/dirdir/app.rc/

View raw version
fn conf_enable_wiki {
    enable_wiki=yes
    wiki_editors_groups=$* 
    conf_enable_app dirdir
}

fn dirdir_init {
    if(! ~ $#enable_wiki 0 && check_user $wiki_editors_groups && test -f $local_path.md) {
        dirdir_file=$local_path.md
        dirdir_dir=$dirdir_file^'_werc/dirdir/'
            
        if(~ $#post_arg_dirdir_save 1 && ! ~ $"post_arg_edit_text '') {

            dirdir_verdir=$dirdir_dir/^`{date -n}^/
            mkdir -p $dirdir_verdir

            # XXX Use a tmp file and  mv(1) to ensure updates are atomic?
            echo $logged_user > $dirdir_verdir/author
            echo $post_arg_edit_text > $dirdir_verdir/data 
            echo $post_arg_edit_text > $dirdir_file

            post_redirect $base_url^$req_path
            #notify_notes='Saved <a href="'$"req_path'">'$"req_path'</a>!'
        }
        if not if(~ $#post_arg_dirdir_edit 1 || ~ $#post_arg_dirdir_preview 1)
            handler_body_main=(tpl_handler `{get_lib_file dirdir/edit.tpl apps/dirdir/edit.tpl} )
        if not if(! ~ $REQUEST_METHOD POST)
            ll_add handlers_bar_left tpl_handler apps/dirdir/sidebar_controls.tpl

    }
}