/[Frey]/trunk/lib/Strix/View.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Strix/View.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 32 by dpavlin, Sun Jun 29 20:52:33 2008 UTC revision 38 by dpavlin, Mon Jun 30 20:02:08 2008 UTC
# Line 21  Strix::View - examine Strix data Line 21  Strix::View - examine Strix data
21    
22  use Strix::User;  use Strix::User;
23    
24    my @callbacks;
25    
26    sub gen_link {
27            my ($text, $code) = @_;
28            push @callbacks, $code;
29            my $out = qq{<a href="?cb=$#callbacks">$text</a>};
30            return $out;
31    }
32    
33    sub process_links {
34            my $request = shift;
35            my $cb = $request->param('cb');
36            if (exists $callbacks[$cb]) {
37                    $callbacks[$cb]->($request);
38                    delete $callbacks[$cb];
39            }
40    }
41    
42    use Data::Dumper;
43    $Data::Dumper::Deparse = 1;
44    
45  template 'user' => sub {  template 'user' => sub {
46          my ( $self, $req ) = @_;          my ( $self, $req ) = @_;
47          my $id = $req->param('id');          my $id = $req->param('id');
48    
49          my $user = eval { Strix::User->new( id => $id ); };          my $continue = 1;
50          warn "## user $id: $@";          while ( $continue ) {
51    
52                    my $user = eval { Strix::User->new( id => $id ); };
53                    warn "## user $id: $@", dump( $user );
54    
55                    if ( ! $user ) {
56                            $req->conn->send_status_line( 404, "user $id" );
57                            $req->print( "Can't find user with id $id\n$@" );
58                    } else {
59    #                       $req->print( show( 'show-user', $req, $user ) );
60                            $req->print( '<pre>' . dump( $user ) . '</pre>' );
61                    };
62    
63          if ( ! $user ) {                  @callbacks = ();
64                  $req->conn->send_status_line( 404, "user $id" );                  $req->print('<tt>'.join('&nbsp;',
65                  $req->print( "Can't find user with id $id\n$@" );                          gen_link('+' => sub { $id++ }),
66          } else {                          gen_link('-' => sub { $id-- }),
67                  $req->print( show( 'show-user', $req, $user ) );                          gen_link('X' => sub { $continue = 0 }),
68          };                  ).'</tt>');
69                    $req->print('<pre>'.Dumper( @callbacks ).'</pre>');
70                    $req->next;
71                    process_links($req);
72            }
73  };  };
74    
75  template 'show-user' => sub {  template 'show-user' => sub {

Legend:
Removed from v.32  
changed lines
  Added in v.38

  ViewVC Help
Powered by ViewVC 1.1.26