4 use Data::Dump qw(dump);
6 # Documentation browser under "/perldoc" (this plugin requires Perl 5.10)
9 helper get_files => sub {
11 warn "XXXXX ", dump( $self->req->url->path->to_string );
13 my $path = $self->req->url->path->to_string;
14 $path =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/ge; # url_unescape;
17 $self->stash( full_path => $path );
19 return $self->redirect_to( $path ) if -f $path;
30 warn "# path $path ",dump($files);
32 $self->stash( files => $files );
35 get '/~/*path' => sub {
40 if ( -f $self->stash('full_path') ) {
41 return $self->redirect_to( $self->stash( 'full_path' ) );
44 $self->render('user');
49 $self->render('index');
52 get '/_admin/users' => sub {
56 map { s{/secrets}{}; $_ }
57 glob 'users/*/secrets';
59 $self->render('users', users => \@users );
65 @@ layouts/default.html.ep
67 <head><title><%= title %></title></head>
77 <%= link_to 'list users' => '_adminusers' %>
82 % title 'Welcome to CloudShare';
86 % foreach my $login ( @$users ) {
87 <li><a href="/~/<%= $login %>/"><%= $login %></a>
95 <h1><%= $full_path %></h1>
98 % foreach my $path ( @$files ) {
99 <li><a href="<%= $path %>"><%= $path %></a>