Adding XSLTreultsFilename and XSLTDetailFilename
[koha.git] / C4 / NewsChannels.pm
index ec222ba..8cf1ff6 100644 (file)
@@ -47,9 +47,7 @@ This module provides the functions needed to admin the news channels and its cat
 
 =head1 FUNCTIONS
 
-=over 2
-
-=item news_channels
+=head2 news_channels
 
   ($count, @channels) = &news_channels($channel_name, $id_category, $unclassified);
 
@@ -92,7 +90,7 @@ sub news_channels {
     return (scalar(@channels), @channels);
 }
 
-=item news_channels_by_category
+=head2 news_channels_by_category
 
   ($count, @results) = &news_channels_by_category();
 
@@ -114,6 +112,8 @@ A reference to an array of references to hash which keys are the new_channels fi
 
 Additionally the last index of results has a reference to all the news channels which don't have a category 
 
+=back
+
 =cut
 
 sub news_channels_by_category {
@@ -234,16 +234,16 @@ sub update_channel_category {
 }
 
 sub add_opac_new {
-    my ($title, $new, $lang, $expirationdate, $number) = @_;
+    my ($title, $new, $lang, $expirationdate, $timestamp, $number) = @_;
     my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("INSERT INTO opac_news (title, new, lang, expirationdate, number) VALUES (?,?,?,?,?)");
-    $sth->execute($title, $new, $lang, $expirationdate, $number);
+    my $sth = $dbh->prepare("INSERT INTO opac_news (title, new, lang, expirationdate, timestamp, number) VALUES (?,?,?,?,?,?)");
+    $sth->execute($title, $new, $lang, $expirationdate, $timestamp, $number);
     $sth->finish;
     return 1;
 }
 
 sub upd_opac_new {
-    my ($idnew, $title, $new, $lang, $expirationdate, $number) = @_;
+    my ($idnew, $title, $new, $lang, $expirationdate, $timestamp,$number) = @_;
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare("
         UPDATE opac_news SET 
@@ -251,10 +251,11 @@ sub upd_opac_new {
             new = ?,
             lang = ?,
             expirationdate = ?,
+            timestamp = ?,
             number = ?
         WHERE idnew = ?
     ");
-    $sth->execute($title, $new, $lang, $expirationdate,$number,$idnew);
+    $sth->execute($title, $new, $lang, $expirationdate, $timestamp,$number,$idnew);
     $sth->finish;
     return 1;
 }
@@ -280,6 +281,7 @@ sub get_opac_new {
     my $data = $sth->fetchrow_hashref;
     $data->{$data->{'lang'}} = 1;
     $data->{expirationdate} = format_date($data->{expirationdate});
+    $data->{timestamp}      = format_date($data->{timestamp});
     $sth->finish;
     return $data;
 }
@@ -311,11 +313,11 @@ sub get_opac_news {
 }
 
 =head2 GetNewsToDisplay
-    
+
     $news = &GetNewsToDisplay($lang);
     C<$news> is a ref to an array which containts
     all news with expirationdate > today or expirationdate is null.
-    
+
 =cut
 
 sub GetNewsToDisplay {
@@ -326,10 +328,11 @@ sub GetNewsToDisplay {
      SELECT *,timestamp AS newdate
      FROM   opac_news
      WHERE   (
-        expirationdate > CURRENT_DATE()
+        expirationdate >= CURRENT_DATE()
         OR    expirationdate IS NULL
         OR    expirationdate = '00-00-0000'
       )
+      AND   `timestamp` <= CURRENT_DATE()
       AND   lang = ?
       ORDER BY number
     ";                         # expirationdate field is NOT in ISO format?
@@ -415,8 +418,6 @@ sub get_opac_electronics {
 1;
 __END__
 
-=back
-
 =head1 AUTHOR
 
 TG