koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/intranet/cgi-bin/serials acqui-search-resu... [rel_TG]


From: Tumer Garip
Subject: [Koha-cvs] koha/intranet/cgi-bin/serials acqui-search-resu... [rel_TG]
Date: Sat, 10 Mar 2007 01:27:28 +0000

CVSROOT:        /sources/koha
Module name:    koha
Branch:         rel_TG
Changes by:     Tumer Garip <tgarip1957>        07/03/10 01:27:28

Added files:
        intranet/cgi-bin/serials: acqui-search-result.pl acqui-search.pl 
                                  claims.pl distributedto.pl 
                                  lateissues-excel.pl lateissues.pl 
                                  member-search.pl printlist.pl 
                                  reorder_members.pl routing-preview.pl 
                                  routing.pl serial-issues.pl 
                                  serials-home.pl serials-receive.pl 
                                  subscription-add-new.pl 
                                  subscription-add.pl 
                                  subscription-bib-search.pl 
                                  subscription-detail-new.pl 
                                  subscription-detail.pl 
                                  subscription-renew.pl viewalerts.pl 

Log message:
        fresh files for rel_TG

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/acqui-search-result.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/acqui-search.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/claims.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/distributedto.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/lateissues-excel.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/lateissues.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/member-search.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/printlist.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/reorder_members.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/routing-preview.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/routing.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/serial-issues.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/serials-home.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/serials-receive.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/subscription-add-new.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/subscription-add.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/subscription-bib-search.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/subscription-detail-new.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/subscription-detail.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/subscription-renew.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/koha/intranet/cgi-bin/serials/viewalerts.pl?cvsroot=koha&only_with_tag=rel_TG&rev=1.1.2.1

Patches:
Index: acqui-search-result.pl
===================================================================
RCS file: acqui-search-result.pl
diff -N acqui-search-result.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ acqui-search-result.pl      10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,102 @@
+#!/usr/bin/perl
+
+#script to show suppliers and orders
+#written by address@hidden 23/2/2000
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: acqui-search-result.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+acqui-search-result.pl
+
+=head1 DESCRIPTION
+ TODO
+ 
+=head1 PARAMETERS
+
+=over 4
+
+=item supplier
+
+=back
+
+=cut
+
+
+use strict;
+use C4::Auth;
+use C4::Biblio;
+use CGI;
+use C4::Interface::CGI::Output;
+use C4::Acquisition;
+use C4::Date;
+use C4::Bookseller;
+use C4::Acquisition;
+
+my $query=new CGI;
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"serials/acqui-search-result.tmpl",
+                 query => $query,
+                 type => "intranet",
+                 authnotrequired => 0,
+                 flagsrequired => {acquisition => 1},
+                 debug => 1,
+                 });
+
+my $supplier=$query->param('supplier');
+my @suppliers = GetBookSeller($supplier);
+my $count = scalar @suppliers;
+
+#build result page
+my $toggle=0;
+my @loop_suppliers;
+for (my $i=0; $i<$count; $i++) {
+    my $orders = GetPendingOrders($suppliers[$i]->{'id'});
+    my $ordcount = scalar @$orders;
+    
+    my %line;
+    if ($toggle==0){
+        $line{even}=1;
+        $toggle=1;
+    } else {
+        $line{even}=0;
+        $toggle=0;
+    }
+    $line{aqbooksellerid} =$suppliers[$i]->{'id'};
+    $line{name} = $suppliers[$i]->{'name'};
+    $line{active} = $suppliers[$i]->{'active'};
+    my @loop_basket;
+    for (my $i2=0;$i2<$ordcount;$i2++){
+        my %inner_line;
+        $inner_line{basketno} =$orders->[$i2]->{'basketno'};
+        $inner_line{total} =$orders->[$i2]->{'count(*)'};
+        $inner_line{authorisedby} = $orders->[$i2]->{'authorisedby'};
+        $inner_line{creationdate} = 
format_date($orders->[$i2]->{'creationdate'});
+        $inner_line{closedate} = format_date($orders->[$i2]->{'closedate'});
+        push @loop_basket, \%inner_line;
+    }
+    $line{loop_basket} = address@hidden;
+    push @loop_suppliers, \%line;
+}
+$template->param(loop_suppliers => address@hidden,
+                        supplier => $supplier,
+                        count => $count);
+
+output_html_with_http_headers $query, $cookie, $template->output;

