]> mj.ucw.cz Git - pciids.git/blobdiff - PciIds/Notifications.pm
Indentation of text in notifications
[pciids.git] / PciIds / Notifications.pm
index 37880c520f3422b30a6bd19ed97b91677d974aa9..83eaeae9536f676a478648c9f5707e9a3dd6b826 100644 (file)
@@ -1,3 +1,21 @@
+#      PciIds web database
+#      Copyright (C) 2008 Michal Vaner (vorner@ucw.cz)
+#
+#      This program is free software; you can redistribute it and/or modify
+#      it under the terms of the GNU General Public License as published by
+#      he Free Software Foundation; either version 2 of the License, or
+#      (at your option) any later version.
+#
+#      This program is distributed in the hope that it will be useful,
+#      but WITHOUT ANY WARRANTY; without even the implied warranty of
+#      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#
+#      GNU General Public License for more details.
+#
+#      You should have received a copy of the GNU General Public License
+#      along with this program; if not, write to the Free Software
+#      Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
 package PciIds::Notifications;
 use strict;
 use warnings;
@@ -23,6 +41,14 @@ sub sendNotif( $$$ ) {
                "$message\nThis is automatic notification message, do not respond to it.\nYou can change your notifications at http://$config{hostname}/mods/PC/?action=notifications\n" );
 }
 
+sub indent( $$ ) {
+       my( $text, $count ) = @_;
+       return '' unless defined $text;
+       my $ident = ' 'x$count;
+       $text =~ s/\n/$ident/s;
+       return $text;
+}
+
 sub sendOut( $$ ) {
        my( $notifs, $sendFun ) = @_;
        my( $last_address, $last_user );
@@ -40,32 +66,35 @@ sub sendOut( $$ ) {
                if( $reason == 0 ) {
                        $note = "New item was created.\n  Id: ".$addr->pretty()."\n  Name: $newname\n";
                        $note .= "  Description: $newdesc\n" if( defined $newdesc && ( $newdesc ne '' ) );
-                       $note .= "  Comment text: $text\n" if( defined $text && ( $text ne '' ) );
+                       $text = indent( $text, 4 );
+                       $note .= "  Comment text: $text\n" if $text ne '';
                        $note .= "  Author: $author\n" if( defined $author && ( $author ne '' ) );
                        $note .= "  Time: $time\n";
                        $note .= "  Address: http://".$config{'hostname'}."/read/".$addr->get()."\n";
                } elsif( $reason == 1 ) {
                        $note = "New comment created.\n  Item:\n";
                        $note .= "    Id: ".$addr->pretty()."\n";
-                       $note .= "    Name: $name\n" if( defined $name && ( $name ne '' ) && ( $name ne $newname ) );
-                       $note .= "    Description: $desc\n" if( defined $desc && ( $desc ne '' ) && ( $desc ne $newdesc ) );
+                       $note .= "    Name: $name\n" if( defined $name && ( $name ne '' ) && ( ( !defined $newname ) || ( $name ne $newname ) ) );
+                       $note .= "    Description: $desc\n" if( defined $desc && ( $desc ne '' ) && ( ( !defined $newdesc ) || ( $desc ne $newdesc ) ) );
                        $note .= "    Address: http://".$config{'hostname'}."/read/".$addr->get()."\n";
                        $note .= "  Comment:\n";
                        $note .= "    Proposed name: $newname\n" if( defined $newname && ( $newname ne '' ) );
                        $note .= "    Deletion request\n" if defined $newname && $newname eq '';
                        $note .= "    Proposed description: $newdesc\n" if( defined $newdesc && ( $newdesc ne '' ) );
-                       $note .= "    Text: $text\n" if( defined $text && ( $text ne '' ) );
+                       $text = indent( $text, 6 );
+                       $note .= "    Text: $text\n" if $text ne '';
                        $note .= "    Author: $author\n" if( defined $author && ( $author ne '' ) );
                        $note .= "    Time: $time\n";
                } elsif( $reason == 2 ) {
                        if( $name ne '' ) {
-                               $note = "Item name validated.\n  Id:".$addr->pretty()."\n";
+                               $note = "Item name approved.\n  Id: ".$addr->pretty()."\n";
                                $note .= "  Name: $newname\n";
                                $note .= "  Description: $newdesc\n" if( defined $newdesc && ( $newdesc ne '' ) );
-                               $note .= "  Comment text: $text\n" if( defined $text && ( $text ne '' ) );
+                               $text = indent( $text, 4 );
+                               $note .= "  Comment text: $text\n" if $text ne '';
                                $note .= "  Address: http://".$config{'hostname'}."/read/".$addr->get()."\n";
                        } else {
-                               $note = "Item deletion validated.\n  Id:".$addr->pretty()."\n";
+                               $note = "Item deletion approved.\n  Id: ".$addr->pretty()."\n";
                                $note .= "  Address: http://".$config{'hostname'}."/read/".$addr->get()."\n";
                        }
                }