RSS Git Download  Clone
Raw Blame History
#!/usr/bin/perl

use strict;
use warnings;

use lib '/home/raj/perl5/lib/perl5';

# use CGI::Carp qw(fatalsToBrowser); # use for devel
# use CGI::HTMLError (trace => 1); # don't want errs returning to browser ??

use CGI;
use Data::Dumper;
use DBIx::Simple;

use FindBin qw($RealBin); # warn $RealBin;
use lib $RealBin . '/../../lib';

use LIMS::Local::Debug; # DEBUG()
use LIMS::Local::Config;

my $q = CGI->new();
my $vars = $q->Vars(); # warn Dumper $vars;

# set $ENV{CENTRE} if required, BEFORE getting config:
if ( $vars->{service} ) { # warn $vars->{service};
    $ENV{CENTRE} = $vars->{service}; # other centres
}

my $config = LIMS::Local::Config->instance; # warn Dumper $config;
my $dbix   = DBIx::Simple->connect(@{ $config->{dbh_params} });

print $q->header();

my $tt = $vars->{tt}; # warn Dumper $tt;
exit if grep $tt =~ /$_\.tt\Z/, qw(hello user_messages); # can already see them!!

my $username = $vars->{username} || exit; # maybe not logged in

my $sql = q!
    SELECT COUNT(*)
    FROM
      user_message t1 
      JOIN users t2 ON (t1.recipient_id = t2.id)
      JOIN sessions t3 ON (t3.userid = t2.username)
    WHERE
      t1.`acknowledged` IS NULL AND
     /* t3.`time` >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) AND */
      t2.`username` = ?!;
my $i = $dbix->query($sql, $username)->list || exit; # warn Dumper $i;

my $msg = sprintf q!you have %s new / unacknowledged message%s!,
    $i, $i > 1 ? 's' : '';

my $url = $vars->{url} . '/resources/user_messages';

print $q->span({style => 'color: #f00'}, $msg )
    . '  :: ' . $q->a({href => $url}, 'view »');