Index: acqui-search.pl
===================================================================
RCS file: acqui-search.pl
diff -N acqui-search.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ acqui-search.pl     10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,97 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: acqui-search.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Output;
+use C4::Interface::CGI::Output;
+
+use C4::Bookfund;
+use C4::Acquisition;
+my $query = new CGI;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => "serials/acqui-search.tmpl",
+                            query => $query,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {acquisition => 1},
+                            debug => 1,
+                            });
+
+
+
+
+# budget
+my $dbh = C4::Context->dbh;
+my $sthtemp = $dbh->prepare("Select flags, branchcode from borrowers where 
borrowernumber = ?");
+$sthtemp->execute($loggedinuser);
+my ($flags, $homebranch)=$sthtemp->fetchrow;
+my @results=GetBookFunds($homebranch);
+my $count = scalar(@results);
+
+my $classlist='';
+my $total=0;
+my $totspent=0;
+my $totcomtd=0;
+my $totavail=0;
+my @loop_budget = ();
+for (my $i=0;$i<$count;$i++){
+       my ($spent,$comtd)=GetBookFundBreakdown($results[$i]->{'bookfundid'});
+       my $avail=$results[$i]->{'budgetamount'}-($spent+$comtd);
+       my %line;
+       $line{bookfundname} = $results[$i]->{'bookfundname'};
+       $line{budgetamount} = $results[$i]->{'budgetamount'};
+       $line{spent} = sprintf  ("%.2f", $spent);
+       $line{comtd} = sprintf  ("%.2f",$comtd);
+       $line{avail}  = sprintf  ("%.2f",$avail);
+       push @loop_budget, \%line;
+       $total+=$results[$i]->{'budgetamount'};
+       $totspent+=$spent;
+       $totcomtd+=$comtd;
+       $totavail+=$avail;
+}
+#currencies
+my @rates=GetCurrencies();
+my $count = scalar @rates;
+
+my @loop_currency = ();
+for (my $i=0;$i<$count;$i++){
+       my %line;
+       $line{currency} = $rates[$i]->{'currency'};
+       $line{rate} = $rates[$i]->{'rate'};
+       push @loop_currency, \%line;
+}
+$template->param(classlist => $classlist,
+                                               type => 'intranet',
+                                               loop_budget => address@hidden,
+                                               loop_currency => address@hidden,
+                                               total => sprintf("%.2f",$total),
+                                               totspent => 
sprintf("%.2f",$totspent),
+                                               totcomtd => 
sprintf("%.2f",$totcomtd),
+                                               totavail => 
sprintf("%.2f",$totavail),
+                                               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+               IntranetNav => C4::Context->preference("IntranetNav"),
+                                               );
+
+output_html_with_http_headers $query, $cookie, $template->output;

Index: claims.pl
===================================================================
RCS file: claims.pl
diff -N claims.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ claims.pl   10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,83 @@
+#!/usr/bin/perl
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Serials;
+use C4::Acquisition;
+
+use C4::Interface::CGI::Output;
+use C4::Context;
+
+
+my $query = new CGI;
+
+my $serialid = $query->param('serialid');
+my $op = $query->param('op');
+my $claimletter = $query->param('claimletter');
+my $supplierid = $query->param('supplierid');
+my %supplierlist = GetSuppliersWithLateIssues;
+my @select_supplier;
+
+foreach my $supplierid (keys %supplierlist){
+        my ($count, @dummy) = GetMissingIssues($supplierid);
+        my $counting = $count;
+        $supplierlist{$supplierid} = $supplierlist{$supplierid}." ($counting)";
+       push @select_supplier, $supplierid
+}
+
+my @select_letter = (1,2,3,4);
+my %letters = (1=>'Claim Form 1',2=>'Claim Form 2',3=>'Claim Form 3',4=>'Claim 
Form 4');
+my ($count2, @missingissues) = GetMissingIssues($supplierid,$serialid);
+
+my $CGIsupplier=CGI::scrolling_list( -name     => 'supplierid',
+                       -values   => address@hidden,
+                       -default  => $supplierid,
+                       -labels   => \%supplierlist,
+                       -size     => 1,
+                       -multiple => 0 );
+
+my $CGIletter=CGI::scrolling_list( -name     => 'claimletter',
+                       -values   => address@hidden,
+                       -default  => $claimletter,
+                       -labels   => \%letters,
+                       -size     => 1,
+                       -multiple => 0 );
+my ($singlesupplier,@supplierinfo);
+if($supplierid){
+   ($singlesupplier,@supplierinfo)=bookseller($supplierid);
+} else { # set up supplierid for the claim links out of main table if all 
suppliers is chosen
+   for(my $i=0; $i<@missingissues;$i++){
+       $missingissues[$i]->{'supplierid'} = 
getsupplierbyserialid($missingissues[$i]->{'serialid'});
+   }
+}
+
+
+my $preview=0;
+if($op eq 'preview'){
+    $preview = 1;
+}
+
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/claims.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+$template->param(
+       CGIsupplier => $CGIsupplier,
+       CGIletter => $CGIletter,
+        preview => $preview,
+        missingissues => address@hidden,
+        supplierid => $supplierid,
+        claimletter => $claimletter,
+        singlesupplier => $singlesupplier,
+        supplierloop => address@hidden,
+       intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+               IntranetNav => C4::Context->preference("IntranetNav"),
+       );
+output_html_with_http_headers $query, $cookie, $template->output;

Index: distributedto.pl
===================================================================
RCS file: distributedto.pl
diff -N distributedto.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ distributedto.pl    10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,105 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: distributedto.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+distributedto
+
+=head1 DESCRIPTION
+
+this script is launched as a popup. It allows to choose for who the 
subscription can be distributed.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item searchfield
+to filter on the members.
+
+=item distributedto
+to know if there are already some members to in the distributed list
+
+=item subscriptionid
+to know what subscription this scrpit have to distribute.
+
+=item SaveList
+
+=back
+
+=cut
+
+
+use strict;
+use CGI;
+use C4::Date;
+use C4::Auth;
+use C4::Context;
+
+use C4::Interface::CGI::Output;
+use C4::Search;
+
+use C4::Serials;
+use C4::Members;
+
+my $input = new CGI;
+my $searchfield=$input->param('searchfield');
+defined $searchfield or $searchfield='';
+my $distributedto=$input->param('distributedto');
+my $subscriptionid = $input->param('subscriptionid');
+$searchfield=~ s/\,//g;
+my $SaveList=$input->param('SaveList');
+my $dbh = C4::Context->dbh;
+
+$distributedto = GetDistributedTo($subscriptionid) unless $distributedto;
+
+SetDistributedto($distributedto,$subscriptionid) if ($SaveList) ;
+
+my ($template, $borrowernumber, $cookie)
+    = get_template_and_user({template_name => "serials/distributedto.tmpl",
+                 query => $input,
+                 type => "intranet",
+                 authnotrequired => 0,
+                 flagsrequired => {cataloguing => 1},
+                 debug => 1,
+                 });
+
+my ($count,$results)=GetBorrowersFromSurname($searchfield) if $searchfield;
+my $toggle="0";
+my @loop_data =();
+for (my $i=0; $i < $count; $i++){
+    if ($i % 2){
+            $toggle=1;
+    } else {
+            $toggle=0;
+    }
+    my %row_data;
+    $row_data{toggle} = $toggle;
+    $row_data{firstname} = $results->[$i]{'firstname'};
+    $row_data{surname} = $results->[$i]{'surname'};
+    push(@loop_data, \%row_data);
+}
+$template->param(borlist => address@hidden,
+                searchfield => $searchfield,
+                distributedto => $distributedto,
+                SaveList => $SaveList,
+                subscriptionid => $subscriptionid,
+                );
+output_html_with_http_headers $input, $cookie, $template->output;

Index: lateissues-excel.pl
===================================================================
RCS file: lateissues-excel.pl
diff -N lateissues-excel.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ lateissues-excel.pl 10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,119 @@
+#!/usr/bin/perl
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Serials;
+use C4::Acquisition;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Context;
+
+use Text::CSV_XS;
+
+
+
+
+my $csv = Text::CSV_XS->new(
+        {
+            'quote_char'  => '"',
+            'escape_char' => '"',
+            'sep_char'    => ',',
+            'binary'      => 1
+        }
+    );
+
+
+my $query = new CGI;
+my $supplierid = $query->param('supplierid');
+my @serialid = $query->param('serialid');
+my $op = $query->param('op');
+my $serialidcount = @serialid;
+
+my %supplierlist = GetSuppliersWithLateIssues;
+my @select_supplier;
+
+my @loop1;
+my ($count, @lateissues);
+if($op ne 'claims'){
+    ($count, @lateissues) = GetLateIssues($supplierid);
+    for (my $i=0;$i<@lateissues;$i++){
+        my @rows1 = ($lateissues[$i]->{'name'},          # lets build up a row
+                    $lateissues[$i]->{'title'}, 
+                     $lateissues[$i]->{'serialseq'},
+                     $lateissues[$i]->{'planneddate'},
+                     );
+        push (@loop1, address@hidden);
+    }
+}
+my $totalcount2 = 0;
+my @loop2;
+my ($count2, @missingissues);
+for (my $k=0;$k<@serialid;$k++){
+    ($count2, @missingissues) = GetMissingIssues($supplierid, $serialid[$k]);
+
+    for (my $j=0;$j<@missingissues;$j++){
+       my @rows2 = ($missingissues[$j]->{'name'},          # lets build up a 
row
+                    $missingissues[$j]->{'title'}, 
+                     $missingissues[$j]->{'serialseq'},
+                     $missingissues[$j]->{'planneddate'},
+                     );
+        push (@loop2, address@hidden);
+    }
+    $totalcount2 = $totalcount2 + $count2;
+    # update claim date to let one know they have looked at this missing item
+    updateClaim($serialid[$k]);
+}
+
+my $heading ='';
+my $filename ='';
+if($supplierid){
+    if($missingissues[0]->{'name'}){ # if exists display supplier name in 
heading for neatness
+       # not necessarily needed as the name will appear in supplier column also
+        $heading = "FOR $missingissues[0]->{'name'}";
+       $filename = "_$missingissues[0]->{'name'}"; 
+    }
+}
+
+print $query->header(
+        -type       => 'application/vnd.ms-excel',
+        -attachment => "claims".$filename.".csv",
+    );
+
+if($op ne 'claims'){
+    print "LATE ISSUES ".$heading."\n\n";
+    print "SUPPLIER,TITLE,ISSUE NUMBER,LATE SINCE\n";
+
+    for my $row ( @loop1 ) {
+    
+        $csv->combine(@$row);
+        my $string = $csv->string;
+        print $string, "\n";
+    }
+
+    print ",,,,,,,\n\n";
+}
+if($serialidcount == 1){
+    print "MISSING ISSUE ".$heading."\n\n";
+} else {
+    print "MISSING ISSUES ".$heading."\n\n";
+}
+print "SUPPLIER,TITLE,ISSUE NUMBER,LATE SINCE\n";
+
+for my $row ( @loop2 ) {
+    
+        $csv->combine(@$row);
+        my $string = $csv->string;
+        print $string, "\n";
+    }
+
+print ",,,,,,,\n";
+print ",,,,,,,\n";
+if($op ne 'claims'){
+    print ",,Total Number Late, $count\n";
+}
+if($serialidcount == 1){
+
+} else {
+    print ",,Total Number Missing, $totalcount2\n";
+}

Index: lateissues.pl
===================================================================
RCS file: lateissues.pl
diff -N lateissues.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ lateissues.pl       10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,90 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: lateissues.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+lateissues
+
+=head1 DESCRIPTION
+
+this script display late issue by types.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item supplierid
+the id of the supplier this script has to search late issues.
+
+=back
+
+=cut
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Serials;
+use C4::Acquisition;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Bookseller;
+
+my $query = new CGI;
+# my $title = $query->param('title');
+# my $ISSN = $query->param('ISSN');
+# my @subscriptions = GetSubscriptions($title,$ISSN);
+
+my $supplierid = $query->param('supplierid');
+my %supplierlist = GetSuppliersWithLateIssues;
+my @select_supplier;
+push @select_supplier,"";
+foreach my $supplier (keys %supplierlist){
+    push @select_supplier, $supplier
+}
+my $CGIsupplier=CGI::scrolling_list(
+            -name     => 'supplierid',
+            -values   => address@hidden,
+            -default  => $supplierid,
+            -labels   => \%supplierlist,
+            -size     => 1,
+            -multiple => 0 );
+
+my ($count,@lateissues);
+($count,@lateissues) = GetLateIssues($supplierid) ;
+my @supplierinfo=GetBookSeller($supplierid) if $supplierid;
+
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/lateissues.tmpl",
+                query => $query,
+                type => "intranet",
+                authnotrequired => 0,
+                flagsrequired => {catalogue => 1},
+                debug => 1,
+                });
+
+$template->param(
+    CGIsupplier => $CGIsupplier,
+    lateissues => address@hidden,
+    phone => $supplierinfo[0]->{phone},
+    booksellerfax => $supplierinfo[0]->{booksellerfax},
+    bookselleremail => $supplierinfo[0]->{bookselleremail},
+    );
+output_html_with_http_headers $query, $cookie, $template->output;

Index: member-search.pl
===================================================================
RCS file: member-search.pl
diff -N member-search.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ member-search.pl    10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+# Member Search.pl script used to search for members to add to a routing list
+use strict;
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Date;
+use C4::Acquisition;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Search;
+use C4::Serials;
+
+my $query = new CGI;
+my $subscriptionid = $query->param('subscriptionid');
+my $op = $query->param('op');
+my $searchstring = $query->param('member');
+my $dbh = C4::Context->dbh;
+
+my $env;    
+    
+    my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/member-search.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+
+if($searchstring){
+    my ($count, $members) = &BornameSearch($env, $searchstring, "surname", 
"advanced");
+    
+    $template->param(
+       subscriptionid => $subscriptionid,
+           memberloop => $members,
+               member => $searchstring,
+    );
+} else {
+    $template->param(
+       subscriptionid => $subscriptionid,
+    );
+}
+        output_html_with_http_headers $query, $cookie, $template->output;

Index: printlist.pl
===================================================================
RCS file: printlist.pl
diff -N printlist.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ printlist.pl        10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,83 @@
+#!/usr/bin/perl
+# NOTE: Use standard 8-space tabs for this file (indents are 4 spaces)
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+# 
+# $Id: printlist.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+printlist.pl
+
+=head1 DESCRIPTION
+
+this script print the list of members who have reserved the subscription given 
on input arg.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item serialseq
+
+=item subscriptionid
+
+=back
+
+=cut
+
+
+use strict;
+require Exporter;
+use C4::Context;
+use CGI;
+use C4::Auth;
+use C4::Serials;
+use C4::Interface::CGI::Output;
+use C4::Koha;
+
+my $query=new CGI;
+
+my $serialseq=$query->param('serialseq');
+my $subscriptionid=$query->param('subscriptionid');
+my $subscription = GetSubscription($subscriptionid);
+$subscription->{'distributedto'} =~ s/\n/<br\/>/g;
+
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/printlist.tmpl",
+                query => $query,
+                type => "intranet",
+                authnotrequired => 0,
+                flagsrequired => {catalogue => 1},
+                debug => 1,
+                });
+$template->param(serialseq => $serialseq,
+                title => $subscription->{bibliotitle},
+                branchname => 
getbranchdetail(C4::Context->userenv->{'branch'})->{branchname},
+                branchaddress1 => 
getbranchdetail(C4::Context->userenv->{'branch'})->{address1},
+                branchaddress2 => 
getbranchdetail(C4::Context->userenv->{'branch'})->{address2},
+                branchaddress3 => 
getbranchdetail(C4::Context->userenv->{'branch'})->{address3},
+                branchphone => 
getbranchdetail(C4::Context->userenv->{'branch'})->{branchphone},
+                branchemail => 
getbranchdetail(C4::Context->userenv->{'branch'})->{branchemail},
+                distributedto => $subscription->{'distributedto'},
+                );
+output_html_with_http_headers $query, $cookie, $template->output;
+
+
+# Local Variables:
+# tab-width: 8
+# End:

