OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Michael van Elst
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   06-Aug-2003 13:49:43
  Branch: HEAD                             Handle: 2003080612494300

  Modified files:
    openpkg-src/rt          rt.patch

  Log:
    better line wrap, handle encoding errors gracefully

  Summary:
    Revision    Changes     Path
    1.14        +38 -22     openpkg-src/rt/rt.patch
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/rt/rt.patch
  ============================================================================
  $ cvs diff -u -r1.13 -r1.14 rt.patch
  --- openpkg-src/rt/rt.patch   6 Aug 2003 10:02:04 -0000       1.13
  +++ openpkg-src/rt/rt.patch   6 Aug 2003 11:49:43 -0000       1.14
  @@ -18,8 +18,8 @@
            return ( 0, $self->loc('Could not create user') );
        }
   --- html/Ticket/Elements/ShowMessageStanza.dist      2003-08-05 16:21:42.000000000 
+0200
  -+++ html/Ticket/Elements/ShowMessageStanza   2003-08-06 11:49:29.000000000 +0200
  -@@ -22,23 +22,44 @@
  ++++ html/Ticket/Elements/ShowMessageStanza   2003-08-06 13:44:18.000000000 +0200
  +@@ -22,23 +22,47 @@
    %# 
    %# END LICENSE BLOCK
    <%perl>
  @@ -30,9 +30,26 @@
   -                  Transaction => $Transaction,
   -                  Message => $stanza );
   +  { my $msg='';
  ++    my $wrapfunc = sub {
  ++        my $max = 0;
  ++        foreach ( split ( /\n/, $_[0] ) ) {
  ++            $max = length if length > $max;
  ++        }
  ++        if ( $max > 76 ) {
  ++            require Text::Wrapper;
  ++            my $wrapper = new Text::Wrapper(
  ++                columns    => 70,
  ++                body_start => ( $max > 70 * 3 ? '   ' : '' ),
  ++                par_start  => '');
  ++            $_[0] = $wrapper->wrap($_[0]);
  ++        }
  ++        RT::Interface::Web::EscapeUTF8(\$_[0]);
  ++        $m->comp('/Elements/Callback', content => \$_[0], %ARGS);
  ++    };
   +    foreach my $stanza (@$Message) {
   +        if ( ref $stanza eq "ARRAY" ) {
   +            if ($msg ne '') {
  ++                $wrapfunc->($msg);
   +</%perl>
   +<font color="<%$colors[$Depth]%>"><pre><%$msg |n%></pre></font>
   +<%perl>
  @@ -44,22 +61,7 @@
   +                      Message => $stanza );
   +        }
   +        elsif ( ref $stanza eq "HASH" ) {
  -+            my $content = $stanza->{raw};
  -+            RT::Interface::Web::EscapeUTF8(\$content);
  -+            $m->comp('/Elements/Callback', content => \$content, %ARGS);
  -+            my $max = 0;
  -+            foreach ( split ( /\n/, $content ) ) {
  -+                $max = length if length > $max;
  -+            }   
  -+            if ( $max > 76 ) {                      
  -+                require Text::Wrapper;
  -+                my $wrapper = new Text::Wrapper(
  -+                    columns    => 70,
  -+                    body_start => ( $max > 70 * 3 ? '   ' : '' ),
  -+                    par_start  => '');
  -+                $content = $wrapper->wrap($content);
  -+            }
  -+            $msg .= "$content\n";
  ++            $mst .= "$stanza->{raw}\n";
   +        }
        }
   -    elsif ( ref $stanza eq "HASH" ) {
  @@ -68,14 +70,15 @@
   -        $m->comp('/Elements/Callback', content => \$content, %ARGS);
   -                $content =~ s/\n/<br>/gi;
   -
  ++    $wrapfunc->($msg);
  ++</%perl>
  ++<font color="<%$colors[$Depth]%>"><pre><%$msg |n%></pre></font>
  ++<%perl>
  ++  }
    </%perl>
   -<font color="<%$colors[$Depth]%>"><%$content |n%><br></font>
   -%       }
   -% }
  -+<font color="<%$colors[$Depth]%>"><pre><%$msg |n%></pre></font>
  -+<%perl>
  -+  }
  -+</%perl>
    <%INIT>
    use URI::URL;
    my $server = 'fsck.com';
  @@ -118,3 +121,16 @@
    <%ARGS>
    $user => ""
    $pass => undef
  +--- lib/RT/Attachment_Overlay.pm.dist        2003-08-06 13:01:15.000000000 +0200
  ++++ lib/RT/Attachment_Overlay.pm     2003-08-06 13:01:32.000000000 +0200
  +@@ -313,7 +313,9 @@
  +     # If we somehow fail to do the decode, at least push out the raw bits
  +     eval {return( Encode::decode_utf8($content))} || return ($content);
  +   }
  +-  Encode::from_to($content, 'utf8' => $enc);
  ++  if (!$enc) {
  ++    eval {Encode::from_to($content, 'utf8' => $enc);}
  ++  }
  +   return $content;
  + }
  + 
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to