#!/usr/bin/perl
# Mail robot for processing of PCI ID submissions
# (c) 2001--2002 Martin Mares <mj@ucw.cz>
-# 2008 Michal Vaner <vorner@ucw.cz>
+# (c) 2008 Michal Vaner <vorner@ucw.cz>
use Mail::Header;
use Getopt::Long;
my( $mail ) = @_;
$hasAuth->execute( $mail );
if( my( $id ) = $hasAuth->fetchrow_array ) {
+ tlog( "mailbot: Active user ($mail) id: $id" );
return $id;
} else {
tlog( "mailbot: Creating user $mail" );
$addAuth->execute( $mail );
my $nid = $tables->dbh->last_insert_id( undef, undef, undef, undef );
- tlog( "mailbot: User ($mail) id: $nid" );
+ tlog( "mailbot: Active user ($mail) id: $nid" );
return $nid;
}
}
$id =~ s/(.{8})(.+)/$1\/$2/;
$id =~ s/(.{4})(.+)/$1\/$2/;
$id = "PC/$id";
+ if( length $id > 12 ) {
+ my( $vendor ) = ( $id =~ /^PC\/....\/....\/(....)/ );
+ $vendor = "PC/$vendor";
+ $hasItem->execute( $vendor );
+ error( "Missing subsystem vendor" ) unless( $hasItem->fetchrow_array );
+ }
$hasItem->execute( $id );
unless( $hasItem->fetchrow_array ) {
tlog( "mailbot: Item created (empty) $id" );
my $parent = $id;
- $parent =~ s/\/[^\/]*//;
+ $parent =~ s/\/[^\/]*$//;
$addItem->execute( $id, $parent );
$created = 1;
}
my $hid = $tables->last();
tlog( "mailbot: History created $hid $id ".logEscape( $name )." ".logEscape( $description )." ".logEscape( $text ) );
notify( $tables, $id, $hid, $created ? 2 : 1, $created ? 0 : 1 );
+ if( !$tables->notifExists( $author, $id ) ) {
+ $tables->submitNotification( $author, $id, { 'recursive' => 0, 'notification' => 0, 'way' => 0 } );
+ }
}
if (!$patch) {
$author = $reply_plain;
}
-$tprefix = "tmp/mbot-$$";
-$home = "~/";
-mkdir("tmp", 0777);
+$home = "$ENV{HOME}/";
+$tprefix = "${home}tmp/mbot-$$";
+mkdir("${home}tmp", 0777);
mkdir($tprefix, 0777) || error("Cannot create tmpdir");
chdir($tprefix) || error("Cannot chdir to tmpdir");