Index: reorder_members.pl
===================================================================
RCS file: reorder_members.pl
diff -N reorder_members.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ reorder_members.pl  10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+# Routing.pl script used to create a routing list for a serial subscription
+# In this instance it is in fact a setting up of a list of reserves for the 
item
+# where the hierarchical order can be changed on the fly and a routing list 
can be
+# printed out
+use strict;
+use CGI;
+
+use C4::Acquisition;
+use C4::Interface::CGI::Output;
+
+use C4::Serials;
+
+
+my $query = new CGI;
+my $subscriptionid = $query->param('subscriptionid');
+my $routingid = $query->param('routingid');
+my $rank = $query->param('rank');
+
+reorder_members($subscriptionid,$routingid,$rank);
+
+print 
$query->redirect("/cgi-bin/koha/serials/routing.pl?subscriptionid=$subscriptionid");
+

Index: routing-preview.pl
===================================================================
RCS file: routing-preview.pl
diff -N routing-preview.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ routing-preview.pl  10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,121 @@
+#!/usr/bin/perl
+
+# Routing Preview.pl script used to view a routing list after creation
+# lets one print out routing slip and create (in this instance) the heirarchy
+# of reserves for the serial
+use strict;
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Date;
+use C4::Output;
+use C4::Acquisition;
+use C4::Reserves2;
+use C4::Circulation::Circ2;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Search;
+use C4::Serials;
+
+my $query = new CGI;
+my $subscriptionid = $query->param('subscriptionid');
+my $issue = $query->param('issue');
+my $routingid;
+my $ok = $query->param('ok');
+my $edit = $query->param('edit');
+my $delete = $query->param('delete');
+my $dbh = C4::Context->dbh;
+
+if($delete){
+    delroutingmember($routingid,$subscriptionid);
+    my $sth = $dbh->prepare("UPDATE serial SET routingnotes = NULL WHERE 
subscriptionid = ?");
+    $sth->execute($subscriptionid);    
+    print 
$query->redirect("routing.pl?subscriptionid=$subscriptionid&op=new");    
+}
+
+if($edit){
+    print $query->redirect("routing.pl?subscriptionid=$subscriptionid");
+}
+    
+my ($routing, @routinglist) = getroutinglist($subscriptionid);
+my $subs = GetSubscription($subscriptionid);
+my ($count,@serials) = GetSerials($subscriptionid);
+my ($template, $loggedinuser, $cookie);
+
+if($ok){
+    my $env;
+    # get biblio information....
+    my $biblio = $subs->{'biblionumber'};
+    
+    # get existing reserves .....
+    my ($count,$reserves) = FindReserves($biblio);
+    my $totalcount = $count;
+    foreach my $res (@$reserves) {
+        if ($res->{'found'} eq 'W') {
+           $count--;
+        }
+    }
+    my ($count2,@bibitems) = bibitems($biblio);
+    my @itemresults = ItemInfo($env, $subs->{'biblionumber'}, 'intra');    
+    my $branch = $itemresults[0]->{'holdingbranch'};
+    my $const = 'o';
+    my $notes;
+    my $title = $subs->{'bibliotitle'};
+    for(my $i=0;$i<$routing;$i++){
+       my $sth = $dbh->prepare("SELECT * FROM reserves WHERE biblionumber = ? 
AND borrowernumber = ? 
+                                 AND cancellationdate is NULL AND (found <> 
'F' or found is NULL)");
+        $sth->execute($biblio,$routinglist[$i]->{'borrowernumber'});
+        my $data = $sth->fetchrow_hashref;
+#      warn Dumper($data);
+#       warn "$routinglist[$i]->{'borrowernumber'} is the same as 
$data->{'borrowernumber'}";
+       if($routinglist[$i]->{'borrowernumber'} == $data->{'borrowernumber'}){
+           
UpdateReserve($routinglist[$i]->{'ranking'},$biblio,$routinglist[$i]->{'borrowernumber'},$branch);
+        } else {
+            
CreateReserve(\$env,$branch,$routinglist[$i]->{'borrowernumber'},$biblio,$const,address@hidden,$routinglist[$i]->{'ranking'},$notes,$title);
+       }
+    }
+    
+    
+    ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/routing-preview-slip.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });    
+} else {
+    ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/routing-preview.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+}    
+
+# my $firstdate = "$serials[0]->{'serialseq'} ($serials[0]->{'planneddate'})";
+my @results;
+my $data;
+for(my $i=0;$i<$routing;$i++){
+    $data=borrdata('',$routinglist[$i]->{'borrowernumber'});
+    $data->{'location'}=$data->{'streetaddress'};
+    $data->{'name'}="$data->{'firstname'} $data->{'surname'}";
+    $data->{'routingid'}=$routinglist[$i]->{'routingid'};
+    $data->{'subscriptionid'}=$subscriptionid;
+    push(@results, $data);
+}
+
+my $routingnotes = $serials[0]->{'routingnotes'};
+$routingnotes =~ s/\n/\<br \/\>/g;
+  
+$template->param(
+    title => $subs->{'bibliotitle'},
+    issue => $issue,
+    subscriptionid => $subscriptionid,
+    memberloop => address@hidden,    
+    routingnotes => $routingnotes,
+    );
+
+        output_html_with_http_headers $query, $cookie, $template->output;

Index: routing.pl
===================================================================
RCS file: routing.pl
diff -N routing.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ routing.pl  10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,122 @@
+#!/usr/bin/perl
+
+# Routing.pl script used to create a routing list for a serial subscription
+# In this instance it is in fact a setting up of a list of reserves for the 
item
+# where the hierarchical order can be changed on the fly and a routing list 
can be
+# printed out
+use strict;
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Date;
+use C4::Acquisition;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Search;
+use C4::Serials;
+
+my $query = new CGI;
+my $subscriptionid = $query->param('subscriptionid');
+my $serialseq = $query->param('serialseq');
+my $routingid = $query->param('routingid');
+my $bornum = $query->param('bornum');
+my $notes = $query->param('notes');
+my $op = $query->param('op');
+my $date_selected = $query->param('date_selected');
+my $dbh = C4::Context->dbh;
+
+if($op eq 'delete'){
+    delroutingmember($routingid,$subscriptionid);
+}
+
+if($op eq 'add'){
+    addroutingmember($bornum,$subscriptionid);
+}
+if($op eq 'save'){
+    my $sth = $dbh->prepare("UPDATE serial SET routingnotes = ? WHERE 
subscriptionid = ?");
+    $sth->execute($notes,$subscriptionid);
+    print 
$query->redirect("routing-preview.pl?subscriptionid=$subscriptionid&issue=$date_selected");
+}
+    
+my ($routing, @routinglist) = getroutinglist($subscriptionid);
+my $subs = GetSubscription($subscriptionid);
+my ($count,@serials) = old_getserials($subscriptionid);
+my ($serialdates) = GetLatestSerials($subscriptionid,$count);
+
+my @dates;
+my $i=0;
+foreach my $dateseq (@$serialdates) {
+        $dates[$i]->{'planneddate'} = $dateseq->{'planneddate'};
+        $dates[$i]->{'serialseq'} = $dateseq->{'serialseq'};
+        $dates[$i]->{'serialid'} = $dateseq->{'serialid'};
+        if($date_selected eq $dateseq->{'serialid'}){
+            $dates[$i]->{'selected'} = ' selected';
+        } else {
+            $dates[$i]->{'selected'} = '';
+        }
+        $i++;
+}
+
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/routing.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+# my $date;
+# if($serialseq){
+#    for(my $i = 0;$i<@serials; $i++){
+#      if($serials[$i]->{'serialseq'} eq $serialseq){
+#          $date = $serials[$i]->{'planneddate'}
+#      }
+#    }
+# } else {
+#    $serialseq = $serials[0]->{'serialseq'};
+#    $date = $serials[0]->{'planneddate'};
+# }
+
+# my $issue = "$serialseq ($date)";
+  
+my @results;
+my $data;
+for(my $i=0;$i<$routing;$i++){
+    $data=borrdata('',$routinglist[$i]->{'borrowernumber'});
+    $data->{'location'}=$data->{'streetaddress'};
+    $data->{'name'}="$data->{'firstname'} $data->{'surname'}";
+    $data->{'routingid'}=$routinglist[$i]->{'routingid'};
+    $data->{'subscriptionid'}=$subscriptionid;
+    my $rankingbox = '<select name="itemrank" 
onchange="reorder_item('.$subscriptionid.','.$routinglist[$i]->{'routingid'}.',this.options[this.selectedIndex].value)">';
+    for(my $j=1; $j <= $routing; $j++) {
+       $rankingbox .= "<option ";
+       if($routinglist[$i]->{'ranking'} == $j){
+           $rankingbox .= " selected='SELECTED'";
+       }
+       $rankingbox .= " value='$j'>$j</option>";
+    }
+    $rankingbox .= "</select>";
+    $data->{'routingbox'} = $rankingbox;
+    
+    push(@results, $data);
+}
+# warn Dumper(@results);
+# for adding routing list
+my $new;
+if ($op eq 'new') {
+    $new = 1;
+} else {
+# for modify routing list default
+    $new => 0;
+}
+
+$template->param(
+    title => $subs->{'bibliotitle'},
+    subscriptionid => $subscriptionid,
+    memberloop => address@hidden,    
+    op => $new,
+    dates => address@hidden,
+    routingnotes => $serials[0]->{'routingnotes'},
+    );
+
+        output_html_with_http_headers $query, $cookie, $template->output;

Index: serial-issues.pl
===================================================================
RCS file: serial-issues.pl
diff -N serial-issues.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ serial-issues.pl    10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,117 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: serial-issues.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+serial-issue.pl
+
+=head1 DESCRIPTION
+
+this script give more information about a susbcription given on input arg.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item selectview
+can be equal to "full" or not.
+
+=item biblionumber
+the biblionumber this script has to give more infos.
+
+=back
+
+
+=cut
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Koha;
+use C4::Date;
+use C4::Serials;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Context;
+
+
+my $query = new CGI;
+my $dbh = C4::Context->dbh;
+my $selectview = $query->param('selectview');
+$selectview = C4::Context->preference("SubscriptionHistory") unless 
$selectview;
+
+my $sth;
+# my $id;
+my ($template, $loggedinuser, $cookie);
+my $biblionumber = $query->param('biblionumber');
+if ($selectview eq "full"){
+    my $subscriptions = GetFullSubscriptionsFromBiblionumber($biblionumber);
+
+    my $title = $subscriptions->[0]{bibliotitle};
+    my $yearmin=$subscriptions->[0]{year};
+    my $yearmax=$subscriptions->[scalar(@$subscriptions)-1]{year};
+
+    ($template, $loggedinuser, $cookie)
+     = get_template_and_user({template_name => 
"serials/serial-issues-full.tmpl",
+     query => $query,
+     type => "intranet",
+     authnotrequired => 1,
+     debug => 1,
+     });
+ 
+ # replace CR by <br> in librarian note
+ # $subscription->{opacnote} =~ s/\n/\<br\/\>/g;
+ 
+    $template->param(
+        biblionumber => $query->param('biblionumber'),
+        years => $subscriptions,
+        yearmin => $yearmin,
+        yearmax =>$yearmax,
+        bibliotitle => $title,
+        suggestion => C4::Context->preference("suggestion"),
+        virtualshelves => C4::Context->preference("virtualshelves"),
+    );
+
+} else {
+    my $subscriptions = GetSubscriptionsFromBiblionumber($biblionumber);
+    ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => "serials/serial-issues.tmpl",
+        query => $query,
+        type => "intranet",
+        authnotrequired => 1,
+        debug => 1,
+     });
+
+ # replace CR by <br> in librarian note
+ # $subscription->{opacnote} =~ s/\n/\<br\/\>/g;
+
+    $template->param(
+        biblionumber => "".$query->param('biblionumber'),
+        subscription_LOOP => $subscriptions,
+        suggestion => "".C4::Context->preference("suggestion"),
+        virtualshelves => "".C4::Context->preference("virtualshelves"),
+    );
+}
+$template->param(intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+               IntranetNav => C4::Context->preference("IntranetNav"),
+               );
+output_html_with_http_headers $query, $cookie, $template->output;

