/[webpac2]/Webpacus/lib/Webpacus.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 /Webpacus/lib/Webpacus.pm

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

revision 228 by dpavlin, Mon Dec 5 23:15:43 2005 UTC revision 358 by dpavlin, Sun Jan 8 13:58:19 2006 UTC
# Line 15  use Catalyst qw/-Debug Line 15  use Catalyst qw/-Debug
15          FillInForm          FillInForm
16          SubRequest          SubRequest
17          Static::Simple          Static::Simple
18            StackTrace
19  /;  /;
20  #       FormValidator  #       FormValidator
21    
22  our $VERSION = '0.16-dev';  our $VERSION = '0.31-dev';
23    
24  #  #
25  # Configure the application  # Configure the application
# Line 56  Catalyst based application. Line 57  Catalyst based application.
57  sub default : Private {  sub default : Private {
58      my ( $self, $c ) = @_;      my ( $self, $c ) = @_;
59      $c->stash->{template} = 'index.tt';      $c->stash->{template} = 'index.tt';
60    
61            my $site_name = shift @{ $c->req->args };
62    
63            if (my $sites_root = $c->config->{sites_root}) {
64                    my $site_path = $c->path_to('root', $sites_root, $site_name);
65    
66                    if (-e $site_path) {
67                            $c->stash->{site} = $site_name;
68                            if (my $action = shift @{ $c->req->args }) {
69                                    $c->log->debug( "site: $site_name, action: $action" );
70                                    $c->internal_redirect( $action, $c->stash );
71                            } else {
72                                    $c->log->debug( "site: $site_name" );
73                            }
74                    } else {
75                            $c->log->debug( "can't find site $site_name in $site_path");
76                    }
77            } else {
78                    $c->log->warn("sites_root not defined in config");
79            }
80  }  }
81    
82  =item end  =item end
# Line 70  sub end : Private { Line 91  sub end : Private {
91      if ($c->response->body) {      if ($c->response->body) {
92          $c->log->debug("at end body exists, we won't touch it!");          $c->log->debug("at end body exists, we won't touch it!");
93      } else {      } else {
94          $c->fillform( $c->req->parameters );                  $c->fillform( $c->req->params );
95    
96                    if (my $site_name = $c->stash->{site}) {
97                            my $template_path = $c->path_to('root', $c->config->{sites_root}, $site_name, $c->stash->{template});
98                            if (-e $template_path) {
99                                    $c->stash->{template} = $c->config->{sites_root} . "/$site_name/" . $c->stash->{template};
100                            } else {
101                                    $c->log->warn("can't find $template_path, fallback to default");
102                            }
103                            $c->log->debug("using template ", $c->stash->{template});
104                    }
105    
106          # Forward to View unless response body is already defined                  # Forward to View unless response body is already defined
107          $c->forward('View::TT');                  $c->forward('View::TT');
108    
109          $c->response->{body} =~ s#\Qnew Ajax.Autocompleter(\E#new Ajax.Suggest(#gs;                  $c->response->{body} =~ s#\Qnew Ajax.Autocompleter(\E#new WebPAC.Suggest(#gs;
110  #       $c->log->debug( $c->response->body );                  $c->response->{body} =~ s#\Qnew Ajax.Updater(\E#new WebPAC.Updater(#gs;
111    
112    #               $c->log->debug( $c->response->body );
113      }      }
114    
115  }  }
116    
117    =item internal_redirect
118    
119      $c->internal_redirect( $action, @args );
120    
121    =cut
122    
123    sub internal_redirect {
124            my ( $c, $action, @args ) = @_;
125    
126            unless ( defined $action ) {
127                    $action = $c->action->namespace;
128            } else {
129                    $action = join '/', $c->action->namespace, $action unless $action =~ m!^/!;
130            }                                  
131            $c->res->body( $c->subreq( $action, @args ) );
132            return;
133    }
134    
135    
136  =back  =back
137    
138  =head1 AUTHOR  =head1 AUTHOR

Legend:
Removed from v.228  
changed lines
  Added in v.358

  ViewVC Help
Powered by ViewVC 1.1.26