--- trunk/lib/Frey/Web.pm 2008/12/14 14:13:35 835 +++ trunk/lib/Frey/Web.pm 2008/12/14 22:15:51 838 @@ -174,37 +174,40 @@ } -sub add_css { - my ($self,$css) = @_; - my ( $package, $path, $line ) = caller; - $self->add_head( qq| - - | ); -} +sub _add_something { + my ( $self, $regex, $tag, $type, $content ) = @_; -sub add_js { - my ($self,$js) = @_; - my ( $package, $path, $line ) = caller; + my ( $package, $path, $line ) = caller(1); + + warn "# $regex $tag $type $content caller $package $path $line"; - if ( $js =~ m{http.*\.js} ) { - $self->add_head( qq| - - |); + + | ) ); } else { - $self->add_head( qq| - - | ); + $content + + |); }; } +sub add_css { + my ($self,$css) = @_; + $self->_add_something( qr{\.css$}, qw{style text/css}, $css ); +} + +sub add_js { + my ($self,$js) = @_; + $self->_add_something( qr{\.js$}, qw{script text/javascript}, $js ); +} + our $reload_counter = 0; @@ -362,6 +365,13 @@ return $error; } +sub html_self { + my $self = shift; + my $html = $self; + $html =~ s{([\w:]+)=}{$1=}gsm; + return $html; +} + =head2 error This method will return error to browser and backtrace unless @@ -374,21 +384,22 @@ my $error = join(" ", @_); my $fatal = ''; + my $backtrace = ''; if ( $error !~ m{\n$} ) { if ( my @backtrace = $self->backtrace ) { - $error .= "\n\t" . join( "\n\t", @backtrace ); + $backtrace = + "\n" . $self->html_self . "->error backtrace\n\t" + . $self->html_links( join( "\n\t", @backtrace ) ) + ; $fatal = qq| frey-fatal|; } } warn "ERROR: $error\n"; $self->add_icon('error'); - return - qq|
|
-		. $self->html_links( $error ) .
-		qq|
| - ; + $error = $self->html_links( $error ); + return qq|
$error $backtrace
| ; } =head1 Status line @@ -667,7 +678,7 @@ my ($self) = @_; my @backtrace; - foreach ( 0 .. 5 ) { + foreach ( 1 .. 5 ) { # 0 = backtrace my ( $package,$path,$line # subroutine hasargs