Index: serials-home.pl
===================================================================
RCS file: serials-home.pl
diff -N serials-home.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ serials-home.pl     10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,90 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: serials-home.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+serials-home.pl
+
+=head1 DESCRIPTION
+
+this script is the main page for serials/
+
+=head1 PARAMETERS
+
+=over 4
+
+=item title
+
+=item ISSN
+
+=item biblionumber
+
+=back
+
+=cut
+
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Serials;
+use C4::Interface::CGI::Output;
+use C4::Context;
+
+my $query = new CGI;
+my $title = $query->param('title');
+my $ISSN = $query->param('ISSN');
+my $supplierid = $query->param('supplierid');
+my $routing = $query->param('routing');
+my $searched = $query->param('searched');
+my $biblionumber = $query->param('biblionumber');
+my $alt_links = 0;
+if(C4::Context->preference("RoutingSerials")){
+    $alt_links = 0;
+}
+my @subscriptions = GetSubscriptions($title,$ISSN,$biblionumber,$supplierid);
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/serials-home.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+# to toggle between create or edit routing list options
+if($routing){ 
+    for(my $i=0;$i<@subscriptions;$i++){
+       my $checkrouting = 
check_routing($subscriptions[$i]->{'subscriptionid'});
+       $subscriptions[$i]->{'routingedit'} = $checkrouting;
+       # warn "check $checkrouting";
+    }
+}
+
+$template->param(
+       subscriptions => address@hidden,
+       title => $title,
+       ISSN => $ISSN,
+        done_searched => $searched,
+        routing => $routing,
+        alt_links => $alt_links,
+       );
+output_html_with_http_headers $query, $cookie, $template->output;

