Index: trunk/ippScripts/scripts/register_imfile.pl
===================================================================
--- trunk/ippScripts/scripts/register_imfile.pl	(revision 30217)
+++ trunk/ippScripts/scripts/register_imfile.pl	(revision 30240)
@@ -39,4 +39,5 @@
 
 my ($cache, $exp_id, $tmp_class_id, $tmp_exp_name, $uri, $bytes, $md5sum, $dbname, $verbose, $no_update, $no_op, $logfile);
+my ($sunrise, $sunset);
 GetOptions(
     'caches'           => \$cache,
@@ -47,4 +48,6 @@
     'bytes=s'          => \$bytes,
     'md5sum=s'         => \$md5sum,
+    'sunrise=s'        => \$sunrise,
+    'sunset=s'         => \$sunset,
     'dbname|d=s'       => \$dbname,    # Database name
     'verbose'          => \$verbose,   # Print to stdout
@@ -65,4 +68,10 @@
     defined $uri;
 
+unless (defined($sunset)) {
+    $sunset = '03:30:00';
+}
+unless (defined($sunrise)) {
+    $sunrise = '17:30:00';
+}
 
 my $RECIPE = "REGISTER"; # Recipe to use for ppStats
@@ -181,4 +190,7 @@
 $command .= " -dbname $dbname" if defined $dbname;
 if (abs($burntoolStateCurrent) == $burntoolStateTarget) {
+    $command .= " -data_state full";
+}
+elsif (is_daytime($dateobs,$sunset,$sunrise)) {
     $command .= " -data_state full";
 }
@@ -361,4 +373,31 @@
 }
 
+sub is_daytime
+{
+    my $dateobs = shift;
+    my $sunset  = shift;
+    my $sunrise = shift;
+
+    my $date,$time;
+
+    if ($dateobs =~ /T/) {
+	($date,$time) = split /T/, $dateobs;
+    }
+    else {
+	($date,$time) = split / /, $dateobs;
+    }
+    my ($hour,$minute,$second) = split /\:/, $time; # /;
+    my ($ss_hour,$ss_minute,$ss_second) = split /\:/, $sunset; # /;
+    my ($sr_hour,$sr_minute,$sr_second) = split /\:/, $sunrise; # /;
+    
+    if (($hour >= $ss_hour)&&($minute >= $ss_minute)&&($second >= $ss_second)) {
+	if (($hour <= $sr_hour)&&($minute <= $sr_minute)&&($second <= $sr_second)) {
+	    return(1);
+	}
+    }
+    
+    return(0);
+}
+
 sub my_die_for_add
 {
