4 use Data::Dump qw(dump);
7 # Documentation browser under "/perldoc" (this plugin requires Perl 5.10)
10 helper get_files => sub {
12 warn "XXXXX ", dump( $self->req->url->path->to_string );
14 my $path = $self->req->url->path->to_string;
15 $path =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/ge; # url_unescape;
18 $self->stash( full_path => $path );
20 return $self->redirect_to( $path ) if -f $path;
24 # need to chdir because glob seems to have limited length return values
36 warn "# path ",dump($path, $files);
38 $self->stash( files => $files );
41 get '/~/*path' => sub {
46 if ( -f $self->stash('full_path') ) {
47 return $self->redirect_to( $self->stash( 'full_path' ) );
50 $self->render('user');
55 $self->render('index');
58 get '/_admin/users' => sub {
62 map { s{/secrets}{}; $_ }
63 glob 'users/*/secrets';
65 $self->render('users', users => \@users );
71 @@ layouts/default.html.ep
73 <head><title><%= title %></title></head>
83 <%= link_to 'list users' => '_adminusers' %>
88 % title 'Welcome to CloudShare';
92 % foreach my $login ( @$users ) {
93 <li><a href="/~/<%= $login %>/"><%= $login %></a>
101 <h1><%= $full_path %></h1>
104 % foreach my $path ( @$files ) {
105 <li><a href="<%= $path %>"><%= $path %></a>