Index: serials-receive.pl
===================================================================
RCS file: serials-receive.pl
diff -N serials-receive.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ serials-receive.pl  10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,223 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: serials-receive.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+serials-receive.pl
+
+=head1 Parameters
+
+=over 4
+
+=item op
+ op can be :
+    * modsubscriptionhistory :to modify the subscription history 
+    * serialchangestatus     :to modify the status of this subscription
+
+=item subscriptionid
+
+=item user
+
+=item histstartdate
+
+=item enddate
+
+=item receivedlist
+
+=item missinglist
+
+=item opacnote
+
+=item librariannote
+
+=item serialid
+
+=item serialseq
+
+=item planneddate
+
+=item notes
+
+=item status
+
+=back
+
+=cut
+
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Date;
+use C4::Biblio;
+use C4::Koha;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Serials;
+
+my $query = new CGI;
+my $op = $query->param('op');
+my $dbh = C4::Context->dbh;
+my $subscriptionid = $query->param('subscriptionid');
+my $histstartdate = format_date_in_iso($query->param('histstartdate'));
+my $enddate = format_date_in_iso($query->param('enddate'));
+my $receivedlist = $query->param('receivedlist');
+my $missinglist = $query->param('missinglist');
+my $opacnote = $query->param('opacnote');
+my $librariannote = $query->param('librariannote');
+my @serialids = $query->param('serialid');
+my @serialseqs = $query->param('serialseq');
+my @planneddates = $query->param('planneddate');
+my @publisheddates = $query->param('publisheddate');
+my @status = $query->param('status');
+my @notes = $query->param('notes');
+my @barcodes = $query->param('barcode');
+my @itemcallnumbers = $query->param('itemcallnumber');
+my @locations = $query->param('location');
+my @itemstatus = $query->param('itemstatus');
+my @holdingbranches = $query->param('holdingbranch');
+my $hassubscriptionexpired = HasSubscriptionExpired($subscriptionid);
+my $abouttoexpire = abouttoexpire($subscriptionid);
+my @itemnumbers=$query->param('itemnumber');
+my $subscription=GetSubscription($subscriptionid);
+
+my $auser = $subscription->{'librarian'}; # bob
+my $routing = check_routing($subscriptionid); # to see if routing list exists
+my $manualdate ='';
+my $manualissue ='';
+my $manualstatus =0;
+my $manualid ='';
+if ($op eq 'found'){
+    $manualdate = $query->param('planneddate');
+    $manualissue = $query->param('missingissue');
+    $manualstatus = 1;
+    my $sth = $dbh->prepare("select serialid from serial where subscriptionid 
= ? AND serialseq = ? AND planneddate = ?");
+    
$sth->execute($subscriptionid,$manualissue,format_date_in_iso($manualdate));
+    $manualid = $sth->fetchrow;
+}
+if ($op eq 'modsubscriptionhistory') {
+       
ModSubscriptionHistory($subscriptionid,$histstartdate,$enddate,$receivedlist,$missinglist,$opacnote,$librariannote);
+}
+
+# change status except, if subscription has expired, for the "waited" issue.
+if ($op eq 'serialchangestatus') {
+       my $sth = $dbh->prepare("select status from serial where serialid=?");
+       for (my $i=0;$i<=$#serialids;$i++) {
+               $sth->execute($serialids[$i]);
+               my $today=get_today();
+               my ($oldstatus) = $sth->fetchrow;
+               if ($serialids[$i]) {
+        my $planneddate = 
($planneddates[$i]?format_date_in_iso($planneddates[$i]):$today) if 
($status[$i]==2);
+                       
ModSerialStatus($serialids[$i],$serialseqs[$i],format_date_in_iso($publisheddates[$i]),format_date_in_iso($planneddates[$i]),$status[$i],$notes[$i],$itemnumbers[$i])
 unless ($hassubscriptionexpired && $oldstatus ==1 );
+                       if (($status[$i]==2) && $itemnumbers[$i]){
+                               my %info;
+                               my $status2;
+                               my $sth2 = $dbh->prepare("UPDATE 
subscriptionhistory SET lastbranch = ? WHERE subscriptionid = ?");
+                               
$sth2->execute($holdingbranches[$i],$subscriptionid);
+                               $sth2->finish;                      
+                               # remove from missing list if item being 
checked in is on it
+                                   
removeMissingIssue($serialseqs[$i],$subscriptionid);
+                       }
+               } else {
+                       # add a special issue
+                       if ($serialseqs[$i]) {
+                               
NewIssue($serialseqs[$i],$subscriptionid,$subscription->{biblionumber},$status[$i],format_date_in_iso($publisheddates[$i]),
 format_date_in_iso($planneddates[$i]),$itemnumbers[$i]);
+                       }
+                       if (($status[$i]==2) &&  $itemnumbers[$i] && 
!$hassubscriptionexpired){
+                               my %info;
+                               my $status2;
+                               my $sth2 = $dbh->prepare("UPDATE 
subscriptionhistory SET lastbranch = ? WHERE subscriptionid = ?");
+                               
$sth2->execute($holdingbranches[$i],$subscriptionid);
+                               $sth2->finish;
+                               # remove from missing list if item being 
checked in is on it
+                              
+                                   
removeMissingIssue($serialseqs[$i],$subscriptionid);
+                              
+                       }
+
+               }
+       }
+
+}
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/serials-receive.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+my $subs = &GetSubscription($subscriptionid);
+my ($totalissues,@serialslist) = GetSerials($subscriptionid);
+my $count = @serialslist;
+for(my $i=0;$i<$count;$i++){
+    $serialslist[$i]->{'callnumber'} = $subscription->{'callnumber'};
+    my $temp = rand(10000000);
+    $serialslist[$i]->{'barcode'} = "TEMP" . sprintf("%.0f",$temp);
+}
+# use Data::Dumper;
+# warn Dumper(@serialslist);
+
+my $sth= C4::Serials::GetSubscriptionHistoryFromSubscriptionId();
+
+$sth->execute($subscriptionid);
+my $solhistory = $sth->fetchrow_hashref;
+
+my $subs = &GetSubscription($subscriptionid);
+my ($totalissues,@serialslist) = GetSerials($subscriptionid);
+
+if (C4::Context->preference("serialsadditems")){
+    
$template->param(scriptaddserials=>"/cgi-bin/koha/cataloguing/additem.pl?biblionumber=
  $serialslist[0]->{'biblionumber'}&fromserials=1&serialid=",
+                               serialsadditems=>1      ) ;
+}
+
+my $sth= C4::Serials::GetSubscriptionHistoryFromSubscriptionId();
+$sth->execute($subscriptionid);
+my $solhistory = $sth->fetchrow_hashref;
+
+    
+$template->param(
+                        user => $auser,
+                       serialslist => address@hidden,
+                        count => $count,
+                       biblionumber => $subscription->{biblionumber},
+                       histstartdate => 
format_date($solhistory->{'histstartdate'}),
+                       enddate => format_date($solhistory->{'enddate'}),
+                       receivedlist => $solhistory->{'receivedlist'},
+                       missinglist => $solhistory->{'missinglist'},
+                       opacnote => $solhistory->{'opacnote'},
+                       librariannote => $solhistory->{'librariannote'},
+                       subscriptionid => $subscriptionid,
+                       bibliotitle => $subs->{bibliotitle},
+                       biblionumber => $subs->{biblionumber},
+                       hassubscriptionexpired =>$hassubscriptionexpired,
+                       abouttoexpire =>$abouttoexpire,    
+                       intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+                       intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+                       IntranetNav => C4::Context->preference("IntranetNav"),
+                        routing => $routing,
+                        missingseq => $manualissue,
+                        frommissing => $manualstatus,
+                        missingdate => $manualdate,
+                        missingid => $manualid,
+               );
+output_html_with_http_headers $query, $cookie, $template->output;

Index: subscription-add-new.pl
===================================================================
RCS file: subscription-add-new.pl
diff -N subscription-add-new.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ subscription-add-new.pl     10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,309 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2003 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: subscription-add-new.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+subscription-add.pl
+
+=head1 DESCRIPTION
+
+this script add a subscription into the database.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item op
+op use to know the operation to do on this template.
+ * mod : to modify an existing subscription
+ * addsubscription : to add a subscription
+
+Note that if op = mod or addsubscription there are a lot of other params.
+
+
+=back
+
+=cut
+
+
+use strict;
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Date;
+use Date::Calc qw(:all);
+use C4::Serials;
+use C4::Bookfund;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Letters;
+use C4::Members;
+my $query = new CGI;
+my $op = $query->param('op');
+my $dbh = C4::Context->dbh;
+my ($subscriptionid,$auser,$librarian,$cost,$aqbooksellerid, 
$aqbooksellername,$aqbudgetid, $bookfundid, $startdate, $periodicity,
+    $publisheddate,$dow,$irregularity, $numberpattern, $numberlength, 
$weeklength, $monthlength, $sublength,
+    $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
+    $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
+    $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
+    $numberingmethod, $status, $biblionumber,
+    $title, $notes, $letter,$callnumber,$hemisphere);
+
+    my @budgets;
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/subscription-add.tmpl",
+                query => $query,
+                type => "intranet",
+                authnotrequired => 0,
+                flagsrequired => {catalogue => 1},
+                debug => 1,
+                });
+
+my $weekarrayjs='';
+my $count = 0;
+my $today=get_today();
+my ($year,$month,$day)=split /-|\/|\.|:/,$today ;
+my $firstday = Day_of_Year($year,$month,$day);
+my ($wkno,$dyear) = Week_of_Year($year,$month,$day); 
+my $weekno = $wkno;
+for(my $i=$firstday;$i<($firstday+365);$i=$i+7){
+        $count = $i;
+        if($wkno > 52){$year++; $wkno=1;}
+        if($count>365){$count=$i-365;}    
+     my @newdate= Add_Delta_Days($year,$month,$day, $count);
+
+        $weekarrayjs .= "'Wk $wkno: 
".format_date($newdate[0]."-".$newdate[1]."-".$newdate[2])."',";
+        $wkno++;    
+}
+chop($weekarrayjs);
+# warn $weekarrayjs;
+
+my $sub_on;
+my @subscription_types = (
+            'issues', 'weeks', 'months'
+        ); 
+my @sub_type_data;
+if ($op eq 'mod') {
+    my $subscriptionid = $query->param('subscriptionid');
+    my $subs = &GetSubscription($subscriptionid);
+    $auser = $subs->{'user'};
+    $librarian = $subs->{'librarian'};
+    $cost = $subs->{'cost'};
+    $aqbooksellerid = $subs->{'aqbooksellerid'};
+    $aqbooksellername = $subs->{'aqbooksellername'};
+    $bookfundid = $subs->{'bookfundid'};
+    $aqbudgetid = $subs->{'aqbudgetid'};
+    defined $aqbudgetid or $aqbudgetid='';
+    $startdate = $subs->{'startdate'};
+   $publisheddate = $subs->{'publisheddate'};
+    $periodicity = $subs->{'periodicity'};
+    $dow = $subs->{'dow'};
+        $irregularity = $subs->{'irregularity'};
+        $numberpattern = $subs->{'numberpattern'};
+    $numberlength = $subs->{'numberlength'};
+    $weeklength = $subs->{'weeklength'};
+    $monthlength = $subs->{'monthlength'};
+       if($monthlength > 0){
+           $sublength = $monthlength;
+           $sub_on = $subscription_types[2];
+       } elsif ($weeklength>0){
+           $sublength = $weeklength;
+           $sub_on = $subscription_types[1];
+       } else {
+           $sublength = $numberlength;
+           $sub_on = $subscription_types[0];
+       }
+        
+
+        while (@subscription_types) {
+           my $sub_type = shift @subscription_types;
+           my %row = ( 'name' => $sub_type );
+           if ( $sub_on eq $sub_type ) {
+            $row{'selected'} = ' selected';
+           } else {
+            $row{'selected'} = '';
+           }
+           push( @sub_type_data, \%row );
+        }
+    $add1 = $subs->{'add1'};
+    $every1 = $subs->{'every1'};
+    $whenmorethan1 = $subs->{'whenmorethan1'};
+    $setto1 = $subs->{'setto1'};
+    $lastvalue1 = $subs->{'lastvalue1'};
+    $innerloop1 = $subs->{'innerloop1'};
+    $add2 = $subs->{'add2'};
+    $every2 = $subs->{'every2'};
+    $whenmorethan2 = $subs->{'whenmorethan2'};
+    $setto2 = $subs->{'setto2'};
+    $lastvalue2 = $subs->{'lastvalue2'};
+    $innerloop2 = $subs->{'innerloop2'};
+    $add3 = $subs->{'add3'};
+    $every3 = $subs->{'every3'};
+    $whenmorethan3 = $subs->{'whenmorethan3'};
+    $setto3 = $subs->{'setto3'};
+    $lastvalue3 = $subs->{'lastvalue3'};
+    $innerloop3 = $subs->{'innerloop3'};
+    $numberingmethod = $subs->{'numberingmethod'};
+    $status = $subs->{status};
+    $biblionumber = $subs->{'biblionumber'};
+    $title = $subs->{'title'},
+           $callnumber = $subs->{'callnumber'};
+           $hemisphere = $subs->{'hemisphere'};
+    $notes = $subs->{'notes'};
+    $letter = $subs->{'letter'};
+    defined $letter or $letter='';
+    $template->param(
+        $op => 1,
+        user => $auser,
+        librarian => $librarian,
+        aqbooksellerid => $aqbooksellerid,
+        aqbooksellername => $aqbooksellername,
+        cost => $cost,
+        aqbudgetid => $aqbudgetid,
+        bookfundid => $bookfundid,
+        startdate => format_date($startdate),    
+         publisheddate => format_date($publisheddate),    
+        periodicity => $periodicity,
+        numberpattern=>$numberpattern,
+        dow => $dow,
+        numberlength => $numberlength,
+        weeklength => $weeklength,
+        monthlength => $monthlength,
+       sublength=>$sublength,
+        add1 => $add1,
+        every1 => $every1,
+        whenmorethan1 => $whenmorethan1,
+        setto1 => $setto1,
+        lastvalue1 => $lastvalue1,
+        innerloop1 => $innerloop1,
+        add2 => $add2,
+        every2 => $every2,
+        whenmorethan2 => $whenmorethan2,
+        setto2 => $setto2,
+        lastvalue2 => $lastvalue2,
+        innerloop2 => $innerloop2,
+        add3 => $add3,
+        every3 => $every3,
+        whenmorethan3 => $whenmorethan3,
+        setto3 => $setto3,
+        lastvalue3 => $lastvalue3,
+        innerloop3 => $innerloop3,
+        numberingmethod => $numberingmethod,
+        status => $status,
+        biblionumber => $biblionumber,
+        title => $title,
+               callnumber => $callnumber,
+        notes => $notes,
+        letter => $letter,
+        subscriptionid => $subscriptionid,
+        weekarrayjs => $weekarrayjs,
+               weekno => $weekno,
+               hemisphere => $hemisphere,
+        "periodicity$periodicity" => 1,
+        "dow$dow" => 1,
+        "numberpattern$numberpattern" => 1,
+        );
+}
+
+my @letterlist = GetLetterList('serial');
+for (my $i=0;$i<=$#letterlist;$i++) {
+    $letterlist[$i]->{'selected'} =1 if $letterlist[$i]->{'code'} eq $letter;
+}
+$template->param(letters => address@hidden);
+
+if ($op eq 'addsubscription') {
+  my @irregular = $query->param('irregular');
+        my $irregular_count = @irregular;
+        for(my $i =0;$i<$irregular_count;$i++){
+            $irregularity .=$irregular[$i]."|";
+        }
+        $irregularity =~ s/\|$//;
+        
+    my $auser = $query->param('user');
+    my $aqbooksellerid = $query->param('aqbooksellerid');
+    my $cost = $query->param('cost');
+    my $aqbudgetid = $query->param('aqbudgetid');
+    my $startdate = $query->param('startdate');
+     my $publisheddate = $query->param('publisheddate');
+    my $callnumber=$query->param('callnumber');          
+    my $periodicity = $query->param('periodicity');
+    my $dow = $query->param('dow');
+       my $numberlength = 0;
+       my $weeklength = 0;
+       my $monthlength = 0;
+        my $numberpattern = $query->param('numbering_pattern');
+        my $sublength = $query->param('sublength');
+        my $subtype = $query->param('subtype');
+        if ($subtype eq 'months'){
+           $monthlength = $sublength;
+       } elsif ($subtype eq 'weeks'){
+           $weeklength = $sublength;
+       } else {
+           $numberlength = $sublength;
+       }
+
+
+       my $add1 = $query->param('add1');
+       my $every1 = $query->param('every1');
+       my $whenmorethan1 = $query->param('whenmorethan1');
+       my $setto1 = $query->param('setto1');
+       my $lastvalue1 = $query->param('lastvalue1');
+       my $add2 = $query->param('add2');
+       my $every2 = $query->param('every2');
+       my $whenmorethan2 = $query->param('whenmorethan2');
+       my $setto2 = $query->param('setto2');
+       my $lastvalue2 = $query->param('lastvalue2');
+       my $add3 = $query->param('add3');
+       my $every3 = $query->param('every3');
+       my $whenmorethan3 = $query->param('whenmorethan3');
+       my $setto3 = $query->param('setto3');
+       my $lastvalue3 = $query->param('lastvalue3');
+       my $numberingmethod = $query->param('numberingmethod');
+       my $status = 1;
+    my $biblionumber = $query->param('biblionumber');
+    my $notes = $query->param('notes');
+    my $letter = $query->param('letter');
+            my $hemisphere = $query->param('hemisphere') || 1;
+
+    my $subscriptionid = 
NewSubscription($auser,$aqbooksellerid,$cost,$aqbudgetid,$biblionumber,
+                    
$startdate,$periodicity,$dow,$numberlength,$weeklength,$monthlength,
+                    $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,
+                    $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,
+                    $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,
+                    $numberingmethod, $status, $notes, 
$letter,$irregularity,$hemisphere,$callnumber,$numberpattern,$publisheddate    
);
+    print 
$query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
+} else {
+     while (@subscription_types) {
+           my $sub_type = shift @subscription_types;
+           my %row = ( 'name' => $sub_type );
+           if ( $sub_on eq $sub_type ) {
+            $row{'selected'} = ' selected';
+           } else {
+            $row{'selected'} = '';
+           }
+           push( @sub_type_data, \%row );
+        }    
+    $template->param(subtype => address@hidden,
+                weekarrayjs => $weekarrayjs,
+                weekno => $weekno,
+       );
+    output_html_with_http_headers $query, $cookie, $template->output;
+}

Index: subscription-add.pl
===================================================================
RCS file: subscription-add.pl
diff -N subscription-add.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ subscription-add.pl 10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,311 @@
+#!/usr/bin/perl
+
+# Copyright 2000-2003 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: subscription-add.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+subscription-add.pl
+
+=head1 DESCRIPTION
+
+this script add a subscription into the database.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item op
+op use to know the operation to do on this template.
+ * mod : to modify an existing subscription
+ * addsubscription : to add a subscription
+
+Note that if op = mod or addsubscription there are a lot of other params.
+
+
+=back
+
+=cut
+
+
+use strict;
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Date;
+use C4::Serials;
+use C4::Bookfund;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use C4::Letters;
+use C4::Members;
+use DateTime;
+my $query = new CGI;
+my $op = $query->param('op');
+my $dbh = C4::Context->dbh;
+my ($subscriptionid,$auser,$librarian,$cost,$aqbooksellerid, 
$aqbooksellername,$aqbudgetid, $bookfundid, $startdate, $periodicity,
+    $publisheddate,$dow,$irregularity, $numberpattern, $numberlength, 
$weeklength, $monthlength, $sublength,
+    $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
+    $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
+    $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
+    $numberingmethod, $status, $biblionumber,
+    $title, $notes, $letter,$callnumber,$hemisphere);
+
+    my @budgets;
+my ($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/subscription-add.tmpl",
+                query => $query,
+                type => "intranet",
+                authnotrequired => 0,
+                flagsrequired => {catalogue => 1},
+                debug => 1,
+                });
+
+my $weekarrayjs='';
+my $count = 0;
+my $today=get_today();
+ my $dateobj=DATE_obj($today);
+  my $year=$dateobj->year;
+  my $month=$dateobj->month;
+  my $day=$dateobj->day_of_month;
+my $firstday = $dateobj->day_of_year;
+my $wkno = $dateobj->week_number;
+my $weekno = $wkno;
+for(my $i=$firstday;$i<($firstday+365);$i=$i+7){
+        $count = $i;
+        if($wkno > 52){$year++; $wkno=1;}
+        if($count>365){$count=$i-365;}    
+     my $newdate=DateTime->from_day_of_year(year=>$year,day_of_year=>$count);
+        $weekarrayjs .= "'Wk $wkno: ".format_date($newdate->ymd)."',";
+        $wkno++;    
+}
+chop($weekarrayjs);
+# warn $weekarrayjs;
+
+my $sub_on;
+my @subscription_types = (
+            'issues', 'weeks', 'months'
+        ); 
+my @sub_type_data;
+if ($op eq 'mod') {
+    my $subscriptionid = $query->param('subscriptionid');
+    my $subs = &GetSubscription($subscriptionid);
+    $auser = $subs->{'user'};
+    $librarian = $subs->{'librarian'};
+    $cost = $subs->{'cost'};
+    $aqbooksellerid = $subs->{'aqbooksellerid'};
+    $aqbooksellername = $subs->{'aqbooksellername'};
+    $bookfundid = $subs->{'bookfundid'};
+    $aqbudgetid = $subs->{'aqbudgetid'};
+    defined $aqbudgetid or $aqbudgetid='';
+    $startdate = $subs->{'startdate'};
+   $publisheddate = $subs->{'publisheddate'};
+    $periodicity = $subs->{'periodicity'};
+    $dow = $subs->{'dow'};
+        $irregularity = $subs->{'irregularity'};
+        $numberpattern = $subs->{'numberpattern'};
+    $numberlength = $subs->{'numberlength'};
+    $weeklength = $subs->{'weeklength'};
+    $monthlength = $subs->{'monthlength'};
+       if($monthlength > 0){
+           $sublength = $monthlength;
+           $sub_on = $subscription_types[2];
+       } elsif ($weeklength>0){
+           $sublength = $weeklength;
+           $sub_on = $subscription_types[1];
+       } else {
+           $sublength = $numberlength;
+           $sub_on = $subscription_types[0];
+       }
+        
+
+        while (@subscription_types) {
+           my $sub_type = shift @subscription_types;
+           my %row = ( 'name' => $sub_type );
+           if ( $sub_on eq $sub_type ) {
+            $row{'selected'} = ' selected';
+           } else {
+            $row{'selected'} = '';
+           }
+           push( @sub_type_data, \%row );
+        }
+    $add1 = $subs->{'add1'};
+    $every1 = $subs->{'every1'};
+    $whenmorethan1 = $subs->{'whenmorethan1'};
+    $setto1 = $subs->{'setto1'};
+    $lastvalue1 = $subs->{'lastvalue1'};
+    $innerloop1 = $subs->{'innerloop1'};
+    $add2 = $subs->{'add2'};
+    $every2 = $subs->{'every2'};
+    $whenmorethan2 = $subs->{'whenmorethan2'};
+    $setto2 = $subs->{'setto2'};
+    $lastvalue2 = $subs->{'lastvalue2'};
+    $innerloop2 = $subs->{'innerloop2'};
+    $add3 = $subs->{'add3'};
+    $every3 = $subs->{'every3'};
+    $whenmorethan3 = $subs->{'whenmorethan3'};
+    $setto3 = $subs->{'setto3'};
+    $lastvalue3 = $subs->{'lastvalue3'};
+    $innerloop3 = $subs->{'innerloop3'};
+    $numberingmethod = $subs->{'numberingmethod'};
+    $status = $subs->{status};
+    $biblionumber = $subs->{'biblionumber'};
+    $title = $subs->{'title'},
+           $callnumber = $subs->{'callnumber'};
+           $hemisphere = $subs->{'hemisphere'};
+    $notes = $subs->{'notes'};
+    $letter = $subs->{'letter'};
+    defined $letter or $letter='';
+    $template->param(
+        $op => 1,
+        user => $auser,
+        librarian => $librarian,
+        aqbooksellerid => $aqbooksellerid,
+        aqbooksellername => $aqbooksellername,
+        cost => $cost,
+        aqbudgetid => $aqbudgetid,
+        bookfundid => $bookfundid,
+        startdate => format_date($startdate),    
+         publisheddate => format_date($publisheddate),    
+        periodicity => $periodicity,
+        numberpattern=>$numberpattern,
+        dow => $dow,
+        numberlength => $numberlength,
+        weeklength => $weeklength,
+        monthlength => $monthlength,
+       sublength=>$sublength,
+        add1 => $add1,
+        every1 => $every1,
+        whenmorethan1 => $whenmorethan1,
+        setto1 => $setto1,
+        lastvalue1 => $lastvalue1,
+        innerloop1 => $innerloop1,
+        add2 => $add2,
+        every2 => $every2,
+        whenmorethan2 => $whenmorethan2,
+        setto2 => $setto2,
+        lastvalue2 => $lastvalue2,
+        innerloop2 => $innerloop2,
+        add3 => $add3,
+        every3 => $every3,
+        whenmorethan3 => $whenmorethan3,
+        setto3 => $setto3,
+        lastvalue3 => $lastvalue3,
+        innerloop3 => $innerloop3,
+        numberingmethod => $numberingmethod,
+        status => $status,
+        biblionumber => $biblionumber,
+        title => $title,
+               callnumber => $callnumber,
+        notes => $notes,
+        letter => $letter,
+        subscriptionid => $subscriptionid,
+        weekarrayjs => $weekarrayjs,
+               weekno => $weekno,
+               hemisphere => $hemisphere,
+        "periodicity$periodicity" => 1,
+        "dow$dow" => 1,
+        "numberpattern$numberpattern" => 1,
+        );
+}
+
+my @letterlist = GetLetterList('serial');
+for (my $i=0;$i<=$#letterlist;$i++) {
+    $letterlist[$i]->{'selected'} =1 if $letterlist[$i]->{'code'} eq $letter;
+}
+$template->param(letters => address@hidden);
+
+if ($op eq 'addsubscription') {
+  my @irregular = $query->param('irregular');
+        my $irregular_count = @irregular;
+        for(my $i =0;$i<$irregular_count;$i++){
+            $irregularity .=$irregular[$i]."|";
+        }
+        $irregularity =~ s/\|$//;
+        
+    my $auser = $query->param('user');
+    my $aqbooksellerid = $query->param('aqbooksellerid');
+    my $cost = $query->param('cost');
+    my $aqbudgetid = $query->param('aqbudgetid');
+    my $startdate = $query->param('startdate');
+     my $publisheddate = $query->param('publisheddate');
+    my $callnumber=$query->param('callnumber');          
+    my $periodicity = $query->param('periodicity');
+    my $dow = $query->param('dow');
+       my $numberlength = 0;
+       my $weeklength = 0;
+       my $monthlength = 0;
+        my $numberpattern = $query->param('numbering_pattern');
+        my $sublength = $query->param('sublength');
+        my $subtype = $query->param('subtype');
+        if ($subtype eq 'months'){
+           $monthlength = $sublength;
+       } elsif ($subtype eq 'weeks'){
+           $weeklength = $sublength;
+       } else {
+           $numberlength = $sublength;
+       }
+
+
+       my $add1 = $query->param('add1');
+       my $every1 = $query->param('every1');
+       my $whenmorethan1 = $query->param('whenmorethan1');
+       my $setto1 = $query->param('setto1');
+       my $lastvalue1 = $query->param('lastvalue1');
+       my $add2 = $query->param('add2');
+       my $every2 = $query->param('every2');
+       my $whenmorethan2 = $query->param('whenmorethan2');
+       my $setto2 = $query->param('setto2');
+       my $lastvalue2 = $query->param('lastvalue2');
+       my $add3 = $query->param('add3');
+       my $every3 = $query->param('every3');
+       my $whenmorethan3 = $query->param('whenmorethan3');
+       my $setto3 = $query->param('setto3');
+       my $lastvalue3 = $query->param('lastvalue3');
+       my $numberingmethod = $query->param('numberingmethod');
+       my $status = 1;
+    my $biblionumber = $query->param('biblionumber');
+    my $notes = $query->param('notes');
+    my $letter = $query->param('letter');
+            my $hemisphere = $query->param('hemisphere') || 1;
+
+    my $subscriptionid = 
NewSubscription($auser,$aqbooksellerid,$cost,$aqbudgetid,$biblionumber,
+                    
$startdate,$periodicity,$dow,$numberlength,$weeklength,$monthlength,
+                    $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,
+                    $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,
+                    $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,
+                    $numberingmethod, $status, $notes, 
$letter,$irregularity,$hemisphere,$callnumber,$numberpattern,$publisheddate    
);
+    print 
$query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
+} else {
+     while (@subscription_types) {
+           my $sub_type = shift @subscription_types;
+           my %row = ( 'name' => $sub_type );
+           if ( $sub_on eq $sub_type ) {
+            $row{'selected'} = ' selected';
+           } else {
+            $row{'selected'} = '';
+           }
+           push( @sub_type_data, \%row );
+        }    
+    $template->param(subtype => address@hidden,
+                weekarrayjs => $weekarrayjs,
+                weekno => $weekno,
+       );
+    output_html_with_http_headers $query, $cookie, $template->output;
+}

Index: subscription-bib-search.pl
===================================================================
RCS file: subscription-bib-search.pl
diff -N subscription-bib-search.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ subscription-bib-search.pl  10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,172 @@
+#!/usr/bin/perl
+# WARNING: 4-character tab stops here
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+use strict;
+
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Context;
+use C4::Search;
+use C4::Auth;
+use C4::Interface::CGI::Output;
+use C4::Biblio;
+use C4::Acquisition;
+use C4::Koha; # XXX subfield_is_koha_internal_p
+
+
+# Creates a scrolling list with the associated default value.
+# Using more than one scrolling list in a CGI assigns the same default value 
to all the
+# scrolling lists on the page !?!? That's why this function was written.
+
+my $query=new CGI;
+my $type=$query->param('type');
+my $op = $query->param('op');
+my $dbh = C4::Context->dbh;
+
+my $startfrom=$query->param('startfrom');
+$startfrom=0 if(!defined $startfrom);
+my ($template, $loggedinuser, $cookie);
+my $resultsperpage;
+
+if ($op eq "do_search") {
+       my @kohafield = $query->param('kohafield');
+       my @and_or = $query->param('and_or');
+       my @relation = $query->param('relation');
+       my @value = $query->param('value');
+       my $order=$query->param('order');
+       $resultsperpage= $query->param('resultsperpage');
+       $resultsperpage = 9 if(!defined $resultsperpage);
+       # builds tag and subfield arrays
+       
+       my ($total,$facets,@results) = 
ZEBRAsearch_kohafields(address@hidden,address@hidden,address@hidden,$order,address@hidden,1,"",$startfrom,$resultsperpage,"intranet");
+                                                                               
+       ($template, $loggedinuser, $cookie)
+               = get_template_and_user({template_name => "serials/result.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {borrowers => 1},
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+       # multi page display gestion
+       my $displaynext=0;
+       my $displayprev=$startfrom;
+       if(($total - (($startfrom+1)*($resultsperpage))) > 0 ){
+               $displaynext = 1;
+       }
+
+       my @field_data = ();
+
+
+       for(my $i = 0 ; $i <= $#value ; $i++)
+       {
+               push @field_data, { term => "kohafield", val=>$kohafield[$i] };
+               push @field_data, { term => "and_or", val=>$and_or[$i] };
+               push @field_data, { term => "relation", val=>$relation[$i] };
+               push @field_data, { term => "value", val=>$value[$i] };
+       }
+
+       my @numbers = ();
+
+       if ($total>$resultsperpage)
+       {
+               for (my $i=1; $i<$total/$resultsperpage+1; $i++)
+               {
+                       if ($i<16)
+                       {
+                       my $highlight=0;
+                       ($startfrom==($i-1)) && ($highlight=1);
+                       push @numbers, { number => $i,
+                                       highlight => $highlight ,
+                                       searchdata=> address@hidden,
+                                       startfrom => ($i-1)};
+                       }
+       }
+       }
+
+       my $from = $startfrom*$resultsperpage+1;
+       my $to;
+
+       if($total < (($startfrom+1)*$resultsperpage))
+       {
+               $to = $total;
+       } else {
+               $to = (($startfrom+1)*$resultsperpage);
+       }
+       $template->param(result => address@hidden,
+                                                       startfrom=> $startfrom,
+                                                       displaynext=> 
$displaynext,
+                                                       displayprev=> 
$displayprev,
+                                                       resultsperpage => 
$resultsperpage,
+                                                       startfromnext => 
$startfrom+1,
+                                                       startfromprev => 
$startfrom-1,
+                                                       
searchdata=>address@hidden,
+                                                       total=>$total,
+                                                       from=>$from,
+                                                       to=>$to,
+                                                       numbers=>address@hidden,
+                                                       );
+} else {
+       ($template, $loggedinuser, $cookie)
+               = get_template_and_user({template_name => 
"serials/subscription-bib-search.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+       my $sth=$dbh->prepare("Select itemtype,description from itemtypes order 
by description");
+       $sth->execute;
+       my  @itemtype;
+       my %itemtypes;
+       push @itemtype, "";
+       $itemtypes{''} = "";
+       while (my ($value,$lib) = $sth->fetchrow_array) {
+               push @itemtype, $value;
+               $itemtypes{$value}=$lib;
+       }
+
+       my $CGIitemtype=CGI::scrolling_list( -name     => 'value',
+                               -values   => address@hidden,
+                               -labels   => \%itemtypes,
+                               -size     => 1,
+                               -tabindex=>'',
+                               -multiple => 0 );
+       $sth->finish;
+
+       $template->param(
+                       CGIitemtype => $CGIitemtype,
+                       );
+}
+
+
+# Print the page
+$template->param(intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+               IntranetNav => C4::Context->preference("IntranetNav"),
+               );
+output_html_with_http_headers $query, $cookie, $template->output;
+
+# Local Variables:
+# tab-width: 4
+# End:

Index: subscription-detail-new.pl
===================================================================
RCS file: subscription-detail-new.pl
diff -N subscription-detail-new.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ subscription-detail-new.pl  10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,128 @@
+#!/usr/bin/perl
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Koha;
+use C4::Date;
+use C4::Serials;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use Date::Calc qw(:all);
+my $query = new CGI;
+my $op = $query->param('op');
+my $dbh = C4::Context->dbh;
+my $sth;
+# my $id;
+my ($template, $loggedinuser, $cookie, $subs);
+my ($subscriptionid,$auser,$librarian,$cost,$aqbooksellerid, 
$aqbooksellername,$aqbudgetid, $bookfundid, $startdate, $periodicity,
+       $publisheddate, $dow, $irregularity, $sublength, $subtype, 
$numberpattern, $numberlength, $weeklength, $monthlength,
+       $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
+       $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
+       $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
+       $numberingmethod, $status, $biblionumber, $bibliotitle, $callnumber, 
$notes, $hemisphere);
+
+$subscriptionid = $query->param('subscriptionid');
+
+
+if ($op eq 'del') {
+$biblionumber = $query->param('biblionumber');
+       &DelSubscription($subscriptionid,$biblionumber);
+print  $query->redirect("/cgi-bin/koha/serials/serials-home.pl");
+#      exit;
+
+}
+my $subs = &GetSubscription($subscriptionid);
+my ($routing, @routinglist) = getroutinglist($subscriptionid);
+my ($totalissues,@serialslist) = GetSerials($subscriptionid);
+$totalissues-- if $totalissues; # the -1 is to have 0 if this is a new 
subscription (only 1 issue)
+# the subscription must be deletable if there is NO issues for a reason or 
another (should not happend, but...)
+
+($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/subscription-detail.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+my ($user, $cookie, $sessionID, $flags)
+       = checkauth($query, 0, {catalogue => 1}, "intranet");
+my $weekarrayjs='';
+my $count = 0;
+my $today=get_today();
+my ($year,$month,$day)=split /-|\/|\.|:/,$today ;
+my $firstday = Day_of_Year($year,$month,$day);
+
+my ($wkno,$dyear) = Week_of_Year($year,$month,$day); 
+my $weekno = $wkno;
+for(my $i=$firstday;$i<($firstday+365);$i=$i+7){
+        $count = $i;
+        if($wkno > 52){$year++; $wkno=1;}
+        if($count>365){$count=$i-365;}    
+     my @newdate= Add_Delta_Days($year,$month,$day, $count);
+
+        $weekarrayjs .= "'Wk $wkno: 
".format_date($newdate[0]."-".$newdate[1]."-".$newdate[2])."',";
+        $wkno++;    
+}
+chop($weekarrayjs);
+
+$template->param(
+        routing => $routing,
+       user => $subs->{auser},
+       librarian => $subs->{librarian},
+       aqbooksellerid => $subs->{aqbooksellerid},
+       aqbooksellername => $subs->{aqbooksellername},
+       cost => $subs->{cost},
+       aqbudgetid => $subs->{aqbudgetid},
+       bookfundid => $subs->{bookfundid},
+       startdate => format_date($subs->{startdate}),
+       publisheddate => format_date($subs->{publisheddate}),    
+       periodicity => $subs->{periodicity},
+       dow => $subs->{dow},
+        irregularity => $subs->{irregularity},
+       numberlength => $subs->{numberlength},
+       weeklength => $subs->{weeklength},
+       monthlength => $subs->{monthlength},
+        numberpattern => $subs->{numberpattern},
+       add1 => $subs->{add1},
+       every1 => $subs->{every1},
+       whenmorethan1 => $subs->{whenmorethan1},
+       innerloop1 => $subs->{innerloop1},
+       setto1 => $subs->{setto1},
+       lastvalue1 => $subs->{lastvalue1},
+       add2 => $subs->{add2},
+       every2 => $subs->{every2},
+       whenmorethan2 => $subs->{whenmorethan2},
+       setto2 => $subs->{setto2},
+       lastvalue2 => $subs->{lastvalue2},
+       innerloop2 => $subs->{innerloop2},
+       add3 => $subs->{add3},
+       every3 => $subs->{every3},
+       whenmorethan3 => $subs->{whenmorethan3},
+       setto3 => $subs->{setto3},
+       lastvalue3 => $subs->{lastvalue3},
+       innerloop3 => $subs->{innerloop3},
+        weekarrayjs => $weekarrayjs,
+       numberingmethod => $subs->{numberingmethod},
+       status => $subs->{status},
+       biblionumber => $subs->{biblionumber},
+       bibliotitle => $subs->{bibliotitle},
+        callnumber => $subs->{callnumber},
+       notes => $subs->{notes},
+       subscriptionid => $subs->{subscriptionid},
+       serialslist => address@hidden,
+       totalissues => $totalissues,
+        hemisphere => $hemisphere,
+       );
+$template->param(
+                       "periodicity$subs->{periodicity}" => 1,
+                       "arrival$subs->{dow}" => 1,
+                        "numberpattern$subs->{numberpattern}" => 1,
+                       intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+                       intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"), 
+                       );
+
+output_html_with_http_headers $query, $cookie, $template->output;

Index: subscription-detail.pl
===================================================================
RCS file: subscription-detail.pl
diff -N subscription-detail.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ subscription-detail.pl      10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,131 @@
+#!/usr/bin/perl
+
+use strict;
+use CGI;
+use C4::Auth;
+use C4::Koha;
+use C4::Date;
+use C4::Serials;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Context;
+use DateTime;
+
+my $query = new CGI;
+my $op = $query->param('op');
+my $dbh = C4::Context->dbh;
+my $sth;
+# my $id;
+my ($template, $loggedinuser, $cookie, $subs);
+my ($subscriptionid,$auser,$librarian,$cost,$aqbooksellerid, 
$aqbooksellername,$aqbudgetid, $bookfundid, $startdate, $periodicity,
+       $publisheddate, $dow, $irregularity, $sublength, $subtype, 
$numberpattern, $numberlength, $weeklength, $monthlength,
+       $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
+       $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
+       $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
+       $numberingmethod, $status, $biblionumber, $bibliotitle, $callnumber, 
$notes, $hemisphere);
+
+$subscriptionid = $query->param('subscriptionid');
+
+
+if ($op eq 'del') {
+$biblionumber = $query->param('biblionumber');
+       &DelSubscription($subscriptionid,$biblionumber);
+print  $query->redirect("/cgi-bin/koha/serials/serials-home.pl");
+#      exit;
+
+}
+my $subs = &GetSubscription($subscriptionid);
+my ($routing, @routinglist) = getroutinglist($subscriptionid);
+my ($totalissues,@serialslist) = GetSerials($subscriptionid);
+$totalissues-- if $totalissues; # the -1 is to have 0 if this is a new 
subscription (only 1 issue)
+# the subscription must be deletable if there is NO issues for a reason or 
another (should not happend, but...)
+
+($template, $loggedinuser, $cookie)
+= get_template_and_user({template_name => "serials/subscription-detail.tmpl",
+                               query => $query,
+                               type => "intranet",
+                               authnotrequired => 0,
+                               flagsrequired => {catalogue => 1},
+                               debug => 1,
+                               });
+
+my ($user, $cookie, $sessionID, $flags)
+       = checkauth($query, 0, {catalogue => 1}, "intranet");
+
+my $weekarrayjs='';
+my $count = 0;
+my $today=get_today();
+ my $dateobj=DATE_obj($today);
+  my $year=$dateobj->year;
+  my $month=$dateobj->month;
+  my $day=$dateobj->day_of_month;
+my $firstday = $dateobj->day_of_year;
+my $wkno = $dateobj->week_number;
+my $weekno = $wkno;
+for(my $i=$firstday;$i<($firstday+365);$i=$i+7){
+        $count = $i;
+        if($wkno > 52){$year++; $wkno=1;}
+        if($count>365){$count=$i-365;}    
+     my $newdate=DateTime->from_day_of_year(year=>$year,day_of_year=>$count);
+        $weekarrayjs .= "'Wk $wkno: ".format_date($newdate->ymd)."',";
+        $wkno++;    
+}
+chop($weekarrayjs);
+
+$template->param(
+        routing => $routing,
+       user => $subs->{auser},
+       librarian => $subs->{librarian},
+       aqbooksellerid => $subs->{aqbooksellerid},
+       aqbooksellername => $subs->{aqbooksellername},
+       cost => $subs->{cost},
+       aqbudgetid => $subs->{aqbudgetid},
+       bookfundid => $subs->{bookfundid},
+       startdate => format_date($subs->{startdate}),
+       publisheddate => format_date($subs->{publisheddate}),    
+       periodicity => $subs->{periodicity},
+       dow => $subs->{dow},
+        irregularity => $subs->{irregularity},
+       numberlength => $subs->{numberlength},
+       weeklength => $subs->{weeklength},
+       monthlength => $subs->{monthlength},
+        numberpattern => $subs->{numberpattern},
+       add1 => $subs->{add1},
+       every1 => $subs->{every1},
+       whenmorethan1 => $subs->{whenmorethan1},
+       innerloop1 => $subs->{innerloop1},
+       setto1 => $subs->{setto1},
+       lastvalue1 => $subs->{lastvalue1},
+       add2 => $subs->{add2},
+       every2 => $subs->{every2},
+       whenmorethan2 => $subs->{whenmorethan2},
+       setto2 => $subs->{setto2},
+       lastvalue2 => $subs->{lastvalue2},
+       innerloop2 => $subs->{innerloop2},
+       add3 => $subs->{add3},
+       every3 => $subs->{every3},
+       whenmorethan3 => $subs->{whenmorethan3},
+       setto3 => $subs->{setto3},
+       lastvalue3 => $subs->{lastvalue3},
+       innerloop3 => $subs->{innerloop3},
+        weekarrayjs => $weekarrayjs,
+       numberingmethod => $subs->{numberingmethod},
+       status => $subs->{status},
+       biblionumber => $subs->{biblionumber},
+       bibliotitle => $subs->{bibliotitle},
+        callnumber => $subs->{callnumber},
+       notes => $subs->{notes},
+       subscriptionid => $subs->{subscriptionid},
+       serialslist => address@hidden,
+       totalissues => $totalissues,
+        hemisphere => $hemisphere,
+       );
+$template->param(
+                       "periodicity$subs->{periodicity}" => 1,
+                       "arrival$subs->{dow}" => 1,
+                        "numberpattern$subs->{numberpattern}" => 1,
+                       intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+                       intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"), 
+                       );
+
+output_html_with_http_headers $query, $cookie, $template->output;

Index: subscription-renew.pl
===================================================================
RCS file: subscription-renew.pl
diff -N subscription-renew.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ subscription-renew.pl       10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,100 @@
+#!/usr/bin/perl
+# WARNING: 4-character tab stops here
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: subscription-renew.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+=head1 NAME
+
+subscription-renew.pl
+
+=head1 DESCRIPTION
+
+this script renew an existing subscription.
+
+=head1 Parameters
+
+=over 4
+
+=item op
+op use to know the operation to do on this template.
+ * renew : to renew the subscription.
+
+Note that if op = modsubscription there are a lot of other parameters.
+
+=item subscriptionid
+Id of the subscription this script has to renew
+
+=back
+
+=cut
+
+
+use strict;
+require Exporter;
+use CGI;
+use C4::Koha;
+use C4::Auth;
+use C4::Date;
+use C4::Context;
+use C4::Search;
+use C4::Auth;
+use C4::Interface::CGI::Output;
+use C4::Serials;
+
+my $query = new CGI;
+my $dbh = C4::Context->dbh;
+
+my $op = $query->param('op');
+my $subscriptionid = $query->param('subscriptionid');
+my $done = 0; # for after form has been submitted
+my ($template, $loggedinuser, $cookie)
+        = get_template_and_user({template_name => 
"serials/subscription-renew.tmpl",
+                query => $query,
+                type => "intranet",
+                authnotrequired => 0,
+                flagsrequired => {catalogue => 1},
+                debug => 1,
+                });
+if ($op eq "renew") {
+    
ReNewSubscription($subscriptionid,$loggedinuser,$query->param('startdate'),$query->param('numberlength'),$query->param('weeklength'),$query->param('monthlength'),$query->param('note'));
+    $done = 1;
+}
+
+my $subscription= GetSubscription($subscriptionid);
+
+$template->param(startdate => 
format_date(GetSubscriptionExpirationDate($subscriptionid)),
+                numberlength => $subscription->{numberlength},
+                weeklength => $subscription->{weeklength},
+                monthlength => $subscription->{monthlength},
+                subscriptionid => $subscriptionid,
+                bibliotitle => $subscription->{bibliotitle},
+                $op => 1,
+                done => $done,
+                intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+                intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+                IntranetNav => C4::Context->preference("IntranetNav"),
+            );
+
+# Print the page
+output_html_with_http_headers $query, $cookie, $template->output;
+
+# Local Variables:
+# tab-width: 4
+# End:

Index: viewalerts.pl
===================================================================
RCS file: viewalerts.pl
diff -N viewalerts.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ viewalerts.pl       10 Mar 2007 01:27:27 -0000      1.1.2.1
@@ -0,0 +1,60 @@
+#!/usr/bin/perl
+
+# $Id: viewalerts.pl,v 1.1.2.1 2007/03/10 01:27:27 tgarip1957 Exp $
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+use strict;
+use C4::Auth;
+use C4::Context;
+
+use CGI;
+use C4::Interface::CGI::Output;
+
+use C4::Koha;
+use C4::Letters;
+use C4::Serials;
+
+my $dbh = C4::Context->dbh;
+
+my $input = new CGI;
+my $print = $input->param('print');
+
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 'serials/viewalerts.tmpl',
+                 query => $input,
+                 type => "intranet",
+                 authnotrequired => 0,
+                 flagsrequired => {catalogue => 1},
+                 debug => 1,
+                 });
+
+my $subscriptionid=$input->param('subscriptionid');
+
+my $borrowers = getalert('','issue',$subscriptionid);
+my $subscription = GetSubscription($subscriptionid);
+
+foreach (@$borrowers) {
+    $_->{name} = findrelatedto('borrower',$_->{borrowernumber});
+}
+$template->param(alertloop => $borrowers,
+                bibliotitle => $subscription->{bibliotitle},
+                subscriptionid => $subscriptionid);
+
+output_html_with_http_headers $input, $cookie, $template->output;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]