koha-cvs
[Top][All Lists]
Advanced

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

[Koha-cvs] koha C4/Accounts2.pm C4/Acquisition.pm C4/Autho...


From: Tumer Garip
Subject: [Koha-cvs] koha C4/Accounts2.pm C4/Acquisition.pm C4/Autho...
Date: Wed, 06 Sep 2006 16:21:06 +0000

CVSROOT:        /sources/koha
Module name:    koha
Changes by:     Tumer Garip <tgarip1957>        06/09/06 16:21:05

Modified files:
        C4             : Accounts2.pm Acquisition.pm AuthoritiesMarc.pm 
                         Biblio.pm BookShelves.pm Bookfund.pm Context.pm 
                         Date.pm Koha.pm Members.pm Output.pm 
                         Reserves2.pm Search.pm Serials.pm Stats.pm 
                         Suggestions.pm Z3950.pm 
        C4/Circulation : Circ2.pm 
        C4/Interface/CGI: Output.pm 
        .              : Makefile.PL 
        admin          : auth_subfields_structure.pl branches.pl 
        authorities    : auth_finder.pl auth_linker.pl 
                         authorities-home.pl authorities.pl 
                         blinddetail-biblio-search.pl 
                         blinddetail-linker.pl detail-biblio-search.pl 
                         detail.pl 
        catalogue      : MARCdetail.pl detail.pl detailprint.pl 
                         moredetail.pl 
        cataloguing    : addbiblio.pl addbooks.pl additem.pl 
        circ           : branchtransfers.pl circulation.pl returns.pl 
        import         : breeding.pl 
        koha-tmpl/intranet-tmpl/prog/en/acqui: basket.tmpl 
                                               histsearch.tmpl 
        misc           : merge_authority.pl 
        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 
                         subscription-add.pl subscription-bib-search.pl 
                         subscription-detail.pl subscription-renew.pl 
                         viewalerts.pl 
        value_builder  : marc21_leader.pl 
Added files:
        circ           : renewscript.pl rescirculation.pl resreturns.pl 
        misc           : export_xml_koharecords.pl 
        serials        : serials-receive.pl 
        value_builder  : marc21_008_holdings.pl marc21_field_003.pl 
                         marc21_field_005.pl marc21_field_006.pl 
                         marc21_field_007.pl marc21_field_008.pl 
                         marc21_leader_authorities.pl 
                         marc21_leader_holdings.pl 
        z3950          : zebraqueue_start.pl zebraqueue_windows_start.pl 
Removed files:
        .              : MANIFEST Makefile loadmodules.pl 
                         reservereport.xls thesaurus_popup.pl 
        serials        : serials-recieve.pl 
        maint          : catmaintain.pl shiftbib.pl 
        search.marc    : dictionary.pl search.pl suggest.pl 

Log message:
        Clean up before final commits

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Accounts2.pm?cvsroot=koha&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Acquisition.pm?cvsroot=koha&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/koha/C4/AuthoritiesMarc.pm?cvsroot=koha&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Biblio.pm?cvsroot=koha&r1=1.180&r2=1.181
http://cvs.savannah.gnu.org/viewcvs/koha/C4/BookShelves.pm?cvsroot=koha&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Bookfund.pm?cvsroot=koha&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Context.pm?cvsroot=koha&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Date.pm?cvsroot=koha&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Koha.pm?cvsroot=koha&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Members.pm?cvsroot=koha&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Output.pm?cvsroot=koha&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Reserves2.pm?cvsroot=koha&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Search.pm?cvsroot=koha&r1=1.122&r2=1.123
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Serials.pm?cvsroot=koha&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Stats.pm?cvsroot=koha&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Suggestions.pm?cvsroot=koha&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Z3950.pm?cvsroot=koha&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Circulation/Circ2.pm?cvsroot=koha&r1=1.116&r2=1.117
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Interface/CGI/Output.pm?cvsroot=koha&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/koha/Makefile.PL?cvsroot=koha&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/koha/MANIFEST?cvsroot=koha&r1=1.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/Makefile?cvsroot=koha&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/loadmodules.pl?cvsroot=koha&r1=1.20&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/reservereport.xls?cvsroot=koha&r1=1.1.1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/thesaurus_popup.pl?cvsroot=koha&r1=1.15&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/admin/auth_subfields_structure.pl?cvsroot=koha&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/koha/admin/branches.pl?cvsroot=koha&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/auth_finder.pl?cvsroot=koha&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/auth_linker.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/authorities-home.pl?cvsroot=koha&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/authorities.pl?cvsroot=koha&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/blinddetail-biblio-search.pl?cvsroot=koha&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/blinddetail-linker.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/detail-biblio-search.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/authorities/detail.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/MARCdetail.pl?cvsroot=koha&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/detail.pl?cvsroot=koha&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/detailprint.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/catalogue/moredetail.pl?cvsroot=koha&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/koha/cataloguing/addbiblio.pl?cvsroot=koha&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/koha/cataloguing/addbooks.pl?cvsroot=koha&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/koha/cataloguing/additem.pl?cvsroot=koha&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/koha/circ/branchtransfers.pl?cvsroot=koha&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/koha/circ/circulation.pl?cvsroot=koha&r1=1.97&r2=1.98
http://cvs.savannah.gnu.org/viewcvs/koha/circ/returns.pl?cvsroot=koha&r1=1.43&r2=1.44
http://cvs.savannah.gnu.org/viewcvs/koha/circ/renewscript.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/circ/rescirculation.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/circ/resreturns.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/import/breeding.pl?cvsroot=koha&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/intranet-tmpl/prog/en/acqui/basket.tmpl?cvsroot=koha&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/intranet-tmpl/prog/en/acqui/histsearch.tmpl?cvsroot=koha&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/koha/misc/merge_authority.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/misc/export_xml_koharecords.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/serials/acqui-search-result.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/serials/acqui-search.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/serials/claims.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/distributedto.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/serials/lateissues-excel.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/lateissues.pl?cvsroot=koha&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/koha/serials/member-search.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/printlist.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/reorder_members.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/routing-preview.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/routing.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/serial-issues.pl?cvsroot=koha&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/koha/serials/serials-home.pl?cvsroot=koha&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/koha/serials/subscription-add.pl?cvsroot=koha&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/koha/serials/subscription-bib-search.pl?cvsroot=koha&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/koha/serials/subscription-detail.pl?cvsroot=koha&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/koha/serials/subscription-renew.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/serials/viewalerts.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/serials/serials-receive.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/serials/serials-recieve.pl?cvsroot=koha&r1=1.4&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_leader.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_008_holdings.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_field_003.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_field_005.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_field_006.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_field_007.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_field_008.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_leader_authorities.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/value_builder/marc21_leader_holdings.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/z3950/zebraqueue_start.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/z3950/zebraqueue_windows_start.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/maint/catmaintain.pl?cvsroot=koha&r1=1.7&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/maint/shiftbib.pl?cvsroot=koha&r1=1.4&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/search.marc/dictionary.pl?cvsroot=koha&r1=1.12&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/search.marc/search.pl?cvsroot=koha&r1=1.33&r2=0
http://cvs.savannah.gnu.org/viewcvs/koha/search.marc/suggest.pl?cvsroot=koha&r1=1.4&r2=0

Patches:
Index: C4/Accounts2.pm
===================================================================
RCS file: /sources/koha/koha/C4/Accounts2.pm,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- C4/Accounts2.pm     1 Sep 2006 15:33:46 -0000       1.32
+++ C4/Accounts2.pm     6 Sep 2006 16:21:03 -0000       1.33
@@ -312,7 +312,7 @@
 sub returnlost{
   my ($borrnum,$itemnum)address@hidden;
   my $dbh = C4::Context->dbh;
-  my $borrower=borrdata('',$borrnum); #from C4::Search;
+  my $borrower=C4::Members::borrdata('',$borrnum); #from C4::Members;
   my $sth=$dbh->prepare("Update issues set returndate=now() where
   borrowernumber=? and itemnumber=? and returndate is null");
   $sth->execute($borrnum,$itemnum);

Index: C4/Acquisition.pm
===================================================================
RCS file: /sources/koha/koha/C4/Acquisition.pm,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- C4/Acquisition.pm   1 Sep 2006 22:16:00 -0000       1.45
+++ C4/Acquisition.pm   6 Sep 2006 16:21:03 -0000       1.46
@@ -17,20 +17,20 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Acquisition.pm,v 1.45 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Acquisition.pm,v 1.46 2006/09/06 16:21:03 tgarip1957 Exp $
 
 use strict;
 require Exporter;
 use C4::Context;
 use C4::Date;
-use MARC::Record;
 use C4::Suggestions;
+use C4::Biblio;
 use Time::localtime;
 
 use vars qw($VERSION @ISA @EXPORT);
 
 # set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.45 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
+$VERSION = do { my @v = '$Revision: 1.46 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
 
 # used in receiveorder subroutine
 # to provide library specific handling
@@ -62,7 +62,7 @@
   &GetOrderNumber &GetLateOrders &NewOrder &DelOrder
   &SearchOrder &GetHistory
   &ModOrder &ModReceiveOrder &ModOrderBiblioNumber
-  &GetParcels &GetParcel 
+  &GetParcels &GetParcel &GetSingleOrder
 );
 
 
@@ -96,7 +96,7 @@
     my $dbh        = C4::Context->dbh;
     my $query = "
         SELECT  aqbasket.*,
-                borrowers.firstname+' '+borrowers.surname AS authorisedbyname,
+                concat(borrowers.firstname,'  ',borrowers.surname) AS 
authorisedbyname,
                 borrowers.branchcode AS branch
         FROM    aqbasket
         LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
@@ -293,6 +293,19 @@
     return @results;
 }
 
+sub GetSingleOrder {
+  my ($ordnum)address@hidden;
+  my $dbh = C4::Context->dbh;
+  my $sth=$dbh->prepare("Select * from biblio,aqorders left join 
aqorderbreakdown
+  on aqorders.ordernumber=aqorderbreakdown.ordernumber
+  where aqorders.ordernumber=?
+  and biblio.biblionumber=aqorders.biblionumber");
+  $sth->execute($ordnum);
+  my $data=$sth->fetchrow_hashref;
+  $sth->finish;
+  return($data);
+}
+
 #------------------------------------------------------------#
 
 =head3 GetOrderNumber
@@ -702,11 +715,11 @@
     while ( my $data = $sth->fetchrow_hashref ) {
 ## Retrieving a whole marc record just to extract seriestitle is very poor 
performance
 ## Rewrite these searches
-my $record=MARCgetbiblio($dbh,$data->{'biblionumber'});
-my $data2=MARCmarc2koha($dbh,$record,"biblios");
+my $record=XMLgetbibliohash($dbh,$data->{'biblionumber'});
+my $seriestitle=XML_readline_onerecord($record,"seriestitle","biblios");
        
-        $data->{'author'}      = $data2->{'author'};
-        $data->{'seriestitle'} = $data2->{'seriestitle'};
+#        $data->{'author'}      = $data->{'author'};
+        $data->{'seriestitle'} = $seriestitle;
         $sth3->execute( $data->{'ordernumber'} );
         my $data3 = $sth3->fetchrow_hashref;
         $data->{'branchcode'} = $data3->{'branchcode'};

Index: C4/AuthoritiesMarc.pm
===================================================================
RCS file: /sources/koha/koha/C4/AuthoritiesMarc.pm,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- C4/AuthoritiesMarc.pm       1 Sep 2006 22:16:00 -0000       1.29
+++ C4/AuthoritiesMarc.pm       6 Sep 2006 16:21:03 -0000       1.30
@@ -20,7 +20,7 @@
 require Exporter;
 use C4::Context;
 use C4::Koha;
-use MARC::Record;
+use Encode;
 use C4::Biblio;
 
 use vars qw($VERSION @ISA @EXPORT);
@@ -37,16 +37,18 @@
        &AUTHmodauthority
        &AUTHdelauthority
        &AUTHaddsubfield
-       &AUTHgetauthority
+
        &AUTHfind_marc_from_kohafield
        &AUTHgetauth_type
        &AUTHcount_usage
        &getsummary
        &authoritysearch
        &XMLgetauthority
-       &AUTHhtml2marc
+       &XMLgetauthorityhash
+       &XML_readline_withtags
        &merge
-       &FindDuplicate
+       &FindDuplicateauth
+       &ZEBRAdelauthority
  );
 
 sub AUTHfind_marc_from_kohafield {
@@ -91,14 +93,9 @@
        ##If mainentry search $a tag
                if (@$tags[$i] eq "mainentry") {
                 ($attr)=MARCfind_attr_from_kohafield("auth_mainentry")." ";
-               
                }else{
                ($attr) =MARCfind_attr_from_kohafield("auth_allentry")." ";
                }
-               
-
-       
-               
                if (@$operator[$i] eq 'phrase') {
                         $attr.="  address@hidden 4=1  address@hidden 5=100  
address@hidden 6=3 ";##Phrase, No truncation,all of subfield field must match
                
@@ -114,7 +111,7 @@
        $dosearch=1;            
        }#if value              
                
-       }
+       }## value loop
 ##Add how many queries generated
 $query= $and.$query.$q2;
 #warn $query;
@@ -124,7 +121,7 @@
 $length=10 unless $length;
 my @oAuth;
 my $i;
- $oAuth[0]=C4::Context->Zconnauth("authorityserver","USMARC");
+ $oAuth[0]=C4::Context->Zconnauth("authorityserver");
 my ($mainentry)=MARCfind_attr_from_kohafield("auth_mainentry");
 my ($allentry)=MARCfind_attr_from_kohafield("auth_allentry");
 
@@ -155,42 +152,30 @@
 
 ##Find authid and linkid fields
 
-my 
($authidfield,$authidsubfield)=MARCfind_marc_from_kohafield("auth_authid","authorities");
-my 
($linkidfield,$linkidsubfield)=MARCfind_marc_from_kohafield("auth_linkid","authorities");
+
 while (($counter < $nbresults) && ($counter < ($offset + $length))) {
 ##Here we have to extract MARC record and $authid from ZEBRA AUTHORITIES
 my $rec=$oAResult->record($counter);
 my $marcdata=$rec->raw();
-my $authrecord;                
-my $linkid;
+my $authrecord=Encode::decode("utf8",$marcdata);
+$authrecord=XML_xml2hash_onerecord($authrecord);               
 my @linkids;   
 my $separator=C4::Context->preference('authoritysep');
 my $linksummary=" ".$separator;        
-my $authid;    
-       $authrecord = MARC::File::USMARC::decode($marcdata);
-       if ($authidfield >9){   
-       my $authid=$authrecord->field($authidfield)->subfield($authidsubfield); 
-       }else{
-       $authid=$authrecord->field($authidfield)->data();
-       }
-       if ($authrecord->field($linkidfield)){
+my $authid=XML_readline_onerecord($authrecord,"auth_authid","authorities");    
+my @linkid=XML_readline_asarray($authrecord,"auth_linkid","authorities");##May 
have many linked records        
 
-my @fields=$authrecord->field($linkidfield);
+       foreach my $linkid (@linkid){
+               my $linktype=AUTHfind_authtypecode($dbh,$linkid);
+#              my $linkrecord=XMLgetauthorityhash($dbh,$linkid);
+#              $linksummary.="<br>&nbsp;&nbsp;&nbsp;&nbsp;<a 
href='detail.pl?authid=$linkid'>".getsummary($dbh,$linkrecord,$linkid,$linktype).".</a>".$separator;
 
-       foreach my $field (@fields){
-       $linkid=$field->subfield($linkidsubfield) ;
-               if ($linkid){ ##There is a linked record add fields to produce 
summary
-my $linktype=AUTHfind_authtypecode($dbh,$linkid);
-               my $linkrecord=AUTHgetauthority($dbh,$linkid);
-               $linksummary.="<br>&nbsp;&nbsp;&nbsp;&nbsp;<a 
href='detail.pl?authid=$linkid'>".getsummary($dbh,$linkrecord,$linkid,$linktype).".</a>".$separator;
-               }
        }
-       }#
 my  $summary;
 unless ($dictionary){
  $summary=getsummary($dbh,$authrecord,$authid,$authtypecode);
 $summary="<a href='detail.pl?authid=$authid'>".$summary.".</a>";
-       if ($linkid && $linksummary ne " ".$separator){
+       if ( $linksummary ne " ".$separator){
        $summary="<b>".$summary."</b>".$linksummary;
        }
 }else{
@@ -206,9 +191,7 @@
        $newline{'toggle'}=$toggle;     
        $newline{summary} = $summary;
        $newline{authid} = $authid;
-       $newline{linkid} = $linkid;
-#      $newline{used} =0;
-#      $newline{biblio_fields} = $tags_using_authtype;
+       $newline{linkid} = $linkid[0];
        $newline{even} = $counter % 2;
        $counter++;
        push @finalresult, \%newline;
@@ -325,64 +308,45 @@
 }
 
 sub AUTHaddauthority {
-# pass the MARC::Record to this function, and it will create the records in 
the authority table
+# pass the XML hash to this function, and it will create the records in the 
authority table
        my ($dbh,$record,$authid,$authtypecode) = @_;
-
-
-       $record->encoding("UTF-8");
-my 
($linkidfield,$linkidsubfield)=MARCfind_marc_from_kohafield("auth_linkid","authorities");
-
 # if authid empty => true add, find a new authid number
        if (!$authid) {
        my      $sth=$dbh->prepare("select max(authid) from auth_header");
                $sth->execute;
                ($authid)=$sth->fetchrow;
                $authid=$authid+1;
+       }       
                
-##Insert the recordID and authtype in MARC record 
-##
-MARCkoha2marcOnefield($record,"auth_authid",$authid,"authorities");
-MARCkoha2marcOnefield($record,"auth_authtypecode",$authtypecode,"authorities");
-               $dbh->do("lock tables auth_header WRITE");
-                $sth=$dbh->prepare("insert into auth_header 
(authid,datecreated,authtypecode,marc) values (?,now(),?,?)");
-               $sth->execute($authid,$authtypecode,$record->as_usmarc);        
        
+##Modified record may also come here use REPLACE -- bulk import comes here
+XML_writeline($record,"auth_authid",$authid,"authorities");
+XML_writeline($record,"auth_authtypecode",$authtypecode,"authorities");
+my $xml=XML_hash2xml($record);
+       my $sth=$dbh->prepare("REPLACE auth_header set marcxml=?  
authid=?,authtypecode=?,datecreated=now()");
+       $sth->execute($xml,$authid,$authtypecode);
                $sth->finish;
        
-       }else{
-##Modified record reinsertid update authid-- bulk import comes here
-MARCkoha2marcOnefield($record,"auth_authid",$authid,"authorities");
-MARCkoha2marcOnefield($record,"auth_authtypecode",$authtypecode,"authorities");
-
-       my $sth=$dbh->prepare("replace auth_header set marc=?  
authid=?,authtypecode=?,datecreated=now()");
-       $sth->execute($record->as_usmarc,$authid,$authtypecode);
-       $sth->finish;
-       }
        
        ZEBRAop($dbh,$authid,'specialUpdate',"authorityserver");
 ## If the record is linked to another update the linked authorities with new 
authid
-if ($record->field($linkidfield)){
-my @fields=$record->field($linkidfield);
-
-       foreach my $field (@fields){
-my     $linkid=$field->subfield($linkidsubfield) ;
-               if ($linkid){
+my @linkids=XML_readline_asarray($record,"auth_linkid","authorities");
+       foreach my $linkid (@linkids){
        ##Modify the record of linked 
        AUTHaddlink($dbh,$linkid,$authid);
        }
-       }
-}
-       return ($authid);
+return ($authid);
 }
 
 sub AUTHaddlink{
 my ($dbh,$linkid,$authid)address@hidden;
-my $record=AUTHgetauthority($dbh,$linkid);
+my $record=XMLgetauthorityhash($dbh,$linkid);
 my $authtypecode=AUTHfind_authtypecode($dbh,$linkid);
 #warn "adding l:$linkid,a:$authid,auth:$authtypecode";
-$record=MARCkoha2marcOnefield($record,"auth_linkid",$authid,"authorities");
+XML_writeline($record,"auth_linkid",$authid,"authorities");
+my $xml=XML_hash2xml($record);
 $dbh->do("lock tables auth_header WRITE");
-       my $sth=$dbh->prepare("update auth_header set marc=? where authid=?");
-       $sth->execute($record->as_usmarc,$linkid);
+       my $sth=$dbh->prepare("update auth_header set marcxml=? where 
authid=?");
+       $sth->execute($xml,$linkid);
        $sth->finish;   
        $dbh->do("unlock tables");
        ZEBRAop($dbh,$linkid,'specialUpdate',"authorityserver");
@@ -391,37 +355,25 @@
 
 
 sub XMLgetauthority {
-
     # Returns MARC::XML of the authority passed in parameter.
     my ( $dbh, $authid ) = @_;
-  
-
-    my $sth =
-      $dbh->prepare("select marc from auth_header where authid=? "  );
-    
+    my $sth =  $dbh->prepare("select marcxml from auth_header where authid=? " 
 );
     $sth->execute($authid);
-   my ($marc)=$sth->fetchrow;
-$marc=MARC::File::USMARC::decode($marc);
- my $marcxml=$marc->as_xml_record();
-#warn $marcxml;
- return $marcxml;
-
-
+ my ($marcxml)=$sth->fetchrow;
+       $marcxml=Encode::decode('utf8',$marcxml);
+ return ($marcxml);
 }
 
+sub XMLgetauthorityhash {
+## Utility to return  hashed MARCXML
+my ($dbh,$authid)address@hidden;
+my $xml=XMLgetauthority($dbh,$authid);
+my $xmlhash=XML_xml2hash_onerecord($xml);
+return $xmlhash;
+}
 
 
 
-sub AUTHgetauthority {
-# Returns MARC::Record of the biblio passed in parameter.
-    my ($dbh,$authid)address@hidden;
-my     $sth=$dbh->prepare("select marc from auth_header where authid=?");
-               $sth->execute($authid);
-       my ($marc) = $sth->fetchrow; 
-my $record=MARC::File::USMARC::decode($marc);
-
-       return ($record);
-}
 
 sub AUTHgetauth_type {
        my ($authtypecode) = @_;
@@ -431,36 +383,40 @@
        return $sth->fetchrow_hashref;
 }
 
+
 sub AUTHmodauthority {
+## $record is expected to be an xmlhash
        my ($dbh,$authid,$record,$authtypecode)address@hidden;
-       my ($oldrecord)=&AUTHgetauthority($dbh,$authid);
+       my ($oldrecord)=&AUTHgetauthorityhash($dbh,$authid);
+### This equality is very dodgy ,It porobaby wont work
        if ($oldrecord eq $record) {
                return;
        }
-my $sth=$dbh->prepare("update auth_header set marc=? where authid=?");
-# find if linked records exist and delete them
-my($linkidfield,$linkidsubfield)=MARCfind_marc_from_kohafield("auth_linkid","authorities");
-
-if ($oldrecord->field($linkidfield)){
-my @fields=$oldrecord->field($linkidfield);
-       foreach my $field (@fields){
-my     $linkid=$field->subfield($linkidsubfield) ;
-       if ($linkid){                   
+##
+my $sth=$dbh->prepare("update auth_header set marcxml=? where authid=?");
+# find if linked records exist and delete the link in them
+my @linkids=XML_readline_asarray($oldrecord,"auth_linkid","authorities");
+
+       foreach my $linkid (@linkids){
                ##Modify the record of linked 
-               my $linkrecord=AUTHgetauthority($dbh,$linkid);
+               my $linkrecord=AUTHgetauthorityhash($dbh,$linkid);
                my $linktypecode=AUTHfind_authtypecode($dbh,$linkid);
-#              my ( 
$linkidfield2,$linkidsubfield2)=MARCfind_marc_from_kohafield("auth_linkid","authorities");
-               my @linkfields=$linkrecord->field($linkidfield);
+               my 
@linkfields=XML_readline_asarray($linkrecord,"auth_linkid","authorities");
+               my $updated;
                        foreach my $linkfield (@linkfields){
-                       if ($linkfield->subfield($linkidsubfield) eq $authid){
-                               $linkrecord->delete_field($linkfield);
-                               $sth->execute($linkrecord->as_usmarc,$linkid);
-                               
ZEBRAop($dbh,$linkid,'specialUpdate',"authorityserver");
+                       if ($linkfield eq $authid){
+                               
XML_writeline_id($linkrecord,"auth_linkid",$linkfield,"","authorities");
+                               $updated=1;
                        }
                        }#foreach linkfield
+                       my $linkedxml=XML_hash2xml($linkrecord);
+                       if ($updated==1){
+                       $sth->execute($linkedxml,$linkid);
+                       ZEBRAop($dbh,$linkid,'specialUpdate',"authorityserver");
        }
+       
        }#foreach linkid
-}
+
 #Now rewrite the $record to table with an add
 $authid=AUTHaddauthority($dbh,$record,$authid,$authtypecode);
 
@@ -487,15 +443,16 @@
 
 sub AUTHdelauthority {
        my ($dbh,$authid,$keep_biblio) = @_;
-# if the keep_biblio is set to 1, then authority entries in biblio are 
preserved.
 
+# if the keep_biblio is set to 1, then authority entries in biblio are 
preserved.
+# FIXME : delete or not in biblio tables (depending on $keep_biblio flag) is 
not implemented
 ZEBRAop($dbh,$authid,"recordDelete","authorityserver");
-       $dbh->do("delete from auth_header where authid=$authid") ;
-
-# FIXME : delete or not in biblio tables (depending on $keep_biblio flag)
 }
 
-
+sub ZEBRAdelauthority {
+my ($dbh,$authid)address@hidden;
+       $dbh->do("delete from auth_header where authid=$authid") ;
+}
 
 sub AUTHfind_authtypecode {
        my ($dbh,$authid) = @_;
@@ -506,75 +463,22 @@
 }
 
 
-
-sub AUTHhtml2marc {
-       my ($dbh,$rtags,$rsubfields,$rvalues,%indicators) = @_;
-       my $prevtag = -1;
-       my $record = MARC::Record->new();
-#---- TODO : the leader is missing
-
-#      my %subfieldlist=();
-       my $prevvalue; # if tag <10
-       my $field; # if tag >=10
-       for (my $i=0; $i< @$rtags; $i++) {
-               # rebuild MARC::Record
-               if (@$rtags[$i] ne $prevtag) {
-                       if ($prevtag < 10) {
-                               if ($prevvalue) {
-                                       $record->add_fields((sprintf 
"%03s",$prevtag),$prevvalue);
-                               }
-                       } else {
-                               if ($field) {
-                                       $record->add_fields($field);
-                               }
-                       }
-                       address@hidden'  ';
-                       if (@$rtags[$i] <10) {
-                               $prevvalue= @$rvalues[$i];
-                               undef $field;
-                       } else {
-                               undef $prevvalue;
-                               $field = MARC::Field->new( (sprintf 
"%03s",@$rtags[$i]), substr(address@hidden,0,1),substr(address@hidden,1,1), 
@$rsubfields[$i] => @$rvalues[$i]);
-                       }
-                       $prevtag = @$rtags[$i];
-               } else {
-                       if (@$rtags[$i] <10) {
-                               address@hidden;
-                       } else {
-                               if (length(@$rvalues[$i])>0) {
-                                       $field->add_subfields(@$rsubfields[$i] 
=> @$rvalues[$i]);
-                               }
-                       }
-                       $prevtag= @$rtags[$i];
-               }
-       }
-       # the last has not been included inside the loop... do it now !
-       $record->add_fields($field) if $field;
-       return $record;
-}
-
-
-
-
-sub FindDuplicate {
-
+sub FindDuplicateauth {
+### Should receive an xmlhash
        my ($record,$authtypecode)address@hidden;
-#      warn "IN for ".$record->as_formatted;
        my $dbh = C4::Context->dbh;
-#      warn "".$record->as_formatted;
        my $sth = $dbh->prepare("select auth_tag_to_report from auth_types 
where authtypecode=?");
        $sth->execute($authtypecode);
        my ($auth_tag_to_report) = $sth->fetchrow;
        $sth->finish;
        # build a request for authoritysearch
        my (@tags, @and_or, @excluding, @operator, @value, $offset, $length);
-       if ($record->field($auth_tag_to_report)) {
+       
+#      if ($record->field($auth_tag_to_report)) {
                                push @tags, $auth_tag_to_report;
-                               push @and_or, "";
-                               push @excluding, "";
                                push @operator, "all";
-                               push @value, 
$record->field($auth_tag_to_report)->as_string();
-                       }
+                                @value, 
XML_readline_asarray($record,"","",$auth_tag_to_report);
+#                      }
  
        my ($finalresult,$nbresult) = 
authoritysearch($dbh,address@hidden,address@hidden,address@hidden,address@hidden,address@hidden,0,10,$authtypecode);
        # there is at least 1 result => return the 1st one
@@ -586,110 +490,120 @@
 }
 
 sub getsummary{
-## give this a Marc record to return summary
+## give this an XMLhash record to return summary
 my ($dbh,$record,$authid,$authtypecode)address@hidden;
-
-# my $authtypecode = AUTHfind_authtypecode($dbh,$authid);
  my $authref = getauthtype($authtypecode);
                my $summary = $authref->{summary};
-               my @fields = $record->fields();
-#              chop $tags_using_authtype;
                # if the library has a summary defined, use it. Otherwise, 
build a standard one
                if ($summary) {
-                       my @fields = $record->fields();
-                       foreach my $field (@fields) {
-                               my $tag = $field->tag();
-                               my $tagvalue = $field->as_string();
-                               $summary =~ 
s/\[(.?.?.?.?)$tag\*(.*?)]/$1$tagvalue$2\[$1$tag$2]/g;
+                       my $fields = $record->{'datafield'};
+                       foreach my $field (@$fields) {
+                               my $tag = $field->{'tag'};                      
        
                                if ($tag<10) {
+                               my $tagvalue = 
XML_readline_onerecord($record,"","",$field->{tag});
+                               $summary =~ 
s/\[(.?.?.?.?)$tag\*(.*?)]/$1$tagvalue$2\[$1$tag$2]/g;
                                } else {
-                                       my @subf = $field->subfields;
+                                       my @subf = 
XML_readline_withtags($record,"","",$tag);
                                        for my $i (0..$#subf) {
                                                my $subfieldcode = $subf[$i][0];
                                                my $subfieldvalue = 
$subf[$i][1];
                                                my $tagsubf = 
$tag.$subfieldcode;
                                                $summary =~ 
s/\[(.?.?.?.?)$tagsubf(.*?)]/$1$subfieldvalue$2\[$1$tagsubf$2]/g;
-                                       }
-                               }
-                       }
+                                       }## each subf
+                               }#tag >10
+                       }##each field
                        $summary =~ s/\[(.*?)]//g;
                        $summary =~ s/\n/<br>/g;
                } else {
+## $summary did not exist create a standard summary
                        my $heading; # = $authref->{summary};
                        my $altheading;
                        my $seeheading;
                        my $see;
-                       my @fields = $record->fields();
+                       my $fields = $record->{datafield};
                        if (C4::Context->preference('marcflavour') eq 
'UNIMARC') {
                        # construct UNIMARC summary, that is quite different 
from MARC21 one
+                       foreach my $field (@$fields) {
                                # accepted form
-                               foreach my $field ($record->field('2..')) {
-                                       $heading.= $field->as_string();
+                               if ($field->{tag} = ~/'2..'/) {
+                                       foreach my $subfield ("a".."z"){
+                                       ## Fixme-- if UNICODE uses numeric 
subfields as well add them
+                                       
$heading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield); 
                                }
+                               }##tag 2..
                                # rejected form(s)
-                               foreach my $field ($record->field('4..')) {
-                                       $summary.= 
"&nbsp;&nbsp;&nbsp;<i>".$field->as_string()."</i><br/>";
-                                       $summary.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see:</i> ".$heading."<br/>";
+                               if ($field->{tag} = ~/'4..'/) {
+                                       my $value;
+                                       foreach my $subfield ("a".."z"){
+                                       ## Fixme-- if UNICODE uses numeric 
subfields as well add them
+                                       
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
                                }
-                               # see :
-                               foreach my $field ($record->field('5..')) {
-                                       $summary.= 
"&nbsp;&nbsp;&nbsp;<i>".$field->as_string()."</i><br/>";
+                                       $summary.= 
"&nbsp;&nbsp;&nbsp;<i>".$value."</i><br/>";
                                        $summary.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see:</i> ".$heading."<br/>";
+                               }##tag 4..
+                               # see :
+                               if ($field->{tag} = ~/'5..'/) {
+                                       my $value;
+                                       foreach my $subfield ("a".."z"){
+                                       ## Fixme-- if UNICODE uses numeric 
subfields as well add them
+                                       
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
                                }
+                                       $summary.= 
"&nbsp;&nbsp;&nbsp;<i>".$value."</i><br/>";
+                                       $summary.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see:</i> ".$heading."<br/>";
+                               }# tag 5..
                                # // form
-                               foreach my $field ($record->field('7..')) {
-                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> 
".$field->as_string()."<br />";     
-                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;".$field->as_string()."<br />";
-                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> ".$heading."<br />";
+                               if ($field->{tag} = ~/'7..'/) {
+                                       my $value;
+                                       foreach my $subfield ("a".."z"){
+                                       ## Fixme-- if UNICODE uses numeric 
subfields as well add them
+                                       
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield);
                                }
+                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> ".$value."<br />";  
+                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;".$value."<br />";
+                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> ".$heading."<br />";
+                               }# tag 7..
+                       }## Foreach fields
                                $summary = "<b>".$heading."</b><br 
/>".$seeheading.$altheading.$summary;        
                        } else {
                        # construct MARC21 summary
-                               foreach my $field ($record->field('1..')) {
-                                       if ($record->field('100')) {
-                                               $heading.= 
$field->as_string('abcdefghjklmnopqrstvxyz68');
-                                       } elsif ($record->field('110')) {
-                                               $heading.= 
$field->as_string('abcdefghklmnoprstvxyz68');
-                                       } elsif ($record->field('111')) {
-                                               $heading.= 
$field->as_string('acdefghklnpqstvxyz68');
-                                       } elsif ($record->field('130')) {
-                                               $heading.= 
$field->as_string('adfghklmnoprstvxyz68');
-                                       } elsif ($record->field('148')) {
-                                               $heading.= 
$field->as_string('abvxyz68');
-                                       } elsif ($record->field('150')) {
-                               #       $heading.= 
$field->as_string('abvxyz68');
-                               $heading.= $field->as_formatted();
-                                       my $tag=$field->tag();
-                                       $heading=~s /^$tag//g;
-                                       $heading =~s /\_/\$/g;          
-                                       } elsif ($record->field('151')) {
-                                               $heading.= 
$field->as_string('avxyz68');
-                                       } elsif ($record->field('155')) {
-                                               $heading.= 
$field->as_string('abvxyz68');
-                                       } elsif ($record->field('180')) {
-                                               $heading.= 
$field->as_string('vxyz68');
-                                       } elsif ($record->field('181')) {
-                                               $heading.= 
$field->as_string('vxyz68');
-                                       } elsif ($record->field('182')) {
-                                               $heading.= 
$field->as_string('vxyz68');
-                                       } elsif ($record->field('185')) {
-                                               $heading.= 
$field->as_string('vxyz68');
-                                       } else {
-                                               $heading.= $field->as_string();
+                       foreach my $field (@$fields) {
+                               my $tag="1..";
+                                 if($field->{tag}  =~ /^$tag/) {
+                                             if ($field->{tag} eq '150') {
+                                               my $value;
+                                               foreach my $subfield ("a".."z"){
+                                                
$value=XML_readline_onerecord($record,"","","150",$subfield); 
+                                               $heading.="\$".$subfield.$value 
if $value;
                                        }
-                               } #See From
-                               foreach my $field ($record->field('4..')) {
-                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;".$field->as_string()."<br />";
-                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see:</i> ".$seeheading."<br />";  
-                               } #See Also
-                               foreach my $field ($record->field('5..')) {
-                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> 
".$field->as_string()."<br />";     
-                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;".$field->as_string()."<br />";
-                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> ".$altheading."<br />";
+                                             }else{                            
+                                               foreach my $subfield ("a".."z"){
+                                               
$heading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield); 
                                }
-                               $summary.=$heading.$seeheading.$altheading;
+                                            }### tag 150 or else
+                                  }##tag 1..
+                               my $tag="4..";
+                                if($field->{tag}  =~ /^$tag/) {
+                                       foreach my $subfield ("a".."z"){
+                                               
$seeheading.=XML_readline_onerecord($record,"","",$field->{tag},$subfield); 
                        }
+                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;".$seeheading."<br />";
+                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see:</i> ".$seeheading."<br />";  
+                               } #tag 4..
+                               my $tag="5..";
+                                if($field->{tag}  =~ /^$tag/) {
+                                       my $value;
+                                       foreach my $subfield ("a".."z"){
+                                               
$value.=XML_readline_onerecord($record,"","",$field->{tag},$subfield); 
                }
+                                       $seeheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> ".$value."<br />";  
+                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;".$value."<br />";
+                                       $altheading.= 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>see also:</i> ".$altheading."<br />";
+                               }#tag 5..
+                                       
+                       }##for each field
+                   $summary.=$heading.$seeheading.$altheading;         
+               }##USMARC vs UNIMARC
+       }###Summary exists or not
 return $summary;
 }
 sub getdictsummary{
@@ -714,9 +628,9 @@
                                                my $subfieldvalue = 
$subf[$i][1];
                                                my $tagsubf = 
$tag.$subfieldcode;
                                                $summary =~ 
s/\[(.?.?.?.?)$tagsubf(.*?)]/$1$subfieldvalue$2\[$1$tagsubf$2]/g;
-                                       }
-                               }
-                       }
+                                       }#for $i
+                               }#tag >10
+                       }## each field
                        $summary =~ s/\[(.*?)]//g;
                        $summary =~ s/\n/<br>/g;
                } else {
@@ -724,7 +638,7 @@
                        my $altheading;
                        my $seeheading;
                        my $see;
-                       my @fields = $record->fields();
+                       my @fields = $record->{datafields};
                        if (C4::Context->preference('marcflavour') eq 
'UNIMARC') {
                        # construct UNIMARC summary, that is quite different 
from MARC21 one
                                # accepted form
@@ -750,39 +664,36 @@
                                $summary = "<b>".$heading."</b><br 
/>".$seeheading.$altheading.$summary;        
                        } else {
                        # construct MARC21 summary
-                               foreach my $field ($record->field('1..')) {     
                        
-                                               $heading.= 
$field->as_string('a');
-                                       
-                               } #See From
+                               foreach my $field (@fields) {   
+                                       if ($field->{tag}=~/'1..'/){            
        
+                                               $heading.= 
XML_readline_onerecord($record,"","",$field->{tag},"a");
+                                       }
+                               } #each fieldd
                                
                                $summary=$heading;
-                       }
-               }
+                       }# USMARC vs UNIMARC
+               }### Summary exists
 return $summary;
 }
+
+
 sub merge {
+##mergefrom is authid MARCfrom is marcxml hash of authority
+### mergeto ditto
        my ($dbh,$mergefrom,$MARCfrom,$mergeto,$MARCto) = @_;
+       return unless (defined $MARCfrom);
+       return unless (defined $MARCto);
        my $authtypecodefrom = AUTHfind_authtypecode($dbh,$mergefrom);
        my $authtypecodeto = AUTHfind_authtypecode($dbh,$mergeto);
        # return if authority does not exist
-       my @X = $MARCfrom->fields();
-       return if $#X == -1;
-       my @X = $MARCto->fields();
-       return if $#X == -1;
-       
        
        # search the tag to report
        my $sth = $dbh->prepare("select auth_tag_to_report from auth_types 
where authtypecode=?");
        $sth->execute($authtypecodefrom);
        my ($auth_tag_to_report) = $sth->fetchrow;
-
        my @record_to;
-       @record_to = $MARCto->field($auth_tag_to_report)->subfields() if 
$MARCto->field($auth_tag_to_report);
-       my @record_from;
-       @record_from = $MARCfrom->field($auth_tag_to_report)->subfields() if 
$MARCfrom->field($auth_tag_to_report);
-       
        # search all biblio tags using this authority.
-       $sth = $dbh->prepare("select distinct tagfield from 
marc_subfield_structure where authtypecode=? ");
+       $sth = $dbh->prepare("select distinct tagfield from 
biblios_subfield_structure where authtypecode=? ");
        $sth->execute($authtypecodefrom);
 my @tags_using_authtype;
        while (my ($tagfield) = $sth->fetchrow) {
@@ -790,12 +701,12 @@
        }
 ## The subfield for linking authorities is stored in koha_attr named 
auth_biblio_link_subf
 ## This way we may use whichever subfield we want without harcoding 9 in
-my 
$tagsubfield=MARCfind_marc_from_kohafield("auth_biblio_link_subf","biblios");
+my 
($dummyfield,$tagsubfield)=MARCfind_marc_from_kohafield("auth_biblio_link_subf","biblios");
        # now, find every biblio using this authority
 ### try ZOOM search here
 my @oConnection;
  $oConnection[0]=C4::Context->Zconn("biblioserver");
-$oConnection[0]->option(elementSetName=>"biblios"); ## we only need the 
bibliographic record
+##$oConnection[0]->option(elementSetName=>"biblios"); ##  Needs a fix
 my $query;
 my ($attr2)=MARCfind_attr_from_kohafield("auth_authid");
 my $attrfield.=$attr2;
@@ -805,7 +716,7 @@
   while (($i = ZOOM::event(address@hidden)) != 0) {
        $event = $oConnection[$i-1]->last_event();
        last if $event == ZOOM::Event::ZEND;
-   }# while
+   }# while event
 my $count=$oResult->size();
 my @reccache;
 my $z=0;
@@ -813,42 +724,132 @@
 my $rec;
                 $rec=$oResult->record($z);
        my $marcdata = $rec->raw();
-push @reccache, $marcdata;
+my $koharecord=Encode::decode("utf8",$marcdata);
+$koharecord=XML_xml2hash($koharecord);
+ my ( $xmlrecord, @itemsrecord) = XML_separate($koharecord);
+
+push @reccache, $xmlrecord;
 $z++;
 }
 $oResult->destroy();
 $oConnection[0]->destroy();
-foreach my $marc(@reccache){
-my $update;
-       my $marcrecord=MARC::Record->new_from_xml($marc,'UTF-8');               
        
-#      $marcrecord = MARC::File::USMARC::decode($marc);
+      foreach my $xmlhash (@reccache){
+       my $update;
        foreach my $tagfield (@tags_using_authtype){
 
-       
-       my @tags = $marcrecord->field($tagfield);
-               foreach my $tag (@tags){
-               my $tagsubs=$tag->subfield($tagsubfield);
-#warn "$tagfield:$tagsubs:$mergefrom";
-                       if ($tagsubs eq $mergefrom) {
-               
-                       $tag->update($tagsubfield =>$mergeto);
+       ###Change the authid in biblio
+       
$xmlhash=XML_writeline_id($xmlhash,$mergefrom,$mergeto,$tagfield,$tagsubfield);
+       ### delete all subfields of bibliorecord
+       $xmlhash=XML_delete_withid($xmlhash,$mergeto,$tagfield,$tagsubfield);
+       ####Read all the data in from authrecord
+       my @record_to=XML_readline_withtags($MARCto,"","",$auth_tag_to_report);
+       ##Write the data to biblio
        foreach my $subfield (@record_to) {
-#              warn "$subfield,$subfield->[0],$subfield->[1]";
-                       $tag->update($subfield->[0] =>$subfield->[1]);
-                       }#for $subfield
-               }
-               $marcrecord->delete_field($tag);
-                $marcrecord->add_fields($tag);
+               ## Replace the data in MARCXML with the new matching authid
+               
XML_writeline_withid($xmlhash,$tagsubfield,$mergeto,$subfield->[1],$tagfield,$subfield->[0]);
                $update=1;
-               }#for each tag
+               }#foreach  $subfield            
        }#foreach tagfield
-my $oldbiblio = MARCmarc2koha($dbh,$marcrecord,"biblios") ;
                if ($update==1){
-               &NEWmodbiblio($dbh,$oldbiblio->{'biblionumber'},$marcrecord,"") 
;
+               my 
$biblionumber=XML_readline_onerecord($xmlhash,"biblionumber","biblios");
+               my $frameworkcode=MARCfind_frameworkcode($dbh,$biblionumber);
+               NEWmodbiblio($dbh,$biblionumber,$xmlhash,$frameworkcode) ;
                }
                
-}#foreach $marc
+     }#foreach $xmlhash
 }#sub
+
+sub XML_writeline_withid{
+## Only used in authorities to update biblios with matching authids
+my ($xml,$idsubf,$id,$newvalue,$tag,$subf)address@hidden;
+my $biblio=$xml->{'datafield'};
+my $updated=0;
+    if ($tag>9){
+       foreach my $data (@$biblio){
+                       if ($data->{'tag'} eq $tag){
+                       my @subfields=$data->{'subfield'};
+                       foreach my $subfield ( @subfields){
+                             foreach my $code ( @$subfield){
+                               if ($code->{'code'} eq $idsubf && 
$code->{'content'} eq $id){
+                               ###This is the correct tag -- Now reiterate and 
update
+                                       my @newsubs;
+                                         foreach my $code ( @$subfield){       
        
+                                               if ($code->{'code'} eq $subf ){
+                                               $code->{'content'}=$newvalue;
+                                               $updated=1;
+                                               }
+                                          push @newsubs, $code;
+                                       }## each code updated
+                                       if (!$updated){
+                                       ##Create the subfield if it did not 
exist       
+                                       push 
@newsubs,{code=>$subf,content=>$newvalue};
+                                       $data->{subfield}= address@hidden;
+                                       $updated=1;
+                                        }### created   
+                               }### correct tag with id
+                             }#each code
+                       }##each subfield        
+               }# tag match
+                }## each datafield
+    }### tag >9
+return $xml;
+}
+sub XML_delete_withid{
+## Currently  only usedin authorities
+### deletes all the subfields of a matching authid
+my ($xml,$id,$tag,$idsubf)address@hidden;
+my $biblio=$xml->{'datafield'};
+    if ($tag>9){
+       foreach my $data (@$biblio){
+                       if ($data->{'tag'} eq $tag){
+                       my @subfields=$data->{'subfield'};
+                       foreach my $subfield ( @subfields){
+                             foreach my $code ( @$subfield){
+                               if ($code->{'code'} eq $idsubf && 
$code->{'content'} eq $id){
+                               ###This is the correct tag -- Now reiterate and 
delete all but id subfield
+                                         foreach my $code ( @$subfield){       
        
+                                               if ($code->{'code'} ne $idsubf 
){
+                                               $code->{'content'}="";          
                        
+                                               }                               
           
+                                         }## each code deleted 
+                               }### correct tag with id
+                             }#each code
+                       }## each subfield       
+               }## tag matches
+                }## each datafield
+    }# tag >9
+return $xml;
+}
+
+sub XML_readline_withtags {
+my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
+#$xml represents one record of MARCXML as perlhashed 
+## returns an array of read fields--useful for reading repeated fields
+### $recordtype is needed for mapping the correct field if supplied
+### If only $tag is give reads the whole tag
+###Returns subfieldcodes as well
+my @value;
+ ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if 
$kohafield;
+if ($tag){
+### Only datafields are read
+my $biblio=$xml->{'datafield'};
+ if ($tag>9){
+       foreach my $data (@$biblio){
+           if ($data->{'tag'} eq $tag){
+               foreach my $subfield ( $data->{'subfield'}){
+                   foreach my $code ( @$subfield){
+                       if ($code->{'code'} eq $subf || !$subf){
+                       push @value,[$code->{'code'},$code->{'content'}];
+                       }
+                  }# each code
+               }# each subfield
+          }### tag found
+       }## each tag
+   }##tag >9
+}## if tag 
+return @value;
+}
+
 END { }       # module clean-up code here (global destructor)
 
 =back
@@ -861,12 +862,10 @@
 
 =cut
 
-# $Id: AuthoritiesMarc.pm,v 1.29 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: AuthoritiesMarc.pm,v 1.30 2006/09/06 16:21:03 tgarip1957 Exp $
 # $Log: AuthoritiesMarc.pm,v $
-# Revision 1.29  2006/09/01 22:16:00  tgarip1957
-# New XML API
-# Event & Net::Z3950 dependency removed
-# HTML::Template::Pro dependency added
+# Revision 1.30  2006/09/06 16:21:03  tgarip1957
+# Clean up before final commits
 #
 # Revision 1.9.2.6  2005/06/07 10:02:00  tipaul
 # porting dictionnary search from head to 2.2. there is now a ... facing 
titles, author & subject, to search in biblio & authorities existing values.

Index: C4/Biblio.pm
===================================================================
RCS file: /sources/koha/koha/C4/Biblio.pm,v
retrieving revision 1.180
retrieving revision 1.181
diff -u -b -r1.180 -r1.181
--- C4/Biblio.pm        1 Sep 2006 15:33:46 -0000       1.180
+++ C4/Biblio.pm        6 Sep 2006 16:21:03 -0000       1.181
@@ -1,5 +1,5 @@
 package C4::Biblio;
-# New subs added by address@hidden 05/11/05
+# New XML API added by address@hidden 25/08/06
 # Copyright 2000-2002 Katipo Communications
 #
 # This file is part of Koha.
@@ -19,13 +19,10 @@
 use strict;
 require Exporter;
 use C4::Context;
-use MARC::Record;
-use MARC::File::USMARC;
-use MARC::File::XML;
 use XML::Simple;
 use Encode;
 use utf8;
-use Data::Dumper;
+
 use vars qw($VERSION @ISA @EXPORT);
 
 # set the version for version checking
@@ -49,20 +46,16 @@
 &NEWdelitem
 &NEWmodbiblioframework
 
-&MARCgetallitems 
+
 &MARCfind_marc_from_kohafield
 &MARCfind_frameworkcode
 &MARCfind_itemtype
 &MARCgettagslib
 &MARCitemsgettagslib
-&MARCkoha2marc
-&MARCmarc2koha 
-&MARCkoha2marcOnefield 
+
 &MARCfind_attr_from_kohafield
 &MARChtml2xml 
 
-&MARCgetbiblio 
-&MARCgetitem 
 
 &XMLgetbiblio 
 &XMLgetbibliohash
@@ -76,11 +69,15 @@
 &XMLmarc2koha_onerecord
 &XML_readline
 &XML_readline_onerecord
+&XML_readline_asarray
 &XML_writeline
+&XML_writeline_id
 &XMLmoditemonefield
+&XMLkoha2marc
+&XML_separate
 
+&ZEBRAdelbiblio
 &ZEBRAgetrecord   
-
 &ZEBRAop 
 &ZEBRAopserver 
 &ZEBRA_readyXML 
@@ -123,7 +120,6 @@
             foreach my $control (@$controlfields){
                if ($control->{'tag'} eq $tag){
                return  $control->{'content'} if $control->{'content'};
-
                }
            }
        }
@@ -131,6 +127,45 @@
 }## if tag is mapped
 return "";
 }
+sub XML_readline_asarray{
+my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
+#$xml represents one record of MARCXML as perlhashed 
+## returns an array of read fields--useful for readind repeated fields
+### $recordtype is needed for mapping the correct field if supplied
+### If only $tag is give reads the whole tag
+my @value;
+ ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if 
$kohafield;
+if ($tag){
+my $biblio=$xml->{'datafield'};
+my $controlfields=$xml->{'controlfield'};
+my $leader=$xml->{'leader'};
+ if ($tag>9){
+       foreach my $data (@$biblio){
+           if ($data->{'tag'} eq $tag){
+               foreach my $subfield ( $data->{'subfield'}){
+                   foreach my $code ( @$subfield){
+                       if ($code->{'code'} eq $subf || !$subf){
+                       push @value, $code->{'content'};
+                       }
+                  }
+               }
+          }
+       }
+  }else{
+       if ($tag eq "000" || $tag eq "LDR"){
+               push @value,  $leader->[0] if $leader->[0];
+       }else{
+            foreach my $control (@$controlfields){
+               if ($control->{'tag'} eq $tag){
+               push @value,    $control->{'content'} if $control->{'content'};
+
+               }
+           }
+       }
+   }##tag
+}## if tag is mapped
+return @value;
+}
 
 sub XML_readline{
 my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
@@ -260,6 +295,37 @@
 return $xml;
 }
 
+sub XML_writeline_id {
+### This routine is similar to XML_writeline but replaces a given value and do 
not create a new field
+## Useful for repeating fields
+## Currently  usedin authorities
+my ($xml,$oldvalue,$newvalue,$tag,$subf)address@hidden;
+$newvalue= Encode::decode('utf8',$newvalue) if $newvalue;
+my $biblio=$xml->{'datafield'};
+my $controlfield=$xml->{'controlfield'};
+    if ($tag>9){
+       foreach my $data (@$biblio){
+                       if ($data->{'tag'} eq $tag){
+                       my @subfields=$data->{'subfield'};
+                       foreach my $subfield ( @subfields){
+                             foreach my $code ( @$subfield){
+                               if ($code->{'code'} eq $subf && 
$code->{'content'} eq $oldvalue){       
+                               $code->{'content'}=$newvalue;
+                               }
+                             }
+                       }       
+               }
+                }
+    }else{
+       foreach my $control(@$controlfield){
+               if ($control->{'tag'} eq $tag  && $control->{'content'} eq 
$oldvalue ){
+                       $control->{'content'}=$newvalue;
+               }
+            }
+   }
+return $xml;
+}
+
 sub XML_xml2hash{
 ##make a perl hash from xml file
 my ($xml)address@hidden;
@@ -331,7 +397,7 @@
 sub XMLgetitemhash{
 ## Utility to return s hashed MARCXML
  my ( $dbh, $itemnumber,$barcode ) = @_;
-my $xml=XMLgeitem( $dbh, $itemnumber,$barcode);
+my $xml=XMLgetitem( $dbh, $itemnumber,$barcode);
 my $xmlhash=XML_xml2hash_onerecord($xml);
 return $xmlhash;
 }
@@ -482,14 +548,43 @@
                $sth->finish;
        }else{
                NEWmoditem($dbh,$recordhash,$biblionumber,$itemnumber);
+  }
+
 }
 
+sub XMLkoha2marc {
+# warn "MARCkoha2marc";
+## This routine  is still used for acqui management
+##Returns a  XML recordhash from a kohahash
+       my ($dbh,$result,$recordtype) = @_;
+###create a basic MARCXML
+# find today's date
+my ($sec,$min,$hour,$mday,$mon,$year) = localtime();
+       $year += 1900;
+       $mon += 1;
+       my $timestamp = sprintf("%4d%02d%02d%02d%02d%02d.0",
+               $year,$mon,$mday,$hour,$min,$sec);
+$year=substr($year,2,2);
+       my $accdate=sprintf("%2d%02d%02d",$year,$mon,$mday);
+my ($titletag,$titlesubf)=MARCfind_marc_from_kohafield("title","biblios");
+my $xml="<record><leader>     naa a22     7ar4500</leader><controlfield 
tag='005'>$timestamp</controlfield><controlfield 
tag='008'>$accdate</controlfield><datafield ind1='' ind2='' 
tag='$titletag'></datafield></record>";
+## Now build XML
+       my $record = XML_xml2hash($xml);
+       my $sth2=$dbh->prepare("SELECT  marctokoha from koha_attr where 
tagfield is not null and recordtype=?");
+       $sth2->execute($recordtype);
+       my $field;
+       while (($field)=$sth2->fetchrow) {
+warn $field;
+               
$record=XML_writeline($record,$field,$result->{$field},$recordtype) if 
$result->{$field};
+       }
+return $record;
 }
+
 #
 #
 # MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC MARC 
MARC MARC MARC MARC
 #
-## Script to deal with MARC read write operations
+## Script to deal with MARCXML related tables
 
 
 ##Sub to match kohafield to Z3950 -attributes
@@ -526,7 +621,7 @@
     $sth->execute($frameworkcode);
     my ( $liblibrarian, $libopac, $tag, $res, $tab, $mandatory, $repeatable );
 
-    while ( ( $tag, $liblibrarian, $libopac, $mandatory, $repeatable ) = 
$sth->fetchrow ) {
+    while ( my ( $tag, $liblibrarian, $libopac, $mandatory, $repeatable ) = 
$sth->fetchrow ) {
         $res->{$tag}->{lib}        = ($forlibrarian or 
!$libopac)?$liblibrarian:$libopac;
         $res->{$tab}->{tab}        = "";            # XXX
         $res->{$tag}->{mandatory}  = $mandatory;
@@ -648,66 +743,6 @@
 
 
 
-sub MARCgetbiblio {
-    # Returns MARC::Record of the biblio passed in parameter.
-    ### Takes a new parameter of $title_author =1 which parses the record obly 
on those fields and nothing else
-    ### Its useful when Koha requires only title&author for performance issues
-    my ( $dbh, $biblionumber, $title_author ) = @_;
-    my $sth =
-      $dbh->prepare("select marc from biblio where biblionumber=? "  );
-    $sth->execute( $biblionumber);
-   my ($marc)=$sth->fetchrow;
-my $record;
-       if ($title_author){
-       $record = MARC::File::USMARC::decode($marc,\&func_title_author);
-       }else{
-        $record = MARC::File::USMARC::decode($marc);
-       }
-$sth->finish;
- return $record;
-}
-
-
-
-
-
-sub MARCgetitem {
-# warn "MARCgetitem";
-    # Returns MARC::Record   of the item passed in parameter uses either 
itemnumber or barcode
-    my ( $dbh, $itemnumber,$barcode ) = @_;
-my $sth;
-if ($itemnumber){
-   $sth = $dbh->prepare("select i.marc from items i where i.itemnumber=?"  ); 
-    $sth->execute($itemnumber);
-}else{
- $sth = $dbh->prepare("select i.marc from  items i where i.barcode=?"  ); 
-    $sth->execute($barcode);
-}
- my ($marc)=$sth->fetchrow;
- my $record = MARC::File::USMARC::decode($marc);
-       
-    return ($record);
-}
-
-sub MARCgetallitems {
-# warn "MARCgetallitems";
-    # Returns an array of MARC::Record   of the items passed in parameter as 
biblionumber
-    my ( $dbh, $biblionumber ) = @_;
-my @results;
-my   $sth = $dbh->prepare("select marc from items where biblionumber =?"  ); 
-    $sth->execute($biblionumber);
-
- while(my ($marc)=$sth->fetchrow_array){
- my $record = MARC::File::USMARC::decode($marc);
-    push @results,$record;
-}
-return @results;
-}
-
-
-
-
-
 
 sub MARCfind_frameworkcode {
 # warn "MARCfind_frameworkcode";
@@ -748,14 +783,15 @@
                @$values[$i] =~ s/'/&apos;/g;
 
                if ((@$tags[$i] ne $prevtag)){
-                       $j++ unless (@$tags[$i] eq "");
+                       my $tag=substr(@$tags[$i],0,3);
+                       $j++ unless ($tag eq "");
                        ## warn 
"IND:".substr(@$indicator[$j],0,1).substr(@$indicator[$j],1,1)." 
"address@hidden;
                        if (!$first){
                        $xml.="</datafield>\n";
-                               if ((@$tags[$i] > 10) && (@$values[$i] ne "")){
+                               if (($tag> 10) && (@$values[$i] ne "")){
                                                my $ind1 = 
substr(@$indicator[$j],0,1);
                         my $ind2 = substr(@$indicator[$j],1,1);
-                        $xml.="<datafield tag=\"@$tags[$i]\" ind1=\"$ind1\" 
ind2=\"$ind2\">\n";
+                        $xml.="<datafield tag=\"$tag\" ind1=\"$ind1\" 
ind2=\"$ind2\">\n";
                         $xml.="<subfield 
code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
                         $first=0;
                                } else {
@@ -764,32 +800,31 @@
             } else {
                        if (@$values[$i] ne "") {
                                # leader
-                               if (@$tags[$i] eq "000") {
+                               if ($tag eq "000") {
                                ##Force the leader to UTF8
                                substr(@$values[$i],9,1)="a";
                                                
$xml.="<leader>@$values[$i]</leader>\n";
                                                $first=1;
                                        # rest of the fixed fields
-                               } elsif (@$tags[$i] < 10) {
-                                               $xml.="<controlfield 
tag=\"@$tags[$i]\">@$values[$i]</controlfield>\n";
+                               } elsif ($tag < 10) {
+                                               $xml.="<controlfield 
tag=\"$tag\">@$values[$i]</controlfield>\n";
                                                $first=1;
                                } else {
                                                my $ind1 = 
substr(@$indicator[$j],0,1);
                                                my $ind2 = 
substr(@$indicator[$j],1,1);
-                                               $xml.="<datafield 
tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n";
+                                               $xml.="<datafield tag=\"$tag\" 
ind1=\"$ind1\" ind2=\"$ind2\">\n";
                                                $xml.="<subfield 
code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
                                                $first=0;                       
                                }
                        }
                        }
                } else { # @$tags[$i] eq $prevtag
-                if (@$values[$i] eq "") {
-                }
-                else {
+                                 unless (@$values[$i] eq "") {
+                       my $tag=substr(@$tags[$i],0,3);
                                        if ($first){
                                                my $ind1 = 
substr(@$indicator[$j],0,1);                        
                                                my $ind2 = 
substr(@$indicator[$j],1,1);
-                                               $xml.="<datafield 
tag=\"@$tags[$i]\" ind1=\"$ind1\" ind2=\"$ind2\">\n";
+                                               $xml.="<datafield tag=\"$tag\" 
ind1=\"$ind1\" ind2=\"$ind2\">\n";
                                                $first=0;
                                        }
                        $xml.="<subfield 
code=\"@$subfields[$i]\">@$values[$i]</subfield>\n";
@@ -828,128 +863,8 @@
 
 
 
-sub MARCkoha2marc {
-# warn "MARCkoha2marc";
-## This routine most probably will be depreaceated -- it is still used for 
acqui management
-##Returns a  MARC record from a hash
-       my ($dbh,$result,$recordtype) = @_;
-
-       my $record = MARC::Record->new();
-       my $sth2=$dbh->prepare("SELECT  marctokoha from koha_attr where 
tagfield is not null and recordtype=?");
-       $sth2->execute($recordtype);
-       my $field;
-       while (($field)=$sth2->fetchrow) {
-               
$record=&MARCkoha2marcOnefield($record,$field,$result->{$field},$recordtype) if 
$result->{$field};
-       }
-return $record;
-}
-sub MARCmarc2koha {
-# warn "MARCmarc2koha";
-##Returns a hash from MARC record
-       my ($dbh,$record,$related_record) = @_;
-       my $result;
-if (!$related_record){$related_record="biblios";}
-       my $sth2=$dbh->prepare("SELECT  marctokoha from koha_attr where  
recordtype like ? and tagfield is not null" );
-       $sth2->execute($related_record);
-       my $field;
-       while ($field=$sth2->fetchrow) {
-               
$result=&MARCmarc2kohaOneField($field,$record,$result,$related_record);
-       }
-
-## we only need the following for biblio data
-if ($related_record eq "biblios"){     
-# modify copyrightdate to keep only the 1st year found
-       my $temp = $result->{'copyrightdate'};
-       $temp =~ m/c(\d\d\d\d)/; # search cYYYY first
-       if ($1>0) {
-               $result->{'copyrightdate'} = $1;
-       } else { # if no cYYYY, get the 1st date.
-               $temp =~ m/(\d\d\d\d)/;
-               $result->{'copyrightdate'} = $1;
-       }
-# modify publicationyear to keep only the 1st year found
-       $temp = $result->{'publicationyear'};
-       $temp =~ m/c(\d\d\d\d)/; # search cYYYY first
-       if ($1>0) {
-               $result->{'publicationyear'} = $1;
-       } else { # if no cYYYY, get the 1st date.
-               $temp =~ m/(\d\d\d\d)/;
-               $result->{'publicationyear'} = $1;
-       }
-}
-       return $result;
-}
-
-sub MARCkoha2marcOnefield {
-##Updates or creates one field in MARC record
-    my ( $record, $kohafieldname, $value,$recordtype ) = @_;
-my ( $tagfield, $tagsubfield ) = 
MARCfind_marc_from_kohafield($kohafieldname,$recordtype);
-if ($tagfield){
-my $tag = $record->field($tagfield);
-    if  (  $tagfield>9) { 
-        if ($tag) {
-               if ($value){## We may be trying to delete a subfield value
-                        $tag->update( $tagsubfield=> $value );
-               }else{  
-               $tag->delete_subfield(code=>$tagsubfield);
-               }
-                $record->delete_field($tag);
-                $record->insert_fields_ordered($tag);         
-        }else {
-       my $newtag=MARC::Field->new( $tagfield, " ", " ", $tagsubfield => 
$value);
-            $record->insert_fields_ordered($newtag);   
-        }
-    }else {
-        if ($tag) {
-         if ($value){  
-                $tag->update( $value );
-                $record->delete_field($tag);
-                $record->insert_fields_ordered($tag);    
-         }else{
-         $record->delete_field($tag);  
-         }
-        }else {
-       my $newtag=MARC::Field->new( $tagfield => $value);
-            $record->insert_fields_ordered($newtag);   
-        }
-    }
-}## $tagfield defined
-    return $record;
-}
 
-sub MARCmarc2kohaOneField {
-    my (  $kohafield, $record, $result,$recordtype ) = @_;
-    #    # warn "kohatable / $kohafield / $result / ";
-    my $res = "";
 
-  my  ( $tagfield, $subfield ) = 
MARCfind_marc_from_kohafield($kohafield,$recordtype);
-if ($tagfield){
-    foreach my $field ( $record->field($tagfield) ) {
-               if ($field->tag()<10) {
-                       if ($result->{$kohafield}) {
-                               $result->{$kohafield} .= " | ".$field->data();
-                       } else {
-                               $result->{$kohafield} = $field->data();
-                       }
-               } else {
-                       if ( $field->subfields ) {
-                               my @subfields = $field->subfields();
-                               foreach my $subfieldcount ( 0 .. $#subfields ) {
-                                       if ($subfields[$subfieldcount][0] eq 
$subfield) {
-                                               if ( $result->{$kohafield} ) {
-                                                       $result->{$kohafield} 
.= " | " . $subfields[$subfieldcount][1];
-                                               }
-                                               else {
-                                                       $result->{$kohafield} = 
$subfields[$subfieldcount][1];
-                                               }
-                                       }
-                               }
-                       }
-               }
-    }
-}
-    return $result;
-}
 
 
 
@@ -981,20 +896,11 @@
 
 
 sub NEWdelbiblio {
-
     my ( $dbh, $biblionumber ) = @_;
-my $sth=$dbh->prepare("SELECT itemnumber FROM items where biblionumber=?");
-
-$sth->execute($biblionumber);
-       while (my $itemnumber =$sth->fetchrow){
-       OLDdelitem($dbh,$itemnumber) ;
-       }
-
-       ZEBRAop($dbh,$biblionumber,"recordDelete","biblioserver");
-OLDdelbiblio($dbh,$biblionumber) ;
-
+ZEBRAop($dbh,$biblionumber,"recordDelete","biblioserver");
 }
 
+
 sub NEWnewitem {
     my ( $dbh, $xmlhash, $biblionumber ) = @_;
        my $itemtype= MARCfind_itemtype($dbh,$biblionumber);
@@ -1062,6 +968,7 @@
 my 
$itemcallnumber=XML_readline_onerecord($xmlhash,"itemcallnumber","holdings");
 if ($itemcallnumber){
 my ($cutterextra)=itemcalculator($dbh,$biblionumber,$itemcallnumber);
+warn $cutterextra;
 $xmlhash=XML_writeline($xmlhash,"cutterextra",$cutterextra,"holdings");
 }
 
@@ -1144,7 +1051,7 @@
 
 ## We must add the indexing fields for LC in MARC record--TG
 
-##   XMLmodLCindex($dbh,$xmlhash);
+  XMLmodLCindex($dbh,$xmlhash);
     OLDmodbiblio ($dbh,$xmlhash,$biblionumber,$frameworkcode);
     my $ok=ZEBRAop($dbh,$biblionumber,"specialUpdate","biblioserver");
     return ($biblionumber);
@@ -1269,37 +1176,36 @@
 #
 #
 
-sub ZEBRAgetrecord {
-my $biblionumber=shift;
-my  @oConnection;
- $oConnection[0]=C4::Context->Zconn("biblioserver");
-my $field=MARCfind_attr_from_kohafield("biblionumber");
-my $query=$field." ".$biblionumber;
-my $oResult= $oConnection[0]->search_pqf($query);
-my $event;
-my $i;
-   while (($i = ZOOM::event(address@hidden)) != 0) {
-       $event = $oConnection[$i-1]->last_event();
-       last if $event == ZOOM::Event::ZEND;
-   }# while
-if ($oResult->size()){
-my $xmlrecord=$oResult->record(0)->raw() ;
-$oConnection[0]->destroy;
-$xmlrecord=Encode::decode('utf8',$xmlrecord);
-my $hashed=XML_xml2hash($xmlrecord);
-my ( $xmlrecord, @itemsrecord) = XML_separate($hashed);
-return ($xmlrecord, @itemsrecord);
-}else{
-return (undef,undef);
-}
+sub ZEBRAdelbiblio {
+## Zebra calls this routine to delete after it deletes biblio from ZEBRAddb
+ my ( $dbh, $biblionumber ) = @_;
+my $sth=$dbh->prepare("SELECT itemnumber FROM items where biblionumber=?");
+
+$sth->execute($biblionumber);
+       while (my $itemnumber =$sth->fetchrow){
+       OLDdelitem($dbh,$itemnumber) ;
+       }       
+OLDdelbiblio($dbh,$biblionumber) ;
 }
 
+sub ZEBRAgetrecord{
+my $biblionumber=shift;
+my @kohafield="biblionumber";
+my @value=$biblionumber;
+my 
($count,@result)=C4::Search::ZEBRAsearch_kohafields(address@hidden,address@hidden);
+
+   if ($count>0){
+   my ( $xmlrecord, @itemsrecord) = XML_separate($result[0]);
+   return ($xmlrecord, @itemsrecord);
+   }else{
+   return (undef,undef);
+   }
+}
 
 sub ZEBRAop {
 ### Puts the zebra update in queue writes in zebraserver table
 my ($dbh,$biblionumber,$op,$server)address@hidden;
 my ($record);
-
 my $sth=$dbh->prepare("insert into zebraqueue  (biblio_auth_number 
,server,operation) values(?,?,?)");
 $sth->execute($biblionumber,$server,$op);
 }
@@ -1315,7 +1221,7 @@
 my $tried=0;
 my $recon=0;
 my $reconnect=0;
-$record=Encode::encode("UTF-8",$record);
+$record=Encode::encode("utf8",$record);
 my $shadow=$server."shadow";
 reconnect:
 
@@ -1384,15 +1290,16 @@
 my $biblioxml=XMLgetbiblio($dbh,$biblionumber);
 my @itemxml=XMLgetallitems($dbh,$biblionumber);
 my $zebraxml=collection_header();
-$zebraxml.="<koharecord>";
+$zebraxml.="<koharecord>\n";
 $zebraxml.=$biblioxml;
-$zebraxml.="<holdings>";
+$zebraxml.="<holdings>\n";
       foreach my $item(@itemxml){
-       $zebraxml.=$item if $item;
+       $zebraxml.=$item;
      }
-$zebraxml.="</holdings>";
-$zebraxml.="</koharecord>";
-$zebraxml.="</kohacollection>";
+$zebraxml.="</holdings>\n";
+$zebraxml.="</koharecord>\n";
+$zebraxml.="</kohacollection>\n";
+
 return $zebraxml;
 }
 
@@ -1418,19 +1325,18 @@
 #
 
 sub newbiblio {
-## Used in acqui management -- creates the biblio from hash rather than 
marc-record
+## Used in acqui management -- creates the biblio from koha hash 
     my ($biblio) = @_;
     my $dbh    = C4::Context->dbh;
-my $record=MARCkoha2marc($dbh,$biblio,"biblios");
-$record->encoding('UTF-8');
+my $record=XMLkoha2marc($dbh,$biblio,"biblios");
    my $biblionumber=NEWnewbiblio($dbh,$record);
     return ($biblionumber);
 }
 sub modbiblio {
-## Used in acqui management -- modifies the biblio from hash rather than 
marc-record
+## Used in acqui management -- modifies the biblio from koha hash rather than 
xml-hash
     my ($biblio) = @_;
     my $dbh    = C4::Context->dbh;
-my $record=MARCkoha2marc($dbh,$biblio,"biblios");
+my $record=XMLkoha2marc($dbh,$biblio,"biblios");
    my $biblionumber=NEWmodbiblio($dbh,$record,$biblio->{biblionumber});
     return ($biblionumber);
 }
@@ -1586,8 +1492,7 @@
 sub itemcalculator{
 ## Sublimentary function to obtain sorted LC for items. Not exported
 my ($dbh,$biblionumber,$callnumber)address@hidden;
-my $xml=XMLgetbiblio($dbh,$biblionumber);
-my $xmlhash=XML_xml2hash_onerecord($xml);
+my $xmlhash=XMLgetbibliohash($dbh,$biblionumber);
 my $lc=XML_readline_onerecord($xmlhash,"classification","biblios");
 my $cutter=XML_readline_onerecord($xmlhash,"subclass","biblios");
 my $all=$lc." ".$cutter;

Index: C4/BookShelves.pm
===================================================================
RCS file: /sources/koha/koha/C4/BookShelves.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- C4/BookShelves.pm   1 Sep 2006 22:16:00 -0000       1.17
+++ C4/BookShelves.pm   6 Sep 2006 16:21:03 -0000       1.18
@@ -3,7 +3,7 @@
 
 package C4::BookShelves;
 
-# $Id: BookShelves.pm,v 1.17 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: BookShelves.pm,v 1.18 2006/09/06 16:21:03 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -605,10 +605,8 @@
 
 #
 # $Log: BookShelves.pm,v $
-# Revision 1.17  2006/09/01 22:16:00  tgarip1957
-# New XML API
-# Event & Net::Z3950 dependency removed
-# HTML::Template::Pro dependency added
+# Revision 1.18  2006/09/06 16:21:03  tgarip1957
+# Clean up before final commits
 #
 # Revision 1.13  2004/03/11 16:06:20  tipaul
 # *** empty log message ***

Index: C4/Bookfund.pm
===================================================================
RCS file: /sources/koha/koha/C4/Bookfund.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- C4/Bookfund.pm      1 Sep 2006 22:16:00 -0000       1.5
+++ C4/Bookfund.pm      6 Sep 2006 16:21:03 -0000       1.6
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Bookfund.pm,v 1.5 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Bookfund.pm,v 1.6 2006/09/06 16:21:03 tgarip1957 Exp $
 
 use strict;
 
@@ -25,7 +25,7 @@
 use vars qw($VERSION @ISA @EXPORT);
 
 # set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.5 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
+$VERSION = do { my @v = '$Revision: 1.6 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
 
 =head1 NAME
 

Index: C4/Context.pm
===================================================================
RCS file: /sources/koha/koha/C4/Context.pm,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- C4/Context.pm       1 Sep 2006 15:33:47 -0000       1.45
+++ C4/Context.pm       6 Sep 2006 16:21:03 -0000       1.46
@@ -15,7 +15,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Context.pm,v 1.45 2006/09/01 15:33:47 tgarip1957 Exp $
+# $Id: Context.pm,v 1.46 2006/09/06 16:21:03 tgarip1957 Exp $
 package C4::Context;
 use strict;
 use DBI;
@@ -25,7 +25,7 @@
        qw($context),
        qw(@context_stack);
 
-$VERSION = do { my @v = '$Revision: 1.45 $' =~ /\d+/g;
+$VERSION = do { my @v = '$Revision: 1.46 $' =~ /\d+/g;
                shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };
 
 =head1 NAME
@@ -832,9 +832,8 @@
 
 =cut
 # $Log: Context.pm,v $
-# Revision 1.45  2006/09/01 15:33:47  tgarip1957
-# No more MARC Records - everything is MARC XML
-# we read - write only XML
+# Revision 1.46  2006/09/06 16:21:03  tgarip1957
+# Clean up before final commits
 #
 # Revision 1.43  2006/08/10 12:49:37  toins
 # sync with dev_week.

Index: C4/Date.pm
===================================================================
RCS file: /sources/koha/koha/C4/Date.pm,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- C4/Date.pm  1 Sep 2006 22:16:00 -0000       1.20
+++ C4/Date.pm  6 Sep 2006 16:21:03 -0000       1.21
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Date.pm,v 1.20 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Date.pm,v 1.21 2006/09/06 16:21:03 tgarip1957 Exp $
 
 package C4::Date;
 
@@ -30,7 +30,7 @@
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
-$VERSION = do { my @v = '$Revision: 1.20 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
+$VERSION = do { my @v = '$Revision: 1.21 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
 
 @ISA = qw(Exporter);
 

Index: C4/Koha.pm
===================================================================
RCS file: /sources/koha/koha/C4/Koha.pm,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- C4/Koha.pm  1 Sep 2006 15:33:47 -0000       1.42
+++ C4/Koha.pm  6 Sep 2006 16:21:03 -0000       1.43
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Koha.pm,v 1.42 2006/09/01 15:33:47 tgarip1957 Exp $
+# $Id: Koha.pm,v 1.43 2006/09/06 16:21:03 tgarip1957 Exp $
 
 use strict;
 require Exporter;
@@ -25,7 +25,7 @@
 use C4::Biblio;
 use vars qw($VERSION @ISA @EXPORT);
 
-$VERSION = do { my @v = '$Revision: 1.42 $' =~ /\d+/g; shift(@v) . "." . 
join("_", map {sprintf "%03d", $_ } @v); };
+$VERSION = do { my @v = '$Revision: 1.43 $' =~ /\d+/g; shift(@v) . "." . 
join("_", map {sprintf "%03d", $_ } @v); };
 
 =head1 NAME
 
@@ -154,6 +154,7 @@
             # that aren't fields in the "branches" table.
             $branch->{$cat} = 1;
             }
+       $branches{$branch->{'branchcode'}}=$branch;
 }
     return (\%branches);
 }

Index: C4/Members.pm
===================================================================
RCS file: /sources/koha/koha/C4/Members.pm,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- C4/Members.pm       1 Sep 2006 22:16:00 -0000       1.34
+++ C4/Members.pm       6 Sep 2006 16:21:03 -0000       1.35
@@ -19,7 +19,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Members.pm,v 1.34 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Members.pm,v 1.35 2006/09/06 16:21:03 tgarip1957 Exp $
 
 use strict;
 require Exporter;
@@ -33,9 +33,10 @@
 use C4::Koha;
 use C4::Accounts2;
 use C4::Circulation::Circ2;
+use Date::Manip;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
 
-$VERSION = do { my @v = '$Revision: 1.34 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
+$VERSION = do { my @v = '$Revision: 1.35 $' =~ /\d+/g; shift(@v) . "." . join( 
"_", map { sprintf "%03d", $_ } @v ); };
 
 =head1 NAME
 
@@ -60,6 +61,7 @@
 @ISA    = qw(Exporter);
 
 @EXPORT = qw(
+
 &allissues
 &add_member_orgs
 &borrdata 
@@ -100,9 +102,11 @@
 &NewBorrowerNumber 
 &modmember 
 &newmember 
+&expand_sex_into_predicate
        );
 
 
+
 =head2 borrowercategories
 
   ($codes_arrayref, $labels_hashref) = &borrowercategories();
@@ -377,7 +381,9 @@
 =cut
 #'
 sub borrissues {
+
   my ($bornum)address@hidden;
+warn $bornum;
   my $dbh = C4::Context->dbh;
   my $sth=$dbh->prepare("Select * from issues,biblio,items where 
borrowernumber=?
    and items.itemnumber=issues.itemnumber
@@ -1383,4 +1389,22 @@
      return ($count,address@hidden);
 }
 
+=head2 expand_sex_into_predicate
+
+  $data{&expand_sex_into_predicate($data{sex})} = 1;
+
+Converts a single 'M' or 'F' into 'sex_M_p' or 'sex_F_p'
+respectively.
+
+In some languages, 'M' and 'F' are not appropriate. However,
+with HTML::Template, there is no way to localize 'M' or 'F'
+unless these are converted into variables that TMPL_IF can
+understand. This function provides this conversion.
+
+=cut
+
+sub expand_sex_into_predicate ($) {
+   my($sex) = @_;
+   return "sex_${sex}_p";
+} # expand_sex_into_predicate
 1;

Index: C4/Output.pm
===================================================================
RCS file: /sources/koha/koha/C4/Output.pm,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- C4/Output.pm        1 Sep 2006 22:16:00 -0000       1.58
+++ C4/Output.pm        6 Sep 2006 16:21:03 -0000       1.59
@@ -1,5 +1,5 @@
 package C4::Output;
-# $Id: Output.pm,v 1.58 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Output.pm,v 1.59 2006/09/06 16:21:03 tgarip1957 Exp $
 
 #package to deal with marking up output
 #You will need to edit parts of this pm

Index: C4/Reserves2.pm
===================================================================
RCS file: /sources/koha/koha/C4/Reserves2.pm,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- C4/Reserves2.pm     1 Sep 2006 22:16:00 -0000       1.48
+++ C4/Reserves2.pm     6 Sep 2006 16:21:03 -0000       1.49
@@ -3,7 +3,7 @@
 
 package C4::Reserves2;
 
-# $Id: Reserves2.pm,v 1.48 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Reserves2.pm,v 1.49 2006/09/06 16:21:03 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -152,9 +152,9 @@
        my $i = 0;
        my @results;
        while (my $data = $sth->fetchrow_hashref){
-               my ($bibdatarecord) =XMLgetbiblio($dbh,$data->{'biblionumber'});
-               
-               my $bibdata=XML_xml2hash_onerecord($bibdatarecord);
+               my ($bibdata) =XMLgetbibliohash($dbh,$data->{'biblionumber'});
+               my ($itemhash)=XMLgetitemhash($dbh,$data->{'itemnumber'});
+               
$data->{'holdingbranch'}=XML_readline_onerecord($itemhash,"holdingbranch","holdings");
                $data->{'author'} 
=XML_readline_onerecord($bibdata,"author","biblios");
                $data->{'publishercode'} = 
XML_readline_onerecord($bibdata,"publishercode","biblios");
                $data->{'publicationyear'} = 
XML_readline_onerecord($bibdata,"publicationyear","biblios");

Index: C4/Search.pm
===================================================================
RCS file: /sources/koha/koha/C4/Search.pm,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -b -r1.122 -r1.123
--- C4/Search.pm        1 Sep 2006 15:33:47 -0000       1.122
+++ C4/Search.pm        6 Sep 2006 16:21:03 -0000       1.123
@@ -30,7 +30,7 @@
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 # set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.122 $' =~ /\d+/g;
+$VERSION = do { my @v = '$Revision: 1.123 $' =~ /\d+/g;
           shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };
 
 =head1 NAME
@@ -132,7 +132,7 @@
 $query="address@hidden 2=102 ".$query;
 }
 }
-##warn $query;
+#warn $query;
 my $oResult;
 
 my $tried=0;
@@ -172,10 +172,7 @@
                for ( $ri; $ri<$numresults ; $ri++){
                my $xmlrecord=$oResult->record($ri)->raw();
                $xmlrecord=Encode::decode("utf8",$xmlrecord);
-                       #if (!$fordisplay){
-                       ### Turn into hash of xml
                         $xmlrecord=XML_xml2hash($xmlrecord);
-                       ##}
                        $z++;
                        push @results,$xmlrecord;
                        last if ($number_of_results &&  $z>=$number_of_results);
@@ -502,45 +499,7 @@
 return(@items);
 }
 
-sub XML_repeated_read{
-my ($xml,$kohafield,$recordtype,$tag,$subf)address@hidden;
-#$xml represents one record of MARCXML as perlhashed 
-## returns an array of read fields--useful for readind repeated fields
-### $recordtype is needed for mapping the correct field if supplied
-my @value;
- ($tag,$subf)=MARCfind_marc_from_kohafield($kohafield,$recordtype) if 
$kohafield;
-if ($tag){
-my $biblio=$xml->{'datafield'};
-my $controlfields=$xml->{'controlfield'};
-my $leader=$xml->{'leader'};
- if ($tag>9){
-       foreach my $data (@$biblio){
-           if ($data->{'tag'} eq $tag){
-               foreach my $subfield ( $data->{'subfield'}){
-                   foreach my $code ( @$subfield){
-                       if ($code->{'code'} eq $subf || !$subf){
-                       push @value, $code->{'content'};
-                       }
-                  }
-               }
-          }
-       }
-  }else{
-       if ($tag eq "000" || $tag eq "LDR"){
-               push @value,  $leader->[0] if $leader->[0];
-       }else{
-            foreach my $control (@$controlfields){
-               if ($control->{'tag'} eq $tag){
-               push @value,    $control->{'content'} if $control->{'content'};
 
-               }
-           }
-       }
-   }##tag
-return @value;
-}## if tag is mapped
-return "";
-}
 
 
 
@@ -558,7 +517,7 @@
        }
        my @marcnotes;
        foreach my $field ($mintag..$maxtag) {
-       my @value=XML_repeated_read($record,"","",$field,"");
+       my @value=XML_readline_asarray($record,"","",$field,"");
        push @marcnotes, address@hidden;        
        }
 
@@ -586,7 +545,7 @@
        my $marcsubjct;
 
        foreach my $field ($mintag..$maxtag) {
-               my @value =XML_repeated_read($record,"","",$field,"a");
+               my @value =XML_readline_asarray($record,"","",$field,"a");
                        foreach my $subject (@value){
                        $marcsubjct = {MARCSUBJCT => $subject,};
                        push @marcsubjcts, $marcsubjct;
@@ -616,7 +575,7 @@
        my $marcurl;
        my $value;
        foreach my $field ($mintag..$maxtag) {
-               my @value =XML_repeated_read($record,"","",$field,"a");
+               my @value =XML_readline_asarray($record,"","",$field,"a");
                        foreach my $url (@value){
                                if ( $value ne $url) {
                                 $marcurl = {MARCURL => $url,};

Index: C4/Serials.pm
===================================================================
RCS file: /sources/koha/koha/C4/Serials.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- C4/Serials.pm       1 Sep 2006 15:33:47 -0000       1.7
+++ C4/Serials.pm       6 Sep 2006 16:21:03 -0000       1.8
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Serials.pm,v 1.7 2006/09/01 15:33:47 tgarip1957 Exp $
+# $Id: Serials.pm,v 1.8 2006/09/06 16:21:03 tgarip1957 Exp $
 
 use strict;
 use C4::Date;
@@ -31,7 +31,7 @@
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 # set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.7 $' =~ /\d+/g;
+$VERSION = do { my @v = '$Revision: 1.8 $' =~ /\d+/g;
         shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };
 
 

Index: C4/Stats.pm
===================================================================
RCS file: /sources/koha/koha/C4/Stats.pm,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- C4/Stats.pm 1 Sep 2006 22:16:00 -0000       1.26
+++ C4/Stats.pm 6 Sep 2006 16:21:03 -0000       1.27
@@ -1,6 +1,6 @@
 package C4::Stats;
 
-# $Id: Stats.pm,v 1.26 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Stats.pm,v 1.27 2006/09/06 16:21:03 tgarip1957 Exp $
 # Modified by TG
 # Copyright 2000-2002 Katipo Communications
 #

Index: C4/Suggestions.pm
===================================================================
RCS file: /sources/koha/koha/C4/Suggestions.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- C4/Suggestions.pm   1 Sep 2006 22:16:00 -0000       1.14
+++ C4/Suggestions.pm   6 Sep 2006 16:21:03 -0000       1.15
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Suggestions.pm,v 1.14 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Suggestions.pm,v 1.15 2006/09/06 16:21:03 tgarip1957 Exp $
 
 use strict;
 require Exporter;
@@ -27,7 +27,7 @@
 use vars qw($VERSION @ISA @EXPORT);
 
 # set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.14 $' =~ /\d+/g;
+$VERSION = do { my @v = '$Revision: 1.15 $' =~ /\d+/g;
   shift(@v) . "." . join("_", map {sprintf "%03d", $_ } @v); };
 
 =head1 NAME

Index: C4/Z3950.pm
===================================================================
RCS file: /sources/koha/koha/C4/Z3950.pm,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- C4/Z3950.pm 1 Sep 2006 22:16:00 -0000       1.12
+++ C4/Z3950.pm 6 Sep 2006 16:21:03 -0000       1.13
@@ -1,6 +1,6 @@
 package C4::Z3950;
 
-# $Id: Z3950.pm,v 1.12 2006/09/01 22:16:00 tgarip1957 Exp $
+# $Id: Z3950.pm,v 1.13 2006/09/06 16:21:03 tgarip1957 Exp $
 
 # Routines for handling Z39.50 lookups
 
@@ -67,6 +67,8 @@
 @EXPORT = qw(
        &getz3950servers
        &z3950servername
+       &addz3950queue
+       &checkz3950searchdone
 );
 
 #------------------------------------------------
@@ -134,7 +136,161 @@
 
 #---------------------------------------
 
+=item addz3950queue
 
+  $errmsg = &addz3950queue($query, $type, $request_id, @servers);
+
+Adds a Z39.50 search query for the Z39.50 server to look up.
+
+C<$query> is the term to search for.
+
+C<$type> is the query type, e.g. C<isbn>, C<lccn>, etc.
+
+C<$request_id> is a unique string that will identify this query.
+
+C<@servers> is a list of servers to query (obviously, this can be
+given either as an array, or as a list of scalars). Each element may
+be either a Z39.50 server ID from the z3950server table of the Koha
+database, the string C<DEFAULT> or C<CHECKED>, or a complete server
+specification containing a colon.
+
+C<DEFAULT> and C<CHECKED> are synonymous, and refer to those servers
+in the z3950servers table whose 'checked' field is set and non-NULL.
+
+Once the query has been submitted to the Z39.50 daemon,
+C<&addz3950queue> sends a SIGHUP to the daemon to tell it to process
+this new request.
+
+C<&addz3950queue> returns an error message. If it was successful, the
+error message is the empty string.
+
+=cut
+#'
+sub addz3950queue {
+       use strict;
+       # input
+       my (
+               $query,         # value to look up
+               $type,                  # type of value ("isbn", "lccn", 
"title", "author", "keyword")
+               $requestid,     # Unique value to prevent duplicate searches 
from multiple HTML form submits
+               @z3950list,     # list of z3950 servers to query
+       )address@hidden;
+       # Returns:
+       my $error;
+
+       my (
+               $sth,
+               @serverlist,
+               $server,
+               $failed,
+               $servername,
+       );
+
+       # FIXME - Should be configurable, probably in /etc/koha.conf.
+       my $pidfile='/var/log/koha/processz3950queue.pid';
+
+       $error="";
+
+       my $dbh = C4::Context->dbh;
+       # list of servers: entry can be a fully qualified URL-type entry
+       #   or simply just a server ID number.
+       foreach $server (@z3950list) {
+               if ($server =~ /:/ ) {
+                       push @serverlist, $server;
+               } elsif ($server eq 'DEFAULT' || $server eq 'CHECKED' ) {
+                       $sth=$dbh->prepare("select host,port,db,userid,password 
,name,syntax from z3950servers where checked <> 0 ");
+                       $sth->execute;
+                       while ( my ($host, $port, $db, $userid, 
$password,$servername,$syntax) = $sth->fetchrow ) {
+                               push @serverlist, 
"$servername/$host\:$port/$db/$userid/$password/$syntax";
+                       } # while
+               } else {
+                       $sth=$dbh->prepare("select 
host,port,db,userid,password,syntax from z3950servers where id=? ");
+                       $sth->execute($server);
+                       my ($host, $port, $db, $userid, $password,$syntax) = 
$sth->fetchrow;
+                       push @serverlist, 
"$server/$host\:$port/$db/$userid/$password/$syntax";
+               }
+       }
+
+       my $serverlist='';
+
+       $serverlist = join("|", @serverlist);
+#      chop $serverlist;
+
+       # FIXME - Is this test supposed to test whether @serverlist is
+       # empty? If so, then a) there are better ways to do that in
+       # Perl (e.g., "if (@serverlist eq ())"), and b) it doesn't
+       # work anyway, since it checks whether $serverlist is composed
+       # of one or more spaces, which is never the case, not even
+       # when there are 0 or 1 elements in @serverlist.
+       if ( $serverlist !~ /^ +$/ ) {
+               # Don't allow reinsertion of the same request identifier.
+               $sth=$dbh->prepare("select identifier from z3950queue
+                       where identifier=?");
+               $sth->execute($requestid);
+               if ( ! $sth->rows) {
+                       $sth=$dbh->prepare("insert into z3950queue 
(term,type,servers, identifier) values (?, ?, ?, ?)");
+                       $sth->execute($query, $type, $serverlist, $requestid);
+                       if ( -r $pidfile ) {
+                               # FIXME - Perl is good at opening files. No 
need to
+                               # spawn a separate 'cat' process.
+                               my $pid=`cat $pidfile`;
+                               chomp $pid;
+                               warn "PID : $pid";
+                               # Kill -HUP the Z39.50 daemon to tell it to 
process
+                               # this query.
+                               my $processcount=kill 1, $pid;
+                               if ($processcount==0) {
+                                       $error.="Z39.50 search daemon error: no 
process signalled. ";
+                               }
+                       } else {
+                               # FIXME - Error-checking like this should go 
close
+                               # to the test.
+                               $error.="No Z39.50 search daemon running: no 
file $pidfile. ";
+                       } # if $pidfile
+               } else {
+                       # FIXME - Error-checking like this should go close
+                       # to the test.
+                       $error.="Duplicate request ID $requestid. ";
+               } # if rows
+       } else {
+               # FIXME - Error-checking like this should go close to the
+               # test. I.e.,
+               #       return "No Z39.50 search servers specified. "
+               #               if @serverlist eq ();
+
+               # server list is empty
+               $error.="No Z39.50 search servers specified. ";
+       } # if serverlist empty
+
+       return $error;
+
+} # sub addz3950queue
+
+=item &checkz3950searchdone
+
+  $numberpending= &    &checkz3950searchdone($random);
+
+Returns the number of pending z3950 requests
+
+C<$random> is the random z3950 query number.
+
+=cut
+sub checkz3950searchdone {
+       my ($z3950random) = @_;
+       my $dbh = C4::Context->dbh;
+       # first, check that the deamon already created the requests...
+       my $sth = $dbh->prepare("select count(*) from z3950queue,z3950results 
where z3950queue.id = z3950results.queryid and z3950queue.identifier=?");
+       $sth->execute($z3950random);
+       my ($result) = $sth->fetchrow;
+       if ($result eq 0) { # search not yet begun => should be searches to do !
+               return "??";
+       }
+       # second, count pending requests
+       $sth = $dbh->prepare("select count(*) from z3950queue,z3950results 
where z3950queue.id = z3950results.queryid and z3950results.enddate is null and 
z3950queue.identifier=?");
+       $sth->execute($z3950random);
+       ($result) = $sth->fetchrow;
+       return $result;
+}
 
 1;
 __END__
@@ -148,12 +304,9 @@
 =cut
 
 #--------------------------------------
-##No more deamon to start. Z3950 now handled by ZOOM asynch mode-TG
 # $Log: Z3950.pm,v $
-# Revision 1.12  2006/09/01 22:16:00  tgarip1957
-# New XML API
-# Event & Net::Z3950 dependency removed
-# HTML::Template::Pro dependency added
+# Revision 1.13  2006/09/06 16:21:03  tgarip1957
+# Clean up before final commits
 #
 # Revision 1.10  2003/10/01 15:08:14  tipaul
 # fix fog bug #622 : processz3950queue fails

Index: C4/Circulation/Circ2.pm
===================================================================
RCS file: /sources/koha/koha/C4/Circulation/Circ2.pm,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -b -r1.116 -r1.117
--- C4/Circulation/Circ2.pm     1 Sep 2006 22:05:51 -0000       1.116
+++ C4/Circulation/Circ2.pm     6 Sep 2006 16:21:03 -0000       1.117
@@ -3,7 +3,7 @@
 
 package C4::Circulation::Circ2;
 
-# $Id: Circ2.pm,v 1.116 2006/09/01 22:05:51 tgarip1957 Exp $
+# $Id: Circ2.pm,v 1.117 2006/09/06 16:21:03 tgarip1957 Exp $
 
 #package to deal with Returns
 #written 3/11/99 by address@hidden
@@ -139,15 +139,12 @@
 =cut
 #'
 sub itemissues {
-    my ($dbh,$data, $biblio)address@hidden;
+    my ($dbh,$data, $itemnumber)address@hidden;
     
-    my $sth   = $dbh->prepare("Select * from items where items.biblionumber = 
?");
      
     my $i     = 0;
     my @results;
 
-    $sth->execute($biblio);
-   
 
         # Find out who currently has this item.
         # FIXME - Wouldn't it be better to do this as a left join of
@@ -161,10 +158,10 @@
 and returndate is NULL
 and issues.borrowernumber = borrowers.borrowernumber");
 
-        $sth2->execute($data->{'itemnumber'});
+        $sth2->execute($itemnumber);
         if (my $data2 = $sth2->fetchrow_hashref) {
 
-            $data->{'date_due'} = $data2->{'date_due'};
+       $data->{'date_due'}=$data2->{'date_due'};
        $data->{'datelastborrowed'} = $data2->{'issue_date'};
             $data->{'card'}     = $data2->{'cardnumber'};
            $data->{'borrower'}     = $data2->{'borrowernumber'};
@@ -178,7 +175,7 @@
                                                                        and 
issues.borrowernumber = borrowers.borrowernumber
                                                                        and 
returndate is not NULL
                                                                        order 
by returndate desc,timestamp desc limit 2") ;
-        $sth2->execute($data->{'itemnumber'}) ;
+        $sth2->execute($itemnumber) ;
 #        for (my $i2 = 0; $i2 < 2; $i2++) { # FIXME : error if there is less 
than 3 pple borrowing this item
 my $i2=0;
           while (my $data2  = $sth2->fetchrow_hashref) {
@@ -191,9 +188,6 @@
 #       } # for
 
         $sth2->finish;
-       
-
-    $sth->finish;
     return($data);
 }
 

Index: C4/Interface/CGI/Output.pm
===================================================================
RCS file: /sources/koha/koha/C4/Interface/CGI/Output.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- C4/Interface/CGI/Output.pm  1 Sep 2006 22:07:23 -0000       1.6
+++ C4/Interface/CGI/Output.pm  6 Sep 2006 16:21:04 -0000       1.7
@@ -1,6 +1,6 @@
 package C4::Interface::CGI::Output;
 
-# $Id: Output.pm,v 1.6 2006/09/01 22:07:23 tgarip1957 Exp $
+# $Id: Output.pm,v 1.7 2006/09/06 16:21:04 tgarip1957 Exp $
 
 #package to work around problems in HTTP headers
 # Note: This is just a utility module; it should not be instantiated.

Index: Makefile.PL
===================================================================
RCS file: /sources/koha/koha/Makefile.PL,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- Makefile.PL 19 Jun 2006 19:48:56 -0000      1.6
+++ Makefile.PL 6 Sep 2006 16:21:04 -0000       1.7
@@ -25,13 +25,13 @@
 WriteMakefile(
     NAME => 'Koha',
     DISTNAME => 'koha',
-    VERSION => '2.3.0',
+    VERSION => '3.2.0',
     NO_META => 1,
     PREREQ_PM => {
         'DBI' => 1,
         'Date::Manip' => 1,
         'DBD::MySQL' => 1,
-        'HTML::Template' => 1,
+        'HTML::Template::Pro' => 1,
         'Digest::MD5' => 1,
         'MARC::Record' => 2.0,
         'MARC::Charset' => 0.95,
@@ -39,8 +39,7 @@
         'Mail::Sendmail' => 1,
         'PDF::API2' => 1,
         'Net::LDAP' => 1,
-        'Event' => 1,
-        'Net::Z3950' => 1,
+       XML::Simple=>1,
        'XML::SAX::LibXML' => 1
         },
    CONFIGURE => sub {

Index: admin/auth_subfields_structure.pl
===================================================================
RCS file: /sources/koha/koha/admin/auth_subfields_structure.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- admin/auth_subfields_structure.pl   1 Sep 2006 22:03:00 -0000       1.8
+++ admin/auth_subfields_structure.pl   6 Sep 2006 16:21:04 -0000       1.9
@@ -134,9 +134,10 @@
                }
                $row_data{tab} = CGI::scrolling_list(-name=>'tab',
                                        -id=>"tab$i",
-                                       -values=>['-1','0'],
-                                       -labels => {'-1' =>'ignore','0'=>'0',
-                                                                       },
+                                       
-values=>['-1','0','1','2','3','4','5','6','7','8','9'],
+                                       -labels => {'-1' 
=>'ignore','0'=>'0','1'=>'1','2' =>'2','3'=>'3','4'=>'4',
+                                                                       '5' 
=>'5','6'=>'6','7'=>'7',
+                                                                       '8' 
=>'8','9'=>'9',},
                                        -default=>$data->{'tab'},
                                        -size=>1,
                                        -multiple=>0,
@@ -219,10 +220,11 @@
        for (my $i=1;$i<=$more_subfields;$i++) {
                my %row_data;  # get a fresh hash for the row data
                $row_data{tab} = CGI::scrolling_list(-name=>'tab',
-                                       -id => "tab$i",
-                                       -values=>['-1','0'],
-                                       -labels => {'-1' =>'ignore','0'=>'0',
-                                                                       },
+                                       -id=>"tab$i",
+                                       
-values=>['-1','0','1','2','3','4','5','6','7','8','9'],
+                                       -labels => {'-1' 
=>'ignore','0'=>'0','1'=>'1','2' =>'2','3'=>'3','4'=>'4',
+                                                                       '5' 
=>'5','6'=>'6','7'=>'7',
+                                                                       '8' 
=>'8','9'=>'9',},
                                        -default=>"",
                                        -size=>1,
                                        -multiple=>0,

Index: admin/branches.pl
===================================================================
RCS file: /sources/koha/koha/admin/branches.pl,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- admin/branches.pl   1 Sep 2006 22:03:00 -0000       1.35
+++ admin/branches.pl   6 Sep 2006 16:21:04 -0000       1.36
@@ -1,30 +1,5 @@
 #!/usr/bin/perl
-# NOTE: Use standard 8-space tabs for this file (indents are 4 spaces)
 
-#require '/u/acli/lib/cvs.pl';#DEBUG
-#open(DEBUG,'>/tmp/koha.debug');
-
-# FIXME: individual fields in branch address need to be exported to templates,
-#        in order to fix bug 180; need to notify translators
-# FIXME: looped html (e.g., list of checkboxes) need to be properly
-#        TMPL_LOOP'ized; doing this properly will fix bug 130; need to
-#        notify translators
-# FIXME: need to implement the branch categories stuff
-# FIXME: there are too many TMPL_IF's; the proper way to do it is to have
-#        separate templates for each individual action; need to notify
-#        translators
-# FIXME: there are lots of error messages exported to the template; a lot
-#        of these should be converted into exported booleans / counters etc
-#        so that the error messages can be localized; need to notify 
translators
-#
-# NOTE:  heading() should now be called like this:
-#        1. Use heading() as before
-#        2. $template->param('heading-LISPISHIZED-HEADING-p' => 1);
-#        3. $template->param('use-heading-flags-p' => 1);
-#        This ensures that both converted and unconverted templates work
-
-# Finlay working on this file from 26-03-2002
-# Reorganising this branches admin page.....
 
 
 # Copyright 2000-2002 Katipo Communications
@@ -50,7 +25,7 @@
 use C4::Context;
 use C4::Output;
 use C4::Interface::CGI::Output;
-
+use C4::Search;
 # Fixed variables
 my $linecolor1='#ffffcc';
 my $linecolor2='white';
@@ -492,15 +467,21 @@
 sub checkdatabasefor {
 # check to see if the branchcode is being used in the database somewhere....
     my ($branchcode) = @_;
-    my $dbh = C4::Context->dbh;
-    my $sth=$dbh->prepare("select count(*) from items where holdingbranch=? or 
homebranch=?");
-    $sth->execute($branchcode, $branchcode);
-    my ($total) = $sth->fetchrow_array;
-    $sth->finish;
+my @kohafield;
+my @value;
+my @relation;
+my @and_or;
+ push @kohafield, "holdingbranch","homebranch";
+push @value, $branchcode,$branchcode;
+push @and_or, "address@hidden";
+push @relation ,"address@hidden 5=100","address@hidden 5=100"; ##do not 
truncate
+    my ($total,@results) 
=ZEBRAsearch_kohafields(address@hidden,address@hidden, address@hidden,"", 
address@hidden);
+   
     my $message;
     if ($total) {
-       # FIXME: need to be replaced by an exported boolean parameter
+       # We do not return verbal messages but a flag. fix templates to accept 
$error=1 as a message
        $message = "Branch cannot be deleted because there are $total items 
using that branch.";
+       
     }
     return $message;
 }

Index: authorities/auth_finder.pl
===================================================================
RCS file: /sources/koha/koha/authorities/auth_finder.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- authorities/auth_finder.pl  10 Aug 2006 13:00:27 -0000      1.11
+++ authorities/auth_finder.pl  6 Sep 2006 16:21:04 -0000       1.12
@@ -19,24 +19,19 @@
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
-require Exporter;
+
 use CGI;
 use C4::Auth;
-use HTML::Template;
 use C4::Context;
 use C4::Search;
-use C4::Auth;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::AuthoritiesMarc;
-use C4::Acquisition;
 use C4::Koha; # XXX subfield_is_koha_internal_p
 
 my $query=new CGI;
 my $op = $query->param('op');
 my $authtypecode = $query->param('authtypecode');
 my $index = $query->param('index');
-my $tagid=$query->param('tagid');
 my $resultstring = $query->param('result');
 my $dbh = C4::Context->dbh;
 
@@ -59,17 +54,14 @@
 
 if ($op eq "do_search") {
        my @marclist = $query->param('marclist');
-       my @and_or = $query->param('and_or');
-       my @excluding = $query->param('excluding');
+       
        my @operator = $query->param('operator');
        my @value = $query->param('value');
 
        $resultsperpage= $query->param('resultsperpage');
-       $resultsperpage = 19 if(!defined $resultsperpage);
+       $resultsperpage = 10 ;
 
-       my ($results,$total) = authoritysearch($dbh, 
address@hidden,address@hidden,
-                                                                               
address@hidden, address@hidden, address@hidden,
-                                                                               
$startfrom*$resultsperpage, $resultsperpage,$authtypecode);# $orderby);
+       my ($results,$total) = authoritysearch($dbh, address@hidden, 
address@hidden, address@hidden,$startfrom*$resultsperpage, 
$resultsperpage,$authtypecode);# $orderby);
 
        ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/searchresultlist-auth.tmpl",
@@ -94,8 +86,6 @@
        my @marclist_ini = $query->param('marclist'); # get marclist again, as 
the previous one has been modified by catalogsearch (mainentry replaced by 
field name
        for(my $i = 0 ; $i <= $#marclist ; $i++) {
                push @field_data, { term => "marclist", val=>$marclist_ini[$i] 
};
-               push @field_data, { term => "and_or", val=>$and_or[$i] };
-               push @field_data, { term => "excluding", val=>$excluding[$i] };
                push @field_data, { term => "operator", val=>$operator[$i] };
                push @field_data, { term => "value", val=>$value[$i] };
        }
@@ -132,7 +122,6 @@
                                                        startfromnext => 
$startfrom+1,
                                                        startfromprev => 
$startfrom-1,
                                                index => $index,
-                                               tagid => $tagid,
                                                        
searchdata=>address@hidden,
                                                        total=>$total,
                                                        from=>$from,
@@ -152,17 +141,13 @@
                                });
 
        $template->param(index=>$query->param('index')."",
-                                       tagid => $tagid,
                                        resultstring => $resultstring,
                                        );
 }
 
 $template->param(authtypesloop => address@hidden,
                authtypecode => $authtypecode,
-               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
+                               nonav=>"1",);
 
 # Print the page
 output_html_with_http_headers $query, $cookie, $template->output;

Index: authorities/auth_linker.pl
===================================================================
RCS file: /sources/koha/koha/authorities/auth_linker.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- authorities/auth_linker.pl  19 May 2006 18:04:17 -0000      1.1
+++ authorities/auth_linker.pl  6 Sep 2006 16:21:04 -0000       1.2
@@ -19,18 +19,14 @@
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
-require Exporter;
+
 use CGI;
 use C4::Auth;
-use HTML::Template;
 use C4::Context;
 use C4::Search;
-use C4::Auth;
-use C4::Output;
+
 use C4::Interface::CGI::Output;
 use C4::AuthoritiesMarc;
-#use C4::Biblio;
-use C4::Acquisition;
 use C4::Koha; # XXX subfield_is_koha_internal_p
 
 my $query=new CGI;
@@ -60,17 +56,15 @@
 
 if ($op eq "do_search") {
        my @marclist = $query->param('marclist');
-       my @and_or = $query->param('and_or');
-       my @excluding = $query->param('excluding');
+       
        my @operator = $query->param('operator');
        my @value = $query->param('value');
 
        $resultsperpage= $query->param('resultsperpage');
-       $resultsperpage = 19 if(!defined $resultsperpage);
+       $resultsperpage = 10 if(!defined $resultsperpage);
+
+       my ($results,$total) = authoritysearch($dbh, address@hidden, 
address@hidden, address@hidden,$startfrom*$resultsperpage, 
$resultsperpage,$authtypecode) ;
 
-       my ($results,$total) = authoritysearch($dbh, 
address@hidden,address@hidden,
-                                                                               
address@hidden, address@hidden, address@hidden,
-                                                                               
$startfrom*$resultsperpage, $resultsperpage,$authtypecode);# $orderby);
 
        ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/linkresultlist-auth.tmpl",
@@ -92,11 +86,9 @@
        my @field_data = ();
 
 
-       my @marclist_ini = $query->param('marclist'); # get marclist again, as 
the previous one has been modified by catalogsearch (mainentry replaced by 
field name
+       my @marclist_ini = $query->param('marclist'); # get marclist again, as 
the previous one has been modified by authoritysearch (mainentry replaced by 
field name
        for(my $i = 0 ; $i <= $#marclist ; $i++) {
                push @field_data, { term => "marclist", val=>$marclist_ini[$i] 
};
-               push @field_data, { term => "and_or", val=>$and_or[$i] };
-               push @field_data, { term => "excluding", val=>$excluding[$i] };
                push @field_data, { term => "operator", val=>$operator[$i] };
                push @field_data, { term => "value", val=>$value[$i] };
        }

Index: authorities/authorities-home.pl
===================================================================
RCS file: /sources/koha/koha/authorities/authorities-home.pl,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- authorities/authorities-home.pl     10 Aug 2006 13:33:57 -0000      1.14
+++ authorities/authorities-home.pl     6 Sep 2006 16:21:04 -0000       1.15
@@ -19,27 +19,26 @@
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
-require Exporter;
 use CGI;
 use C4::Auth;
-use HTML::Template;
 use C4::Context;
-use C4::Search;
-use C4::Auth;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::AuthoritiesMarc;
-use C4::Acquisition;
 use C4::Koha; # XXX subfield_is_koha_internal_p
 use C4::Biblio;
 
+
 my $query=new CGI;
 my $op = $query->param('op');
 my $authtypecode = $query->param('authtypecode');
 my $dbh = C4::Context->dbh;
-
+my $mergefrom=$query->param('mergefrom');
+my $mergeto=$query->param('mergeto');
+my $startfrom=$query->param('startfrom');
 my $authid=$query->param('authid');
+$startfrom=0 if(!defined $startfrom);
 my ($template, $loggedinuser, $cookie);
+my $resultsperpage;
 
 my $authtypes = getauthtypes;
 my @authtypesloop;
@@ -52,101 +51,92 @@
        push @authtypesloop, \%row;
 }
 
+
 if ($op eq "do_search") {
        my @marclist = $query->param('marclist');
-       my @and_or = $query->param('and_or');
-       my @excluding = $query->param('excluding');
+       
        my @operator = $query->param('operator');
        my @value = $query->param('value');
 
-    my $startfrom = $query->param('startfrom') || 1;
-    my $resultsperpage = $query->param('resultsperpage') || 19;
-
-       my ($results,$total) = authoritysearch(
-        $dbh,
-        address@hidden,
-        address@hidden,
-        address@hidden,
-        address@hidden,
-        address@hidden,
-        ($startfrom - 1)*$resultsperpage,
-        $resultsperpage,
-        $authtypecode
-    );
-
+       $resultsperpage= $query->param('resultsperpage');
+       $resultsperpage = 10 unless $resultsperpage;
+       my @tags;
+       my ($results,$total) = authoritysearch($dbh, address@hidden, 
address@hidden, address@hidden,$startfrom*$resultsperpage, 
$resultsperpage,$authtypecode) ;
        ($template, $loggedinuser, $cookie)
-               = get_template_and_user({
-            template_name => "authorities/searchresultlist.tmpl",
+               = get_template_and_user({template_name => 
"authorities/searchresultlist.tmpl",
             query => $query,
             type => 'intranet',
             authnotrequired => 0,
+                               authtypecode=> $authtypecode,
             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 = ();
 
-       # we must get parameters once again. Because if there is a mainentry, it
-       # has been replaced by something else during the search, thus the links
-       # next/previous would not work anymore
+       # we must get parameters once again. Because if there is a mainentry, 
it has been replaced by something else during the search, thus the links 
next/previous would not work anymore 
        my @marclist_ini = $query->param('marclist');
        for(my $i = 0 ; $i <= $#marclist ; $i++)
        {
-               push @field_data, { term => "marclist"  , 
val=>$marclist_ini[$i] };
-               push @field_data, { term => "and_or"    , val=>$and_or[$i] };
-               push @field_data, { term => "excluding" , val=>$excluding[$i] };
-               push @field_data, { term => "operator"  , val=>$operator[$i] };
-               push @field_data, { term => "value"     , val=>$value[$i] };
-       }
-
-    # construction of the url of each page
-    my $base_url =
-        'authorities-home.pl?'
-        .join(
-            '&amp;',
-            map { $_->{term}.'='.$_->{val} } @field_data
-        )
-        .'&amp;'
-        .join(
-            '&amp;',
-            map { $_->{term}.'='.$_->{val} } (
-                {term => 'resultsperpage', val => $resultsperpage},
-                {term => 'type'          , val => 'intranet'},
-                {term => 'op'            , val => 'do_search'},
-                {term => 'authtypecode'  , val => $authtypecode}
-            )
-        )
-        ;
+               push @field_data, { term => "marclist", val=>$marclist_ini[$i] 
};
+               push @field_data, { term => "operator", val=>$operator[$i] };
+               push @field_data, { term => "value", val=>$value[$i] };
+       }
 
-       my $from = ($startfrom - 1) * $resultsperpage + 1;
-       my $to;
+       my @numbers = ();
 
-       if ($total < $startfrom * $resultsperpage) {
-               $to = $total;
+       if ($total>$resultsperpage)
+       {
+               for (my $i=1; $i<$total/$resultsperpage+1; $i++)
+               {
+                       if ($i<31)
+                       {
+                       my $highlight=0;
+                       ($startfrom==($i-1)) && ($highlight=1);
+                       push @numbers, { number => $i,
+                                       highlight => $highlight ,
+                                       searchdata=> address@hidden,
+                                       startfrom => ($i-1)};
+                       }
        }
-    else {
-               $to = $startfrom * $resultsperpage;
        }
 
-       $template->param(result => $results) if $results;
+       my $from = $startfrom*$resultsperpage+1;
+       my $to;
 
+       if($total < (($startfrom+1)*$resultsperpage))
+       {
+               $to = $total;
+       } else {
+               $to = (($startfrom+1)*$resultsperpage);
+       }
+       $template->param(result => $results) if $results;
        $template->param(
-        pagination_bar => pagination_bar(
-            $base_url,
-            int($total/$resultsperpage)+1,
-            $startfrom,
-            'startfrom'
-            ),
+                                                       startfrom=> $startfrom,
+                                                       displaynext=> 
$displaynext,
+                                                       displayprev=> 
$displayprev,
+                                                       resultsperpage => 
$resultsperpage,
+                                                       startfromnext => 
$startfrom+1,
+                                                       startfromprev => 
$startfrom-1,
+                                                       
searchdata=>address@hidden,
         total=>$total,
         from=>$from,
         to=>$to,
-        isEDITORS => $authtypecode eq 'EDITORS',
+                                                       numbers=>address@hidden,
+                                                       
authtypecode=>$authtypecode,
     );
 
 } elsif ($op eq "delete") {
 
-       &AUTHdelauthority($dbh,$authid, 1);
+       &AUTHdelauthority($dbh,$authid);
 
        ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/authorities-home.tmpl",
@@ -156,11 +146,14 @@
                                flagsrequired => {catalogue => 1},
                                debug => 1,
                                });
-#      $template->param("statements" => address@hidden,
-#                                              "nbstatements" => 
$nbstatements);
-}
-elsif ($op eq "AddStatement") {
 
+
+}elsif ($op eq "merge") {
+
+
+       my $MARCfrom = XMLgetauthorityhash($dbh,$mergefrom);
+       my $MARCto = XMLgetauthorityhash($dbh,$mergeto);
+       merge($dbh,$mergefrom,$MARCfrom,$mergeto,$MARCto);
        ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/authorities-home.tmpl",
                                query => $query,
@@ -169,73 +162,7 @@
                                flagsrequired => {catalogue => 1},
                                debug => 1,
                                });
-
-       # Gets the entered information
-       my @marcfields = $query->param('marclist');
-       my @and_or = $query->param('and_or');
-       my @excluding = $query->param('excluding');
-       my @operator = $query->param('operator');
-       my @value = $query->param('value');
-
-       my @statements = ();
-
-       # List of the marc tags to display
-       my $marcarray = create_marclist();
-
-       my $nbstatements = $query->param('nbstatements');
-       $nbstatements = 1 if(!defined $nbstatements);
-
-       for(my $i = 0 ; $i < $nbstatements ; $i++)
-       {
-               my %fields = ();
-
-               # Recreates the old scrolling lists with the previously 
selected values
-               my $marclist = create_scrolling_list({name=>"marclist",
-                                       values=> $marcarray,
-                                       size=> 1,
-                                       -tabindex=>'',
-                                       default=>$marcfields[$i],
-                                       onChange => "sql_update()"}
-                                       );
-
-               $fields{'marclist'} = $marclist;
-               $fields{'first'} = 1 if($i == 0);
-
-               # Restores the and/or parameters (no need to test the 'and' for 
activation because it's the default value)
-               $fields{'or'} = 1 if($and_or[$i] eq "or");
-
-               #Restores the "not" parameters
-               $fields{'not'} = 1 if($excluding[$i]);
-
-               #Restores the operators (most common operators first);
-               if($operator[$i] eq "=") { $fields{'eq'} = 1; }
-               elsif($operator[$i] eq "contains") { $fields{'contains'} = 1; }
-               elsif($operator[$i] eq "start") { $fields{'start'} = 1; }
-               elsif($operator[$i] eq ">") { $fields{'gt'} = 1; }      
#greater than
-               elsif($operator[$i] eq ">=") { $fields{'ge'} = 1; } #greater or 
equal
-               elsif($operator[$i] eq "<") { $fields{'lt'} = 1; } #lower than
-               elsif($operator[$i] eq "<=") { $fields{'le'} = 1; } #lower or 
equal
-
-               #Restores the value
-               $fields{'value'} = $value[$i];
-
-               push @statements, \%fields;
-       }
-       $nbstatements++;
-
-       # The new scrolling list
-       my $marclist = create_scrolling_list({name=>"marclist",
-                               values=> $marcarray,
-                               size=>1,
-                               -tabindex=>'',
-                               onChange => "sql_update()"});
-       push @statements, {"marclist" => $marclist };
-
-       $template->param("statements" => address@hidden,
-                                               "nbstatements" => 
$nbstatements);
-
-}
-else {
+}else {
        ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/authorities-home.tmpl",
                                query => $query,
@@ -247,11 +174,9 @@
 
 }
 
-$template->param(authtypesloop => address@hidden,
-               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
+
+
+$template->param(authtypesloop => address@hidden);
 
 # Print the page
 output_html_with_http_headers $query, $cookie, $template->output;

Index: authorities/authorities.pl
===================================================================
RCS file: /sources/koha/koha/authorities/authorities.pl,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- authorities/authorities.pl  4 Jul 2006 14:36:51 -0000       1.15
+++ authorities/authorities.pl  6 Sep 2006 16:21:04 -0000       1.16
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: authorities.pl,v 1.15 2006/07/04 14:36:51 toins Exp $
+# $Id: authorities.pl,v 1.16 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -25,54 +25,22 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::AuthoritiesMarc;
+use C4::Biblio;
 use C4::Context;
 use C4::Koha; # XXX subfield_is_koha_internal_p
-use HTML::Template;
-use MARC::File::USMARC;
-use MARC::File::XML;
-use C4::Biblio;
+use Encode;
+
 use vars qw( $tagslib);
 use vars qw( $authorised_values_sth);
 use vars qw( $is_a_modif );
 my $input = new CGI;
 my $z3950 = $input->param('z3950');
 my $logstatus=C4::Context->preference('Activate_log');
+my $xml;
 my $itemtype; # created here because it can be used in 
build_authorized_values_list sub
 
-=item find_value
-
-    ($indicators, $value) = find_value($tag, $subfield, $record,$encoding);
 
-Find the given $subfield in the given $tag in the given
-MARC::Record $record.  If the subfield is found, returns
-the (indicators, value) pair; otherwise, (undef, undef) is
-returned.
 
-=cut
-
-sub find_value {
-       my ($tagfield,$insubfield,$record,$encoding) = @_;
-       my @result;
-       my $indicator;
-       if ($tagfield <10) {
-               if ($record->field($tagfield)) {
-                       push @result, $record->field($tagfield)->data();
-               } else {
-                       push @result,"";
-               }
-       } else {
-               foreach my $field ($record->field($tagfield)) {
-                       my @subfields = $field->subfields();
-                       foreach my $subfield (@subfields) {
-                               if (@$subfield[0] eq $insubfield) {
-                               push @result,@$subfield[1];
-                                                       $indicator = 
$field->indicator(1).$field->indicator(2);
-                               }
-                       }
-               }
-       }
-       return($indicator,@result);
-}
 
 
 =item build_authorized_values_list
@@ -128,7 +96,6 @@
                                -labels   => \%authorised_lib,
                                -override => 1,
                                -size     => 1,
-                               -tabindex=>'',
                                -multiple => 0 );
 }
 
@@ -137,11 +104,11 @@
  builds the <input ...> entry for a subfield.
 =cut
 sub create_input () {
-       my ($tag,$subfield,$value,$i,$tabloop,$rec,$authorised_values_sth) = @_;
-       # must be encoded as utf-8 before it reaches the editor
+       my ($tag,$subfield,$value,$i,$tabloop,$rec,$authorised_values_sth,$id) 
= @_;    
        my $dbh=C4::Context->dbh;
        $value =~ s/"/&quot;/g;
        my %subfield_data;
+       $subfield_data{id}=$id;
        $subfield_data{tag}=$tag;
        $subfield_data{subfield}=$subfield;
        $subfield_data{marc_lib}="<span 
id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</span>";
@@ -149,15 +116,14 @@
        $subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
        $subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
        $subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
-       $subfield_data{kohafield}=$tagslib->{$tag}->{$subfield}->{kohafield};
        $subfield_data{index} = $i;
        $subfield_data{visibility} = "display:none" if 
(substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "0") ; #check parity
        # it's an authorised field
        if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
                $subfield_data{marc_value}= build_authorized_values_list($tag, 
$subfield, $value, $dbh,$authorised_values_sth);
-       # it's a thesaurus / authority field
+       # it's linking authority field to another authority
        } elsif ($tagslib->{$tag}->{$subfield}->{link}) {
-               $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff;'\" tabindex=\"1\" type=\"text\" 
name=\"field_value\" value=\"$value\" size=\"40\" maxlength=\"255\" DISABLE 
READONLY> <a  style=\"cursor: help;\" 
href=\"javascript:Dopop('../authorities/auth_linker.pl?index=$i',$i)\">...</a>";
+               $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff;'\" tabindex=\"1\" type=\"text\" 
name=\"field_value\" id=\"field_value$id\" value=\"$value\" size=\"40\" 
maxlength=\"255\" DISABLE READONLY> <a  style=\"cursor: help;\" 
href=\"javascript:Dopop('../authorities/auth_linker.pl?index=$id',$id);\">...</a>";
        
                # it's a plugin field
        } elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
@@ -171,34 +137,44 @@
                require $plugin;
                my $extended_param = 
plugin_parameters($dbh,$rec,$tagslib,$i,$tabloop);
                my ($function_name,$javascript) = 
plugin_javascript($dbh,$rec,$tagslib,$i,$tabloop);
-               $subfield_data{marc_value}="<input tabindex=\"1\" type=\"text\" 
name=\"field_value\"  value=\"$value\" size=\"40\" maxlength=\"255\" 
OnFocus=\"javascript:Focus$function_name($i)\" 
OnBlur=\"javascript:Blur$function_name($i); \"> <a  style=\"cursor: help;\" 
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
+               $subfield_data{marc_value}="<input tabindex=\"1\" type=\"text\" 
 name=\"field_value\" id=\"field_value$id\"  value=\"$value\" size=\"40\" 
maxlength=\"255\" DISABLE READONLY 
OnFocus=\"javascript:Focus$function_name($i)\" 
OnBlur=\"javascript:Blur$function_name($i); \"> <a  style=\"cursor: help;\" 
href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
        # it's an hidden field
        } elsif  ($tag eq '') {
-               $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" 
type=\"hidden\" name=\"field_value\" value=\"$value\">";
+               $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" 
type=\"hidden\" name=\"field_value\" id=\"field_value$id\"  value=\"$value\">";
        } elsif  (substr($tagslib->{$tag}->{$subfield}->{'hidden'},2,1) gt "1") 
{
 
-               $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" type=\"text\" 
name=\"field_value\" value=\"$value\" size=\"40\" maxlength=\"255\" >";
+               $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" type=\"text\" 
name=\"field_value\" id=\"field_value$id\"   value=\"$value\" size=\"40\" 
maxlength=\"255\" >";
        # it's a standard field
        } else {
                if (length($value) >100) {
-                       $subfield_data{marc_value}="<textarea tabindex=\"1\" 
name=\"field_value\" cols=\"40\" rows=\"5\" >$value</textarea>";
+                       $subfield_data{marc_value}="<textarea tabindex=\"1\" 
name=\"field_value\" id=\"field_value$id\"  cols=\"40\" rows=\"5\" 
>$value</textarea>";
                } else {
-                       $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" type=\"text\" 
name=\"field_value\" value=\"$value\" size=\"50\">"; #"
+                       $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff'; \" tabindex=\"1\" type=\"text\" 
name=\"field_value\" id=\"field_value$id\"  value=\"$value\" size=\"50\">"; #"
                }
        }
        return \%subfield_data;
 }
 
-sub build_tabs ($$$$) {
-    my($template, $record, $dbh,$encoding) = @_;
+sub build_tabs  ($$$;$){
+    my($template, $xmlhash, $dbh,$addedfield) = @_;
     # fill arrays
     my @loop_data =();
     my $tag;
     my $i=0;
+my $id=100;
        my $authorised_values_sth = $dbh->prepare("select authorised_value,lib
                from authorised_values
                where category=? order by lib");
-
+my $author;
+my $controlfields;
+my $leader;
+if ($xmlhash){
+ $author=$xmlhash->{'datafield'};
+ $controlfields=$xmlhash->{'controlfield'};
+ $leader=$xmlhash->{'leader'};
+}
+    my @BIG_LOOP;
+my %built;
 # loop through each tab 0 through 9
        for (my $tabloop = 0; $tabloop <= 9; $tabloop++) {
                my @loop_data = ();
@@ -206,47 +182,147 @@
                        my $indicator;
        # if MARC::Record is not empty => use it as master loop, then add 
missing subfields that should be in the tab.
        # if MARC::Record is empty => use tab as master loop.
-                       if ($record ne -1 && ($record->field($tag) || $tag eq 
'000')) {
-                               my @fields;
-                               if ($tag ne '000') {
-                                       @fields = $record->field($tag);
-                               } else {
-                                       push @fields,$record->leader();
-                               }
-                               foreach my $field (@fields)  {
+       if ($xmlhash) {
+                       ####
+               
+                       my %tagdefined;
+                       my %definedsubfields;
+                       my $hiddenrequired;
+                       my ($ind1,$ind2);
+                       
+                if ($tag>9){
+                       foreach my $data (@$author){
+                                       $hiddenrequired=0;
                                        my @subfields_data;
-                                       if ($tag<10) {
-                                               my ($value,$subfield);
-                                               if ($tag ne '000') {
-                                                       $value=$field->data();
-                                                       $subfield="@";
-                                               } else {
-                                                       $value = $field;
-                                                       $subfield='@';
+                                       undef %definedsubfields;
+                                if ($data->{'tag'} eq $tag){
+                                       $tagdefined{$tag}=1 ;
+                                          if ($built{$tag}==1){
+                                               $hiddenrequired=1;
+                                           }
+                                           $ind1="  ";
+                                             $ind2="  ";               
+                                             foreach my $subfieldcode ( 
$data->{'subfield'}){
+                                                foreach my $code ( 
@$subfieldcode){    
+                                                       next if 
($tagslib->{$tag}->{$code->{'code'}}->{tab} ne $tabloop);                       
                        
+                                                       my 
$subfield=$code->{'code'}  ;
+                                                       my 
$value=$code->{'content'};
+                                                       
$definedsubfields{$tag.$subfield}=1 ;
+                                                        $built{$tag}=1;
+                                                       push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id))
 ;
+                                                       $i++ ;
+                                               }
+                                             } ##each subfield
+                                           $ind1=$data->{'ind1'};
+                                           $ind2=      $data->{'ind2'};
+                                         
+                                       if ($hiddenrequired && $#loop_data >=0 
&& $loop_data[$#loop_data]->{'tag'} eq $tag) {
+                                               my @hiddensubfields_data;
+                                               my %tag_data;
+                                               push(@hiddensubfields_data, 
&create_input('','','',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $tag_data{tag} = '';
+                                               $tag_data{tag_lib} = '';
+                                               $tag_data{indicator} = '';
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               push (@loop_data, \%tag_data);
+                                               $i++;
                                                }
+                                       # now, loop again to add parameter 
subfield that are not in the MARC::Record
+                                       
+                                       foreach my $subfield (sort( keys 
%{$tagslib->{$tag}})) {
+                                               next if (length $subfield !=1);
                                                next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
-                                       #       next if 
($tagslib->{$tag}->{$subfield}->{kohafield} eq 'auth_header.authid');
-                                               push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$record,$authorised_values_sth));
+                                               next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
+                                               next if 
($definedsubfields{$tag.$subfield} );
+                                               push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               
$definedsubfields{$tag.$subfield}=1;
                                                $i++;
-                                       } else {
-                                               my 
@subfields=$field->subfields();
-                                               foreach my $subfieldcount 
(0..$#subfields) {
-                                                       my 
$subfield=$subfields[$subfieldcount][0];
-                                                       my 
$value=$subfields[$subfieldcount][1];
-                                                       next if (length 
$subfield !=1);
+                                       }
+                                       if ($#subfields_data >= 0) {
+                                               my %tag_data;
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{indicator} = 
$ind1.$ind2 if ($tag>=10);
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               push (@loop_data, \%tag_data);
+                                               
+                                       }
+                                       $id++;
+                                    }## if tag matches
+                       
+                       }#eachdata
+               }else{ ## tag <10
+                               if ($tag eq "000" || $tag eq "LDR"){
+                                       my $subfield="@";
+                                       next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
+                                       my @subfields_data;
+                                       my $value=$leader->[0] if $leader->[0];
+                                       $tagdefined{$tag}=1 ;
+                                       push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
                                    
+                                       $i++;
+                                       if ($#subfields_data >= 0) {
+                                               my %tag_data;
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                                                       
$tag_data{fixedfield} = 1;
+                                               push (@loop_data, \%tag_data);
+                                       }
+                                }else{
+                                foreach my $control (@$controlfields){
+                                       my $subfield="@";
                                                        next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
-                                                       push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$record,$authorised_values_sth));
+                                       my @subfields_data;
+                                       if ($control->{'tag'} eq $tag){
+                                       $hiddenrequired=0;
+                                       $tagdefined{$tag}=1 ;
+                                        if 
($built{$tag}==1){$hiddenrequired=1;}
+                                       my $value=$control->{'content'} ;
+                                       $definedsubfields{$tag.'@'}=1;
+                                       push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
                                    
+                                       $i++;
+                                       
+                                          $built{$tag}=1;
+                                       if ($hiddenrequired && $#loop_data >=0 
&& $loop_data[$#loop_data]->{'tag'} eq $tag) {
+                                               my @hiddensubfields_data;
+                                               my %tag_data;
+                                               push(@hiddensubfields_data, 
&create_input('','','',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $tag_data{tag} = '';
+                                               $tag_data{tag_lib} = '';
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               $tag_data{fixedfield} = 1;
+                                               push (@loop_data, \%tag_data);
                                                        $i++;
                                                }
+                                       if ($#subfields_data >= 0) {
+                                               my %tag_data;
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               $tag_data{fixedfield} = 1;
+                                               push (@loop_data, \%tag_data);
+                                       }
+                                       $id++;
+                                       }## tag matches
+                                }# each control
                                        }
-# now, loop again to add parameter subfield that are not in the MARC::Record
+                       }##tag >9
+
+
+                       ##### Any remaining tag
+                               my @subfields_data;
+                               # now, loop again to add parameter subfield 
that are not in the MARC::Record
                                        foreach my $subfield (sort( keys 
%{$tagslib->{$tag}})) {
+                                               next if ($tagdefined{$tag} );
                                                next if (length $subfield !=1);
                                                next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
-                                               next if ($tag<10);
                                                next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
-                                               next if 
(defined($field->subfield($subfield)));
-                                               push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$record,$authorised_values_sth));
+                                               
+                                               push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $tagdefined{$tag.$subfield}=1;
                                                $i++;
                                        }
                                        if ($#subfields_data >= 0) {
@@ -254,7 +330,7 @@
                                                $tag_data{tag} = $tag;
                                                $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
                                                $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
-                                               $tag_data{indicator} = 
$record->field($tag)->indicator(1). $record->field($tag)->indicator(2) if 
($tag>=10);
+                                               $tag_data{indicator} = 
$ind1.$ind2 if ($tag>=10);
                                                $tag_data{subfield_loop} = 
address@hidden;
                                                if ($tag<10) {
                                                        $tag_data{fixedfield} = 
1;
@@ -262,30 +338,44 @@
 
                                                push (@loop_data, \%tag_data);
                                        }
-# If there is more than 1 field, add an empty hidden field as separator.
-                                       if ($#fields >=1 && $#loop_data >=0 && 
$loop_data[$#loop_data]->{'tag'} eq $tag) {
-                                               my @subfields_data;
+
+                                       
+                                       if ($addedfield eq $tag) {
                                                my %tag_data;
-                                               push(@subfields_data, 
&create_input('','','',$i,$tabloop,$record,$authorised_values_sth));
-                                               $tag_data{tag} = '';
-                                               $tag_data{tag_lib} = '';
-                                               $tag_data{indicator} = '';
+                                               my @subfields_data;
+                                               $id++;
+                                               $tagdefined{$tag}=1 ;
+                                               foreach my $subfield (sort( 
keys %{$tagslib->{$tag}})) {
+                                               next if (length $subfield !=1);
+                                               next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
+                                               next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
+                                               $addedfield=""; 
+                                               push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $i++;
+                                                       }
+                                               if ($#subfields_data >= 0) {
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{indicator} = ' ' if 
($tag>=10);
                                                $tag_data{subfield_loop} = 
address@hidden;
                                                if ($tag<10) {
                                                                
$tag_data{fixedfield} = 1;
                                                }
                                                push (@loop_data, \%tag_data);
-                                               $i++;
+                                                                               
        
                                        }
+                               
                                }
        
+       # if breeding is empty
                        } else {
                                my @subfields_data;
                                foreach my $subfield (sort(keys 
%{$tagslib->{$tag}})) {
                                        next if (length $subfield !=1);
                                        next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
                                        next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
-                                       push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$record,$authorised_values_sth));
+                                       push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
                                        $i++;
                                }
                                if ($#subfields_data >= 0) {
@@ -302,9 +392,17 @@
                                        push (@loop_data, \%tag_data);
                                }
                        }
+               $id++;
                }
-               $template->param($tabloop."XX" =>address@hidden);
-       }
+       if ($#loop_data >=0) {
+            my %big_loop_line;
+            $big_loop_line{number}=$tabloop;
+            address@hidden;
+            push @BIG_LOOP,\%big_loop_line;
+            }  
+#              $template->param($tabloop."XX" =>address@hidden);
+               $template->param(BIG_LOOP => address@hidden);
+}## tab loop
 }
 
 
@@ -362,16 +460,19 @@
                             });
 $template->param(nonav   => 
$nonav,index=>$myindex,authtypecode=>$authtypecode,);
 $tagslib = AUTHgettagslib($dbh,1,$authtypecode);
-my $record=-1;
-my $encoding="";
-$record = AUTHgetauthority($dbh,$authid) if ($authid);
+
+my $xmlhash;
+my $xml;
+$xmlhash = XMLgetauthorityhash($dbh,$authid) if ($authid);
+
+
 my ($oldauthnumtagfield,$oldauthnumtagsubfield);
 my ($oldauthtypetagfield,$oldauthtypetagsubfield);
 $is_a_modif=0;
 if ($authid) {
        $is_a_modif=1;
-       ($oldauthnumtagfield,$oldauthnumtagsubfield) = 
&AUTHfind_marc_from_kohafield($dbh,"auth_header.authid",$authtypecode);
-       ($oldauthtypetagfield,$oldauthtypetagsubfield) = 
&AUTHfind_marc_from_kohafield($dbh,"auth_header.authtypecode",$authtypecode);
+       ($oldauthnumtagfield,$oldauthnumtagsubfield) = 
MARCfind_marc_from_kohafield("auth_authid","authorities");
+       ($oldauthtypetagfield,$oldauthtypetagsubfield) = 
MARCfind_marc_from_kohafield("auth_authtypecode","authorities");
 }
 
 
#------------------------------------------------------------------------------------------------------------------------------
@@ -385,23 +486,28 @@
        # build indicator hash.
        my @ind_tag = $input->param('ind_tag');
        my @indicator = $input->param('indicator');
-       my $xml = 
MARChtml2xml(address@hidden,address@hidden,address@hidden,address@hidden,address@hidden);
-       #warn $xml;
-       my $record=MARC::Record->new_from_xml($xml,'UTF-8');
-       $record->encoding('UTF-8');
-       #warn $record->as_formatted;
-       #warn "IN ADDBIB";
-       # check for a duplicate
-       my ($duplicateauthid,$duplicateauthvalue) = 
C4::AuthoritiesMarc::FindDuplicate($record,$authtypecode) if ($op eq "add") && 
(!$is_a_modif);
+## check for malformed xml -- non UTF-8 like (MARC8) will break xml without 
warning
+### This usually happens with data coming from other Z3950 servers
+## Slows the saving process so comment out at your own risk
+eval{
+ $xml = 
MARChtml2xml(address@hidden,address@hidden,address@hidden,address@hidden,address@hidden);
      
+};
+ if ($@){
+warn $@;
+ $template->param(error             =>1,xmlerror=>1,);
+goto FINAL;
+  };   # check for a duplicate
+  my $xmlhash=XML_xml2hash_onerecord($xml);
+       my ($duplicateauthid,$duplicateauthvalue) = 
C4::AuthoritiesMarc::FindDuplicateauth($xmlhash,$authtypecode) if ($op eq 
"add") && (!$is_a_modif);
 #warn "duplicate:$duplicateauthid,$duplicateauthvalue";        
        my $confirm_not_duplicate = $input->param('confirm_not_duplicate');
        # it is not a duplicate (determined either by Koha itself or by user 
checking it's not a duplicate)
        if (!$duplicateauthid or $confirm_not_duplicate) {
 # warn "noduplicate";
                if ($is_a_modif ) {     
-                       
$authid=AUTHmodauthority($dbh,$authid,$record,$authtypecode,1);         
+                       
$authid=AUTHmodauthority($dbh,$authid,$xmlhash,$authtypecode,1);                
                } else {
-               ($authid) = 
AUTHaddauthority($dbh,$record,$authid,$authtypecode);
+               ($authid) = 
AUTHaddauthority($dbh,$xmlhash,$authid,$authtypecode);
 
                }
        # now, redirect to detail page
@@ -413,9 +519,10 @@
                }
                exit;
        } else {
+FINAL:
 #warn "duplicate";
        # it may be a duplicate, warn the user and do nothing
-               build_tabs ($template, $record, $dbh,$encoding);
+               build_tabs ($template, $xmlhash, $dbh);
                build_hidden_data;
                $template->param(authid =>$authid,
                        duplicateauthid                         => 
$duplicateauthid,
@@ -426,7 +533,6 @@
 } elsif ($op eq "addfield") {
 
#------------------------------------------------------------------------------------------------------------------------------
        my $addedfield = $input->param('addfield_field');
-       my $tagaddfield_subfield = $input->param('addfield_subfield');
        my @tags = $input->param('tag');
        my @subfields = $input->param('subfield');
        my @values = $input->param('field_value');
@@ -434,12 +540,9 @@
        my @ind_tag = $input->param('ind_tag');
        my @indicator = $input->param('indicator');
        my $xml = 
MARChtml2xml(address@hidden,address@hidden,address@hidden,address@hidden,address@hidden);
-       my $record=MARC::Record->new_from_xml($xml,'UTF-8');
-       $record->encoding('UTF-8');
+       my $xmlhash=XML_xml2hash_onerecord($xml);
        # adding an empty field
-       my $field = 
MARC::Field->new("$addedfield",'','','$tagaddfield_subfield' => "");
-       $record->append_fields($field);
-       build_tabs ($template, $record, $dbh,$encoding);
+       build_tabs ($template, $xmlhash, $dbh,$addedfield);
        build_hidden_data;
        $template->param(
                authid                       => $authid,);
@@ -458,22 +561,21 @@
        {
                $authid = "";
        }
-       build_tabs ($template, $record, $dbh,$encoding);
+       build_tabs ($template, $xmlhash, $dbh);
        build_hidden_data;
        $template->param(oldauthtypetagfield=>$oldauthtypetagfield, 
oldauthtypetagsubfield=>$oldauthtypetagsubfield,
                oldauthnumtagfield=>$oldauthnumtagfield, 
oldauthnumtagsubfield=>$oldauthnumtagsubfield,
                authid                      => $authid , 
authtypecode=>$authtypecode,   );
 }
 
-#unless ($op) {
-#      warn "BUILDING";
-#      build_tabs ($template, $record, $dbh,$encoding);
-#      build_hidden_data;
-#}
 $template->param(
        authid                       => $authid,
        authtypecode => $authtypecode,
        linkid=>$linkid,
+                       intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
+               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
+               IntranetNav => C4::Context->preference("IntranetNav"),
+               advancedMARCEditor => 
C4::Context->preference("advancedMARCEditor"),
        );
 
 my $authtypes = getauthtypes;
@@ -489,9 +591,5 @@
 
 $template->param(authtypesloop => address@hidden,
                                authtypetext => 
$authtypes->{$authtypecode}{'authtypetext'},
-                               hide_marc => 
C4::Context->preference('hide_marc'),
-                               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-                               );
+                               nonav=>$nonav,);
 output_html_with_http_headers $input, $cookie, $template->output;

Index: authorities/blinddetail-biblio-search.pl
===================================================================
RCS file: /sources/koha/koha/authorities/blinddetail-biblio-search.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- authorities/blinddetail-biblio-search.pl    4 Jul 2006 14:36:51 -0000       
1.7
+++ authorities/blinddetail-biblio-search.pl    6 Sep 2006 16:21:04 -0000       
1.8
@@ -19,7 +19,6 @@
 
 =head1 NAME
 
-etail.pl : script to show an authority in MARC format
 
 =head1 SYNOPSIS
 
@@ -28,8 +27,7 @@
 
 This script needs an authid
 
-It shows the authority in a (nice) MARC format depending on authority MARC
-parameters tables.
+
 
 =head1 FUNCTIONS
 
@@ -39,32 +37,27 @@
 
 
 use strict;
-require Exporter;
 use C4::AuthoritiesMarc;
 use C4::Auth;
 use C4::Context;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
 use C4::Search;
-use MARC::Record;
 use C4::Koha;
-use HTML::Template;
-
+use C4::Biblio;
 my $query=new CGI;
 
 my $dbh=C4::Context->dbh;
 
 my $authid = $query->param('authid');
-my $index = $query->param('index');
-my $tagid = $query->param('tagid');
+my $index=$query->param('index');
 my $authtypecode = &AUTHfind_authtypecode($dbh,$authid);
 my $tagslib = &AUTHgettagslib($dbh,1,$authtypecode);
-
+my 
($dummyfield,$linkidsubfield)=MARCfind_marc_from_kohafield("auth_biblio_link_subf","biblios");
 my $auth_type = AUTHgetauth_type($authtypecode);
-# warn "XX = ".$auth_type->{auth_tag_to_report};
+#warn "$authid =$authtypecode ".$auth_type->{auth_tag_to_report};
 
-my $record =AUTHgetauthority($dbh,$authid);
+my $record =XMLgetauthorityhash($dbh,$authid) if $authid;
 # open template
 my ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/blinddetail-biblio-search.tmpl",
@@ -80,30 +73,29 @@
 my $tag;
 my @loop_data =();
 if ($authid) {
-       foreach my $field ($record->field($auth_type->{auth_tag_to_report})) {
+       my 
@record_subs=XML_readline_withtags($record,"","",$auth_type->{auth_tag_to_report});
+       ##Put the result in a hash
+       my %filled_subfield;
+       foreach my $subfield (@record_subs) {
+       $filled_subfield{$subfield->[0]}=$subfield->[1];
+       }
                my @subfields_data;
-               my @subf=$field->subfields;
+                       
                # loop through each subfield
-               my %result;
-               for my $i (0..$#subf) {
-                       $subf[$i][0] = "@" unless $subf[$i][0];
-                       $result{$subf[$i][0]}.=$subf[$i][1]."|";
-               }
-               foreach (keys %result) {
+               foreach my $subfield ('a'..'z') {                       
                        my %subfield_data;
-                       chop $result{$_};
-                       $subfield_data{marc_value}=$result{$_};
-                       $subfield_data{marc_subfield}=$_;
-#                      $subfield_data{marc_tag}=$field->tag();
+                       $subfield_data{marc_value}=$filled_subfield{$subfield} ;
+                       $subfield_data{marc_subfield}=$subfield;
+                       
$subfield_data{marc_tag}=$auth_type->{auth_tag_to_report};
                        push(@subfields_data, \%subfield_data);
                }
                if ($#subfields_data>=0) {
                        my %tag_data;
-                       $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
+                       $tag_data{tag}=$auth_type->{auth_tag_to_report}.' -'. 
$tagslib->{$auth_type->{auth_tag_to_report}}->{lib};
                        $tag_data{subfield} = address@hidden;
                        push (@loop_data, \%tag_data);
                }
-       }
+       
 } else {
 # authid is empty => the user want to empty the entry.
        my @subfields_data;
@@ -113,34 +105,21 @@
                        $subfield_data{marc_subfield}=$subfield;
                        push(@subfields_data, \%subfield_data);
                }
-#      if ($#subfields_data>=0) {
+       foreach my $subfield ('0'..'9') {
+                       my %subfield_data;
+                       $subfield_data{marc_value}='';
+                       $subfield_data{marc_subfield}=$subfield;
+                       push(@subfields_data, \%subfield_data);
+               }
                my %tag_data;
-#                      $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
                $tag_data{subfield} = address@hidden;
                push (@loop_data, \%tag_data);
-#      }
 }
 
 $template->param("0XX" =>address@hidden);
 
-# my $authtypes = getauthtypes;
-# my @authtypesloop;
-# foreach my $thisauthtype (keys %$authtypes) {
-#      my $selected = 1 if $thisauthtype eq $authtypecode;
-#      my %row =(value => $thisauthtype,
-#                              selected => $selected,
-#                              authtypetext => 
$authtypes->{$thisauthtype}{'authtypetext'},
-#                      );
-#      push @authtypesloop, \%row;
-# }
-
-$template->param(authid => $authid?$authid:"",
-#                              authtypesloop => address@hidden,
-                               index => $index,
-                               tagid => $tagid,
-                               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-                               );
+
+
+$template->param(authid => $authid?$authid:"", 
linkidsubfield=>$linkidsubfield,index=>$index,);
 output_html_with_http_headers $query, $cookie, $template->output;
 

Index: authorities/blinddetail-linker.pl
===================================================================
RCS file: /sources/koha/koha/authorities/blinddetail-linker.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- authorities/blinddetail-linker.pl   19 May 2006 18:04:17 -0000      1.1
+++ authorities/blinddetail-linker.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -28,8 +28,6 @@
 
 This script needs an authid
 
-It shows the authority in a (nice) MARC format depending on authority MARC
-parameters tables.
 
 =head1 FUNCTIONS
 
@@ -39,18 +37,14 @@
 
 
 use strict;
-require Exporter;
 use C4::AuthoritiesMarc;
 use C4::Auth;
 use C4::Context;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
 use C4::Search;
-use MARC::Record;
 use C4::Koha;
-use HTML::Template;
-
+use C4::Biblio;
 my $query=new CGI;
 
 my $dbh=C4::Context->dbh;
@@ -60,10 +54,10 @@
 my $authtypecode=$query->param('authtypecode');
  $authtypecode = &AUTHfind_authtypecode($dbh,$authid) if !$authtypecode;
 my $tagslib = &AUTHgettagslib($dbh,1,$authtypecode);
-my 
($linkidfield,$linkidsubfield)=AUTHfind_marc_from_kohafield($dbh,"auth_header.linkid",$authtypecode);
+my 
($linkidfield,$linkidsubfield)=MARCfind_marc_from_kohafield("auth_linkid","authorities");
 my $auth_type = AUTHgetauth_type($authtypecode);
 
-my $record =AUTHgetauthority($dbh,$authid);
+my $record =XMLgetauthorityhash($dbh,$authid);
 # open template
 my ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/blinddetail-linker.tmpl",
@@ -80,42 +74,46 @@
 my @loop_data =();
 if ($authid) {
 
-       foreach my $field ($record->field($auth_type->{auth_tag_to_report})) {
+#      foreach my $field ($record->field($auth_type->{auth_tag_to_report})) {
+#                      my @subfields_data;
+#                      my @subf=$field->subfields;
+#              # loop through each subfield
+#              for my $i (0..$#subf) {
+#                      $subf[$i][0] = "@" unless $subf[$i][0];
+#                      my %subfield_data;
+#                      $subfield_data{marc_value}=$subf[$i][1];
+#                      $subfield_data{marc_subfield}=$subf[$i][0];
+#                      $subfield_data{marc_tag}=$field->tag();
+#                      push(@subfields_data, \%subfield_data);
+#              }
+#              if ($#subfields_data>=0) {
+#                      my %tag_data;
+#                      $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
+#                      $tag_data{subfield} = address@hidden;
+#                      push (@loop_data, \%tag_data);
+#              }
+#      }
+} else {
+# authid is empty => the user want to empty the entry.
                        my @subfields_data;
-                       my @subf=$field->subfields;
-               # loop through each subfield
-               for my $i (0..$#subf) {
-                       $subf[$i][0] = "@" unless $subf[$i][0];
+       foreach my $subfield ('0'..'9') {
                        my %subfield_data;
-                       $subfield_data{marc_value}=$subf[$i][1];
-                       $subfield_data{marc_subfield}=$subf[$i][0];
-                       $subfield_data{marc_tag}=$field->tag();
+                       $subfield_data{marc_value}='';
+                       $subfield_data{marc_subfield}=$subfield;
                        push(@subfields_data, \%subfield_data);
                }
-               if ($#subfields_data>=0) {
-                       my %tag_data;
-                       $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
-                       $tag_data{subfield} = address@hidden;
-                       push (@loop_data, \%tag_data);
-               }
-       }
-} else {
-# authid is empty => the user want to empty the entry.
-       my @subfields_data;
        foreach my $subfield ('a'..'z') {
                        my %subfield_data;
                        $subfield_data{marc_value}='';
                        $subfield_data{marc_subfield}=$subfield;
                        push(@subfields_data, \%subfield_data);
-               
                }
        
-#      if ($#subfields_data>=0) {
+       if ($#subfields_data>=0) {
                my %tag_data;
-#                      $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
                $tag_data{subfield} = address@hidden;
                push (@loop_data, \%tag_data);
-#      }
+       }
 }
 
 $template->param("0XX" =>address@hidden);

Index: authorities/detail-biblio-search.pl
===================================================================
RCS file: /sources/koha/koha/authorities/detail-biblio-search.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- authorities/detail-biblio-search.pl 4 Jul 2006 14:36:51 -0000       1.2
+++ authorities/detail-biblio-search.pl 6 Sep 2006 16:21:04 -0000       1.3
@@ -39,19 +39,13 @@
 
 
 use strict;
-require Exporter;
 use C4::AuthoritiesMarc;
 use C4::Auth;
 use C4::Context;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
 use C4::Search;
-use MARC::Record;
 use C4::Koha;
-# use C4::Biblio;
-# use C4::Catalogue;
-use HTML::Template;
 
 my $query=new CGI;
 
@@ -62,7 +56,7 @@
 my $authtypecode = &AUTHfind_authtypecode($dbh,$authid);
 my $tagslib = &AUTHgettagslib($dbh,1,$authtypecode);
 
-my $record =AUTHgetauthority($dbh,$authid);
+my $record =XMLgetauthorityhash($dbh,$authid);
 # open template
 my ($template, $loggedinuser, $cookie)
                = get_template_and_user({template_name => 
"authorities/detail-biblio-search.tmpl",
@@ -76,96 +70,93 @@
 # fill arrays
 my @loop_data =();
 my $tag;
+if ($xmlhash){
 # loop through each tab 0 through 9
-# for (my $tabloop = 0; $tabloop<=10;$tabloop++) {
+my $author=$xmlhash->{'datafield'};
+my $controlfields=$xmlhash->{'controlfield'};
+my $leader=$xmlhash->{'leader'};
+for (my $tabloop = 0; $tabloop<10;$tabloop++) {
 # loop through each tag
-       my @fields = $record->fields();
        my @loop_data =();
-       foreach my $field (@fields) {
                        my @subfields_data;
-               # if tag <10, there's no subfield, use the "@" trick
-               if ($field->tag()<10) {
-#                      next if ($tagslib->{$field->tag()}->{'@'}->{tab}  ne 
$tabloop);
-                       next if ($tagslib->{$field->tag()}->{'@'}->{hidden});
+
+       # deal with leader 
+       unless (($tagslib->{'000'}->{'@'}->{tab}  ne $tabloop)  || 
(substr($tagslib->{'000'}->{'@'}->{hidden},1,1)>0)) {
+               
                        my %subfield_data;
-                       
$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{'@'}->{lib};
-                       $subfield_data{marc_value}=$field->data();
-                       $subfield_data{marc_subfield}='@';
-                       $subfield_data{marc_tag}=$field->tag();
+               $subfield_data{marc_value}=$leader->[0] ;
                        push(@subfields_data, \%subfield_data);
-               } else {
-                       my @subf=$field->subfields;
-       # loop through each subfield
-                       for my $i (0..$#subf) {
-                               $subf[$i][0] = "@" unless $subf[$i][0];
-#                              next if 
($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab}  ne $tabloop);
-                               next if 
($tagslib->{$field->tag()}->{$subf[$i][0]}->{hidden});
+               my %tag_data;
+               $tag_data{tag}='000 -'. $tagslib->{'000'}->{lib};
+               my @tmp = @subfields_data;
+               $tag_data{subfield} = address@hidden;
+               push (@loop_data, \%tag_data);
+               undef @subfields_data;
+       }
+       ##Controlfields
+               
+                foreach my $control (@$controlfields){
                                my %subfield_data;
-                               
$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
-                               if 
($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) {
-                                       $subfield_data{marc_value}="<a 
href=\"$subf[$i][1]\">$subf[$i][1]</a>";
+                       my %tag_data;
+                       next if ($tagslib->{$control->{'tag'}}->{'@'}->{tab}  
ne $tabloop);
+                       next if 
(substr($tagslib->{$control->{'tag'}}->{'@'}->{hidden},1,1)>0);                 
+                       $subfield_data{marc_value}=$control->{'content'} ;
+                       push(@subfields_data, \%subfield_data);
+                               if (C4::Context->preference('hide_marc')) {
+                                       
$tag_data{tag}=$tagslib->{$control->{'tag'}}->{lib};
                                } else {
-                                       $subfield_data{marc_value}=$subf[$i][1];
+                                       $tag_data{tag}=$control->{'tag'}.' -'. 
$tagslib->{$control->{'tag'}}->{lib};
                                }
-                               $subfield_data{marc_subfield}=$subf[$i][0];
-                               $subfield_data{marc_tag}=$field->tag();
-                               push(@subfields_data, \%subfield_data);
+                       my @tmp = @subfields_data;
+                       $tag_data{subfield} = address@hidden;
+                       push (@loop_data, \%tag_data);
+                       undef @subfields_data;
                        }
+       my $previoustag;
+       my %datatags;
+       my $i=0;
+       foreach my $data (@$author){
+               $datatags{$i++}=$data->{'tag'};
+                foreach my $subfield ( $data->{'subfield'}){
+                    foreach my $code ( @$subfield){
+                       next if 
($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{tab}  ne $tabloop);
+                       next if 
(substr($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{hidden},1,1)>0);
+                       my %subfield_data;
+                       my $value=$code->{'content'};
+                       
$subfield_data{marc_lib}=$tagslib->{$data->{'tag'}}->{$code->{'code'}}->{lib};
+                       
$subfield_data{link}=$tagslib->{$data->{'tag'}}->{$code->{'code'}}->{link};
+                       if 
($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{isurl}) {
+                               $subfield_data{marc_value}="<a 
href=\"$value]\">$value</a>";
+                       } else {
+                       
$subfield_data{marc_value}=get_authorised_value_desc($data->{'tag'}, 
$code->{'code'}, $value, '', $dbh);
                }
+                       $subfield_data{marc_subfield}=$code->{'code'};
+                       $subfield_data{marc_tag}=$data->{'tag'};
+                       push(@subfields_data, \%subfield_data);
+                    }### $code
+               
+               
                if ($#subfields_data>=0) {
                        my %tag_data;
-                       $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
-                       $tag_data{subfield} = address@hidden;
+                       if (($datatags{$i} eq $datatags{$i-1}) && 
(C4::Context->preference('LabelMARCView') eq 'economical')) {
+                               $tag_data{tag}="";
+                       } else {
+                               if (C4::Context->preference('hide_marc')) {
+                                       
$tag_data{tag}=$tagslib->{$data->{'tag'}}->{lib};
+                               } else {
+                                       $tag_data{tag}=$data->{'tag'}.' -'. 
$tagslib->{$data->{'tag'}}->{lib};
+                               }
+                       }
+                       my @tmp = @subfields_data;
+                       $tag_data{subfield} = address@hidden;
                        push (@loop_data, \%tag_data);
+                       undef @subfields_data;
                }
+             }### each $subfield
        }
-       $template->param("0XX" =>address@hidden);
-# }
-# now, build item tab !
-# the main difference is that datas are in lines and not in columns : thus, we 
build the <th> first, then the values...
-# loop through each tag
-# warning : we may have differents number of columns in each row. Thus, we 
first build a hash, complete it if necessary
-# then construct template.
-# my @fields = $record->fields();
-# my %witness; #---- stores the list of subfields used at least once, with the 
"meaning" of the code
-# my @big_array;
-# foreach my $field (@fields) {
-#      next if ($field->tag()<10);
-#      my @subf=$field->subfields;
-#      my %this_row;
-# # loop through each subfield
-#      for my $i (0..$#subf) {
-#              next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab}  ne 
10);
-#              $witness{$subf[$i][0]} = 
$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
-#              $this_row{$subf[$i][0]} =$subf[$i][1];
-#      }
-#      if (%this_row) {
-#              push(@big_array, \%this_row);
-#      }
-# }
-# #fill big_row with missing datas
-# foreach my $subfield_code  (keys(%witness)) {
-#      for (my $i=0;$i<=$#big_array;$i++) {
-#              $big_array[$i]{$subfield_code}="&nbsp;" unless 
($big_array[$i]{$subfield_code});
-#      }
-# }
-# # now, construct template !
-# my @item_value_loop;
-# my @header_value_loop;
-# for (my $i=0;$i<=$#big_array; $i++) {
-#      my $items_data;
-#      foreach my $subfield_code (keys(%witness)) {
-#              $items_data .="<td>".$big_array[$i]{$subfield_code}."</td>";
-#      }
-#      my %row_data;
-#      $row_data{item_value} = $items_data;
-#      push(@item_value_loop,\%row_data);
-# }
-# foreach my $subfield_code (keys(%witness)) {
-#      my %header_value;
-#      $header_value{header_value} = $witness{$subfield_code};
-#      push(@header_value_loop, \%header_value);
-# }
+
+       $template->param($tabloop."XX" =>address@hidden);
+}
 
 my $authtypes = getauthtypes;
 my @authtypesloop;
@@ -179,10 +170,32 @@
 }
 
 $template->param(authid => $authid,
-               authtypesloop => address@hidden, index => $index,
-               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
+                               authtypesloop => address@hidden, index => 
$index);
+}
 output_html_with_http_headers $query, $cookie, $template->output;
 
+sub get_authorised_value_desc ($$$$$) {
+   my($tag, $subfield, $value, $framework, $dbh) = @_;
+
+   #---- branch
+    if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
+       return getbranchname($value);
+    }
+
+   #---- itemtypes
+   if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "itemtypes" ) {
+       return ItemType($value);
+    }
+
+   #---- "true" authorized value
+   my $category = $tagslib->{$tag}->{$subfield}->{'authorised_value'};
+
+   if ($category ne "") {
+       my $sth = $dbh->prepare("select lib from authorised_values where 
category = ? and authorised_value = ?");
+       $sth->execute($category, $value);
+       my $data = $sth->fetchrow_hashref;
+       return $data->{'lib'};
+   } else {
+       return $value; # if nothing is found return the original value
+   }
+}

Index: authorities/detail.pl
===================================================================
RCS file: /sources/koha/koha/authorities/detail.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- authorities/detail.pl       4 Jul 2006 14:36:51 -0000       1.4
+++ authorities/detail.pl       6 Sep 2006 16:21:04 -0000       1.5
@@ -39,39 +39,28 @@
 
 
 use strict;
-require Exporter;
 use C4::AuthoritiesMarc;
 use C4::Auth;
 use C4::Context;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
 use C4::Search;
-use MARC::Record;
 use C4::Koha;
-# use C4::Biblio;
-# use C4::Catalogue;
-use HTML::Template;
+
 
 my $query=new CGI;
 
 my $dbh=C4::Context->dbh;
-
+my $nonav = $query->param('nonav');
 my $authid = $query->param('authid');
 my $authtypecode = &AUTHfind_authtypecode($dbh,$authid);
 my $tagslib = &AUTHgettagslib($dbh,1,$authtypecode);
 
-my $record =AUTHgetauthority($dbh,$authid);
-my $count = AUTHcount_usage($authid);
+my $xmlhash =XMLgetauthorityhash($dbh,$authid);
 
-# find the marc field/subfield used in biblio by this authority
-my $sth = $dbh->prepare("select distinct tagfield from marc_subfield_structure 
where authtypecode=?");
-$sth->execute($authtypecode);
-my $biblio_fields;
-while (my ($tagfield) = $sth->fetchrow) {
-       $biblio_fields.= $tagfield."9,";
-}
-chop $biblio_fields;
+my ($count) = AUTHcount_usage($authid);
+
+#chop;
 
 # open template
 my ($template, $loggedinuser, $cookie)
@@ -83,52 +72,97 @@
                             debug => 1,
                             });
 
+
 # fill arrays
 my @loop_data =();
 my $tag;
+if ($xmlhash){
 # loop through each tab 0 through 9
-# for (my $tabloop = 0; $tabloop<=10;$tabloop++) {
+my $author=$xmlhash->{'datafield'};
+my $controlfields=$xmlhash->{'controlfield'};
+my $leader=$xmlhash->{'leader'};
+for (my $tabloop = 0; $tabloop<10;$tabloop++) {
 # loop through each tag
-my @fields = $record->fields();
-my @loop_data =();
-foreach my $field (@fields) {
+       my @loop_data =();
                my @subfields_data;
-       # if tag <10, there's no subfield, use the "@" trick
-       if ($field->tag()<10) {
-               next if ($tagslib->{$field->tag()}->{'@'}->{hidden});
+
+       # deal with leader 
+       unless (($tagslib->{'000'}->{'@'}->{tab}  ne $tabloop)  || 
(substr($tagslib->{'000'}->{'@'}->{hidden},1,1)>0)) {
+               
                my %subfield_data;
-               
$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{'@'}->{lib};
-               $subfield_data{marc_value}=$field->data();
-               $subfield_data{marc_subfield}='@';
-               $subfield_data{marc_tag}=$field->tag();
+               $subfield_data{marc_value}=$leader->[0] ;
                push(@subfields_data, \%subfield_data);
-       } else {
-               my @subf=$field->subfields;
-# loop through each subfield
-               for my $i (0..$#subf) {
-                       $subf[$i][0] = "@" unless $subf[$i][0];
-                       next if 
($tagslib->{$field->tag()}->{$subf[$i][0]}->{hidden});
+               my %tag_data;
+               $tag_data{tag}='000 -'. $tagslib->{'000'}->{lib};
+               my @tmp = @subfields_data;
+               $tag_data{subfield} = address@hidden;
+               push (@loop_data, \%tag_data);
+               undef @subfields_data;
+       }
+       ##Controlfields
+               
+                foreach my $control (@$controlfields){
                        my %subfield_data;
-                       
$subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
-                       if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) 
{
-                               $subfield_data{marc_value}="<a 
href=\"$subf[$i][1]\">$subf[$i][1]</a>";
+                       my %tag_data;
+                       next if ($tagslib->{$control->{'tag'}}->{'@'}->{tab}  
ne $tabloop);
+                       next if 
(substr($tagslib->{$control->{'tag'}}->{'@'}->{hidden},1,1)>0);                 
+                       $subfield_data{marc_value}=$control->{'content'} ;
+                       push(@subfields_data, \%subfield_data);
+                               if (C4::Context->preference('hide_marc')) {
+                                       
$tag_data{tag}=$tagslib->{$control->{'tag'}}->{lib};
                        } else {
-                               $subfield_data{marc_value}=$subf[$i][1];
+                                       $tag_data{tag}=$control->{'tag'}.' -'. 
$tagslib->{$control->{'tag'}}->{lib};
                        }
-                       $subfield_data{marc_subfield}=$subf[$i][0];
-                       $subfield_data{marc_tag}=$field->tag();
-                       push(@subfields_data, \%subfield_data);
+                       my @tmp = @subfields_data;
+                       $tag_data{subfield} = address@hidden;
+                       push (@loop_data, \%tag_data);
+                       undef @subfields_data;
                }
+       my $previoustag;
+       my %datatags;
+       my $i=0;
+       foreach my $data (@$author){
+               $datatags{$i++}=$data->{'tag'};
+                foreach my $subfield ( $data->{'subfield'}){
+                    foreach my $code ( @$subfield){
+                       next if 
($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{tab}  ne $tabloop);
+                       next if 
(substr($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{hidden},1,1)>0);
+                       my %subfield_data;
+                       my $value=$code->{'content'};
+                       
$subfield_data{marc_lib}=$tagslib->{$data->{'tag'}}->{$code->{'code'}}->{lib};
+                       
$subfield_data{link}=$tagslib->{$data->{'tag'}}->{$code->{'code'}}->{link};
+                       if 
($tagslib->{$data->{'tag'}}->{$code->{'code'}}->{isurl}) {
+                               $subfield_data{marc_value}="<a 
href=\"$value]\">$value</a>";
+                       } else {
+                       
$subfield_data{marc_value}=get_authorised_value_desc($data->{'tag'}, 
$code->{'code'}, $value, '', $dbh);
        }
+                       $subfield_data{marc_subfield}=$code->{'code'};
+                       $subfield_data{marc_tag}=$data->{'tag'};
+                       push(@subfields_data, \%subfield_data);
+                    }### $code
+               
+               
        if ($#subfields_data>=0) {
                my %tag_data;
-               $tag_data{tag}=$field->tag().' -'. 
$tagslib->{$field->tag()}->{lib};
-               $tag_data{subfield} = address@hidden;
+                       if (($datatags{$i} eq $datatags{$i-1}) && 
(C4::Context->preference('LabelMARCView') eq 'economical')) {
+                               $tag_data{tag}="";
+                       } else {
+                               if (C4::Context->preference('hide_marc')) {
+                                       
$tag_data{tag}=$tagslib->{$data->{'tag'}}->{lib};
+                               } else {
+                                       $tag_data{tag}=$data->{'tag'}.' -'. 
$tagslib->{$data->{'tag'}}->{lib};
+                               }
+                       }
+                       my @tmp = @subfields_data;
+                       $tag_data{subfield} = address@hidden;
                push (@loop_data, \%tag_data);
+                       undef @subfields_data;
+               }
+             }### each $subfield
        }
-}
-$template->param("0XX" =>address@hidden);
 
+       $template->param($tabloop."XX" =>address@hidden);
+}
 my $authtypes = getauthtypes;
 my @authtypesloop;
 foreach my $thisauthtype (keys %$authtypes) {
@@ -142,12 +176,35 @@
 
 $template->param(authid => $authid,
                count => $count,
-               biblio_fields => $biblio_fields,
                authtypetext => $authtypes->{$authtypecode}{'authtypetext'},
-               authtypesloop => address@hidden,
-               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
+                               authtypecode => 
$authtypes->{$authtypecode}{'authtypecode'},
+                               authtypesloop => address@hidden);
+$template->param(nonav =>$nonav);
+}### if $xmlash exist
 output_html_with_http_headers $query, $cookie, $template->output;
 
+sub get_authorised_value_desc ($$$$$) {
+   my($tag, $subfield, $value, $framework, $dbh) = @_;
+
+   #---- branch
+    if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
+       return getbranchname($value);
+    }
+
+   #---- itemtypes
+   if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "itemtypes" ) {
+       return ItemType($value);
+    }
+
+   #---- "true" authorized value
+   my $category = $tagslib->{$tag}->{$subfield}->{'authorised_value'};
+
+   if ($category ne "") {
+       my $sth = $dbh->prepare("select lib from authorised_values where 
category = ? and authorised_value = ?");
+       $sth->execute($category, $value);
+       my $data = $sth->fetchrow_hashref;
+       return $data->{'lib'};
+   } else {
+       return $value; # if nothing is found return the original value
+   }
+}
\ No newline at end of file

Index: catalogue/MARCdetail.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/MARCdetail.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- catalogue/MARCdetail.pl     1 Sep 2006 15:36:42 -0000       1.6
+++ catalogue/MARCdetail.pl     6 Sep 2006 16:21:04 -0000       1.7
@@ -297,7 +297,7 @@
                intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
                IntranetNav => C4::Context->preference("IntranetNav"),
                                                );
-}
+}##if $xmlhash
 output_html_with_http_headers $query, $cookie, $template->output;
 
 sub get_authorised_value_desc ($$$$$) {

Index: catalogue/detail.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/detail.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- catalogue/detail.pl 1 Sep 2006 15:36:42 -0000       1.7
+++ catalogue/detail.pl 6 Sep 2006 16:21:04 -0000       1.8
@@ -59,13 +59,13 @@
 
   ## get notes subjects and URLS from MARC record
        
-       my $marcflavour = C4::Context->preference("marcflavour");
-       my $marcnotesarray = &getMARCnotes($dbh,$record,$marcflavour);
-       my $marcsubjctsarray = &getMARCsubjects($dbh,$record,$marcflavour);
-       my $marcurlssarray = &getMARCurls($dbh,$record,$marcflavour);
-       $template->param(MARCURLS => $marcurlssarray);
-       $template->param(MARCNOTES => $marcnotesarray);
-       $template->param(MARCSUBJCTS => $marcsubjctsarray);
+#      my $marcflavour = C4::Context->preference("marcflavour");
+#      my $marcnotesarray = &getMARCnotes($dbh,$record,$marcflavour);
+#      my $marcsubjctsarray = &getMARCsubjects($dbh,$record,$marcflavour);
+#      my $marcurlssarray = &getMARCurls($dbh,$record,$marcflavour);
+#      $template->param(MARCURLS => $marcurlssarray);
+#      $template->param(MARCNOTES => $marcnotesarray);
+#      $template->param(MARCSUBJCTS => $marcsubjctsarray);
 
 
 my @results = ($dat,);

Index: catalogue/detailprint.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/detailprint.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- catalogue/detailprint.pl    17 Jan 2006 16:33:36 -0000      1.1
+++ catalogue/detailprint.pl    6 Sep 2006 16:21:04 -0000       1.2
@@ -24,8 +24,8 @@
 use C4::Context;
 use C4::Output;  # contains gettemplate
 use CGI;
+use C4::Search;
 use C4::Auth;
-use C4::Biblio;
 use C4::Interface::CGI::Output;
 use C4::Date;
 
@@ -45,7 +45,7 @@
 
 
 my $dat=bibdata($biblionumber);
-my ($authorcount, $addauthor)= &getaddauthor($biblionumber);
+my ($authorcount, $addauthor)= &addauthor($biblionumber);
 my ($webbiblioitemcount, @webbiblioitems) = &getwebbiblioitems($biblionumber);
 my ($websitecount, @websites)             = &getwebsites($biblionumber);
 

Index: catalogue/moredetail.pl
===================================================================
RCS file: /sources/koha/koha/catalogue/moredetail.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- catalogue/moredetail.pl     1 Sep 2006 22:25:05 -0000       1.5
+++ catalogue/moredetail.pl     6 Sep 2006 16:21:04 -0000       1.6
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # NOTE: Use standard 8-space tabs for this file (indents are 4 spaces)
 
-# $Id: moredetail.pl,v 1.5 2006/09/01 22:25:05 tgarip1957 Exp $
+# $Id: moredetail.pl,v 1.6 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2003 Katipo Communications
 #
@@ -57,8 +57,8 @@
 
 my $title=$query->param('title');
 my $biblionumber=$query->param('biblionumber');
-my ($record,)=MARCgetbiblio($dbh,$biblionumber);
-my $data=MARCmarc2koha($dbh,$record,"biblios");
+my ($record)=XMLgetbibliohash($dbh,$biblionumber);
+my $data=XMLmarc2koha_onerecord($dbh,$record,"biblios");
 my $dewey = $data->{'dewey'};
 # FIXME Dewey is a string, not a number, & we should use a function
 $dewey =~ s/0+$//;
@@ -105,11 +105,11 @@
 
   }else {
    ##UPDATE here
-my $sth=$dbh->prepare("update items set itemlost=? ,wthdrawn=? where 
itemnumber=?");
-$sth->execute($lost,$withdrawn,$itemnumber);
-$sth->finish;
-MARCmoditemonefield($dbh,$biblionumber,$itemnumber,'wthdrawn',$withdrawn,1);
-MARCmoditemonefield($dbh,$biblionumber,$itemnumber,'itemlost',$lost);
+#my $sth=$dbh->prepare("update items set itemlost=? ,wthdrawn=? where 
itemnumber=?");
+#$sth->execute($lost,$withdrawn,$itemnumber);
+#$sth->finish;
+XMLmoditemonefield($dbh,$biblionumber,$itemnumber,'wthdrawn',$withdrawn,1);
+XMLmoditemonefield($dbh,$biblionumber,$itemnumber,'itemlost',$lost);
 
      if ($lost ==1 && $flag ==2){
     my $sth=$dbh->prepare("Select * from issues where (itemnumber=?) and 
(returndate is null)");
@@ -137,13 +137,13 @@
     
   }
 }
-my @itemrecords=MARCgetallitems($dbh,$biblionumber);
+my @itemrecords=XMLgetallitems($dbh,$biblionumber);
 foreach my $itemrecord (@itemrecords){
-
-my $items = MARCmarc2koha($dbh,$itemrecord,"holdings");
+$itemrecord=XML_xml2hash_onerecord($itemrecord);
+my $items = XMLmarc2koha_onerecord($dbh,$itemrecord,"holdings");
 $items->{itemtype}=$data->{itemtype};
 $items->{biblionumber}=$biblionumber;
-$items=itemissues($dbh,$items,$biblionumber);
+$items=itemissues($dbh,$items,$items->{'itemnumber'});
 push @items,$items;
 }
 my address@hidden;
@@ -166,7 +166,7 @@
     if ($item->{'date_due'} gt '0000-00-00'){
        $item->{'date_due'} = format_date($item->{'date_due'});         
 $item->{'issue'}= 1;
-               $item->{'borrowernumber'} = $item->{'borrowernumber'};
+               $item->{'borrowernumber'} = $item->{'borrower'};
                $item->{'cardnumber'} = $item->{'card'};
                        
     } else {

Index: cataloguing/addbiblio.pl
===================================================================
RCS file: /sources/koha/koha/cataloguing/addbiblio.pl,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- cataloguing/addbiblio.pl    1 Sep 2006 15:45:01 -0000       1.15
+++ cataloguing/addbiblio.pl    6 Sep 2006 16:21:04 -0000       1.16
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: addbiblio.pl,v 1.15 2006/09/01 15:45:01 tgarip1957 Exp $
+# $Id: addbiblio.pl,v 1.16 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -29,17 +29,25 @@
 use C4::Context;
 use C4::Koha; # XXX subfield_is_koha_internal_p
 use MARC::Record;
+use MARC::File::USMARC;
+my $format="USMARC";
+$format="UNIMARC" if (C4::Context->preference('marcflavour') eq 'UNIMARC');
+use MARC::File::XML(RecordFormat =>$format);
 use Encode;
 use vars qw( $tagslib);
 use vars qw( $authorised_values_sth);
 use vars qw( $is_a_modif );
 my $input = new CGI;
 my $z3950 = $input->param('z3950');
-#my $logstatus=C4::Context->preference('Activate_log');
+my $logstatus=C4::Context->preference('Activate_log');
 my $xml;
 my $itemtype; # created here because it can be used in 
build_authorized_values_list sub
 
-
+###Find related tags for Z3950 searches- required  by template
+my($isbntag,$isbnsub)=MARCfind_marc_from_kohafield("isbn","biblios");
+my($issntag,$issnsub)=MARCfind_marc_from_kohafield("issn","biblios");
+my($titletag,$titlesub)=MARCfind_marc_from_kohafield("title","biblios");
+my($authortag,$authorsub)=MARCfind_marc_from_kohafield("author","biblios");
 =item MARCfindbreeding
 
     $record = MARCfindbreeding($dbh, $breedingid,$frameworkcode);
@@ -62,8 +70,38 @@
                if (ref($record) eq undef) {
                        return -1;
                } 
-       
-##Delete biblionumber tag in case a similar tag is used in imported MARC
+       if (C4::Context->preference("z3950NormalizeAuthor") and 
C4::Context->preference("z3950AuthorAuthFields")){
+                               my ($tag,$subfield) = 
MARCfind_marc_from_kohafield("author","biblios");
+                               my $auth_fields = 
C4::Context->preference("z3950AuthorAuthFields");
+                               my @auth_fields= split /,/,$auth_fields;
+                               my $field;
+                               if ($record->field($tag)){
+                                       foreach my $tmpfield 
($record->field($tag)->subfields){
+                                               my $subfieldcode=shift 
@$tmpfield;
+                                               my $subfieldvalue=shift 
@$tmpfield;
+                                               if ($field){
+                                                       
$field->add_subfields("$subfieldcode"=>$subfieldvalue) if ($subfieldcode ne 
$subfield);
+                                               } else {
+                                                       
$field=MARC::Field->new($tag,"","",$subfieldcode=>$subfieldvalue) if 
($subfieldcode ne $subfield);
+                                               }
+                                       }
+                               }
+                               $record->delete_field($record->field($tag));
+                               foreach my $fieldtag (@auth_fields){
+                                       next unless ($record->field($fieldtag));
+                                       my $lastname = 
$record->field($fieldtag)->subfield('a');
+                                       my $firstname= 
$record->field($fieldtag)->subfield('b');
+                                       my $title = 
$record->field($fieldtag)->subfield('c');
+                                       my $number= 
$record->field($fieldtag)->subfield('d');
+                                       if ($title){
+                                               
$field->add_subfields("$subfield"=>ucfirst($title)." ".ucfirst($firstname)." 
".$number);
+                                       }else{
+                                               
$field->add_subfields("$subfield"=>ucfirst($firstname).", ".ucfirst($lastname));
+                                       }
+                               }
+                               $record->insert_fields_ordered($field);
+                       }
+##Delete biblionumber tag in case a similar tag is used in imported MARC ## 
        my  (  $tagfield,  $tagsubfield )  
=MARCfind_marc_from_kohafield("biblionumber","biblios");
                my $old_field = $record->field($tagfield);
                $record->delete_field($old_field);
@@ -148,8 +186,8 @@
 =cut
 sub create_input () {
        my ($tag,$subfield,$value,$i,$tabloop,$rec,$authorised_values_sth,$id) 
= @_;    
+       my $dbh=C4::Context->dbh;
        $value =~ s/"/&quot;/g;
-       my $dbh = C4::Context->dbh;
        my %subfield_data;
        $subfield_data{id}=$id;
        $subfield_data{tag}=$tag;
@@ -163,7 +201,7 @@
        $subfield_data{visibility} = "display:none" if 
(substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "0") ; #check parity
        if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
                $subfield_data{marc_value}= build_authorized_values_list($tag, 
$subfield, $value, $dbh,$authorised_values_sth);
-       # it's a thesaurus / authority field
+       # it's an  authority field
        } elsif ($tagslib->{$tag}->{$subfield}->{authtypecode}) {
                
                $subfield_data{marc_value}="<input 
onblur=\"this.style.backgroundColor='#ffffff';\" 
onfocus=\"this.style.backgroundColor='#ffffff;'\"\" tabindex=\"1\" 
type=\"text\"   name=\"field_value\" id=\"field_value$id\" value=\"$value\" 
size=\"40\" maxlength=\"255\" DISABLE READONLY> <a  style=\"cursor: help;\" 
href=\"javascript:Dopop('../authorities/auth_finder.pl?authtypecode=".$tagslib->{$tag}->{$subfield}->{authtypecode}."&index=$id',$id);\">...</a>";
@@ -207,75 +245,168 @@
        my $authorised_values_sth = $dbh->prepare("select authorised_value,lib
                from authorised_values
                where category=? order by lib");
+my $biblio;
+my $controlfields;
+my $leader;
+if ($xmlhash){
+ $biblio=$xmlhash->{'datafield'};
+ $controlfields=$xmlhash->{'controlfield'};
+ $leader=$xmlhash->{'leader'};
+}
+    my @BIG_LOOP;
+my %built;
 
 # loop through each tab 0 through 9
-       for (my $tabloop = 0; $tabloop <= 9; $tabloop++) {
+for (my $tabloop = 0; $tabloop <= 9; $tabloop++) {
+
                my @loop_data = ();
                foreach my $tag (sort(keys (%{$tagslib}))) {
                        my $indicator;
                                # if MARC::Record is not empty => use it as 
master loop, then add missing subfields that should be in the tab.
                                # if MARC::Record is empty => use tab as master 
loop.
+               my @subfields_data;
+               
                        if ($xmlhash) {
                        ####
-                       my @subfields_data;
+               
+                       my %tagdefined;
                        my %definedsubfields;
                        my $hiddenrequired;
                        my ($ind1,$ind2);
-                       my $biblio=$xmlhash->{'datafield'};
-                       my $controlfields=$xmlhash->{'controlfield'};
-                       my $leader=$xmlhash->{'leader'};
+                       
                         if ($tag>9){
                                        foreach my $data (@$biblio){
+                                       $hiddenrequired=0;
+                                       my @subfields_data;
+                                       undef %definedsubfields;
                                           if ($data->{'tag'} eq $tag){
+                                       $tagdefined{$tag}=1 ;
+                                          if ($built{$tag}==1){
+                                               $hiddenrequired=1;
+                                           }
                                            $ind1="  ";
                                              $ind2="  ";               
-                                             foreach my $subfield ( 
$data->{'subfield'}){
-                                                foreach my $code ( @$subfield){
-                                                       if 
(@$subfield>1){$hiddenrequired=1;}
+                                             foreach my $subfieldcode ( 
$data->{'subfield'}){
+                                                foreach my $code ( 
@$subfieldcode){    
+                                                       next if 
($tagslib->{$tag}->{$code->{'code'}}->{tab} ne $tabloop);                       
                        
                                                        my 
$subfield=$code->{'code'}  ;
                                                        my 
$value=$code->{'content'};
-                                                       
$definedsubfields{$tag}{$code->{'code'}}=1 ;
-                                                       next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
-                                                       push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
-                                                       $i++;
-                                               }
+                                                       
$definedsubfields{$tag.$subfield}=1 ;
+                                                        $built{$tag}=1;
+                                                       push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id))
 ;
+                                                       $i++ ;
                                              }
+                                             } ##each subfield
                                            $ind1=$data->{'ind1'};
                                            $ind2=      $data->{'ind2'};
+                                         
+                                       if ($hiddenrequired && $#loop_data >=0 
&& $loop_data[$#loop_data]->{'tag'} eq $tag) {
+                                               my @hiddensubfields_data;
+                                               my %tag_data;
+                                               push(@hiddensubfields_data, 
&create_input('','','',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $tag_data{tag} = '';
+                                               $tag_data{tag_lib} = '';
+                                               $tag_data{indicator} = '';
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               push (@loop_data, \%tag_data);
+                                               $i++;
                                          }
+                                       # now, loop again to add parameter 
subfield that are not in the MARC::Record
+                                       
+                                       foreach my $subfield (sort( keys 
%{$tagslib->{$tag}})) {
+                                               next if (length $subfield !=1);
+                                               next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
+                                               next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
+                                               next if 
($definedsubfields{$tag.$subfield} );
+                                               push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               
$definedsubfields{$tag.$subfield}=1;
+                                               $i++;
                                }
-                        }else{
+                                       if ($#subfields_data >= 0) {
+                                               my %tag_data;
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{indicator} = 
$ind1.$ind2 if ($tag>=10);
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               push (@loop_data, \%tag_data);
+                                               
+                                       }
+                                       $id++;
+                                    }## if tag matches
+                       
+                       }#eachdata
+               }else{ ## tag <10
                                if ($tag eq "000" || $tag eq "LDR"){
                                        my $subfield="@";
-                                       my $value=$leader->[0] if $leader->[0];
-                                       $definedsubfields{$tag}{'@'}=1;
                                        next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
+                                       my @subfields_data;
+                                       my $value=$leader->[0] if $leader->[0];
+                                       $tagdefined{$tag}=1 ;
                                        push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
                                    
                                        $i++;
+                                       if ($#subfields_data >= 0) {
+                                               my %tag_data;
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                                                       
$tag_data{fixedfield} = 1;
+                                               push (@loop_data, \%tag_data);
+                                       }
                                 }else{
                                 foreach my $control (@$controlfields){
-                                       if ($control->{'tag'} eq $tag){
                                        my $subfield="@";
-                                       my $value=$control->{'content'} ;
-                                       $definedsubfields{$tag}{'@'}=1;
                                        next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
+                                       my @subfields_data;
+                                       if ($control->{'tag'} eq $tag){
+                                       $hiddenrequired=0;
+                                       $tagdefined{$tag}=1 ;
+                                        if 
($built{$tag}==1){$hiddenrequired=1;}
+                                       my $value=$control->{'content'} ;
+                                       $definedsubfields{$tag.'@'}=1;
                                        push(@subfields_data, 
&create_input($tag,$subfield,$value,$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
                                    
                                        $i++;
+                                       
+                                          $built{$tag}=1;
+                                       if ($hiddenrequired && $#loop_data >=0 
&& $loop_data[$#loop_data]->{'tag'} eq $tag) {
+                                               my @hiddensubfields_data;
+                                               my %tag_data;
+                                               push(@hiddensubfields_data, 
&create_input('','','',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $tag_data{tag} = '';
+                                               $tag_data{tag_lib} = '';
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               $tag_data{fixedfield} = 1;
+                                               push (@loop_data, \%tag_data);
+                                               $i++;
                                        }
+                                       if ($#subfields_data >= 0) {
+                                               my %tag_data;
+                                               $tag_data{tag} = $tag;
+                                               $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
+                                               $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
+                                               $tag_data{subfield_loop} = 
address@hidden;
+                                               $tag_data{fixedfield} = 1;
+                                               push (@loop_data, \%tag_data);
                                 }
+                                       $id++;
+                                       }## tag matches
+                                }# each control
                               }
                        }##tag >9
 
 
-                       #####
-                               
+                       ##### Any remaining tag
+                               my @subfields_data;
                                # now, loop again to add parameter subfield 
that are not in the MARC::Record
                                        foreach my $subfield (sort( keys 
%{$tagslib->{$tag}})) {
+                                               next if ($tagdefined{$tag} );
                                                next if (length $subfield !=1);
                                                next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
                                                next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
-                                               next if 
($definedsubfields{$tag}{$subfield} );
+                                               
                                                push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
+                                               $tagdefined{$tag.$subfield}=1;
                                                $i++;
                                        }
                                        if ($#subfields_data >= 0) {
@@ -293,42 +424,32 @@
                                        }
 
                                        
-# If there is more than 1 field, add an empty hidden field as separator.
-                                       if ($hiddenrequired && $#loop_data >=0 
&& $loop_data[$#loop_data]->{'tag'} eq $tag) {
-                                               my @subfields_data;
-                                               my %tag_data;
-                                               push(@subfields_data, 
&create_input('','','',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
-                                               $tag_data{tag} = '';
-                                               $tag_data{tag_lib} = '';
-                                               $tag_data{indicator} = '';
-                                               $tag_data{subfield_loop} = 
address@hidden;
-                                               if ($tag<10) {
-                                                                        
$tag_data{fixedfield} = 1;
-                                                       }
-                                               push (@loop_data, \%tag_data);
-                                               $i++;
-                                       }
                                        if ($addedfield eq $tag) {
                                                my %tag_data;
                                                my @subfields_data;
+                                               $id++;
+                                               $tagdefined{$tag}=1 ;
                                                        foreach my $subfield 
(sort( keys %{$tagslib->{$tag}})) {
                                                next if (length $subfield !=1);
                                                next if 
($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
-                                               next if ($tag<10);
                                                next if 
((substr($tagslib->{$tag}->{$subfield}->{hidden},2,1) gt "1")  ); #check for 
visibility flag
+                                               $addedfield=""; 
                                                push(@subfields_data, 
&create_input($tag,$subfield,'',$i,$tabloop,$xmlhash,$authorised_values_sth,$id));
                                                $i++;
                                                        }
+                                               if ($#subfields_data >= 0) {
                                                $tag_data{tag} = $tag;
                                                $tag_data{tag_lib} = 
$tagslib->{$tag}->{lib};
                                                $tag_data{repeatable} = 
$tagslib->{$tag}->{repeatable};
-                                               $tag_data{indicator} = 
$ind1.$ind2 if ($tag>=10);
+                                               $tag_data{indicator} = ' ' if 
($tag>=10);
                                                $tag_data{subfield_loop} = 
address@hidden;
                                                if ($tag<10) {
                                                                        
$tag_data{fixedfield} = 1;
                                                                        }
                                                push (@loop_data, \%tag_data);
-                                               $i++;
+                                                                               
        
+                                               }
+                               
                                        }
                                
        # if breeding is empty
@@ -357,8 +478,14 @@
                        }
                $id++;
                }       
-               $template->param($tabloop."XX" =>address@hidden);
+       if ($#loop_data >=0) {
+            my %big_loop_line;
+            $big_loop_line{number}=$tabloop;
+            address@hidden;
+            push @BIG_LOOP,\%big_loop_line;
        }
+               $template->param(BIG_LOOP => address@hidden);
+}## tab loop
 }
 
 
@@ -578,6 +705,17 @@
                );
 }
 $template->param(
+               isbntag             => $isbntag,
+               isbnsub                       => $isbnsub,
+               issntag             => $isbntag,
+               issnsub                       => $issnsub,
+               titletag             => $titletag,
+               titlesub                       => $titlesub,
+               authortag             => $authortag,
+               authorsub                       => $authorsub,
+               );
+
+$template->param(
                frameworkcode => $frameworkcode,
                itemtype => $frameworkcode, # HINT: if the library has itemtype 
= framework, itemtype is auto filled !
                hide_marc => C4::Context->preference('hide_marc'),

Index: cataloguing/addbooks.pl
===================================================================
RCS file: /sources/koha/koha/cataloguing/addbooks.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- cataloguing/addbooks.pl     1 Sep 2006 22:28:34 -0000       1.3
+++ cataloguing/addbooks.pl     6 Sep 2006 16:21:04 -0000       1.4
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: addbooks.pl,v 1.3 2006/09/01 22:28:34 tgarip1957 Exp $
+# $Id: addbooks.pl,v 1.4 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #

Index: cataloguing/additem.pl
===================================================================
RCS file: /sources/koha/koha/cataloguing/additem.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- cataloguing/additem.pl      1 Sep 2006 15:45:01 -0000       1.8
+++ cataloguing/additem.pl      6 Sep 2006 16:21:04 -0000       1.9
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: additem.pl,v 1.8 2006/09/01 15:45:01 tgarip1957 Exp $
+# $Id: additem.pl,v 1.9 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -29,7 +29,6 @@
 use C4::Koha; # XXX subfield_is_koha_internal_p
 use C4::Search;
 use C4::Circulation::Circ2;
-use Encode;
 use C4::Log;
 
 my $logstatus=C4::Context->preference('Activate_log');
@@ -89,15 +88,6 @@
 my $nextop="additem";
 my @errors; # store errors found while checking data BEFORE saving item.
 
-###DO NOT CHANGE TO RETRIVE FROM ZEBRA#####
-my $record =XMLgetbiblio($dbh,$biblionumber);
-$bibliorecord=XML_xml2hash_onerecord($record);
-my @itemxmls=XMLgetallitems($dbh,$biblionumber);
-       foreach my $itemrecord(@itemxmls){
-       my $itemhash=XML_xml2hash($itemrecord);
-       push @itemrecords, $itemhash;
-       }
-####
 
 my ($template, $loggedinuser, $cookie)
     = get_template_and_user({template_name => "cataloguing/additem.tmpl",
@@ -174,7 +164,7 @@
 } elsif ($op eq "edititem") {
 
#------------------------------------------------------------------------------------------------------------------------------
 # retrieve item if exist => then, it's a modif
-        ($itemrecexist) = XMLfinditem($itemnumber,@itemrecords);## item is 
already in our array-getit
+        ($itemrecexist) = XMLgetitemhash($dbh,$itemnumber);## item is already 
in our array-getit
        $nextop="saveitem";
        
 #logaction($loggedinuser,"acqui.simple","modify",$oldbiblionumber,"item : 
".$itemnumber) if ($logstatus);
@@ -244,6 +234,15 @@
 my %indicators;
 $indicators{995}='  ';
 # now, build existing item list
+###DO NOT CHANGE TO RETRIVE FROM ZEBRA#####
+my $record =XMLgetbiblio($dbh,$biblionumber);
+$bibliorecord=XML_xml2hash_onerecord($record);
+my @itemxmls=XMLgetallitems($dbh,$biblionumber);
+       foreach my $itemrecord(@itemxmls){
+       my $itemhash=XML_xml2hash($itemrecord);
+       push @itemrecords, $itemhash;
+       }
+####
 
 
 

Index: circ/branchtransfers.pl
===================================================================
RCS file: /sources/koha/koha/circ/branchtransfers.pl,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- circ/branchtransfers.pl     21 Jul 2006 10:10:29 -0000      1.24
+++ circ/branchtransfers.pl     6 Sep 2006 16:21:04 -0000       1.25
@@ -31,15 +31,15 @@
 use C4::Interface::CGI::Output;
 use HTML::Template;
 use C4::Koha;
-
+use C4::Members;
 ###############################################
 # constants
 
 my %env;
-my $linecolor1= 0;
-my $linecolor2= 1;
+my $linecolor1='#ffffcc';
+my $linecolor2='white';
 
-my $branches = GetBranches();
+my $branches = getbranches();
 my $printers = getprinters(\%env);
 
 
@@ -63,14 +63,13 @@
 my $cancelled;
 my $setwaiting;
 my $reqbrchname;
-my $allmessages;
-
+my $user=$query->param('loggedinuser');
 my $request=$query->param('request');
 my $borrnum = $query->param('borrowernumber');
 
 my $tobranchcd=$query->param('tobranchcd');
 my $frbranchcd='';
-
+my $dbh=C4::Context->dbh;
 ############
 # Deal with the requests....
 if ($request eq "KillWaiting") {
@@ -78,7 +77,6 @@
     CancelReserve(0, $item, $borrnum);
        $cancelled = 1;
        $reqmessage =1;
-       $allmessages = 1;
 }
 
 my $ignoreRs = 0;
@@ -89,14 +87,12 @@
     $ignoreRs = 1;
        $setwaiting = 1;
        $reqmessage =1;
-       $allmessages = 1;
 }
 if ($request eq 'KillReserved'){
     my $biblio = $query->param('biblionumber');
     CancelReserve($biblio, 0, $borrnum);
        $cancelled = 1;
        $reqmessage =1;
-       $allmessages = 1;
 }
 
 
@@ -119,17 +115,17 @@
 my %frbranchcds;
 my %tobranchcds;
 my $color=$linecolor2;
-my $transfered;
+
 my $barcode = $query->param('barcode');
 if ($barcode) {
-
+       my $transfered;
        my $iteminformation;
        ($transfered, $messages, $iteminformation)
-                       = transferbook($tobranchcd, $barcode, $ignoreRs);
+                       = transferbook($tobranchcd, $barcode, $ignoreRs,$user);
        $found = $messages->{'ResFound'};
        if ($transfered) {
                my %item;
-               my $frbranchcd = $iteminformation->{'frbranchcd'};
+               my $frbranchcd = $iteminformation->{'holdingbranch'};
                if (not ($found)) {
                        ($color eq $linecolor1) ? ($color=$linecolor2) : 
($color=$linecolor1);
                        $item{'color'}=$color;
@@ -184,21 +180,13 @@
        push (@trsfitemloop, \%item);
 }
 
-my $title;
-my $surname;
-my $firstname;
-my $bornum;
-my $borphone;
-my $borstraddress;
-my $borcity;
-my $borzip;
-my $boremail;
+
+my $name;
 my $bornum;
 my $borcnum;
 my $itemnumber;
 my $biblionum;
 my $branchname;
-my $wastransferred;
 
 
 #####################
@@ -207,17 +195,8 @@
     my $res = $messages->{'ResFound'};
        $branchname = $branches->{$res->{'branchcode'}}->{'branchname'};
        my ($borr) = getpatroninformation(\%env, $res->{'borrowernumber'}, 0);
-       $title = $borr->{'title'};
-       $surname = $borr->{'surname'};
-       $firstname = $borr->{'firstname'};
-       $bornum = $borr->{'borrowernumber'};
-    $borphone = $borr->{'phone'};
-    $borstraddress = $borr->{'streetaddress'};
-       $borcity = $borr->{'city'};
-       $borzip = $borr->{'zipcode'};
-       $boremail = $borr->{'emailadress'};
-       
-       #Hopefully, borr->{borrowernumber}=res->{borrowernumber}
+       $name = name($borr);
+       $bornum = $borr->{'borrowernumber'}; #Hopefully, 
borr->{borrowernumber}=res->{borrowernumber}
        $borcnum = $borr->{'cardnumber'};
        $itemnumber = $res->{'itemnumber'};
 
@@ -235,39 +214,33 @@
 my @errmsgloop;
 foreach my $code (keys %$messages) {
        my %err;
-
+    $err{errbadcode} = ($code eq 'BadBarcode');
        if ($code eq 'BadBarcode') {
                $err{msg}=$messages->{'BadBarcode'};
-               $err{errbadcode} = 1;
-               $allmessages = 1;
        }
 
+    $err{errispermanent} = ($code eq 'IsPermanent');
     if ($code eq 'IsPermanent'){
-               $err{errispermanent} = 1;
                $err{msg} = 
$branches->{$messages->{'IsPermanent'}}->{'branchname'};
                # Here, msg contains the branchname
                # Not so satisfied with this... But should work
-               $allmessages = 1;
     }
     $err{errdesteqholding} = ($code eq 'DestinationEqualsHolding');
 
+       $err{errwasreturned} = ($code eq 'WasReturned');
        if ($code eq 'WasReturned') {
-               $err{errwasreturned} = 1;
-               $allmessages = 1;
                my ($borrowerinfo) = getpatroninformation(\%env, 
$messages->{'WasReturned'}, 0);
-               $title = $borrowerinfo->{'title'};
-               $surname = $borrowerinfo->{'surname'};
-               $firstname = $borrowerinfo->{'firstname'};
+               $name =name($borrowerinfo);
                $bornum =$borrowerinfo->{'borrowernumber'};
                $borcnum =$borrowerinfo->{'cardnumber'};
     }
-#    if ($code eq 'WasTransfered'){
+    if ($code eq 'WasTransfered'){
 # Put code here if you want to notify the user that item was transfered...
-#              $wastransferred = 1;
-#    }
+    }
        push (@errmsgloop, \%err);
 }
 
+
 
#######################################################################################
 # Make the page .....
 my ($template, $borrowernumber, $cookie)
@@ -275,12 +248,8 @@
                                                        query => $query,
                             type => "intranet",
                             authnotrequired => 0,
-                            flagsrequired => {circulate => 1},
+                            flagsrequired => {editcatalogue => 1},
                          });
-if($allmessages){
-       $template->param(allmessages => 1);
-}
-
 $template->param(      genbrname => $genbrname,
                                                                genprname => 
$genprname,
                                                                branch => 
$branch,
@@ -288,14 +257,7 @@
                                                                found => $found,
                                                                reserved => 
$reserved,
                                                                waiting => 
$waiting,
-                                                               title => $title,
-                                                               surname => 
$surname,
-                                                               firstname => 
$firstname,
-                                                               borphone => 
$borphone,
-                                                               borstraddress 
=> $borstraddress,
-                                                               borcity => 
$borcity,
-                                                               borzip => 
$borzip,
-                                                               boremail => 
$boremail,
+                                                               name => $name,
                                                                bornum => 
$bornum,
                                                                borcnum => 
$borcnum,
                                                                branchname => 
$branchname,
@@ -306,13 +268,9 @@
                                                                reqmessage => 
$reqmessage,
                                                                cancelled => 
$cancelled,
                                                                setwaiting => 
$setwaiting,
-                                                               wastransferred 
=> $wastransferred,
                                                                trsfitemloop => 
address@hidden,
                                                                
branchoptionloop => address@hidden,
-                                                               errmsgloop => 
address@hidden,
-                                                               
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
+                                                               errmsgloop => 
address@hidden
                                                        );
 output_html_with_http_headers $query, $cookie, $template->output;
 

Index: circ/circulation.pl
===================================================================
RCS file: /sources/koha/koha/circ/circulation.pl,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -b -r1.97 -r1.98
--- circ/circulation.pl 21 Jul 2006 10:10:29 -0000      1.97
+++ circ/circulation.pl 6 Sep 2006 16:21:04 -0000       1.98
@@ -2,8 +2,9 @@
 
 # Please use 8-character tabs for this file (indents are every 4 characters)
 
-# written 8/5/2002 by Finlay
-# script to execute issuing of books
+#written 8/5/2002 by Finlay
+#script to execute issuing of books
+# New functions (renew etc.) added 07-08-2005 Tumer Garip address@hidden
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -26,101 +27,86 @@
 use CGI;
 use C4::Circulation::Circ2;
 use C4::Search;
-use C4::Members;
 use C4::Output;
 use C4::Print;
-use DBI;
+
 use C4::Auth;
 use C4::Interface::CGI::Output;
 use C4::Koha;
-use HTML::Template;
+
 use C4::Date;
-use Date::Manip;
-use C4::Biblio;
-use C4::Reserves2;
-use C4::Circulation::Date;
+use C4::Context;
+use C4::Members;
 
-#
 # PARAMETERS READING
 #
-my $query = new CGI;
+my $query=new CGI;
 
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
-    {
+my ($template, $loggedinuser, $cookie) = get_template_and_user
+    ({
         template_name   => 'circ/circulation.tmpl',
         query           => $query,
         type            => "intranet",
         authnotrequired => 0,
         flagsrequired   => { circulate => 1 },
-    }
-);
+    });
 my $branches = GetBranches();
-# my $printers = getprinters();
-# my $printer = getprinter($query, $printers);
+my $printers = getprinters();
+#my $branch = getbranch($query, $branches);
+my $branch=C4::Context->preference("defaultBranch");
+my $printer = getprinter($query, $printers);
 
 my $findborrower = $query->param('findborrower');
 $findborrower =~ s|,| |g;
 $findborrower =~ s|'| |g;
 my $borrowernumber = $query->param('borrnumber');
-# new op dev the branch and the printer are now defined by the userenv
-my $branch = C4::Context->userenv->{'branch'};
-my $printer=C4::Context->userenv->{'branchprinter'};
 
-my $barcode = $query->param('barcode') || '';
+my $print=$query->param('print');
+my $barcode = $query->param('barcode');
 my $year=$query->param('year');
 my $month=$query->param('month');
 my $day=$query->param('day');
 my $stickyduedate=$query->param('stickyduedate');
 my $issueconfirmed = $query->param('issueconfirmed');
 my $cancelreserve  = $query->param('cancelreserve');
-my $organisation   = $query->param('organisations');
-my $print = $query->param('print');
-
+my %error;
+my  $errorflag=$query->param('error');
+## The following er
+if ( $errorflag gt "1"){
+%error=(TOO_EARLY=>{1},) if ($errorflag eq "2");
+%error=(NO_MORE_RENEWALS=>{1},) if ($errorflag eq "3");
+%error=(RESERVE_FOUND=>{1},) if ($errorflag eq "4");
+}elsif ( $errorflag eq "1"){
+%error=(SUCCESFULL_RENEW=>{1},)
+}
 #set up cookie.....
-# my $branchcookie;
-# my $printercookie;
-# if ($query->param('setcookies')) {
+my $branchcookie;
+my $printercookie;
+#if ($query->param('setcookies')) {
 #      $branchcookie = $query->cookie(-name=>'branch', -value=>"$branch", 
-expires=>'+1y');
 #      $printercookie = $query->cookie(-name=>'printer', -value=>"$printer", 
-expires=>'+1y');
-# }
+#}
 
 my %env; # FIXME env is used as an "environment" variable. Could be dropped 
probably...
-#
-my $print; 
-$env{'branchcode'}= $branch;
-$env{'printer'}= $printer;
-$env{'organisation'} = $organisation;
-# $env{'queue'}=$printer;
+
+$env{'branchcode'}=$branch;
+$env{'printer'}=$printer;
+$env{'queue'}=$printer;
 
 my @datearr = localtime(time());
 # FIXME - Could just use POSIX::strftime("%Y%m%d", localtime);
-my $todaysdate =
-    ( 1900 + $datearr[5] )
-  . sprintf( "%0.2d", ( $datearr[4] + 1 ) )
-  . sprintf( "%0.2d", ( $datearr[3] ) );
+my $todaysdate = (1900+$datearr[5])."-".sprintf ("%0.2d", 
($datearr[4]+1))."-".sprintf ("%0.2d", ($datearr[3]));
+
 
 # check and see if we should print
-if ( $barcode eq '' && $print eq 'maybe' ) {
+ if ($barcode eq ''  && $print eq 'maybe'){
     $print = 'yes';
-}
-
-my $inprocess = $query->param('inprocess');
-if ($barcode eq ''){
-        $inprocess='';
-}
-else {
-}
-
-if ($barcode eq '' && $query->param('charges') eq 'yes'){
-        $template->param( PAYCHARGES=>'yes',
-        bornum=>$borrowernumber);
    }
-
-if ( $print eq 'yes' && $borrowernumber ne '' ) {
-    printslip( \%env, $borrowernumber );
-    $query->param( 'borrnumber', '' );
-    $borrowernumber = '';
-}
+ if ($print eq 'yes' && $borrowernumber ne ''){
+       printslip(\%env,$borrowernumber);
+       $query->param('borrnumber','');
+       $borrowernumber='';
+ }
 
 #
 # STEP 2 : FIND BORROWER
@@ -129,181 +115,113 @@
 my $borrowerslist;
 my $message;
 if ($findborrower) {
-    my ( $count, $borrowers ) =
-      BornameSearch( \%env, $findborrower, 'cardnumber', 'web' );
-    my @borrowers = @$borrowers;
-    if ( $#borrowers == -1 ) {
-        $query->param( 'findborrower', '' );
+       my 
($count,$borrowers)=BornameSearch(\%env,$findborrower,'cardnumber','web');
+       my @address@hidden;
+       if ($#borrowers == -1) {
+               $query->param('findborrower', '');
         $message = "'$findborrower'";
-    }
-    elsif ( $#borrowers == 0 ) {
-        $query->param( 'borrnumber', $borrowers[0]->{'borrowernumber'} );
-        $query->param( 'barcode',    '' );
-        $borrowernumber = $borrowers[0]->{'borrowernumber'};
-    }
-    else {
+       } elsif ($#borrowers == 0) {
+               $query->param('borrnumber', $borrowers[0]->{'borrowernumber'});
+               $query->param('barcode','');
+               $borrowernumber=$borrowers[0]->{'borrowernumber'};
+       } else {
         $borrowerslist = address@hidden;
     }
 }
 
 # get the borrower information.....
 my $borrower;
-my $picture;
-my @lines;
+my $bornum=$query->param('bornum');
+if ($bornum){
+$borrowernumber=$bornum;
+}
+my $issues;
 if ($borrowernumber) {
-    $borrower = getpatroninformation( \%env, $borrowernumber, 0 );
-    my ( $od, $issue, $fines ) = borrdata2( \%env, $borrowernumber );
-    my $warningdate =
-      DateCalc( $borrower->{'expiry'},
-        "- " . C4::Context->preference('NotifyBorrowerDeparture') . "  days" );
-    my $warning = Date_Cmp( ParseDate("today"), $warningdate );
-    if ( $warning > 0 ) {
-
-        #borrowercard expired
-        $template->param( warndeparture => $warning );
-    }
-    my ($reserved_num,$reserved_waiting) = CheckWaiting($borrowernumber);
-    if ($reserved_num > 0) {
-           for (my $i = 0; $i < $reserved_num; $i++) {
-                     my ($count,$line) = 
getbiblio($reserved_waiting->[$i]->{'biblionumber'});
-                     push(@lines, $line);
-           }
-          # warn Dumper(@lines);
-    }
+       $borrower = getpatroninformation(\%env,$borrowernumber,0);
+       my ($od,$issue,$fines)=borrdata2(\%env,$borrowernumber);
+my $warning;
+
+       $template->param(overduecount => $od,
+                                                       issuecount => 
$issue.$warning,
+                                                       finetotal => $fines);
+$issues=$issue;
+my $picture;
+ my $htdocs = C4::Context->config('opacdir');
     
-    $template->param(
-        overduecount => $od,
-        issuecount   => $issue,
-        finetotal    => $fines,
-       returned_reserve => address@hidden,
-    );
-    my $htdocs = C4::Context->config('intrahtdocs');
-    $picture = "/borrowerimages/" . $borrowernumber . ".jpg";
-    if ( -e $htdocs . "$picture" ) {
-        $template->param( picture => $picture );
-    }
+$picture =$htdocs. 
"/htdocs/uploaded-files/users-photo/".$borrower->{'cardnumber'}.".jpg";
+ if (-e $picture)
+{ 
+   $template->param(borrowerphoto => 
"http://library.neu.edu.tr/uploaded-files/users-photo/".$borrower->{'cardnumber'}.".jpg");
+ }else{
+$picture = 
"http://cc.neu.edu.tr/stdpictures/".$borrower->{'cardnumber'}.".jpg";
+  $template->param(borrowerphoto => $picture);
+}
 }
 
 #
 # STEP 3 : ISSUING
 #
-#
+#Try to  issue
+
 
 if ($barcode) {
+
     $barcode = cuecatbarcodedecode($barcode);
-    my ( $datedue, $invalidduedate ) = fixdate( $year, $month, $day );
+       my ($datedue, $invalidduedate) = fixdate($year, $month, $day);
     if ($issueconfirmed) {
-        issuebook( \%env, $borrower, $barcode, $datedue, $cancelreserve );
-       $inprocess=1;
-    }
-    else {
-        my ( $error, $question ) =
-          canbookbeissued( \%env, $borrower, $barcode, $year, $month, $day, 
$inprocess );
-        my $noerror    = 1;
+               issuebook(\%env, $borrower, $barcode, $datedue,$cancelreserve);
+               my ($od,$issue,$fines)=borrdata2(\%env,$borrowernumber);
+               my $warning;
+
+       $template->param(overduecount => $od,
+                                                       issuecount => 
$issue.$warning,
+                                                       finetotal => $fines);   
+
+       } else {
+               my ($error, $question) = canbookbeissued(\%env, $borrower, 
$barcode, $year, $month, $day) unless %error;
+               $error=\%error if %error;
+
+               my $noerror=1;
         my $noquestion = 1;
-        foreach my $impossible ( keys %$error ) {
-            $template->param(
-                $impossible => $$error{$impossible},
-                IMPOSSIBLE  => 1
-            );
+               foreach my $impossible (keys %$error) {
+                       $template->param($impossible => $$error{$impossible},
+                                                       IMPOSSIBLE => 1) unless 
($impossible eq 'SUCCESFULL_RENEW');
             $noerror = 0;
         }
-        foreach my $needsconfirmation ( keys %$question ) {
-            $template->param(
-                $needsconfirmation => $$question{$needsconfirmation},
-                NEEDSCONFIRMATION  => 1
-            );
+               foreach my $needsconfirmation (keys %$question) {
+                       $template->param($needsconfirmation => 
$$question{$needsconfirmation},
+                                                       NEEDSCONFIRMATION => 1);
             $noquestion = 0;
         }
-        $template->param(
-            day   => $day,
+               $template->param(day => $day,
             month => $month,
-            year  => $year
-        );
-        if ( $noerror && ( $noquestion || $issueconfirmed ) ) {
-            issuebook( \%env, $borrower, $barcode, $datedue );
-           $inprocess=1;
+                                               year => $year);
+               if ($noerror && ($noquestion || $issueconfirmed)) {
+
+                       issuebook(\%env, $borrower, $barcode, $datedue);
+               my ($od,$issue,$fines)=borrdata2(\%env,$borrowernumber);
+               my $warning;
+
+       $template->param(overduecount => $od,
+                                                       issuecount => 
$issue.$warning,
+                                                       finetotal => $fines);
         }
     }
-}
 
-# reload the borrower info for the sake of reseting the flags.....
-if ($borrowernumber) {
-    $borrower = getpatroninformation( \%env, $borrowernumber, 0 );
 }
 
-##################################################################################
-# BUILD HTML
-# show all reserves of this borrower, and the position of the reservation ....
-if ($borrowernumber) {
-# new op dev
-# now we show the status of the borrower's reservations
-       my @borrowerreserv = FastFindReserves(0,$borrowernumber);
-       my @reservloop;
-       foreach my $num_res (@borrowerreserv) {
-               my %getreserv;
-               my %env;
-               my $getiteminfo = 
getiteminformation(\%env,$num_res->{'itemnumber'});
-               my $itemtypeinfo = getitemtypeinfo($getiteminfo->{'itemtype'});
-               my ($transfertwhen,$transfertfrom,$transfertto) = 
checktransferts($num_res->{'itemnumber'});
-
-               $getreserv{waiting} = 0;
-               $getreserv{transfered} = 0;
-               $getreserv{nottransfered} = 0;
-
-               $getreserv{reservedate} = 
format_date($num_res->{'reservedate'});
-               $getreserv{biblionumber} = $getiteminfo->{'biblionumber'};
-               $getreserv{title} = $getiteminfo->{'title'};
-               $getreserv{itemtype} = $itemtypeinfo->{'description'};
-               $getreserv{author} = $getiteminfo->{'author'};
-               $getreserv{barcodereserv} = $getiteminfo->{'barcode'};
-               $getreserv{itemcallnumber} = $getiteminfo->{'itemcallnumber'};
-#              check if we have a waitin status for reservations
-               if ($num_res->{'found'} eq 'W'){
-                       $getreserv{color} = 'reserved';
-                       $getreserv{waiting} = 1; 
-               }
-
-#              check transfers with the itemnumber foud in th reservation loop
-               if ($transfertwhen){
-               $getreserv{color} = 'transfered';
-               $getreserv{transfered} = 1;
-               $getreserv{datesent} = format_date($transfertwhen);
-               $getreserv{frombranch} = getbranchname($transfertfrom);
-               }
-
-               if (($getiteminfo->{'holdingbranch'} ne 
$num_res->{'branchcode'}) and not $transfertwhen){
-               $getreserv{nottransfered} = 1;
-               $getreserv{nottransferedby} = 
getbranchname($getiteminfo->{'holdingbranch'});
-               }
-
-#              if we don't have a reserv on item, we put the biblio infos and 
the waiting position     
-               if ($getiteminfo->{'title'} eq '' ){
-                       my $getbibinfo = 
bibitemdata($num_res->{'biblionumber'});
-                       my $getbibtype = 
getitemtypeinfo($getbibinfo->{'itemtype'});
-                       $getreserv{color} = 'inwait';
-                       $getreserv{title} = $getbibinfo->{'title'};
-                       $getreserv{waitingposition} = $num_res->{'priority'};
-                       $getreserv{nottransfered} = 0;
-                       $getreserv{itemtype} = $getbibtype->{'description'};
-                       $getreserv{author} = $getbibinfo->{'author'};
-                       $getreserv{itemcallnumber} = '----------';
                        
-               }
 
-               push(@reservloop, \%getreserv);
-       }
-       # return result to the template
-       $template->param(reservloop => address@hidden);
-
-}
 
+##################################################################################
+# BUILD HTML
 
 # make the issued books table.....
-my $todaysissues = '';
-my $previssues   = '';
+my $todaysissues='';
+my $previssues='';
 my @realtodayissues;
 my @realprevissues;
+#my @renewissues;
 my $allowborrow;
 if ($borrower) {
 
@@ -311,165 +229,119 @@
     my @todaysissues;
     my @previousissues;
     my $issueslist = getissues($borrower);
-
     # split in 2 arrays for today & previous
-    my $dbh = C4::Context->dbh;
-    foreach my $it ( keys %$issueslist ) {
-        my $issuedate = $issueslist->{$it}->{'timestamp'};
-        $issuedate =~ s/-//g;
-        $issuedate = substr( $issuedate, 0, 8 );
-        if ( $todaysdate == $issuedate ) {
-               ($issueslist->{$it}->{'charge'}, 
$issueslist->{$it}->{'itemtype_charge'})=calc_charges($dbh,$issueslist->{$it}->{'itemnumber'},$borrower->{'borrowernumber'});
-               $issueslist->{$it}->{'charge'} = 
sprintf("%.2f",$issueslist->{$it}->{'charge'});
-               ($issueslist->{$it}->{'can_renew'}, 
$issueslist->{$it}->{'can_renew_error'}) 
=renewstatus(\%env,$borrower->{'borrowernumber'}, 
$issueslist->{$it}->{'itemnumber'});
-               my 
($restype,$reserves)=CheckReserves($issueslist->{$it}->{'itemnumber'});
-               if ($restype){
-                   $issueslist->{$it}->{'can_renew'}=0;
-               }
+       foreach my $it (keys %$issueslist) {
+               my $issuedate = $issueslist->{$it}->{'issue_date'};
+#              $issuedate = substr($issuedate, 0, 10);
+       
+               if ($todaysdate eq $issuedate) {
                push @todaysissues, $issueslist->{$it};
-        }
-        else {
-                ($issueslist->{$it}->{'charge'}, 
$issueslist->{$it}->{'itemtype_charge'})=calc_charges($dbh,$issueslist->{$it}->{'itemnumber'},$borrower->{'borrowernumber'});
-               $issueslist->{$it}->{'charge'} = 
sprintf("%.2f",$issueslist->{$it}->{'charge'});
-               ($issueslist->{$it}->{'can_renew'}, 
$issueslist->{$it}->{'can_renew_error'}) 
=renewstatus(\%env,$borrower->{'borrowernumber'}, 
$issueslist->{$it}->{'itemnumber'});
-               my 
($restype,$reserves)=CheckReserves($issueslist->{$it}->{'itemnumber'});
-               if ($restype){
-                   $issueslist->{$it}->{'can_renew'}=0;
-               }
+               } else { 
                push @previousissues, $issueslist->{$it};
         }
     }
+
+
     my $od;    # overdues
     my $i = 0;
     my $togglecolor;
-
     # parses today & build Template array
-    foreach my $book ( sort { $b->{'timestamp'} <=> $a->{'timestamp'} }
-        @todaysissues )
-    {
+       foreach my $book (sort {$b->{'timestamp'} <=> $a->{'timestamp'}} 
@todaysissues){
         my $dd      = $book->{'date_due'};
         my $datedue = $book->{'date_due'};
-        $dd = format_date($dd);
-        $datedue =~ s/-//g;
-        if ( $datedue < $todaysdate ) {
+
+               $dd=format_date($dd);
+#              $datedue=~s/-//g;
+               if ($datedue lt $todaysdate) {
             $od = 1;
+               } else {
+                       $od=0;
         }
-        else {
-            $od = 0;
-        }
-        if ( $i % 2 ) {
-            $togglecolor = 0;
-        }
-        else {
-            $togglecolor = 1;
-        }
-        $book->{'togglecolor'} = $togglecolor;
-        $book->{'od'}          = $od;
-        $book->{'dd'}          = $dd;
-        if ( $book->{'author'} eq '' ) {
-            $book->{'author'} = ' ';
+               $book->{'od'}=$od;
+               $book->{'dd'}=$dd;
+               
+               if ($togglecolor) {
+                       $togglecolor=0;
+               } else {
+                       $togglecolor=1;
+               }
+               $book->{'tcolor'}=$togglecolor;
+               if ($book->{'author'} eq ''){
+                       $book->{'author'}=' ';
         }
-        push @realtodayissues, $book;
+               push @realtodayissues,$book;
         $i++;
     }
 
+
+
     # parses previous & build Template array
-    $i = 0;
-    foreach my $book ( sort { $a->{'date_due'} cmp $b->{'date_due'} }
-        @previousissues )
-    {
+       $i=0;
+    foreach my $book (sort {$a->{'date_due'} cmp $b->{'date_due'}} 
@previousissues){
         my $dd      = $book->{'date_due'};
         my $datedue = $book->{'date_due'};
-        $dd = format_date($dd);
+               $dd=format_date($dd);
         my $pcolor = '';
         my $od     = '';
-        $datedue =~ s/-//g;
-        if ( $datedue < $todaysdate ) {
+#              $datedue=~s/-//g;
+               if ($datedue lt $todaysdate) {
+               
             $od = 1;
-        }
-        else {
+               } else {
             $od = 0;
         }
-        if ( $i % 2 ) {
-            $togglecolor = 0;
-        }
-        else {
-            $togglecolor = 1;
-        }
-        $book->{'togglecolor'} = $togglecolor;
-        $book->{'dd'}          = $dd;
-        $book->{'od'}          = $od;
-        if ( $book->{'author'} eq '' ) {
-            $book->{'author'} = ' ';
+       
+               if ($togglecolor) {
+                       $togglecolor=0;
+               } else {
+                       $togglecolor=1;
+               }
+       $book->{'tcolor'}=$togglecolor;
+               $book->{'dd'}=$dd; 
+               $book->{'od'}=$od;
+               #$book->{'tcolor'}=$pcolor;
+               if ($book->{'author'} eq ''){
+                       $book->{'author'}=' ';
         }
-        push @realprevissues, $book;
+
+               push @realprevissues,$book;
         $i++;
     }
-}
+
+}#borrower
+
 
 my @values;
 my %labels;
 my $CGIselectborrower;
 if ($borrowerslist) {
-    foreach (
-        sort {
-            $a->{'surname'}
-              . $a->{'firstname'} cmp $b->{'surname'}
-              . $b->{'firstname'}
-        } @$borrowerslist
-      )
-    {
-        push @values, $_->{'borrowernumber'};
-        $labels{ $_->{'borrowernumber'} } =
-"$_->{'surname'}, $_->{'firstname'} ... ($_->{'cardnumber'} - 
$_->{'categorycode'}) ...  $_->{'streetaddress'} ";
+       foreach (sort {$a->{'surname'}.$a->{'firstname'} cmp 
$b->{'surname'}.$b->{'firstname'}} @$borrowerslist){
+               push @values,$_->{'borrowernumber'};
+               $labels{$_->{'borrowernumber'}} ="$_->{'surname'}, 
$_->{'firstname'} ... ($_->{'cardnumber'} - $_->{'categorycode'}) ...  
$_->{'streetaddress'} ";
     }
-    $CGIselectborrower = CGI::scrolling_list(
-        -name     => 'borrnumber',
+       $CGIselectborrower=CGI::scrolling_list( -name     => 'borrnumber',
         -values   => address@hidden,
         -labels   => \%labels,
         -size     => 7,
-        -multiple => 0
-    );
+                               -multiple => 0 );
 }
-
 #title
 
-my ( $patrontable, $flaginfotable ) = patrontable($borrower);
-my $amountold = $borrower->{flags}->{'CHARGES'}->{'message'} || 0;
-my @temp = split( /\$/, $amountold );
-
-my $CGIorganisations;
-my $member_of_institution;
-if ( C4::Context->preference("memberofinstitution") ) {
-    my $organisations = get_institutions();
-    my @orgs;
-    my %org_labels;
-    foreach my $organisation ( keys %$organisations ) {
-        push @orgs, $organisation;
-        $org_labels{$organisation} =
-          $organisations->{$organisation}->{'surname'};
-    }
-    $member_of_institution = 1;
-    $CGIorganisations = CGI::popup_menu(
-        -id       => 'organisations',
-        -name     => 'organisations',
-        -labels   => \%org_labels,
-        -values   => address@hidden,
-
-    );
-}
-
-$amountold = $temp[1];
-$template->param(
+my ($patrontable, $flaginfotable) = patrontable($borrower);
+my $amountold=$borrower->{flags}->{'CHARGES'}->{'message'};
+my @temp=split(/\$/,$amountold);
+$amountold=$temp[1];
+$template->param( today=>format_date($todaysdate),
     findborrower      => $findborrower,
     borrower          => $borrower,
     borrowernumber    => $borrowernumber,
     branch            => $branch,
     printer           => $printer,
-    printername       => $printer,
+               branchname => $branches->{$branch}->{'branchname'},
+               printername => $printers->{$printer}->{'printername'},
     firstname         => $borrower->{'firstname'},
     surname           => $borrower->{'surname'},
-    categorycode      => $borrower->{'categorycode'},
+               categorycode => 
getborrowercategory($borrower->{'categorycode'}),
     streetaddress     => $borrower->{'streetaddress'},
     emailaddress      => $borrower->{'emailaddress'},
     borrowernotes     => $borrower->{'borrowernotes'},
@@ -483,16 +355,13 @@
     CGIselectborrower => $CGIselectborrower,
     todayissues       => address@hidden,
     previssues        => address@hidden,
-    inprocess         => $inprocess,
-    memberofinstution => $member_of_institution,                               
                                  
-    CGIorganisations => $CGIorganisations, 
-);
 
+       );
 # set return date if stickyduedate
 if ($stickyduedate) {
-    my $t_year  = "year" . $year;
-    my $t_month = "month" . $month;
-    my $t_day   = "day" . $day;
+       my $t_year = "year".$year;
+       my $t_month = "month".$month;
+       my $t_day = "day".$day;
     $template->param(
         $t_year  => 1,
         $t_month => 1,
@@ -501,9 +370,9 @@
 }
 
 
-# if ($branchcookie) {
-#     $cookie=[$cookie, $branchcookie, $printercookie];
-# }
+if ($branchcookie) {
+    $cookie=[$cookie, $branchcookie, $printercookie];
+}
 
 output_html_with_http_headers $query, $cookie, $template->output;
 
@@ -513,98 +382,83 @@
 sub patrontable {
     my ($borrower)    = @_;
     my $flags         = $borrower->{'flags'};
-    my $flaginfotable = '';
+    my $flaginfotable='';
     my $flaginfotext;
-
     #my $flaginfotext='';
     my $flag;
-    my $color = '';
-    foreach $flag ( sort keys %$flags ) {
-
-        #      my @itemswaiting='';
-        $flags->{$flag}->{'message'} =~ s/\n/<br>/g;
-        if ( $flags->{$flag}->{'noissues'} ) {
+    my $color='';
+    foreach $flag (sort keys %$flags) {
+#      my @itemswaiting='';
+       $flags->{$flag}->{'message'}=~s/\n/<br>/g;
+       if ($flags->{$flag}->{'noissues'}) {
             $template->param(
                 flagged  => 1,
                 noissues => 'true',
             );
-            if ( $flag eq 'GNA' ) {
-                $template->param( gna => 'true' );
-            }
-            if ( $flag eq 'LOST' ) {
-                $template->param( lost => 'true' );
-            }
-            if ( $flag eq 'DBARRED' ) {
-                $template->param( dbarred => 'true' );
+               if ($flag eq 'GNA'){
+                       $template->param(
+                               gna => 'true'
+                               );
             }
-            if ( $flag eq 'CHARGES' ) {
+               if ($flag eq 'LOST'){
                 $template->param(
-                    charges    => 'true',
-                    chargesmsg => $flags->{'CHARGES'}->{'message'}
+                               lost => 'true'
                 );
             }
-           if ($flag eq 'CREDITS') {
+               if ($flag eq 'DBARRED'){
                $template->param(
-                   credits => 'true',
-                   creditsmsg => $flags->{'CREDITS'}->{'message'}
+                               dbarred => 'true'
                );
            }
+               if ($flag eq 'CHARGES') {
+                       $template->param(
+                               charges => 'true',
+                               chargesmsg => $flags->{'CHARGES'}->{'message'}
+                                );
         }
-        else {
-            if ( $flag eq 'CHARGES' ) {
+       } else {
+                if ($flag eq 'CHARGES') {
                 $template->param(
                     charges    => 'true',
                     flagged    => 1,
                     chargesmsg => $flags->{'CHARGES'}->{'message'}
                 );
             }
-            if ($flag eq 'CREDITS') {
+               if ($flag eq 'WAITING') {
+                       my $items=$flags->{$flag}->{'itemlist'};
+                       my @itemswaiting;
+                       foreach my $item (@$items) {
+                       my ($iteminformation) = getiteminformation(\%env, 
$item->{'itemnumber'}, 0);
+                       $iteminformation->{'branchname'} = 
$branches->{$iteminformation->{'holdingbranch'}}->{'branchname'};
+                       push @itemswaiting, $iteminformation;
+                       }
                $template->param(
-                   credits => 'true',
-                   creditsmsg => $flags->{'CREDITS'}->{'message'}
+                               flagged => 1,
+                               waiting => 'true',
+                               waitingmsg => $flags->{'WAITING'}->{'message'},
+                               itemswaiting => address@hidden,
                 );
             }
-
-# FIXME this part can be removed if we keep new display of reserves 
"reservloop"
-#             if ( $flag eq 'WAITING' ) {
-#                 my $items = $flags->{$flag}->{'itemlist'};
-#                 my @itemswaiting;
-#                 foreach my $item (@$items) {
-#                     my ($iteminformation) =
-#                       getiteminformation( \%env, $item->{'itemnumber'}, 0 );
-#                     $iteminformation->{'branchname'} =
-#                       $branches->{ $iteminformation->{'holdingbranch'} }
-#                       ->{'branchname'};
-#                     push @itemswaiting, $iteminformation;
-#                 }
-#                 $template->param(
-#                     flagged      => 1,
-#                     waiting      => 'true',
-#                     waitingmsg   => $flags->{'WAITING'}->{'message'},
-#                     itemswaiting => address@hidden,
-#                 );
-#             }
-            if ( $flag eq 'ODUES' ) {
+               if ($flag eq 'ODUES') {
                 $template->param(
                     odues    => 'true',
                     flagged  => 1,
                     oduesmsg => $flags->{'ODUES'}->{'message'}
                 );
 
-                my $items = $flags->{$flag}->{'itemlist'};
+                       my $items=$flags->{$flag}->{'itemlist'};
                 {
                     my @itemswaiting;
                     foreach my $item (@$items) {
-                        my ($iteminformation) =
-                          getiteminformation( \%env, $item->{'itemnumber'}, 0 
);
+                               my ($iteminformation) = 
getiteminformation(\%env, $item->{'itemnumber'}, 0);
                         push @itemswaiting, $iteminformation;
                     }
                 }
-                if ( $query->param('module') ne 'returns' ) {
+                       if ($query->param('module') ne 'returns'){
                     $template->param( nonreturns => 'true' );
                 }
             }
-            if ( $flag eq 'NOTES' ) {
+               if ($flag eq 'NOTES') {
                 $template->param(
                     notes    => 'true',
                     flagged  => 1,
@@ -613,18 +467,17 @@
             }
         }
     }
-    return ( $patrontable, $flaginfotext );
+    return($patrontable, $flaginfotext);
 }
 
 sub cuecatbarcodedecode {
     my ($barcode) = @_;
     chomp($barcode);
-    my @fields = split( /\./, $barcode );
-    my @results = map( decode($_), @fields[ 1 .. $#fields ] );
-    if ( $#results == 2 ) {
+    my @fields = split(/\./,$barcode);
+    my @results = map(decode($_), @fields[1..$#fields]);
+    if ($#results == 2){
         return $results[2];
-    }
-    else {
+    } else {
         return $barcode;
     }
 }

Index: circ/returns.pl
===================================================================
RCS file: /sources/koha/koha/circ/returns.pl,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- circ/returns.pl     21 Jul 2006 10:10:29 -0000      1.43
+++ circ/returns.pl     6 Sep 2006 16:21:04 -0000       1.44
@@ -26,17 +26,14 @@
 use strict;
 use CGI;
 use C4::Circulation::Circ2;
-use C4::Date;
 use C4::Search;
 use C4::Output;
 use C4::Print;
 use C4::Reserves2;
 use C4::Auth;
 use C4::Interface::CGI::Output;
-use HTML::Template;
 use C4::Koha;
-use C4::Context;
-
+use C4::Members;
 my $query = new CGI;
 
 #getting the template
@@ -57,16 +54,16 @@
 my $linecolor1            = '#ffffcc';
 my $linecolor2            = 'white';
 
-my $branches = GetBranches('IS');
+my $branches = GetBranches();
 my $printers = getprinters( \%env );
 
-my $branch  = C4::Context->userenv->{'branch'};
-my $printer = C4::Context->userenv->{'branchprinter'};
+# my $branch  = getbranch( $query,  $branches );
+my $printer = getprinter( $query, $printers );
 
 #
 # Some code to handle the error if there is no branch or printer setting.....
 #
-
+my $branch=C4::Context->preference("defaultBranch");
 $env{'branchcode'} = $branch;
 $env{'printer'}    = $printer;
 $env{'queue'}      = $printer;
@@ -104,45 +101,34 @@
 }
 
 ############
+my $item;
 # Deal with the requests....
 if ( $query->param('resbarcode') ) {
-    my $item       = $query->param('itemnumber');
+    $item       = $query->param('itemnumber');
     my $borrnum    = $query->param('borrowernumber');
     my $resbarcode = $query->param('resbarcode');
 
     # set to waiting....
     my $iteminfo = getiteminformation( \%env, $item );
     my $tobranchcd = ReserveWaiting( $item, $borrnum );
-#     if($iteminfo->{'holdingbranch'} ne $branch){
-#      UpdateHoldingbranch($branch,$item);
-#      }
-#   check if we have other reservs for this document, if we have a return send 
the message of transfer
-    my ($messages,$nextreservinfo) = OtherReserves($item);
-    # my $branchname = $branches->{$tobranchcd}->{'branchname'}; - not sure if 
this line + $tobranchcd line do the same thing
-    # as the $messages{'transfert'} code
-    my $branchname = getbranchname($messages->{'transfert'});
-    my ($borr) = getpatroninformation( \%env, $nextreservinfo, 0 );
+    my $branchname = $branches->{$tobranchcd}->{'branchname'};
+    my ($borr) = getpatroninformation( \%env, $borrnum, 0 );
     my $borcnum = $borr->{'cardnumber'};
     my $name    =
-      $borr->{'surname'} . ", " . $borr->{'title'} . " " . 
$borr->{'firstname'};
+      $borr->{'surname'} . " " . $borr->{'title'} . " " . $borr->{'firstname'};
     my $slip = $query->param('resslip');
-    printreserve( \%env, $branchname, $borr, $iteminfo );
-#   if ( $tobranchcd ne $branch ) { - not sure if line below is doing the same
-    if ( $messages->{'transfert'} ) {
-#      add the transfer routine
-#      
C4::Circulation::Circ2::dotransfer($item,$iteminfo->{'holdingbranch'},$tobranchcd);
+    printslip( \%env, $slip ); #removed by paul
+
+    if ( $tobranchcd ne $branch ) {
         $template->param(
             itemtitle  => $iteminfo->{'title'},
             iteminfo   => $iteminfo->{'author'},
-            tobranchname => $branchname,
+            branchname => $branchname,
             name       => $name,
             bornum     => $borrnum,
             borcnum    => $borcnum,
-           borfirstname  => $borr->{'firstname'},
-            borsurname    => $borr->{'surname'},
             diffbranch => 1
         );
-       set_transit($item);
     }
 }
 
@@ -154,6 +140,7 @@
 
 # actually return book and prepare item table.....
 if ($barcode) {
+
     # decode cuecat
     $barcode = cuecatbarcodedecode($barcode);
     ( $returned, $messages, $iteminformation, $borrower ) =
@@ -169,13 +156,20 @@
         $input{duedate} = $riduedate{0};
         $input{bornum}  = $riborrowernumber{0};
         push ( @inputloop, \%input );
-        # check if the branch is the same as homebranch
-       # if not, we want to put a message
-       if ($iteminformation->{'homebranch'} ne $branch){
-            $template->param( homebranch =>$iteminformation->{'homebranch'});
-       }
     }
     elsif ( !$messages->{'BadBarcode'} ) {
+               if ( $messages->{'NotIssued'} ) {
+               my $dbh = C4::Context->dbh;
+               my $sth=$dbh->prepare("select duetime from reserveissue where 
itemnumber=? and isnull(rettime)");
+               $sth->execute($iteminformation->{'itemnumber'});
+               my ($date_due) = $sth->fetchrow;
+               
+               $sth->finish;
+                       if ($date_due){
+#                              $messages->{'ReserveIssued'} =$barcode;         
        
+                       print 
$query->redirect("/cgi-bin/koha/circ/resreturns.pl?barcode=$barcode");
+                       }
+               }
         my %input;
         $input{counter} = 0;
         $input{first}   = 1;
@@ -210,32 +204,6 @@
 my $waiting  = 0;
 my $reserved = 0;
 
-# new op dev : we check if the document must be returned to his homebranch 
directly,
-#  if the document is transfered, we have warning message .
-
-if ( $messages->{'WasTransfered'} ) {
-#     my $res        = $messages->{'ResFound'};
-#     my $branchname = $branches->{ $res->{'branchcode'} }->{'branchname'};
-#     my ($borr) = getpatroninformation( \%env, $res->{'borrowernumber'}, 0 );
-#     my $name =
-#       $borr->{'surname'} . " " . $borr->{'title'} . " " . 
$borr->{'firstname'};
-    my ($iteminfo) = getiteminformation( \%env, 0, $barcode );
-
-#     if ( $res->{'ResFound'} eq "Waiting" ) {
-#              if($branch eq $res->{'branchcode'}){
-#                      $template->param(intransit => 0);
-#              } else {
-#                      $template->param(intransit => 1);
-#              }
-       
-        $template->param(
-               found         => 1,
-               transfer     => 1,
-               itemhomebranch => $branches->{$iteminfo->{'homebranch'} 
}->{'branchname'}
-        );
-
-    }
-
 if ( $messages->{'ResFound'} ) {
     my $res        = $messages->{'ResFound'};
     my $branchname = $branches->{ $res->{'branchcode'} }->{'branchname'};
@@ -245,12 +213,6 @@
     my ($iteminfo) = getiteminformation( \%env, 0, $barcode );
 
     if ( $res->{'ResFound'} eq "Waiting" ) {
-               if($branch eq $res->{'branchcode'}){
-                       $template->param(intransit => 0);
-               } else {
-                       $template->param(intransit => 1);
-               }
-       
         $template->param(
             found         => 1,
             name          => $name,
@@ -258,16 +220,12 @@
             borsurname    => $borr->{'surname'},
             bortitle      => $borr->{'title'},
             borphone      => $borr->{'phone'},
-            boremail         => $borr->{'emailaddress'},
             borstraddress => $borr->{'streetaddress'},
             borcity       => $borr->{'city'},
             borzip        => $borr->{'zipcode'},
             bornum        => $res->{'borrowernumber'},
             borcnum       => $borr->{'cardnumber'},
-                       debarred => $borr->{'debarred'},
-                       gonenoaddress => $borr->{'gonenoaddress'},
-                       currentbranch => $branches->{ $branch }->{'branchname'},
-            tobranchname  => $branches->{ $res->{'branchcode'} 
}->{'branchname'},
+            branchname  => $branches->{ $res->{'branchcode'} }->{'branchname'},
             waiting     => 1,
             itemnumber  => $res->{'itemnumber'},
             itemtitle   => $iteminfo->{'title'},
@@ -284,17 +242,8 @@
           sprintf( "%0.2d", ( $da[3] + 1 ) ) . "/"
           . sprintf( "%0.2d", ( $da[4] + 1 ) ) . "/"
           . ( $da[5] + 1900 );
-                 
-                if($branch eq $res->{'branchcode'}){
-                       $template->param(intransit => 0);
-               } else {
-                       $template->param(intransit => 1);
-               }
-                 
         $template->param(
             found       => 1,
-               currentbranch => $branches->{ $branch }->{'branchname'},
-           name        => $name,
             branchname  => $branches->{ $res->{'branchcode'} }->{'branchname'},
             reserved    => 1,
             today       => $todaysdate,
@@ -314,9 +263,7 @@
             borsub           => $borr->{'suburb'},
             borcity          => $borr->{'city'},
             borzip           => $borr->{'zipcode'},
-            boremail         => $borr->{'emailaddress'},
-                       debarred => $borr->{'debarred'},
-                       gonenoaddress => $borr->{'gonenoaddress'},
+            boremail         => $borr->{'emailadress'},
             barcode          => $barcode
         );
     }
@@ -349,6 +296,9 @@
     elsif ( $code eq 'WasTransfered' ) {
         ;    # FIXME... anything to do here?
     }
+       elsif ( $code eq 'ReserveIssued' ) {
+        $err{reserveissued} = 1;
+    }
     elsif ( $code eq 'wthdrawn' ) {
         $err{withdrawn} = 1;
         $exit_required_p = 1;
@@ -418,7 +368,7 @@
                 my ($iteminformation) =
                   getiteminformation( \%env, $item->{'itemnumber'}, 0 );
                 my %overdueitem;
-                $overdueitem{duedate}   = format_date($item->{'date_due'});
+                $overdueitem{duedate}   = $item->{'date_due'};
                 $overdueitem{biblionum} = $iteminformation->{'biblionumber'};
                 $overdueitem{barcode}   = $iteminformation->{'barcode'};
                 $overdueitem{title}     = $iteminformation->{'title'};
@@ -474,7 +424,7 @@
               $datearr[5] . '-'
               . sprintf( "%0.2d", ( $datearr[4] + 1 ) ) . '-'
               . sprintf( "%0.2d", $datearr[3] );
-           $ri{duedate}=format_date($duedate);
+           $ri{duedate}=$duedate;
             my ($borrower) =
               getpatroninformation( \%env, $riborrowernumber{$_}, 0 );
             $ri{bornum}       = $borrower->{'borrowernumber'};
@@ -506,12 +456,9 @@
 $template->param(
     genbrname  => $branches->{$branch}->{'branchname'},
     genprname  => $printers->{$printer}->{'printername'},
-    branchname     => $branches->{$branch}->{'branchname'},
+    branch     => $branch,
     printer    => $printer,
-    errmsgloop => address@hidden,
-    intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
+    errmsgloop => address@hidden
 );
 
 # actually print the page!
@@ -530,26 +477,6 @@
     }
 }
 
-
-sub set_transit {
-        my ($itemnumber) = @_;
-        my $dbh=C4::Context->dbh();
-        my $query = "UPDATE items SET holdingbranch='TRA' WHERE itemnumber = 
?";
-        my $sth=$dbh->prepare($query);
-        $sth->execute($itemnumber);
-        $sth->finish();
-    }
-
-sub set_transit {
-        my ($itemnumber) = @_;
-        my $dbh=C4::Context->dbh();
-        my $query = "UPDATE items SET holdingbranch='TRA' WHERE itemnumber = 
?";
-        my $sth=$dbh->prepare($query);
-        $sth->execute($itemnumber);
-        $sth->finish();
-}
-
-
 # Local Variables:
 # tab-width: 4
 # End:

Index: import/breeding.pl
===================================================================
RCS file: /sources/koha/koha/import/breeding.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- import/breeding.pl  4 Jul 2006 14:36:52 -0000       1.5
+++ import/breeding.pl  6 Sep 2006 16:21:04 -0000       1.6
@@ -1,221 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: breeding.pl,v 1.5 2006/07/04 14:36:52 toins Exp $
-
-# Script for handling import of MARC data into Koha db
-#   and Z39.50 lookups
-
-# Koha library project  www.koha.org
-
-# Licensed under the GPL
-
-
-# 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;
-
-# standard or CPAN modules used
-use CGI qw(:standard);
-use DBI;
-
-# Koha modules used
-use C4::Context;
-use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Input;
-use C4::Biblio;
-use MARC::File::USMARC;
-use HTML::Template;
-use C4::Output;
-use C4::Auth;
-use C4::Breeding;
-
-#------------------
-# Constants
-
-my $includes = C4::Context->config('includes') ||
-       "/usr/local/www/hdl/htdocs/includes";
-
-# HTML colors for alternating lines
-my $lc1='#dddddd';
-my $lc2='#ddaaaa';
-
-#-------------
-#-------------
-# Initialize
-
-my $userid=$ENV{'REMOTE_USER'};
-
-my $input = new CGI;
-my $dbh = C4::Context->dbh;
-
-my $uploadmarc=$input->param('uploadmarc');
-my $overwrite_biblio = $input->param('overwrite_biblio');
-my $filename = $input->param('filename');
-my $syntax = $input->param('syntax');
-my ($template, $loggedinuser, $cookie)
-       = get_template_and_user({template_name => "import/breeding.tmpl",
-                                       query => $input,
-                                       type => "intranet",
-                                       authnotrequired => 0,
-                                       flagsrequired => {parameters => 1, 
management => 1, tools => 1},
-                                       debug => 1,
-                                       });
-
-$template->param(SCRIPT_NAME => $ENV{'SCRIPT_NAME'},
-                                               uploadmarc => $uploadmarc);
-if ($uploadmarc && length($uploadmarc)>0) {
-       my $marcrecord='';
-       while (<$uploadmarc>) {
-               $marcrecord.=$_;
-       }
-       my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported) = 
ImportBreeding($marcrecord,$overwrite_biblio,$filename,$syntax,int(rand(99999)));
-
-       $template->param(imported => $imported,
-                                                       alreadyindb => 
$alreadyindb,
-                                                       alreadyinfarm => 
$alreadyinfarm,
-                                                       notmarcrecord => 
$notmarcrecord,
-                                                       total => 
$imported+$alreadyindb+$alreadyinfarm+$notmarcrecord,
-                                                       );
-
-}
-$template-param(intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
-output_html_with_http_headers $input, $cookie, $template->output;
-my $menu;
-my $file;
-
-
-#---------------
-# log cleared, as marcimport is (almost) rewritten from scratch.
-# $Log: breeding.pl,v $
-# Revision 1.5  2006/07/04 14:36:52  toins
-# Head & rel_2_2 merged
-#
-# Revision 1.4  2005/05/04 08:52:13  tipaul
-# synch'ing 2.2 and head
-#
-# Revision 1.3  2005/03/23 09:57:47  doxulting
-# Adding a parameter to allow acces to people with management/tools flags
-#
-# Revision 1.2  2003/10/06 09:10:38  slef
-# Removing config info from z3950*sh and using C4::Context in 
processz3950queue (Fixed bug 39)
-#
-# Revision 1.1  2003/06/04 13:46:25  tipaul
-# moving breeding farm import to parameters page (GUI) and to new import/ 
directory (code structure)
-#
-# Revision 1.33  2003/04/29 16:48:36  tipaul
-# really proud of this commit :-)
-# z3950 search and import seems to works fine.
-# Let me explain how :
-# * a "search z3950" button is added in the addbiblio template.
-# * when clicked, a popup appears and z3950/search.pl is called
-# * z3950/search.pl calls addz3950search in the DB
-# * the z3950 daemon retrieve the records and stores them in z3950results AND 
in marc_breeding table.
-# * as long as there as searches pending, the popup auto refresh every 2 
seconds, and says how many searches are pending.
-# * when the user clicks on a z3950 result => the parent popup is called with 
the requested biblio, and auto-filled
-#
-# Note :
-# * character encoding support : (It's a nightmare...) In the z3950servers 
table, a "encoding" column has been added. You can put "UNIMARC" or "USMARC" in 
this column. Depending on this, the char_decode in C4::Biblio.pm replaces 
marc-char-encode by an iso 8859-1 encoding. Note that in the breeding import 
this value has been added too, for a better support.
-# * the marc_breeding and z3950* tables have been modified : they have an 
encoding column and the random z3950 number is stored too for convenience => 
it's the key I use to list only requested biblios in the popup.
-#
-# Revision 1.32  2003/04/22 12:22:54  tipaul
-# 1st draft for z3950 client import.
-# moving Breeding farm script to a perl package C4/Breeding.pm
-#
-# Revision 1.31  2003/02/19 01:01:07  wolfpac444
-# Removed the unecessary $dbh argument from being passed.
-# Resolved a few minor FIXMEs.
-#
-# Revision 1.30  2003/02/02 07:18:38  acli
-# Moved C4/Charset.pm to C4/Interface/CGI/Output.pm
-#
-# Create output_html_with_http_headers function to contain the "print $query
-# ->header(-type => guesstype...),..." call. This is in preparation for
-# non-HTML output (e.g., text/xml) and charset conversion before output in
-# the future.
-#
-# Created C4/Interface/CGI/Template.pm to hold convenience functions specific
-# to the CGI interface using HTML::Template
-#
-# Modified moremembers.pl to make the "sex" field localizable for languages
-# where M and F doesn't make sense
-#
-# Revision 1.29  2003/01/28 15:28:31  tipaul
-# removing use MARC::Charset
-# Was a buggy test
-#
-# Revision 1.28  2003/01/28 15:00:31  tipaul
-# user can now search in breeding farm with isbn/issn or title. Title/name are 
stored in breeding farm and showed when a search is done
-#
-# Revision 1.27  2003/01/26 23:21:49  acli
-# Handle non-latin1 charsets
-#
-# Revision 1.26  2003/01/23 12:26:41  tipaul
-# upgrading import in breeding farm (you can now search on ISBN or on title) 
AND character encoding.
-#
-# Revision 1.25  2003/01/21 08:13:50  tipaul
-# character encoding ISO646 => 8859-1, first draft
-#
-# Revision 1.24  2003/01/14 16:41:17  tipaul
-# bugfix : use gettemplate_and_user instead of gettemplate.
-# fix a blank screen in 1.3.3 in "import in breeding farm"
-#
-# Revision 1.23  2003/01/06 13:06:28  tipaul
-# removing trailing #
-#
-# Revision 1.22  2002/11/12 15:58:43  tipaul
-# road to 1.3.2 :
-# * many bugfixes
-# * adding value_builder : you can map a subfield in the 
marc_subfield_structure to a sub stored in "value_builder" directory. In this 
directory you can create screen used to build values with any method. In this 
commit is a 1st draft of the builder for 100$a unimarc french subfield, which 
is composed of 35 digits, with 12 differents values (only the 4th first are 
provided for instance)
-#
-# Revision 1.21  2002/10/22 15:50:23  tipaul
-# road to 1.3.2 : adding a biblio in MARC format.
-# seems to work a few.
-# still to do :
-# * manage html checks (mandatory subfields...)
-# * add list of acceptable values (authorities)
-# * manage ## in MARC format
-# * manage correctly repeatable fields
-# and probably a LOT of bugfixes
-#
-# Revision 1.20  2002/10/16 12:46:19  arensb
-# Added a FIXME comment.
-#
-# Revision 1.19  2002/10/15 10:14:44  tipaul
-# road to 1.3.2. Full rewrite of marcimport.pl.
-# The acquisition system in MARC version will work like this :
-# * marcimport will put marc records into a "breeding farm" table.
-# * when the user want to add a biblio, he enters first the ISBN/ISSN of the 
biblio. koha searches into breeding farm and if the record exists, it is shown 
to the user to help him adding the biblio. When the biblio is added, it's 
deleted from the breeding farm.
-#
-# This commit :
-# * modify acqui.simple home page  (addbooks.pl)
-# * adds import into breeding farm
-#
-# Please note that :
-# * z3950 functionnality is dropped from "marcimport" will be added somewhere 
else.
-# * templates are in a new acqui.simple sub directory, and the marcimport 
template directory will become obsolete soon.I think this is more logic
-#
-#!/usr/bin/perl
-
-# $Id: breeding.pl,v 1.5 2006/07/04 14:36:52 toins Exp $
+# $Id: breeding.pl,v 1.6 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Script for handling import of MARC data into Koha db
 #   and Z39.50 lookups
@@ -246,16 +31,12 @@
 
 # standard or CPAN modules used
 use CGI;
-use DBI;
 
 # Koha modules used
 use C4::Context;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Input;
 use C4::Biblio;
-use MARC::File::USMARC;
-use HTML::Template;
 use C4::Output;
 use C4::Auth;
 use C4::Breeding;
@@ -263,8 +44,7 @@
 #------------------
 # Constants
 
-my $includes = C4::Context->config('includes') ||
-       "/usr/local/www/hdl/htdocs/includes";
+
 
 # HTML colors for alternating lines
 my $lc1='#dddddd';
@@ -299,7 +79,7 @@
        while (<$uploadmarc>) {
                $marcrecord.=$_;
        }
-       my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported) = 
ImportBreeding($marcrecord,$overwrite_biblio,$filename,$syntax,int(rand(99999)));
+       my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported) = 
ImportBreeding($marcrecord,$overwrite_biblio,$filename,$syntax,"");
 
        $template->param(imported => $imported,
                                                        alreadyindb => 
$alreadyindb,
@@ -318,11 +98,8 @@
 #---------------
 # log cleared, as marcimport is (almost) rewritten from scratch.
 # $Log: breeding.pl,v $
-# Revision 1.5  2006/07/04 14:36:52  toins
-# Head & rel_2_2 merged
-#
-# Revision 1.4  2005/05/04 08:52:13  tipaul
-# synch'ing 2.2 and head
+# Revision 1.6  2006/09/06 16:21:04  tgarip1957
+# Clean up before final commits
 #
 # Revision 1.2.4.1  2005/04/07 10:10:52  tipaul
 # copying processz3950queue from 2.0 branch. The 2.2 version misses an 
important fix

Index: koha-tmpl/intranet-tmpl/prog/en/acqui/basket.tmpl
===================================================================
RCS file: /sources/koha/koha/koha-tmpl/intranet-tmpl/prog/en/acqui/basket.tmpl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- koha-tmpl/intranet-tmpl/prog/en/acqui/basket.tmpl   2 Aug 2006 08:24:26 
-0000       1.7
+++ koha-tmpl/intranet-tmpl/prog/en/acqui/basket.tmpl   6 Sep 2006 16:21:04 
-0000       1.8
@@ -1,8 +1,8 @@
 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- <!-- TMPL_UNLESS 
name="basketno" -->New <!-- /TMPL_UNLESS -->Shopping Basket (<!-- TMPL_VAR 
NAME="basketno" -->) for <!-- TMPL_VAR NAME="name" --><!-- TMPL_INCLUDE 
NAME="doc-head-close.inc" -->
-
 <!-- TMPL_INCLUDE NAME="menus.inc" -->
 <!-- TMPL_INCLUDE NAME="menu-acqui.inc" -->
 
+
        <h1><!-- TMPL_UNLESS name="basketno" -->New <!-- /TMPL_UNLESS 
-->Shopping Basket <!-- TMPL_VAR NAME="basketno" --> for <a 
href="supplier.pl?id=<!-- TMPL_VAR NAME="booksellerid" -->"><!-- TMPL_VAR 
NAME="name" --></a></h1>
        <div id="acqui_basket_summary">
                <h2>Basket Details</h2>

Index: koha-tmpl/intranet-tmpl/prog/en/acqui/histsearch.tmpl
===================================================================
RCS file: 
/sources/koha/koha/koha-tmpl/intranet-tmpl/prog/en/acqui/histsearch.tmpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- koha-tmpl/intranet-tmpl/prog/en/acqui/histsearch.tmpl       20 Jan 2006 
16:04:42 -0000      1.3
+++ koha-tmpl/intranet-tmpl/prog/en/acqui/histsearch.tmpl       6 Sep 2006 
16:21:04 -0000       1.4
@@ -1,9 +1,9 @@
 <!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Koha -- Search order
 <!-- TMPL_INCLUDE NAME="doc-head-close-calendar.inc" -->
-
 <!-- TMPL_INCLUDE NAME="menus.inc" -->
 <!-- TMPL_INCLUDE NAME="menu-acqui.inc" -->
 
+
        <h1>Order search</h1>
        <div id="acqui_histsearch">
                <form action="/cgi-bin/koha/acqui/histsearch.pl" method="post">

Index: misc/merge_authority.pl
===================================================================
RCS file: /sources/koha/koha/misc/merge_authority.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- misc/merge_authority.pl     1 Mar 2005 13:41:26 -0000       1.2
+++ misc/merge_authority.pl     6 Sep 2006 16:21:04 -0000       1.3
@@ -1,28 +1,26 @@
 #!/usr/bin/perl
-# script that rebuild thesaurus from biblio table.
+
 
 use strict;
 
 # Koha modules used
-use MARC::File::USMARC;
-use MARC::Record;
-use MARC::Batch;
 use C4::Context;
 use C4::Biblio;
-use C4::AuthoritiesMarc;
+use C4::AuthoritiesMarc; ###merge routine moved to there
 use Time::HiRes qw(gettimeofday);
 
 use Getopt::Long;
-my ($version, $verbose, $mergefrom,$mergeto,$noconfirm);
+my ($version, $verbose, $mergefrom,$mergeto,$noconfirm,$batch);
 GetOptions(
     'h' => \$version,
     'f:s' => \$mergefrom,
     't:s' => \$mergeto,
     'v' => \$verbose,
        'n' => \$noconfirm,
+       'b' => \$batch,
 );
 
-if ($version || ($mergefrom eq '')) {
+if ($version || ($mergefrom eq '' && !$batch)) {
        print <<EOF
 Script to merge an authority into another
 parameters :
@@ -30,6 +28,7 @@
 \tv : verbose mode (show many things on screen)
 \tf : the authority number to merge (the one that can be deleted after the 
merge).
 \tt : the authority number where to merge
+\tb : batch merging.
 \tn : don't ask for confirmation (useful for batch mergings, should not be 
used on command line)
 
 All biblios with the authority in -t will be modified to be "connected" to 
authority -f
@@ -37,80 +36,48 @@
 ./merge_authority.pl -f 2457 -t 531
 
 Before doing anything, the script will show both authorities and ask for 
confirmation. Of course, you can merge only 2 authorities of the same kind.
+
+BATCH MODE :
+The batch mode is done to report modifs. On every authority modif, a file is 
generated in KOHAROOT/localfile/modified_authorities/ If this script is called 
with -b, it parses the directory, finding & updating biblios using the modified 
authority.
+
+./merge_authority.pl -b
+
+(don't forget to export PERL5LIB and KOHA_CONF. Here is my cron job :
+SHELL=/bin/bash
+*/5 * * * *       export PERL5LIB=/home/httpd/koha;export 
KOHA_CONF=/etc/mykoha.conf;/home/httpd/koha/scripts/misc/merge_authority.pl -b 
-n
+
 EOF
 ;#
-die;
-}#/'
+exit;
+}#
 
 my $dbh = C4::Context->dbh;
 # my @subf = $subfields =~ /(##\d\d\d##.)/g;
 
 $|=1; # flushes output
-my $authfrom = AUTHgetauthority($dbh,$mergefrom);
-my $authto = AUTHgetauthority($dbh,$mergeto);
-
-my $authtypecodefrom = AUTHfind_authtypecode($dbh,$mergefrom);
-my $authtypecodeto = AUTHfind_authtypecode($dbh,$mergeto);
-
-unless ($noconfirm) {
-       print "************\n";
-       print "You will merge authority : $mergefrom 
($authtypecodefrom)\n".$authfrom->as_formatted;
-       print "\n*************\n";
-       print "Into authority : $mergeto 
($authtypecodeto)\n".$authto->as_formatted;
-       print "\n\nDo you confirm (enter YES)?";
-       my $confirm = <STDIN>;
-       chop $confirm;
-       unless (uc($confirm) eq 'YES' and $authtypecodefrom eq $authtypecodeto) 
{
-               print "IMPOSSIBLE : authorities are not of the same type 
($authtypecodefrom vs $authtypecodeto) !!!\n" if $authtypecodefrom ne 
$authtypecodeto;
-               print "Merge cancelled\n";
-               exit;
-       }
-}
 my $starttime = gettimeofday;
-print "Merging\n" unless $noconfirm;
-
-# search the tag to report
-my $sth = $dbh->prepare("select auth_tag_to_report from auth_types where 
authtypecode=?");
-$sth->execute($authtypecodefrom);
-my ($auth_tag_to_report) = $sth->fetchrow;
-# my $record_to_report = $authto->field($auth_tag_to_report);
-print "Reporting authority tag $auth_tag_to_report :\n" if $verbose;
-my @record_to = $authto->field($auth_tag_to_report)->subfields();
-my @record_from = $authfrom->field($auth_tag_to_report)->subfields();
-
-# search all biblio tags using this authority.
-$sth = $dbh->prepare("select distinct tagfield from marc_subfield_structure 
where authtypecode=?");
-$sth->execute($authtypecodefrom);
-my $tags_using_authtype;
-while (my ($tagfield) = $sth->fetchrow) {
-       $tags_using_authtype.= "'".$tagfield."',";
-}
-chop $tags_using_authtype;
-# now, find every biblio using this authority
-my $query = "select 
bibid,tag,tag_indicator,tagorder,subfieldcode,subfieldorder from 
marc_subfield_table where tag in ($tags_using_authtype) and subfieldcode='9' 
and subfieldvalue='$mergefrom'";
-$sth = $dbh->prepare($query);
-$sth->execute;
-my $nbdone;
-# and delete entries before recreating them
-while (my ($bibid,$tag,$tag_indicator,$tagorder,$subfieldcode,$subfieldorder) 
= $sth->fetchrow) {
-       my $biblio = MARCgetbiblio($dbh,$bibid);
-       print "BEFORE : ".$biblio->as_formatted."\n" if $verbose;
-       # now, we know what uses the authority & where.
-       # delete all subfields that are in the same tag/tagorder and that are 
in the authority (& that are not in tab ignore in the biblio)
-       # then recreate them with the new authority.
-       foreach my $subfield (@record_from) {
-               &MARCdelsubfield($dbh,$bibid,$tag,$tagorder,$subfield->[0]);
+if ($batch) {
+       my @authlist;
+       my $cgidir = C4::Context->intranetdir ."/cgi-bin";
+       unless (opendir(DIR, "$cgidir/localfile/modified_authorities")) {
+               $cgidir = C4::Context->intranetdir;
+               opendir(DIR, "$cgidir/localfile/modified_authorities") || die 
"can't opendir $cgidir/localfile/modified_authorities: $!";
        }
-       &MARCdelsubfield($dbh,$bibid,$tag,$tagorder,'9');
-       foreach my $subfield (@record_to) {
-               
&MARCaddsubfield($dbh,$bibid,$tag,$tag_indicator,$tagorder,$subfield->[0],$subfieldorder,$subfield->[1]);
+       while (my $authid = readdir(DIR)) {
+               if ($authid =~ /\.authid$/) {
+                       $authid =~ s/\.authid$//;
+                       print "managing $authid\n" if $verbose;
+                       my $MARCauth = XMLgetauthorityhash($dbh,$authid);
+                       &merge($dbh,$authid,$MARCauth,$authid,$MARCauth) if 
($MARCauth);
+                       unlink 
$cgidir.'/localfile/modified_authorities/'.$authid.'.authid';
        }
-       
&MARCaddsubfield($dbh,$bibid,$tag,$tag_indicator,$tagorder,'9',$subfieldorder,$mergeto);
-       my $biblio = MARCgetbiblio($dbh,$bibid);
-       print "AFTER : ".$biblio->as_formatted."\n" if $verbose;
-       $nbdone++;
-#      
&MARCdelsubfield($dbh,$bibid,$tag,$tagorder,$subfieldcode,$subfieldorder);
-       
+       }
+       closedir DIR;
+} else {
+       my $MARCfrom = XMLgetauthorityhash($dbh,$mergefrom);
+       my $MARCto = XMLgetauthorityhash($dbh,$mergeto);
+       &merge($dbh,$mergefrom,$MARCfrom,$mergeto,$MARCto);
 }
 my $timeneeded = gettimeofday - $starttime;
-print "$nbdone authorities done in $timeneeded seconds" unless $noconfirm;
\ No newline at end of file
+print "Done in $timeneeded seconds" unless $noconfirm;
+

Index: serials/acqui-search-result.pl
===================================================================
RCS file: /sources/koha/koha/serials/acqui-search-result.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- serials/acqui-search-result.pl      27 Jul 2006 13:58:33 -0000      1.4
+++ serials/acqui-search-result.pl      6 Sep 2006 16:21:04 -0000       1.5
@@ -20,7 +20,7 @@
 # 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.4 2006/07/27 13:58:33 toins Exp $
+# $Id: acqui-search-result.pl,v 1.5 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -43,14 +43,12 @@
 use strict;
 use C4::Auth;
 use C4::Biblio;
-use C4::Output;
 use CGI;
 use C4::Interface::CGI::Output;
-use C4::Database;
-use HTML::Template;
 use C4::Acquisition;
 use C4::Date;
 use C4::Bookseller;
+use C4::Acquisition;
 
 my $query=new CGI;
 my ($template, $loggedinuser, $cookie)

Index: serials/acqui-search.pl
===================================================================
RCS file: /sources/koha/koha/serials/acqui-search.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- serials/acqui-search.pl     27 Jul 2006 13:57:57 -0000      1.4
+++ serials/acqui-search.pl     6 Sep 2006 16:21:04 -0000       1.5
@@ -17,16 +17,16 @@
 # 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.4 2006/07/27 13:57:57 toins Exp $
+# $Id: acqui-search.pl,v 1.5 2006/09/06 16:21:04 tgarip1957 Exp $
 
 use strict;
 use CGI;
 use C4::Auth;
 use C4::Output;
 use C4::Interface::CGI::Output;
-use C4::Database;
-use HTML::Template;
+
 use C4::Bookfund;
+use C4::Acquisition;
 my $query = new CGI;
 
 my ($template, $loggedinuser, $cookie)
@@ -38,8 +38,8 @@
                             debug => 1,
                             });
 
-# FIXME : Is this page still used ????
-# looks like no.
+
+
 
 # budget
 my $dbh = C4::Context->dbh;
@@ -77,8 +77,8 @@
 my @loop_currency = ();
 for (my $i=0;$i<$count;$i++){
        my %line;
-       $line{currency} = $rates->[$i]->{'currency'};
-       $line{rate} = $rates->[$i]->{'rate'};
+       $line{currency} = $rates[$i]->{'currency'};
+       $line{rate} = $rates[$i]->{'rate'};
        push @loop_currency, \%line;
 }
 $template->param(classlist => $classlist,
@@ -88,6 +88,10 @@
                                                total => sprintf("%.2f",$total),
                                                totspent => 
sprintf("%.2f",$totspent),
                                                totcomtd => 
sprintf("%.2f",$totcomtd),
-                                               totavail => 
sprintf("%.2f",$totavail));
+                                               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: serials/claims.pl
===================================================================
RCS file: /sources/koha/koha/serials/claims.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/claims.pl   20 Jul 2006 03:24:49 -0000      1.1
+++ serials/claims.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -5,11 +5,10 @@
 use C4::Auth;
 use C4::Serials;
 use C4::Acquisition;
-use C4::Output;
+
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
-use Data::Dumper;
+
 
 my $query = new CGI;
 

Index: serials/distributedto.pl
===================================================================
RCS file: /sources/koha/koha/serials/distributedto.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- serials/distributedto.pl    12 Jul 2006 16:47:15 -0000      1.2
+++ serials/distributedto.pl    6 Sep 2006 16:21:04 -0000       1.3
@@ -17,7 +17,7 @@
 # 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.2 2006/07/12 16:47:15 toins Exp $
+# $Id: distributedto.pl,v 1.3 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -52,10 +52,10 @@
 use C4::Date;
 use C4::Auth;
 use C4::Context;
-use C4::Output;
+
 use C4::Interface::CGI::Output;
 use C4::Search;
-use HTML::Template;
+
 use C4::Serials;
 use C4::Members;
 

Index: serials/lateissues-excel.pl
===================================================================
RCS file: /sources/koha/koha/serials/lateissues-excel.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/lateissues-excel.pl 20 Jul 2006 03:23:49 -0000      1.1
+++ serials/lateissues-excel.pl 6 Sep 2006 16:21:04 -0000       1.2
@@ -8,8 +8,7 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
-# use Date::Manip;
+
 use Text::CSV_XS;
 
 

Index: serials/lateissues.pl
===================================================================
RCS file: /sources/koha/koha/serials/lateissues.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- serials/lateissues.pl       27 Jul 2006 13:58:56 -0000      1.7
+++ serials/lateissues.pl       6 Sep 2006 16:21:04 -0000       1.8
@@ -17,7 +17,7 @@
 # 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.7 2006/07/27 13:58:56 toins Exp $
+# $Id: lateissues.pl,v 1.8 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -43,10 +43,8 @@
 use C4::Auth;
 use C4::Serials;
 use C4::Acquisition;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
 use C4::Bookseller;
 
 my $query = new CGI;

Index: serials/member-search.pl
===================================================================
RCS file: /sources/koha/koha/serials/member-search.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/member-search.pl    20 Jul 2006 03:22:59 -0000      1.1
+++ serials/member-search.pl    6 Sep 2006 16:21:04 -0000       1.2
@@ -6,11 +6,9 @@
 use C4::Koha;
 use C4::Auth;
 use C4::Date;
-use C4::Output;
 use C4::Acquisition;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
 use C4::Search;
 use C4::Serials;
 

Index: serials/printlist.pl
===================================================================
RCS file: /sources/koha/koha/serials/printlist.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/printlist.pl        12 Jul 2006 16:40:12 -0000      1.1
+++ serials/printlist.pl        6 Sep 2006 16:21:04 -0000       1.2
@@ -18,7 +18,7 @@
 # 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 2006/07/12 16:40:12 toins Exp $
+# $Id: printlist.pl,v 1.2 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -40,11 +40,10 @@
 
 =cut
 
-use HTML::Template;
+
 use strict;
 require Exporter;
 use C4::Context;
-use C4::Output;  # contains gettemplate
 use CGI;
 use C4::Auth;
 use C4::Serials;

Index: serials/reorder_members.pl
===================================================================
RCS file: /sources/koha/koha/serials/reorder_members.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/reorder_members.pl  20 Jul 2006 03:22:15 -0000      1.1
+++ serials/reorder_members.pl  6 Sep 2006 16:21:04 -0000       1.2
@@ -6,17 +6,12 @@
 # printed out
 use strict;
 use CGI;
-use C4::Koha;
-use C4::Auth;
-use C4::Date;
-use C4::Output;
+
 use C4::Acquisition;
 use C4::Interface::CGI::Output;
-use C4::Context;
-use HTML::Template;
-use C4::Search;
+
 use C4::Serials;
-use Data::Dumper;
+
 
 my $query = new CGI;
 my $subscriptionid = $query->param('subscriptionid');

Index: serials/routing-preview.pl
===================================================================
RCS file: /sources/koha/koha/serials/routing-preview.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/routing-preview.pl  20 Jul 2006 03:21:31 -0000      1.1
+++ serials/routing-preview.pl  6 Sep 2006 16:21:04 -0000       1.2
@@ -14,7 +14,6 @@
 use C4::Circulation::Circ2;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
 use C4::Search;
 use C4::Serials;
 

Index: serials/routing.pl
===================================================================
RCS file: /sources/koha/koha/serials/routing.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/routing.pl  20 Jul 2006 03:20:55 -0000      1.1
+++ serials/routing.pl  6 Sep 2006 16:21:04 -0000       1.2
@@ -9,11 +9,9 @@
 use C4::Koha;
 use C4::Auth;
 use C4::Date;
-use C4::Output;
 use C4::Acquisition;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
 use C4::Search;
 use C4::Serials;
 

Index: serials/serial-issues.pl
===================================================================
RCS file: /sources/koha/koha/serials/serial-issues.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- serials/serial-issues.pl    12 Jul 2006 16:45:20 -0000      1.3
+++ serials/serial-issues.pl    6 Sep 2006 16:21:04 -0000       1.4
@@ -17,7 +17,7 @@
 # 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.3 2006/07/12 16:45:20 toins Exp $
+# $Id: serial-issues.pl,v 1.4 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -51,7 +51,7 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
+
 
 my $query = new CGI;
 my $dbh = C4::Context->dbh;
@@ -110,4 +110,8 @@
         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/serials-home.pl
===================================================================
RCS file: /sources/koha/koha/serials/serials-home.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- serials/serials-home.pl     20 Jul 2006 06:09:02 -0000      1.5
+++ serials/serials-home.pl     6 Sep 2006 16:21:04 -0000       1.6
@@ -17,7 +17,7 @@
 # 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.5 2006/07/20 06:09:02 bob_lyon Exp $
+# $Id: serials-home.pl,v 1.6 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -46,10 +46,8 @@
 use CGI;
 use C4::Auth;
 use C4::Serials;
-use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
 
 my $query = new CGI;
 my $title = $query->param('title');

Index: serials/subscription-add.pl
===================================================================
RCS file: /sources/koha/koha/serials/subscription-add.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- serials/subscription-add.pl 11 Aug 2006 16:33:53 -0000      1.6
+++ serials/subscription-add.pl 6 Sep 2006 16:21:04 -0000       1.7
@@ -17,7 +17,7 @@
 # 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.6 2006/08/11 16:33:53 tipaul Exp $
+# $Id: subscription-add.pl,v 1.7 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -49,25 +49,24 @@
 use C4::Koha;
 use C4::Auth;
 use C4::Date;
-use C4::Output;
 use C4::Serials;
 use C4::Bookfund;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
 use C4::Letters;
 use C4::Members;
+use Date::Manip;
 
 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,
-    $dow, $numberlength, $weeklength, $monthlength,
+    $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,
-    $bibliotitle, $notes, $letter);
+    $title, $notes, $letter,$callnumber,$hemisphere);
 
     my @budgets;
 my ($template, $loggedinuser, $cookie)
@@ -79,6 +78,29 @@
                 debug => 1,
                 });
 
+my $weekarrayjs='';
+my $count = 0;
+my ($year, $month, $day) = UnixDate("today", "%Y", "%m", "%d");
+my $firstday = Date_DayOfYear($month,$day,$year);
+my $wkno = Date_WeekOfYear($month,$day,$year,1); # week starting monday
+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 ($y,$m,$d) = Date_NthDayOfYear($year,$count);
+        my $output = "$y-$m-$d";
+        $weekarrayjs .= "'Wk $wkno: ".format_date($output)."',";
+        $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);
@@ -91,11 +113,36 @@
     $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'};
@@ -117,7 +164,9 @@
     $numberingmethod = $subs->{'numberingmethod'};
     $status = $subs->{status};
     $biblionumber = $subs->{'biblionumber'};
-    $bibliotitle = $subs->{'bibliotitle'},
+    $title = $subs->{'title'},
+           $callnumber = $subs->{'callnumber'};
+           $hemisphere = $subs->{'hemisphere'};
     $notes = $subs->{'notes'};
     $letter = $subs->{'letter'};
     defined $letter or $letter='';
@@ -131,11 +180,14 @@
         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,
@@ -157,12 +209,17 @@
         numberingmethod => $numberingmethod,
         status => $status,
         biblionumber => $biblionumber,
-        bibliotitle => $bibliotitle,
+        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,
         );
 }
 
@@ -173,16 +230,37 @@
 $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 = $query->param('numberlength');
-    my $weeklength = $query->param('weeklength');
-    my $monthlength = $query->param('monthlength');
+       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');
@@ -203,14 +281,29 @@
     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
-                );
+                    $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: serials/subscription-bib-search.pl
===================================================================
RCS file: /sources/koha/koha/serials/subscription-bib-search.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- serials/subscription-bib-search.pl  13 Jul 2006 08:13:37 -0000      1.3
+++ serials/subscription-bib-search.pl  6 Sep 2006 16:21:04 -0000       1.4
@@ -18,85 +18,45 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-
-=head1 NAME
-
-subscription-bib-search.pl
-
-=head1 DESCRIPTION
-
-this script search among all existing subscriptions.
-
-=head1 PARAMETERS
-
-=over 4
-
-=item op
-op use to know the operation to do on this template.
- * do_search : to search the subscription.
-
-Note that if op = do_search there are some others params specific to the 
search :
-    marclist,and_or,excluding,operator,value
-
-=item startfrom
-to multipage gestion.
-
-
-=back
-
-=cut
-
-
 use strict;
-require Exporter;
+
 use CGI;
 use C4::Koha;
 use C4::Auth;
-use HTML::Template;
 use C4::Context;
-use C4::Output;
+use C4::Search;
+use C4::Auth;
 use C4::Interface::CGI::Output;
-use C4::SearchMarc;
+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 $type=$query->param('type');
 my $op = $query->param('op');
 my $dbh = C4::Context->dbh;
 
 my $startfrom=$query->param('startfrom');
-$startfrom=0 unless $startfrom;
+$startfrom=0 if(!defined $startfrom);
 my ($template, $loggedinuser, $cookie);
 my $resultsperpage;
 
 if ($op eq "do_search") {
-    my @marclist = $query->param('marclist');
+       my @kohafield = $query->param('kohafield');
     my @and_or = $query->param('and_or');
-    my @excluding = $query->param('excluding');
-    my @operator = $query->param('operator');
+       my @relation = $query->param('relation');
     my @value = $query->param('value');
-
+       my $order=$query->param('order');
     $resultsperpage= $query->param('resultsperpage');
-    $resultsperpage = 19 if(!defined $resultsperpage);
-    my $orderby = $query->param('orderby');
-
+       $resultsperpage = 9 if(!defined $resultsperpage);
     # builds tag and subfield arrays
-    my @tags;
 
-    foreach my $marc (@marclist) {
-        if ($marc) {
-            my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,$marc);
-            if ($tag) {
-                push @tags,$dbh->quote("$tag$subfield");
-            } else {
-                push @tags, $dbh->quote(substr($marc,0,4));
-            }
-        } else {
-            push @tags, "";
-        }
-    }
-    my ($results,$total) = catalogsearch($dbh, address@hidden,address@hidden,
-                               address@hidden, address@hidden, address@hidden,
-                               $startfrom*$resultsperpage, 
$resultsperpage,$orderby);
+       my ($total,@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",
@@ -118,12 +78,11 @@
     my @field_data = ();
 
 
-    for(my $i = 0 ; $i <= $#marclist ; $i++)
+       for(my $i = 0 ; $i <= $#value ; $i++)
     {
-        push @field_data, { term => "marclist", val=>$marclist[$i] };
+               push @field_data, { term => "kohafield", val=>$kohafield[$i] };
         push @field_data, { term => "and_or", val=>$and_or[$i] };
-        push @field_data, { term => "excluding", val=>$excluding[$i] };
-        push @field_data, { term => "operator", val=>$operator[$i] };
+               push @field_data, { term => "relation", val=>$relation[$i] };
         push @field_data, { term => "value", val=>$value[$i] };
     }
 
@@ -154,7 +113,7 @@
     } else {
         $to = (($startfrom+1)*$resultsperpage);
     }
-    $template->param(result => $results,
+       $template->param(result => address@hidden,
                             startfrom=> $startfrom,
                             displaynext=> $displaynext,
                             displayprev=> $displayprev,
@@ -176,23 +135,36 @@
                 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  %itemtypes = GetItemTypes();
-    my @values = values %itemtypes;
-    my $CGIitemtype=CGI::scrolling_list(
-            -name     => 'value',
-            -values   => address@hidden,
+       my $CGIitemtype=CGI::scrolling_list( -name     => 'value',
+                               -values   => address@hidden,
             -labels   => \%itemtypes,
             -size     => 1,
-            -multiple => 0
-    );
+                               -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:

Index: serials/subscription-detail.pl
===================================================================
RCS file: /sources/koha/koha/serials/subscription-detail.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- serials/subscription-detail.pl      12 Jul 2006 16:41:35 -0000      1.3
+++ serials/subscription-detail.pl      6 Sep 2006 16:21:04 -0000       1.4
@@ -1,51 +1,5 @@
 #!/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: subscription-detail.pl,v 1.3 2006/07/12 16:41:35 toins Exp $
-
-=head1 NAME
-
-subscription-details.pl
-
-=head1 DESCRIPTION
-
-this script display the detail of a subscription given on input arg.
-
-=head1 Parameters
-
-=over 4
-
-=item op
-op use to know the operation to do on this template.
- * modsubscription : to modify the subscription.
- * del : to delete this subscription.
-
-Note that if op = modsubscription there are a lot of other parameters.
-
-=item subscriptionid
-The subscription this script has to dislay
-
-=back
-
-=cut
-
-
 use strict;
 use CGI;
 use C4::Auth;
@@ -55,77 +9,36 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use C4::Context;
-use HTML::Template;
+use Date::Manip;
 
 my $query = new CGI;
-my $op = $query->param('op') || '';
+my $op = $query->param('op');
 my $dbh = C4::Context->dbh;
 my $sth;
 # my $id;
-my ($template, $loggedinuser, $cookie, $subs, $user, $sessionID, $flags);
+my ($template, $loggedinuser, $cookie, $subs);
 my ($subscriptionid,$auser,$librarian,$cost,$aqbooksellerid, 
$aqbooksellername,$aqbudgetid, $bookfundid, $startdate, $periodicity,
-    $dow, $numberlength, $weeklength, $monthlength,
+       $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, $notes,$letter);
+       $numberingmethod, $status, $biblionumber, $bibliotitle, $callnumber, 
$notes, $hemisphere);
 
 $subscriptionid = $query->param('subscriptionid');
 
-if ($op eq 'modsubscription') {
-    $auser = $query->param('user');
-    $librarian = $query->param('librarian');
-    $cost = $query->param('cost');
-    $aqbooksellerid = $query->param('aqbooksellerid');
-    $biblionumber = $query->param('biblionumber');
-    $aqbudgetid = $query->param('aqbudgetid');
-    $startdate = format_date_in_iso($query->param('startdate'));
-    $periodicity = $query->param('periodicity');
-    $dow = $query->param('dow');
-    $numberlength = $query->param('numberlength');
-    $weeklength = $query->param('weeklength');
-    $monthlength = $query->param('monthlength');
-    $add1 = $query->param('add1');
-    $every1 = $query->param('every1');
-    $whenmorethan1 = $query->param('whenmorethan1');
-    $setto1 = $query->param('setto1');
-    $lastvalue1 = $query->param('lastvalue1');
-    $innerloop1 = $query->param('innerloop1');
-    $add2 = $query->param('add2');
-    $every2 = $query->param('every2');
-    $whenmorethan2 = $query->param('whenmorethan2');
-    $setto2 = $query->param('setto2');
-    $lastvalue2 = $query->param('lastvalue2');
-    $innerloop2 = $query->param('innerloop2');
-    $add3 = $query->param('add3');
-    $every3 = $query->param('every3');
-    $whenmorethan3 = $query->param('whenmorethan3');
-    $setto3 = $query->param('setto3');
-    $lastvalue3 = $query->param('lastvalue3');
-    $innerloop3 = $query->param('innerloop3');
-    $numberingmethod = $query->param('numberingmethod');
-    $status = 1;
-    $notes = $query->param('notes');
-    $letter = $query->param('letter');
-
-    &ModSubscription($auser,$aqbooksellerid,$cost,$aqbudgetid,$startdate,
-                    $periodicity,$dow,$numberlength,$weeklength,$monthlength,
-                    
$add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
-                    
$add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
-                    
$add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
-                    $numberingmethod, $status, $biblionumber, $notes, $letter, 
$subscriptionid);
-}
 
 if ($op eq 'del') {
-    &DelSubscription($subscriptionid);
-    print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; 
URL=../serials-home.pl\"></html>";
+$biblionumber = $query->param('biblionumber');
+       &DelSubscription($subscriptionid,$biblionumber);
+       $query->redirect("/cgi-bin/koha/serials/serials-home.pl");
     exit;
+
 }
-$subs = &GetSubscription($subscriptionid);
-# html'ize distributedto
-$subs->{distributedto}=~ s/\n/<br \/>/g;
+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",
@@ -136,9 +49,28 @@
                 debug => 1,
                 });
 
-($user, $cookie, $sessionID, $flags) = checkauth($query, 0, {catalogue => 1}, 
"intranet");
+my ($user, $cookie, $sessionID, $flags)
+       = checkauth($query, 0, {catalogue => 1}, "intranet");
+
+my $weekarrayjs='';
+my $count = 0;
+my ($year, $month, $day) = UnixDate("today", "%Y", "%m", "%d");
+my $firstday = Date_DayOfYear($month,$day,$year);
+my $wkno = Date_WeekOfYear($month,$day,$year,1); # week starting monday
+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 ($y,$m,$d) = Date_NthDayOfYear($year,$count);
+            my $output = "$y-$m-$d";
+            $weekarrayjs .= "'Wk $wkno: ".format_date($output)."',";
+            $wkno++;
+    }
+chop($weekarrayjs);
 
 $template->param(
+        routing => $routing,
     user => $subs->{auser},
     librarian => $subs->{librarian},
     aqbooksellerid => $subs->{aqbooksellerid},
@@ -147,11 +79,14 @@
     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},
@@ -170,19 +105,24 @@
     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},
-    letter => $subs->{letter},
-    distributedto => $subs->{distributedto},
     subscriptionid => $subs->{subscriptionid},
     serialslist => address@hidden,
     totalissues => $totalissues,
+        hemisphere => $hemisphere,
+       );
+$template->param(
     "periodicity$subs->{periodicity}" => 1,
-    "arrival$subs->{dow}" => 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: serials/subscription-renew.pl
===================================================================
RCS file: /sources/koha/koha/serials/subscription-renew.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- serials/subscription-renew.pl       20 Jul 2006 03:19:28 -0000      1.2
+++ serials/subscription-renew.pl       6 Sep 2006 16:21:04 -0000       1.3
@@ -18,7 +18,7 @@
 # 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.2 2006/07/20 03:19:28 bob_lyon Exp $
+# $Id: subscription-renew.pl,v 1.3 2006/09/06 16:21:04 tgarip1957 Exp $
 
 =head1 NAME
 
@@ -52,7 +52,6 @@
 use C4::Koha;
 use C4::Auth;
 use C4::Date;
-use HTML::Template;
 use C4::Context;
 use C4::Search;
 use C4::Auth;

Index: serials/viewalerts.pl
===================================================================
RCS file: /sources/koha/koha/serials/viewalerts.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- serials/viewalerts.pl       12 Jul 2006 16:40:56 -0000      1.1
+++ serials/viewalerts.pl       6 Sep 2006 16:21:04 -0000       1.2
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: viewalerts.pl,v 1.1 2006/07/12 16:40:56 toins Exp $
+# $Id: viewalerts.pl,v 1.2 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -22,10 +22,10 @@
 use strict;
 use C4::Auth;
 use C4::Context;
-use C4::Output;
+
 use CGI;
 use C4::Interface::CGI::Output;
-use C4::Interface::CGI::Template;
+
 use C4::Koha;
 use C4::Letters;
 use C4::Serials;
@@ -34,7 +34,7 @@
 
 my $input = new CGI;
 my $print = $input->param('print');
-my $template_name;
+
 
 my ($template, $loggedinuser, $cookie)
     = get_template_and_user({template_name => 'serials/viewalerts.tmpl',

Index: value_builder/marc21_leader.pl
===================================================================
RCS file: /sources/koha/koha/value_builder/marc21_leader.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- value_builder/marc21_leader.pl      4 Jul 2006 14:36:52 -0000       1.4
+++ value_builder/marc21_leader.pl      6 Sep 2006 16:21:04 -0000       1.5
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: marc21_leader.pl,v 1.4 2006/07/04 14:36:52 toins Exp $
+# $Id: marc21_leader.pl,v 1.5 2006/09/06 16:21:04 tgarip1957 Exp $
 
 # Copyright 2000-2002 Katipo Communications
 #
@@ -23,9 +23,7 @@
 use C4::Auth;
 use CGI;
 use C4::Context;
-use HTML::Template;
-use C4::Search;
-use C4::Output;
+
 
 =head1
 
@@ -46,7 +44,7 @@
     for (i=0 ; i<document.f.field_value.length ; i++) {
                if (document.f.tag[i].value == '000') {
                        if (!document.f.field_value[i].value) {
-                               document.f.field_value[i].value = '     nam a22 
    7a 4500';
+                               document.f.field_value[i].value = '     naa a22 
    7ar4500';
                        }
                }
        }
@@ -59,7 +57,7 @@
 
 function Clic$function_name(i) {
        defaultvalue=document.forms['f'].field_value[i].value;
-       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_leader.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc
 field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_leader.pl&index=\"+i+\"&result=\"+defaultvalue,\"\",'width=400,height=400,toolbar=false,scrollbars=yes');
 
 }
 </script>
@@ -86,7 +84,7 @@
                             flagsrequired => {editcatalogue => 1},
                             debug => 1,
                             });
-       $result = "     nam                 " unless $result;
+       $result = "     naa a22     7ar4500" unless $result;
        my $f5 = substr($result,5,1);
        my $f6 = substr($result,6,1);
        my $f7 = substr($result,7,1);

Index: circ/renewscript.pl
===================================================================
RCS file: circ/renewscript.pl
diff -N circ/renewscript.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ circ/renewscript.pl 6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,70 @@
+#!/usr/bin/perl
+
+# $Id: renewscript.pl,v 1.1 2006/09/06 16:21:04 tgarip1957 Exp $
+
+#written 18/1/2000 by address@hidden
+#script to renew items from the web
+
+
+# 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 CGI;
+use C4::Circulation::Circ2;
+use C4::Date;
+use C4::Members;
+#get input
+my $input= new CGI;
+
+
+my @names=$input->param();
+my address@hidden;
+my %data;
+my $dbh = C4::Context->dbh;
+for (my $i=0;$i<$count;$i++){
+  if ($names[$i] =~ /renew/){
+    my $temp=$names[$i];
+    $temp=~ s/renew_item_//;
+    $data{$temp}=$input->param($names[$i]);
+  }
+}
+my %env;
+my $barcode;
+my $destination = $input->param("destination");
+my $cardnumber = $input->param("cardnumber");
+my $bornum=$input->param("bornum");
+my $error;
+my $status=0;
+while ( my ($itemno, $value) = each %data) {
+
+   if ($value eq 'y'){
+my $iteminformation = getiteminformation($env, $itemno,0);
+$barcode=$iteminformation->{'barcode'};
+        $status=renewstatus(\%env,$bornum,$itemno);
+       if ($status==1){
+     renewbook($env,$bornum,$itemno);  
+       }else{
+       last;
+       }   
+}
+}
+
+if($destination eq "circ" || $status>1){
+       print 
$input->redirect("/cgi-bin/koha/circ/circulation.pl?bornum=$bornum&error=$status&barcode=$barcode");
+} else {
+       print 
$input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$bornum");
+}
\ No newline at end of file

Index: circ/rescirculation.pl
===================================================================
RCS file: circ/rescirculation.pl
diff -N circ/rescirculation.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ circ/rescirculation.pl      6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,467 @@
+#!/usr/bin/perl
+
+# Please use 8-character tabs for this file (indents are every 4 characters)
+
+#written 8/5/2002 by Finlay
+#script to execute issuing of books
+# New functions added 07-08-2005 Tumer Garip address@hidden
+
+# 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::Circulation::Circ3;
+#use C4::Search;
+use C4::Output;
+use C4::Print;
+use DBI;
+use C4::Auth;
+use C4::Interface::CGI::Output;
+use C4::Koha;
+#use HTML::Template;
+use C4::Date;
+use C4::Context;
+use C4::Members;
+#
+# PARAMETERS READING
+#
+my $query=new CGI;
+
+my ($template, $loggedinuser, $cookie) = get_template_and_user
+    ({
+       template_name   => 'circ/rescirculation.tmpl',
+       query           => $query,
+       type            => "intranet",
+       authnotrequired => 0,
+       flagsrequired   => { circulate => 1 },
+    });
+my $branches = getbranches();
+my $printers = getprinters();
+#my $branch = getbranch($query, $branches);
+my $branch=C4::Context->preference("defaultBranch");
+my $printer = getprinter($query, $printers);
+
+my $findborrower = $query->param('findborrower');
+$findborrower =~ s|,| |g;
+$findborrower =~ s|'| |g;
+my $borrowernumber = $query->param('borrnumber');
+
+my $print=$query->param('print');
+my $barcode = $query->param('barcode');
+my $year=$query->param('year');
+my $month=$query->param('month');
+my $day=$query->param('day');
+my $stickyduedate=$query->param('stickyduedate');
+my $issueconfirmed = $query->param('issueconfirmed');
+my $cancelreserve = $query->param('cancelreserve');
+
+my $renew=0;
+ 
+#set up cookie.....
+my $branchcookie;
+my $printercookie;
+#if ($query->param('setcookies')) {
+#      $branchcookie = $query->cookie(-name=>'branch', -value=>"$branch", 
-expires=>'+1y');
+#      $printercookie = $query->cookie(-name=>'printer', -value=>"$printer", 
-expires=>'+1y');
+#}
+
+my %env; # FIXME env is used as an "environment" variable. Could be dropped 
probably...
+
+$env{'branchcode'}=$branch;
+$env{'printer'}=$printer;
+$env{'queue'}=$printer;
+
+my @datearr = localtime(time());
+# FIXME - Could just use POSIX::strftime("%Y%m%d", localtime);
+my $todaysdate = (1900+$datearr[5])."-".sprintf ("%0.2d", 
($datearr[4]+1))."-".sprintf ("%0.2d", ($datearr[3]));
+
+
+# check and see if we should print
+ if ($barcode eq ''  && $print eq 'maybe'){
+       $print = 'yes';
+ }
+ if ($print eq 'yes' && $borrowernumber ne ''){
+       printslip(\%env,$borrowernumber);
+       $query->param('borrnumber','');
+       $borrowernumber='';
+ }
+
+#
+# STEP 2 : FIND BORROWER
+# if there is a list of find borrowers....
+#
+my $borrowerslist;
+my $message;
+if ($findborrower) {
+       my 
($count,$borrowers)=BornameSearch(\%env,$findborrower,'cardnumber','web');
+       my @address@hidden;
+       if ($#borrowers == -1) {
+               $query->param('findborrower', '');
+               $message =  "'$findborrower'";
+       } elsif ($#borrowers == 0) {
+               $query->param('borrnumber', $borrowers[0]->{'borrowernumber'});
+               $query->param('barcode','');
+               $borrowernumber=$borrowers[0]->{'borrowernumber'};
+       } else {
+               $borrowerslist = address@hidden;
+       }
+}
+
+# get the borrower information.....
+my $borrower;
+my $bornum=$query->param('bornum');
+if ($bornum){
+$borrowernumber=$bornum;
+}
+
+if ($borrowernumber) {
+       $borrower = 
C4::Circulation::Circ2::getpatroninformation(\%env,$borrowernumber,0);
+       my ($od,$issue,$fines,$resfine)=borrdata3(\%env,$borrowernumber);
+if ($resfine >0 || $fines) {
+$template->param(
+                       flagged => 1,
+                       noissues => 'true',
+                        );
+}
+       $template->param(overduecount => $od,
+                                                       issuecount => $issue,
+                                                       finetotal => $fines,
+                                                       resfine => $resfine);
+my $picture;
+ my $htdocs = C4::Context->config('opacdir');
+
+$picture =$htdocs. 
"/htdocs/uploaded-files/users-photo/".$borrower->{'cardnumber'}.".jpg";
+ if (-e $picture)
+{ 
+
+   $template->param(borrowerphoto => 
"http://library.neu.edu.tr/uploaded-files/users-photo/".$borrower->{'cardnumber'}.".jpg");
+ }else{
+$picture = 
"http://cc.neu.edu.tr/stdpictures/".$borrower->{'cardnumber'}.".jpg";
+  $template->param(borrowerphoto => $picture);
+}
+}
+$renew=$query->param('renew');
+
+#
+# STEP 3 : ISSUING
+#
+#Try to issue
+
+if ($barcode) {
+
+       $barcode = cuecatbarcodedecode($barcode);
+#      my ($datedue, $invalidduedate) = fixdate($year, $month, $day);
+       if ($issueconfirmed) {
+                       issuebook(\%env, $borrower, $barcode, $cancelreserve);
+my ($od,$issue,$fines,$resfine)=borrdata3(\%env,$borrowernumber);
+       $template->param(overduecount => $od,
+                                                       issuecount => $issue,
+                                                       finetotal => $fines,
+                                                       resfine => $resfine);
+       } else {
+               my ($error, $question) = canbookbeissued(\%env, $borrower, 
$barcode, $year, $month, $day);
+               my $noerror=1;
+               my $noquestion = 1;
+               foreach my $impossible (keys %$error) {
+                       $template->param($impossible => $$error{$impossible},
+                                                       IMPOSSIBLE => 1);
+                       $noerror = 0;
+               }
+               foreach my $needsconfirmation (keys %$question) {
+                       $template->param($needsconfirmation => 
$$question{$needsconfirmation},
+                                                       NEEDSCONFIRMATION => 1);
+                       $noquestion = 0;
+               }
+               $template->param(day => $day,
+                                               month => $month,
+                                               year => $year);
+               if ($noerror && ($noquestion || $issueconfirmed)) {
+                       issuebook(\%env, $borrower, $barcode);
+                       my 
($od,$issue,$fines,$resfine)=borrdata3(\%env,$borrowernumber);
+                               $template->param(overduecount => $od,
+                                                       issuecount => $issue,
+                                                       finetotal => $fines,
+                                                       resfine => $resfine);
+               }
+       }
+       }#barcode
+
+
+
+
+
+##################################################################################
+# BUILD HTML
+
+# make the issued books table.....
+my $todaysissues='';
+my $previssues='';
+my @realtodayissues;
+my @realprevissues;
+my $allowborrow;
+if ($borrower) {
+# get each issue of the borrower & separate them in todayissues & previous 
issues
+       my @todaysissues;
+       my @previousissues;
+       my $issueslist = getissues($borrower);
+       
+       # split in 2 arrays for today & previous
+       foreach my $it (keys %$issueslist) {
+               my $issuedate = $issueslist->{$it}->{'timestamp'};
+               $issuedate = substr($issuedate, 0, 10);
+#warn "$todaysdate,$issuedate";
+               if ($todaysdate == $issuedate) {
+                       push @todaysissues, $issueslist->{$it};
+               } else {
+                       push @previousissues, $issueslist->{$it};
+               }
+    }
+
+
+       my $od; # overdues
+       my $togglecolor;
+       # parses today & build Template array
+       foreach my $book (sort {$b->{'timestamp'} <=> $a->{'timestamp'}} 
@todaysissues){
+               my $dd = $book->{'duetime'};
+               my $overdue = $book->{'overdue'};
+#              $dd=format_date($dd);
+#              $datedue=~s/-//g;
+               if ($overdue) {
+                       $od = 1;
+               } else {
+                       $od=0;
+               }
+               $book->{'od'}=$od;
+               $book->{'dd'}=$dd;
+               
+               if ($togglecolor) {
+                       $togglecolor=0;
+               } else {
+                       $togglecolor=1;
+               }
+               $book->{'tcolor'}=$togglecolor;
+               if ($book->{'author'} eq ''){
+                       $book->{'author'}=' ';
+               }    
+               push @realtodayissues,$book;
+       }
+
+       # parses previous & build Template array
+    foreach my $book (sort {$a->{'date_due'} cmp $b->{'date_due'}} 
@previousissues){
+               my $dd = $book->{'duedate'};
+               my $overdue = $book->{'overdue'};
+#              $dd=format_date($dd);
+               my $pcolor = '';
+               my $od = '';
+#              $datedue=~s/-//g;
+               if ($overdue) {
+                       $od = 1;
+               } else {
+                       $od = 0;
+               }
+               
+               if ($togglecolor) {
+                       $togglecolor=0;
+               } else {
+                       $togglecolor=1;
+               }
+               $book->{'dd'}=$dd; 
+               $book->{'od'}=$od;
+               $book->{'tcolor'}=$togglecolor;
+               if ($book->{'author'} eq ''){
+                       $book->{'author'}=' ';
+               }    
+               push @realprevissues,$book
+       }
+}
+
+
+my @values;
+my %labels;
+my $CGIselectborrower;
+if ($borrowerslist) {
+       foreach (sort {$a->{'surname'}.$a->{'firstname'} cmp 
$b->{'surname'}.$b->{'firstname'}} @$borrowerslist){
+               push @values,$_->{'borrowernumber'};
+               $labels{$_->{'borrowernumber'}} ="$_->{'surname'}, 
$_->{'firstname'} ... ($_->{'cardnumber'} - $_->{'categorycode'}) ...  
$_->{'streetaddress'} ";
+       }
+       $CGIselectborrower=CGI::scrolling_list( -name     => 'borrnumber',
+                               -values   => address@hidden,
+                               -labels   => \%labels,
+                               -size     => 7,
+                               -multiple => 0 );
+}
+#title
+
+my ($patrontable, $flaginfotable) = patrontable($borrower);
+my $amountold=$borrower->{flags}->{'CHARGES'}->{'message'};
+my @temp=split(/\$/,$amountold);
+$amountold=$temp[1];
+$template->param( today=>format_date($todaysdate),
+               findborrower => $findborrower,
+               borrower => $borrower,
+               borrowernumber => $borrowernumber,
+               branch => $branch,
+               printer => $printer,
+               branchname => $branches->{$branch}->{'branchname'},
+               printername => $printers->{$printer}->{'printername'},
+               firstname => $borrower->{'firstname'},
+               surname => $borrower->{'surname'},
+               categorycode => 
getborrowercategory($borrower->{'categorycode'}),
+               streetaddress => $borrower->{'streetaddress'},
+               emailaddress => $borrower->{'emailaddress'},
+               borrowernotes => $borrower->{'borrowernotes'},
+               city => $borrower->{'city'},
+               phone => $borrower->{'phone'},
+               cardnumber => $borrower->{'cardnumber'},
+               amountold => $amountold,
+               barcode => $barcode,
+               renew=>$renew,
+               stickyduedate => $stickyduedate,
+               message => $message,
+               CGIselectborrower => $CGIselectborrower,
+               todayissues => address@hidden,
+               previssues => address@hidden,
+       );
+# set return date if stickyduedate
+if ($stickyduedate) {
+       my $t_year = "year".$year;
+       my $t_month = "month".$month;
+       my $t_day = "day".$day;
+       $template->param(
+               $t_year => 1,
+               $t_month => 1,
+               $t_day => 1,
+       );
+}
+
+
+if ($branchcookie) {
+    $cookie=[$cookie, $branchcookie, $printercookie];
+}
+
+output_html_with_http_headers $query, $cookie, $template->output;
+
+####################################################################
+# Extra subroutines,,,
+
+sub patrontable {
+    my ($borrower) = @_;
+    my $flags = $borrower->{'flags'};
+    my $flaginfotable='';
+    my $flaginfotext;
+    #my $flaginfotext='';
+    my $flag;
+    my $color='';
+    foreach $flag (sort keys %$flags) {
+#      my @itemswaiting='';
+       $flags->{$flag}->{'message'}=~s/\n/<br>/g;
+       if ($flags->{$flag}->{'noissues'}) {
+               $template->param(
+                       flagged => 1,
+                       noissues => 'true',
+                        );
+               if ($flag eq 'GNA'){
+                       $template->param(
+                               gna => 'true'
+                               );
+                       }
+               if ($flag eq 'LOST'){
+                       $template->param(
+                               lost => 'true'
+                       );
+                       }
+               if ($flag eq 'DBARRED'){
+                       $template->param(
+                               dbarred => 'true'
+                       );
+                       }
+               if ($flag eq 'CHARGES') {
+                       $template->param(
+                               charges => 'true',
+                               chargesmsg => $flags->{'CHARGES'}->{'message'}
+                                );
+               }
+       } else {
+                if ($flag eq 'CHARGES') {
+                       $template->param(
+                               charges => 'true',
+                               flagged => 1,
+                               chargesmsg => $flags->{'CHARGES'}->{'message'}
+                        );
+               }
+               if ($flag eq 'WAITING') {
+                       my $items=$flags->{$flag}->{'itemlist'};
+                       my @itemswaiting;
+                       foreach my $item (@$items) {
+                       my ($iteminformation) = getiteminformation(\%env, 
$item->{'itemnumber'}, 0);
+                       $iteminformation->{'branchname'} = 
$branches->{$iteminformation->{'holdingbranch'}}->{'branchname'};
+                       push @itemswaiting, $iteminformation;
+                       }
+                       $template->param(
+                               flagged => 1,
+                               waiting => 'true',
+                               waitingmsg => $flags->{'WAITING'}->{'message'},
+                               itemswaiting => address@hidden,
+                                );
+               }
+               if ($flag eq 'ODUES') {
+                       $template->param(
+                               odues => 'true',
+                               flagged => 1,
+                               oduesmsg => $flags->{'ODUES'}->{'message'}
+                                );
+
+                       my $items=$flags->{$flag}->{'itemlist'};
+                       {
+                           my @itemswaiting;
+                       foreach my $item (@$items) {
+                               my ($iteminformation) = 
getiteminformation(\%env, $item->{'itemnumber'}, 0);
+                               push @itemswaiting, $iteminformation;
+                       }
+                       }
+                       if ($query->param('module') ne 'returns'){
+                               $template->param( nonreturns => 'true' );
+                       }
+               }
+               if ($flag eq 'NOTES') {
+                       $template->param(
+                               notes => 'true',
+                               flagged => 1,
+                               notesmsg => $flags->{'NOTES'}->{'message'}
+                                );
+               }
+       }
+    }
+    return($patrontable, $flaginfotext);
+}
+
+sub cuecatbarcodedecode {
+    my ($barcode) = @_;
+    chomp($barcode);
+    my @fields = split(/\./,$barcode);
+    my @results = map(decode($_), @fields[1..$#fields]);
+    if ($#results == 2){
+       return $results[2];
+    } else {
+       return $barcode;
+    }
+}
+
+# Local Variables:
+# tab-width: 8
+# End:

Index: circ/resreturns.pl
===================================================================
RCS file: circ/resreturns.pl
diff -N circ/resreturns.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ circ/resreturns.pl  6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,478 @@
+#!/usr/bin/perl
+# WARNING: This file contains mixed-sized tabs! (some 4-character, some 8)
+# WARNING: Currently, 4-character tabs seem to be dominant
+# WARNING: But there are still lots of 8-character tabs
+
+#written 11/3/2002 by Finlay
+#script to execute returns of books
+
+# 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::Circulation::Circ3;
+use C4::Search;
+use C4::Output;
+use C4::Print;
+use C4::Reserves2;
+use C4::Auth;
+use C4::Interface::CGI::Output;
+#use HTML::Template;
+use C4::Koha;
+use C4::Members;
+my $query = new CGI;
+
+#getting the template
+my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+    {
+        template_name   => "circ/resreturns.tmpl",
+        query           => $query,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => { circulate => 1 },
+    }
+);
+
+#####################
+#Global vars
+my %env;
+my $headerbackgroundcolor = '#99cc33';
+my $linecolor1            = '#ffffcc';
+my $linecolor2            = 'white';
+
+my $branches = getbranches();
+my $printers = getprinters( \%env );
+
+# my $branch  = getbranch( $query,  $branches );
+my $printer = getprinter( $query, $printers );
+
+#
+# Some code to handle the error if there is no branch or printer setting.....
+#
+my $branch=C4::Context->preference("defaultBranch");
+$env{'branchcode'} = $branch;
+$env{'printer'}    = $printer;
+$env{'queue'}      = $printer;
+
+# Set up the item stack ....
+my %returneditems;
+my %riduedate;
+my %riborrowernumber;
+my @inputloop;
+foreach ( $query->param ) {
+    (next) unless (/ri-(\d*)/);
+    my %input;
+    my $counter = $1;
+    (next) if ( $counter > 20 );
+    my $barcode        = $query->param("ri-$counter");
+    my $duedate        = $query->param("dd-$counter");
+    my $borrowernumber = $query->param("bn-$counter");
+    $counter++;
+
+    # decode cuecat
+    $barcode = cuecatbarcodedecode($barcode);
+
+    ######################
+    #Are these lines still useful ?
+    $returneditems{$counter}    = $barcode;
+    $riduedate{$counter}        = $duedate;
+    $riborrowernumber{$counter} = $borrowernumber;
+
+    #######################
+    $input{counter} = $counter;
+    $input{barcode} = $barcode;
+    $input{duedate} = $duedate;
+    $input{bornum}  = $borrowernumber;
+    push ( @inputloop, \%input );
+}
+
+############
+# Deal with the requests....
+if ( $query->param('resbarcode') ) {
+    my $item       = $query->param('itemnumber');
+    my $borrnum    = $query->param('borrowernumber');
+    my $resbarcode = $query->param('resbarcode');
+
+    # set to waiting....
+    my $iteminfo = getiteminformation( \%env, $item );
+    my $tobranchcd = ReserveWaiting( $item, $borrnum );
+    my $branchname = $branches->{$tobranchcd}->{'branchname'};
+    my ($borr) = getpatroninformation( \%env, $borrnum, 0 );
+    my $borcnum = $borr->{'cardnumber'};
+    my $name    =
+      $borr->{'surname'} . " " . $borr->{'title'} . " " . $borr->{'firstname'};
+    my $slip = $query->param('resslip');
+    printslip( \%env, $slip ); #removed by paul
+
+    if ( $tobranchcd ne $branch ) {
+        $template->param(
+            itemtitle  => $iteminfo->{'title'},
+            iteminfo   => $iteminfo->{'author'},
+            branchname => $branchname,
+            name       => $name,
+            bornum     => $borrnum,
+            borcnum    => $borcnum,
+            diffbranch => 1
+        );
+    }
+}
+
+my $iteminformation;
+my $borrower;
+my $returned = 0;
+my $messages;
+
+my $barcode = $query->param('barcode');
+
+# actually return book and prepare item table.....
+if ($barcode) {
+
+    # decode cuecat
+    $barcode = cuecatbarcodedecode($barcode);
+    ( $returned, $messages, $iteminformation, $borrower ) =
+      returnbook( $barcode, $branch );
+    if ($returned) {
+        $returneditems{0}    = $barcode;
+        $riborrowernumber{0} = $borrower->{'borrowernumber'};
+        $riduedate{0}        = $iteminformation->{'date_due'};
+        my %input;
+        $input{counter} = 0;
+        $input{first}   = 1;
+        $input{barcode} = $barcode;
+        $input{duedate} = $riduedate{0};
+        $input{bornum}  = $riborrowernumber{0};
+        push ( @inputloop, \%input );
+    }
+    elsif ( !$messages->{'BadBarcode'} ) {
+               if ( $messages->{'NotIssued'} ) {
+               my $dbh = C4::Context->dbh;
+               my $sth=$dbh->prepare("select date_due from issues where 
itemnumber=? and isnull(returndate)");
+               $sth->execute($iteminformation->{'itemnumber'});
+               my ($date_due) = $sth->fetchrow;
+               
+               $sth->finish;
+                       if ($date_due){ 
+                       print 
$query->redirect("/cgi-bin/koha/circ/returns.pl?barcode=$barcode");
+                       }
+               }
+        my %input;
+        $input{counter} = 0;
+        $input{first}   = 1;
+        $input{barcode} = $barcode;
+        $input{duedate} = 0;
+
+        $returneditems{0} = $barcode;
+        $riduedate{0}     = 0;
+        if ( $messages->{'wthdrawn'} ) {
+            $input{withdrawn} = 1;
+            $input{bornum}    = "Item Cancelled";
+            $riborrowernumber{0} = 'Item Cancelled';
+        }
+        else {
+            $input{bornum} = "&nbsp;";
+            $riborrowernumber{0} = '&nbsp;';
+        }
+        push ( @inputloop, \%input );
+    }
+    $template->param(
+        returned  => $returned,
+        itemtitle => $iteminformation->{'title'},
+
+        #                                                                      
itembc => $iteminformation->{'barcode'},
+        #                                                                      
itemdatedue => $iteminformation->{'date_due'},
+        itemauthor => $iteminformation->{'author'}
+    );
+}
+$template->param( inputloop => address@hidden );
+
+my $found    = 0;
+my $waiting  = 0;
+my $reserved = 0;
+
+if ( $messages->{'ResFound'} ) {
+    my $res        = $messages->{'ResFound'};
+    my $branchname = $branches->{ $res->{'branchcode'} }->{'branchname'};
+    my ($borr) = getpatroninformation( \%env, $res->{'borrowernumber'}, 0 );
+    my $name =
+      $borr->{'surname'} . " " . $borr->{'title'} . " " . $borr->{'firstname'};
+    my ($iteminfo) = getiteminformation( \%env, 0, $barcode );
+
+    if ( $res->{'ResFound'} eq "Waiting" ) {
+        $template->param(
+            found         => 1,
+            name          => $name,
+            borfirstname  => $borr->{'firstname'},
+            borsurname    => $borr->{'surname'},
+            bortitle      => $borr->{'title'},
+            borphone      => $borr->{'phone'},
+            borstraddress => $borr->{'streetaddress'},
+            borcity       => $borr->{'city'},
+            borzip        => $borr->{'zipcode'},
+            bornum        => $res->{'borrowernumber'},
+            borcnum       => $borr->{'cardnumber'},
+            branchname  => $branches->{ $res->{'branchcode'} }->{'branchname'},
+            waiting     => 1,
+            itemnumber  => $res->{'itemnumber'},
+            itemtitle   => $iteminfo->{'title'},
+            itemauthor  => $iteminfo->{'author'},
+            itembarcode => $iteminfo->{'barcode'},
+            itemtype    => $iteminfo->{'itemtype'},
+            itembiblionumber => $iteminfo->{'biblionumber'}
+        );
+
+    }
+    if ( $res->{'ResFound'} eq "Reserved" ) {
+        my @da         = localtime( time() );
+        my $todaysdate =
+          sprintf( "%0.2d", ( $da[3] + 1 ) ) . "/"
+          . sprintf( "%0.2d", ( $da[4] + 1 ) ) . "/"
+          . ( $da[5] + 1900 );
+        $template->param(
+            found       => 1,
+            branchname  => $branches->{ $res->{'branchcode'} }->{'branchname'},
+            reserved    => 1,
+            today       => $todaysdate,
+            itemnumber  => $res->{'itemnumber'},
+            itemtitle   => $iteminfo->{'title'},
+            itemauthor  => $iteminfo->{'author'},
+            itembarcode => $iteminfo->{'barcode'},
+            itemtype    => $iteminfo->{'itemtype'},
+            itembiblionumber => $iteminfo->{'biblionumber'},
+            borsurname       => $borr->{'surname'},
+            bortitle         => $borr->{'title'},
+            borfirstname     => $borr->{'firstname'},
+            bornum           => $res->{'borrowernumber'},
+            borcnum          => $borr->{'cardnumber'},
+            borphone         => $borr->{'phone'},
+            borstraddress    => $borr->{'streetaddress'},
+            borsub           => $borr->{'suburb'},
+            borcity          => $borr->{'city'},
+            borzip           => $borr->{'zipcode'},
+            boremail         => $borr->{'emailadress'},
+            barcode          => $barcode
+        );
+    }
+}
+
+# Error Messages
+my @errmsgloop;
+foreach my $code ( keys %$messages ) {
+
+   #     warn $code;
+    my %err;
+    my $exit_required_p = 0;
+    if ( $code eq 'BadBarcode' ) {
+        $err{badbarcode} = 1;
+        $err{msg}        = $messages->{'BadBarcode'};
+    }
+    elsif ( $code eq 'NotIssued' ) {
+        $err{notissued} = 1;
+        $err{msg} = $branches->{ $messages->{'IsPermanent'} }->{'branchname'};
+    }
+    elsif ( $code eq 'WasLost' ) {
+        $err{waslost} = 1;
+    }
+    elsif ( $code eq 'ResFound' ) {
+        ;    # FIXME... anything to do here?
+    }
+    elsif ( $code eq 'WasReturned' ) {
+        ;    # FIXME... anything to do here?
+    }
+    elsif ( $code eq 'WasTransfered' ) {
+        ;    # FIXME... anything to do here?
+    }
+    elsif ( $code eq 'wthdrawn' ) {
+        $err{withdrawn} = 1;
+        $exit_required_p = 1;
+    }
+    elsif ( ( $code eq 'IsPermanent' ) && ( not $messages->{'ResFound'} ) ) {
+        if ( $messages->{'IsPermanent'} ne $branch ) {
+            $err{ispermanent} = 1;
+            $err{msg}         =
+              $branches->{ $messages->{'IsPermanent'} }->{'branchname'};
+        }
+    }
+    else {
+        die "Unknown error code $code";    # XXX
+    }
+    if (%err) {
+        push ( @errmsgloop, \%err );
+    }
+    last if $exit_required_p;
+}
+$template->param( errmsgloop => address@hidden );
+
+# patrontable ....
+if ($borrower) {
+    my $flags = $borrower->{'flags'};
+    my $color = '';
+    my @flagloop;
+    my $flagset;
+    foreach my $flag ( sort keys %$flags ) {
+        my %flaginfo;
+        ( $color eq $linecolor1 ) 
+          ? ( $color = $linecolor2 )
+          : ( $color = $linecolor1 );
+        unless ($flagset) { $flagset = 1; }
+        $flaginfo{color}   = $color;
+        $flaginfo{redfont} = ( $flags->{$flag}->{'noissues'} );
+        $flaginfo{flag}    = $flag;
+        if ( $flag eq 'CHARGES' ) {
+            $flaginfo{msg}     = $flag;
+            $flaginfo{charges} = 1;
+           $flaginfo{bornum} = $borrower->{borrowernumber};
+        }
+        elsif ( $flag eq 'WAITING' ) {
+            $flaginfo{msg}     = $flag;
+            $flaginfo{waiting} = 1;
+            my @waitingitemloop;
+            my $items = $flags->{$flag}->{'itemlist'};
+            foreach my $item (@$items) {
+                my ($iteminformation) =
+                  getiteminformation( \%env, $item->{'itemnumber'}, 0 );
+                my %waitingitem;
+                $waitingitem{biblionum} = $iteminformation->{'biblionumber'};
+                $waitingitem{barcode}   = $iteminformation->{'barcode'};
+                $waitingitem{title}     = $iteminformation->{'title'};
+                $waitingitem{brname}    =
+                  $branches->{ $iteminformation->{'holdingbranch'} }->{
+                  'branchname'};
+                push ( @waitingitemloop, \%waitingitem );
+            }
+            $flaginfo{itemloop} = address@hidden;
+        }
+        elsif ( $flag eq 'ODUES' ) {
+            my $items = $flags->{$flag}->{'itemlist'};
+            my @itemloop;
+            foreach my $item ( sort { $a->{'date_due'} cmp $b->{'date_due'} }
+                @$items )
+            {
+                my ($iteminformation) =
+                  getiteminformation( \%env, $item->{'itemnumber'}, 0 );
+                my %overdueitem;
+                $overdueitem{duedate}   = $item->{'date_due'};
+                $overdueitem{biblionum} = $iteminformation->{'biblionumber'};
+                $overdueitem{barcode}   = $iteminformation->{'barcode'};
+                $overdueitem{title}     = $iteminformation->{'title'};
+                $overdueitem{brname}    =
+                  $branches->{ $iteminformation->{'holdingbranch'} }->{
+                  'branchname'};
+                push ( @itemloop, \%overdueitem );
+            }
+            $flaginfo{itemloop} = address@hidden;
+            $flaginfo{overdue}  = 1;
+        }
+        else {
+            $flaginfo{other} = 1;
+            $flaginfo{msg}   = $flags->{$flag}->{'message'};
+        }
+        push ( @flagloop, \%flaginfo );
+    }
+    $template->param(
+        flagset        => $flagset,
+        flagloop       => address@hidden,
+        ribornum       => $borrower->{'borrowernumber'},
+        riborcnum      => $borrower->{'cardnumber'},
+        riborsurname   => $borrower->{'surname'},
+        ribortitle     => $borrower->{'title'},
+        riborfirstname => $borrower->{'firstname'}
+    );
+}
+
+my $color = '';
+
+#set up so only the last 8 returned items display (make for faster loading 
pages)
+my $count = 0;
+my @riloop;
+foreach ( sort { $a <=> $b } keys %returneditems ) {
+    my %ri;
+    if ( $count < 8 ) {
+        ( $color eq $linecolor1 ) 
+          ? ( $color = $linecolor2 )
+          : ( $color = $linecolor1 );
+        $ri{color} = $color;
+        my $barcode = $returneditems{$_};
+        my $duedate = $riduedate{$_};
+        my $overduetext;
+        my $borrowerinfo;
+        if ($duedate) {
+            my @tempdate = split ( /-/, $duedate );
+           $ri{year}=$tempdate[0];
+           $ri{month}=$tempdate[1];
+           $ri{day}=$tempdate[2];
+            my $duedatenz  = "$tempdate[2]/$tempdate[1]/$tempdate[0]";
+            my @datearr    = localtime( time() );
+            my $todaysdate =
+              $datearr[5] . '-'
+              . sprintf( "%0.2d", ( $datearr[4] + 1 ) ) . '-'
+              . sprintf( "%0.2d", $datearr[3] );
+           $ri{duedate}=$duedate;
+            my ($borrower) =              getpatroninformation( \%env, 
$riborrowernumber{$_}, 0 );
+            $ri{bornum}       = $borrower->{'borrowernumber'};
+            $ri{borcnum}      = $borrower->{'cardnumber'};
+            $ri{borfirstname} = $borrower->{'firstname'};
+            $ri{borsurname}   = $borrower->{'surname'};
+            $ri{bortitle}     = $borrower->{'title'};
+        }
+        else {
+            $ri{bornum} = $riborrowernumber{$_};
+        }
+#        my %ri;
+        my ($iteminformation) =C4::Circulation::Circ2::getiteminformation( 
\%env, 0, $barcode );
+        $ri{color}            = $color;
+        $ri{itembiblionumber} = $iteminformation->{'biblionumber'};
+        $ri{itemtitle}        = $iteminformation->{'title'};
+        $ri{itemauthor}       = $iteminformation->{'author'};
+        $ri{itemtype}         = $iteminformation->{'itemtype'};
+        $ri{barcode}          = $barcode;
+    }
+    else {
+        last;
+    }
+    $count++;
+    push ( @riloop, \%ri );
+}
+$template->param( riloop => address@hidden );
+
+$template->param(
+    genbrname  => $branches->{$branch}->{'branchname'},
+    genprname  => $printers->{$printer}->{'printername'},
+    branch     => $branch,
+    printer    => $printer,
+    errmsgloop => address@hidden
+);
+
+# actually print the page!
+output_html_with_http_headers $query, $cookie, $template->output;
+
+sub cuecatbarcodedecode {
+    my ($barcode) = @_;
+    chomp($barcode);
+    my @fields = split ( /\./, $barcode );
+    my @results = map( decode($_), @fields[ 1 .. $#fields ] );
+    if ( $#results == 2 ) {
+        return $results[2];
+    }
+    else {
+        return $barcode;
+    }
+}
+
+# Local Variables:
+# tab-width: 4
+# End:

Index: misc/export_xml_koharecords.pl
===================================================================
RCS file: misc/export_xml_koharecords.pl
diff -N misc/export_xml_koharecords.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ misc/export_xml_koharecords.pl      6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,78 @@
+#!/usr/bin/perl
+## This script allows you to export a rel_2_2 bibliographic db in 
+#MARC21 format from the command line.
+#
+use strict;
+require Exporter;
+use C4::Auth;
+use C4::Biblio;
+use XML::Simple;
+use Getopt::Long;
+
+my ( $out_marc_file, $check) ;
+GetOptions(
+    'file:s'    => \$out_marc_file,
+    'c:s' => \$check,
+   
+);
+### Usage 
+## export_xml_koharecords -file somefilename -c 1
+## use the -c flag if you want to check whether you xml is proper or not. 
Advisable but very slow
+open(OUT,">" ,$out_marc_file) or die $!;
+
+       my $dbh= C4::Context->dbh;
+
+       my $sth;
+
+               $sth=$dbh->prepare("select biblionumber,marcxml from biblio  
order by biblionumber ");
+my $sth2=$dbh->prepare("select marcxml from items where biblionumber =?");
+               $sth->execute();
+       
+my $header=&collection_header;
+       print OUT '<?xml version="1.0" encoding="UTF-8"?>'."\n";
+       print OUT $header;
+       while (my ($biblionumber,$marcxml) = $sth->fetchrow) {
+my $hash;
+if ($check){
+       eval {
+        $hash=XMLin($marcxml);
+       }; ### is it a proper xml? broken xml may crash ZEBRA- slow but safe
+
+
+       if ($@){
+warn $biblionumber;
+       next;
+       }
+}
+               print OUT "<koharecord>\n";
+               print OUT $marcxml;
+               print OUT "<holdings>";
+       $sth2->execute($biblionumber);
+               while (my ($itemxml)=$sth2->fetchrow){
+if ($check){
+       eval {
+          $hash=XMLin($itemxml);
+       }; ### is it a proper xml? broken xml may crash ZEBRA- slow but safe
+
+       if ($@){
+warn $biblionumber;
+       next;
+       }
+}
+
+               print OUT $itemxml;
+               }
+       print OUT "</holdings></koharecord>\n";
+       }
+       print OUT "</kohacollection>\n";
+close(OUT);
+
+sub collection_header {
+####  this one is for koha collection 
+    my $format = shift;
+    my $enc = shift || 'UTF-8';
+    return( <<KOHA_XML_HEADER );
+
+<kohacollection xmlns:marc="http://loc.gov/MARC21/slim"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="http://library.neu.edu.tr/kohanamespace/koharecord.xsd";>
+KOHA_XML_HEADER
+}
\ No newline at end of file

Index: serials/serials-receive.pl
===================================================================
RCS file: serials/serials-receive.pl
diff -N serials/serials-receive.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ serials/serials-receive.pl  6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,225 @@
+#!/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 2006/09/06 16:21:04 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);
+
+ $hassubscriptionexpired=1 ;
+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 ($oldstatus) = $sth->fetchrow;
+               if ($serialids[$i]) {
+
+        my $planneddate = 
($planneddates[$i]?format_date_in_iso($planneddates[$i]):format_date_in_iso("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
+#                              if ($status2 ==1){
+                                   
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: value_builder/marc21_008_holdings.pl
===================================================================
RCS file: value_builder/marc21_008_holdings.pl
diff -N value_builder/marc21_008_holdings.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_008_holdings.pl        6 Sep 2006 16:21:04 -0000       
1.1
@@ -0,0 +1,139 @@
+#!/usr/bin/perl
+
+# $Id: marc21_008_holdings.pl,v 1.1 2006/09/06 16:21:04 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 CGI;
+use C4::Context;
+use HTML::Template;
+use C4::Search;
+use C4::Output;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+# find today's date
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); 
+
+$year +=1900; $mon +=1;
+my $dateentered = substr($year,2,2).sprintf ("%0.2d", $mon).sprintf 
("%0.2d",$mday);
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "100".(int(rand(100000))+1);
+my $res="
+<script>
+function Focus$function_name(subfield_managed) {
+    for (i=0 ; i<document.f.field_value.length ; i++) {
+        if (document.f.tag[i].value == '008') {
+            if (!document.f.field_value[i].value) {
+                document.f.field_value[i].value = '$dateentered' + 
'1p||||8|||401ab|||0000000';
+            }
+        }
+    }
+return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+       return 1;
+}
+
+function Clic$function_name(i) {
+return;
+       defaultvalue=document.forms['f'].field_value[i].value;
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_008_holdings.pl&index=\"+i+\"&result=\"+defaultvalue,\"008\",'width=400,height=600,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+sub plugin {
+my ($input) = @_;
+       my %env;
+
+#      my $input = new CGI;
+       my $index= $input->param('index');
+       my $result= $input->param('result');
+
+
+       my $dbh = C4::Context->dbh;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"value_builder/marc21_008_holdings.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+       $result = '$dateentered' + '1p||||8|||401ab|||0000000';
+       my $f1 = substr($result,0,6);
+       my $f6 = substr($result,6,1);
+       my $f710 = substr($result,7,4);
+       my $f1114 = substr($result,11,4);
+       my $f1517 = substr($result,15,3);
+       my $f1821 = substr($result,18,4);
+       my $f22 = substr($result,22,1);
+       my $f23 = substr($result,23,1);
+       my $f2427 = substr($result,24,4);
+       my $f28 = substr($result,28,1);
+       my $f29 = substr($result,29,1);
+       my $f30 = substr($result,30,1);
+       
+if (!$f1){
+       $f1=$dateentered
+}
+
+       $template->param(                               index => $index,
+                                                       f1 => $f1,
+                                                       f6 => $f6,
+                                                       "f6$f6" => $f6,
+                                                       f710 => $f710,
+                                                       f1114 => $f1114,
+                                                       f1517 => $f1517,
+                                                       f1821 => $f1821,
+                                                       f22 => $f22,
+                                                       "f22$f22" => $f22,
+                                                       f23 => $f23,
+                                                        "f23$f23" => $f23,
+                                                       f2427 => $f2427,
+                                                       "f24$f2427" => $f2427,
+                                                       f28 => $f28,
+                                                        "f28$f28" => $f28,
+                                                       f29 => $f29,
+                                                        "f29$f29" => $f29,
+                                                       f30 => $f30,
+                                                        "f30$f30" => $f30,
+                               
+                                                      
+                                       );
+       print $input->header(-cookie => $cookie),$template->output;
+}
+
+1;

Index: value_builder/marc21_field_003.pl
===================================================================
RCS file: value_builder/marc21_field_003.pl
diff -N value_builder/marc21_field_003.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_field_003.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -0,0 +1,97 @@
+#!/usr/bin/perl
+
+# $Id: marc21_field_003.pl,v 1.2 2006/09/06 16:21:04 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
+
+require Exporter;
+use C4::AuthoritiesMarc;
+use C4::Auth;
+use C4::Context;
+use C4::Output;
+use C4::Interface::CGI::Output;
+use CGI;
+use C4::Search;
+use MARC::Record;
+use C4::Koha;
+use HTML::Template;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+=head1
+
+plugin_javascript : the javascript function called when the user enters the 
subfield.
+contain 3 javascript functions :
+* one called when the field is entered (OnFocus). Named FocusXXX
+* one called when the field is leaved (onBlur). Named BlurXXX
+* one called when the ... link is clicked (<a href="javascript:function">) 
named ClicXXX
+
+returns :
+* XXX
+* a variable containing the 3 scripts.
+the 3 scripts are inserted after the <input> in the html code
+
+=cut
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "003".(int(rand(100000))+1);
+
+# find today's date
+my $org = C4::Context->preference('MARCOrgCode');
+my $res  = "
+<script>
+function Blur$function_name(index) {
+//need this?
+}
+
+function Focus$function_name(subfield_managed) {
+       for (i=0 ; i<document.f.field_value.length ; i++) {
+                if (document.f.tag[i].value == '003') {
+                        document.f.field_value[i].value = '$org';
+                }
+        }
+return 0;
+}
+
+function Clic$function_name(subfield_managed) {
+}
+</script>
+";
+return ($function_name,$res);
+}
+
+=head1
+
+plugin : the true value_builded. The screen that is open in the popup window.
+
+=cut
+
+sub plugin {
+my ($input) = @_;
+return "";
+}
+
+1;

Index: value_builder/marc21_field_005.pl
===================================================================
RCS file: value_builder/marc21_field_005.pl
diff -N value_builder/marc21_field_005.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_field_005.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -0,0 +1,100 @@
+#!/usr/bin/perl
+
+# $Id: marc21_field_005.pl,v 1.2 2006/09/06 16:21:04 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
+
+require Exporter;
+use C4::Auth;
+use C4::Context;
+use C4::Interface::CGI::Output;
+use CGI;
+
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+=head1
+
+plugin_javascript : the javascript function called when the user enters the 
subfield.
+contain 3 javascript functions :
+* one called when the field is entered (OnFocus). Named FocusXXX
+* one called when the field is leaved (onBlur). Named BlurXXX
+* one called when the ... link is clicked (<a href="javascript:function">) 
named ClicXXX
+
+returns :
+* XXX
+* a variable containing the 3 scripts.
+the 3 scripts are inserted after the <input> in the html code
+
+=cut
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "005".(int(rand(100000))+1);
+
+# find today's date
+my ($sec,$min,$hour,$mday,$mon,$year) = localtime();
+       $year += 1900;
+       $mon += 1;
+       my $timestamp = sprintf("%4d%02d%02d%02d%02d%02d.0",
+               $year,$mon,$mday,$hour,$min,$sec);
+
+
+
+my $res  = "
+<script>
+function Blur$function_name(index) {
+//need this?
+}
+
+function Focus$function_name(subfield_managed) {
+       for (i=0 ; i<document.f.field_value.length ; i++) {
+               if (document.f.tag[i].value == '005') {
+                        document.f.field_value[i].value = '$timestamp';
+               }
+        }
+return 0;
+}
+
+function Clic$function_name(subfield_managed) {
+
+}
+</script>
+";
+return ($function_name,$res);
+}
+
+=head1
+
+plugin : the true value_builded. The screen that is open in the popup window.
+
+=cut
+
+sub plugin {
+my ($input) = @_;
+return "";
+}
+
+1;

Index: value_builder/marc21_field_006.pl
===================================================================
RCS file: value_builder/marc21_field_006.pl
diff -N value_builder/marc21_field_006.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_field_006.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -0,0 +1,126 @@
+#!/usr/bin/perl
+
+# $Id: marc21_field_006.pl,v 1.2 2006/09/06 16:21:04 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 CGI;
+use C4::Context;
+use HTML::Template;
+use C4::Search;
+use C4::Output;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "100".(int(rand(100000))+1);
+my $res="
+<script>
+function Focus$function_name(subfield_managed) {
+return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+       return 1;
+}
+
+function Clic$function_name(i) {
+       defaultvalue=document.forms['f'].field_value[i].value;
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_field_006.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc
 field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+sub plugin {
+my ($input) = @_;
+       my %env;
+
+#      my $input = new CGI;
+       my $index= $input->param('index');
+       my $result= $input->param('result');
+
+
+       my $dbh = C4::Context->dbh;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"value_builder/marc21_field_006.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+       $result = "a|||||r|||| 00| 0 " unless $result;
+#      $result = "a     r     00  0 " unless $result;
+       my $f0 = substr($result,0,1);
+       my $f014 = substr($result,1,4);
+       my $f5 = substr($result,5,1);
+       my $f6 = substr($result,6,1);
+       my $f710 = substr($result,7,4);
+       my $f11 = substr($result,11,1);
+       my $f12 = substr($result,12,1);
+       my $f13 = substr($result,13,1);
+       my $f14 = substr($result,14,1);
+       my $f15 = substr($result,15,1);
+       my $f16 = substr($result,16,1);
+       my $f17 = substr($result,17,1);
+
+       $template->param(                               index => $index,
+                                                       f0 => $f0,
+                                                       "f0$f0" => $f0,
+                                                       f014 => $f014,
+                                                       "f014$f014" => $f014,
+                                                       f5 => $f5,
+                                                       "f5$f5" => $f5,
+                                                       f6 => $f6,
+                                                       "f6$f6" => $f6,
+                                                       f710 => $f710,
+                                                       "f710$f710" => $f710,
+                                                       f11 => $f11,
+                                                        "f11$f11" => $f11,
+                                                       f12 => $f12,
+                                                       "f12$f12" => $f12,
+                                                       f13 => $f13,
+                                                        "f13$f13" => $f13,
+                                                       f14 => $f14,
+                                                        "f14$f14" => $f14,
+                                                       f15 => $f15,
+                                                        "f15$f15" => $f15,
+                                                       f16 => $f16,
+                                                        "f16$f16" => $f16,
+                                                       f17 => $f17,
+                                                       "f17$f17" => $f17,
+                                       );
+       print $input->header(-cookie => $cookie),$template->output;
+}
+
+1;

Index: value_builder/marc21_field_007.pl
===================================================================
RCS file: value_builder/marc21_field_007.pl
diff -N value_builder/marc21_field_007.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_field_007.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -0,0 +1,95 @@
+#!/usr/bin/perl
+
+# $Id: marc21_field_007.pl,v 1.2 2006/09/06 16:21:04 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 CGI;
+use C4::Context;
+use HTML::Template;
+use C4::Search;
+use C4::Output;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "100".(int(rand(100000))+1);
+my $res="
+<script>
+function Focus$function_name(subfield_managed) {
+return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+       return 1;
+}
+
+function Clic$function_name(i) {
+       defaultvalue=document.forms['f'].field_value[i].value;
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_field_007.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc
 field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+sub plugin {
+my ($input) = @_;
+       my %env;
+
+#      my $input = new CGI;
+       my $index= $input->param('index');
+       my $result= $input->param('result');
+
+
+       my $dbh = C4::Context->dbh;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"value_builder/marc21_field_007.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+       $result = "ta" unless $result;
+       my $f0 = substr($result,0,1);
+       my $f1 = substr($result,1,4);
+
+       $template->param(                               index => $index,
+                                                       f0 => $f0,
+                                                       "f0$f0" => $f0,
+                                                       f1 => $f1,
+                                                        "f1$f1" => $f1,
+                                       );
+       print $input->header(-cookie => $cookie),$template->output;
+}
+
+1;

Index: value_builder/marc21_field_008.pl
===================================================================
RCS file: value_builder/marc21_field_008.pl
diff -N value_builder/marc21_field_008.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_field_008.pl   6 Sep 2006 16:21:04 -0000       1.2
@@ -0,0 +1,154 @@
+#!/usr/bin/perl
+
+# $Id: marc21_field_008.pl,v 1.2 2006/09/06 16:21:04 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 CGI;
+use C4::Context;
+use HTML::Template;
+use C4::Search;
+use C4::Output;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+# find today's date
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); 
+
+$year +=1900; $mon +=1;
+my $dateentered = substr($year,2,2).sprintf ("%0.2d", $mon).sprintf 
("%0.2d",$mday);
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "100".(int(rand(100000))+1);
+my $res="
+<script>
+function Focus$function_name(subfield_managed) {
+    for (i=0 ; i<document.f.field_value.length ; i++) {
+        if (document.f.tag[i].value == '008') {
+            if (!document.f.field_value[i].value) {
+                document.f.field_value[i].value = '$dateentered' + 's        
xxu||||| |||| 00| 0 ||| d';
+            }
+        }
+    }
+return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+       return 1;
+}
+
+function Clic$function_name(i) {
+       defaultvalue=document.forms['f'].field_value[i].value;
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_field_008.pl&index=\"+i+\"&result=\"+defaultvalue,\"008\",'width=400,height=600,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+sub plugin {
+my ($input) = @_;
+       my %env;
+
+#      my $input = new CGI;
+       my $index= $input->param('index');
+       my $result= $input->param('result');
+
+
+       my $dbh = C4::Context->dbh;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"value_builder/marc21_field_008.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+#      $result = "      t        xxu           00  0 eng d" unless $result;
+       $result = "$dateentered"."t        xxu||||| |||| 00| 0 ||| d" unless 
$result;
+       my $f1 = substr($result,0,6);
+       my $f6 = substr($result,6,1);
+       my $f710 = substr($result,7,4);
+       my $f1114 = substr($result,11,4);
+       my $f1517 = substr($result,15,3);
+       my $f1821 = substr($result,18,4);
+       my $f22 = substr($result,22,1);
+       my $f23 = substr($result,23,1);
+       my $f2427 = substr($result,24,4);
+       my $f28 = substr($result,28,1);
+       my $f29 = substr($result,29,1);
+       my $f30 = substr($result,30,1);
+       my $f31 = substr($result,31,1);
+       my $f33 = substr($result,33,1);
+       my $f34 = substr($result,34,1);
+       my $f3537 = substr($result,35,3);
+       my $f38 = substr($result,38,1);
+       my $f39 = substr($result,39,1);
+
+if (!$f1){
+       $f1=$dateentered
+}
+
+       $template->param(                               index => $index,
+                                                       f1 => $f1,
+                                                       f6 => $f6,
+                                                       "f6$f6" => $f6,
+                                                       f710 => $f710,
+                                                       f1114 => $f1114,
+                                                       f1517 => $f1517,
+                                                       f1821 => $f1821,
+                                                       f22 => $f22,
+                                                       "f22$f22" => $f22,
+                                                       f23 => $f23,
+                                                        "f23$f23" => $f23,
+                                                       f2427 => $f2427,
+                                                       "f24$f2427" => $f2427,
+                                                       f28 => $f28,
+                                                        "f28$f28" => $f28,
+                                                       f29 => $f29,
+                                                        "f29$f29" => $f29,
+                                                       f30 => $f30,
+                                                        "f230$f30" => $f30,
+                                                       f31 => $f31,
+                                                        "f31$f31" => $f31,
+                                                       f33 => $f33,
+                                                        "f33$f33" => $f33,
+                                                       f34 => $f34,
+                                                        "f34$f34" => $f34,
+                                                       f3537 => $f3537,
+                                                       f38 => $f38,
+                                                       "f38$f38" => $f38,
+                                                       f39 => $f39,
+                                                       "f39$f39" => $f39,
+                                       );
+       print $input->header(-cookie => $cookie),$template->output;
+}
+
+1;

Index: value_builder/marc21_leader_authorities.pl
===================================================================
RCS file: value_builder/marc21_leader_authorities.pl
diff -N value_builder/marc21_leader_authorities.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_leader_authorities.pl  6 Sep 2006 16:21:04 -0000       
1.2
@@ -0,0 +1,111 @@
+#!/usr/bin/perl
+
+# $Id: marc21_leader_authorities.pl,v 1.2 2006/09/06 16:21:04 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 CGI;
+use C4::Context;
+use HTML::Template;
+use C4::Search;
+use C4::Output;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "100".(int(rand(100000))+1);
+my $res="
+<script>
+function Focus$function_name(subfield_managed) {
+    for (i=0 ; i<document.f.field_value.length ; i++) {
+               if (document.f.tag[i].value == '000') {
+                       if (!document.f.field_value[i].value) {
+                               document.f.field_value[i].value = '     nz||a22 
    o||4500';
+                       }
+               }
+       }
+return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+       return 1;
+}
+
+function Clic$function_name(i) {
+       defaultvalue=document.forms['f'].field_value[i].value;
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_leader_authorities.pl&index=\"+i+\"&result=\"+defaultvalue,\"\",'width=400,height=400,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+sub plugin {
+my ($input) = @_;
+       my %env;
+
+#      my $input = new CGI;
+       my $index= $input->param('index');
+       my $result= $input->param('result');
+
+
+       my $dbh = C4::Context->dbh;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"value_builder/marc21_leader_authorities.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+       $result = "     nz||a22     o||4500" unless $result;
+       my $f5 = substr($result,5,1);
+       my $f6 = substr($result,6,1);
+       
+       
+       my $f9 = substr($result,9,1);
+       my $f17 = substr($result,17,1);
+       
+       
+       $template->param(index => $index,
+                                                       "f5$f5" => 1,
+                                                       "f6$f6" => 1,
+                                                       
+                                                       "f9$f9" => 1,
+                                                       "f17$f17" => 1,
+                                                       
+                                                       
+                                                       
+                                       );
+       print $input->header(-cookie => $cookie),$template->output;
+}
+
+1;

Index: value_builder/marc21_leader_holdings.pl
===================================================================
RCS file: value_builder/marc21_leader_holdings.pl
diff -N value_builder/marc21_leader_holdings.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ value_builder/marc21_leader_holdings.pl     6 Sep 2006 16:21:04 -0000       
1.1
@@ -0,0 +1,111 @@
+#!/usr/bin/perl
+
+# $Id: marc21_leader_holdings.pl,v 1.1 2006/09/06 16:21:04 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 CGI;
+use C4::Context;
+use HTML::Template;
+use C4::Search;
+use C4::Output;
+
+=head1
+
+plugin_parameters : other parameters added when the plugin is called by the 
dopop function
+
+=cut
+sub plugin_parameters {
+my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+return "";
+}
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= "100".(int(rand(100000))+1);
+my $res="
+<script>
+function Focus$function_name(subfield_managed) {
+    for (i=0 ; i<document.f.field_value.length ; i++) {
+               if (document.f.tag[i].value == '000') {
+                       if (!document.f.field_value[i].value) {
+                               document.f.field_value[i].value = '     nx||a22 
    1i|4500';
+                       }
+               }
+       }
+return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+       return 1;
+}
+
+function Clic$function_name(i) {
+       defaultvalue=document.forms['f'].field_value[i].value;
+       
newin=window.open(\"../plugin_launcher.pl?plugin_name=marc21_leader_holdings.pl&index=\"+i+\"&result=\"+defaultvalue,\"\",'width=400,height=400,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+sub plugin {
+my ($input) = @_;
+       my %env;
+
+#      my $input = new CGI;
+       my $index= $input->param('index');
+       my $result= $input->param('result');
+
+
+       my $dbh = C4::Context->dbh;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => 
"value_builder/marc21_leader_holdings.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {editcatalogue => 1},
+                            debug => 1,
+                            });
+       $result = "     nx||a22     1i|4500" unless $result;
+       my $f5 = substr($result,5,1);
+       my $f6 = substr($result,6,1);
+       
+       
+       my $f9 = substr($result,9,1);
+       my $f17 = substr($result,17,1);
+       my $f18 = substr($result,18,1);
+       
+       $template->param(index => $index,
+                                                       "f5$f5" => 1,
+                                                       "f6$f6" => 1,
+                                                       
+                                                       "f9$f9" => 1,
+                                                       "f17$f17" => 1,
+                                                       "f18$f18" => 1,
+                                                       
+                                                       
+                                       );
+       print $input->header(-cookie => $cookie),$template->output;
+}
+
+1;

Index: z3950/zebraqueue_start.pl
===================================================================
RCS file: z3950/zebraqueue_start.pl
diff -N z3950/zebraqueue_start.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ z3950/zebraqueue_start.pl   6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+# script that starts the zebraquee
+#  Written by TG on 01/08/2006
+use strict;
+
+
+use C4::Context;
+use C4::Biblio;
+use C4::AuthoritiesMarc;
+use XML::Simple;
+use utf8;
+### ZEBRA SERVER UPDATER
+##Uses its own database handle
+my $dbh=C4::Context->dbh;
+my $readsth=$dbh->prepare("select id,biblio_auth_number,operation,server from 
zebraqueue");
+my $delsth=$dbh->prepare("delete from zebraqueue where id =?");
+
+
+AGAIN:
+my $wait=C4::Context->preference('zebrawait');
+ $wait=120 unless $wait;
+my ($id,$biblionumber,$operation,$server,$marcxml);
+$readsth->execute;
+while (($id,$biblionumber,$operation,$server)=$readsth->fetchrow){
+if ($server eq "biblioserver"){
+       ($marcxml) =ZEBRA_readyXML($dbh,$biblionumber);
+       }elsif($server eq "authorityserver"){
+       $marcxml =C4::AuthoritiesMarc::XMLgetauthority($dbh,$biblionumber);
+       } 
+
+eval {
+my $hashed=XMLin($marcxml);
+}; ### is it a proper xml? broken xml may crash ZEBRA- slow but safe
+
+if ($@){
+warn $@;
+## Broken XML-- Should not reach here-- but if it does -lets protect ZEBRA
+$delsth->execute($id);
+next;
+}
+my $ok;
+eval{
+ $ok=ZEBRAopserver($marcxml,$operation,$server);
+};
+ ## If a delete operation delete the SQL DB as well
+       if ($operation eq "recordDelete" && $ok==1){
+               if ($server eq "biblioserver"){
+               ZEBRAdelbiblio($dbh,$biblionumber);
+               }elsif ($server eq "authorityserver"){
+               ZEBRAdelauthority($dbh,$biblionumber);
+               }
+       }
+$delsth->execute($id) if ($ok==1);
+}
+
+sleep $wait;
+goto AGAIN;
\ No newline at end of file

Index: z3950/zebraqueue_windows_start.pl
===================================================================
RCS file: z3950/zebraqueue_windows_start.pl
diff -N z3950/zebraqueue_windows_start.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ z3950/zebraqueue_windows_start.pl   6 Sep 2006 16:21:04 -0000       1.1
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+# script that starts the zebraquee
+#  Written by TG on 01/08/2006
+use strict;
+
+use Win32::Process;
+use Win32;
+use C4::Context;
+use CGI;
+my $input=new CGI;
+my $fileplace=C4::Context->config('intranetdir');
+my $fullpath=$fileplace."/cgi-bin/z3950";
+my $ZebraObj;
+ my $pid=Win32::Process::Create($ZebraObj,     "C:/usr/bin/perl.exe",'perl 
zebraqueue_start.pl',       0, DETACHED_PROCESS,$fullpath)  ;
+
+print $input->redirect("/cgi-bin/koha/mainpage.pl?pid=$pid");

Index: MANIFEST
===================================================================
RCS file: MANIFEST
diff -N MANIFEST
--- MANIFEST    18 Jul 2005 20:15:09 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,3150 +0,0 @@
-.htaccess
-about.pl
-acqui.simple/addbiblio-nomarc.pl
-acqui.simple/addbiblio.pl
-acqui.simple/addbooks.pl
-acqui.simple/additem-nomarc.pl
-acqui.simple/additem.pl
-acqui.simple/isbnsearch.pl
-acqui.simple/keywordsearch.pl
-acqui.simple/savebiblio.pl
-acqui.simple/saveitem.pl
-acqui.simple/websitesearch.pl
-acqui/acqui-home.pl
-acqui/acquire.pl
-acqui/addorder.pl
-acqui/basket.pl
-acqui/finishreceive.pl
-acqui/histsearch.pl
-acqui/newbasket2.pl
-acqui/newbiblio.pl
-acqui/order.pl
-acqui/receive.pl
-acqui/recieveorder.pl
-acqui/select-late.pl
-acqui/suggestion-select.pl
-acqui/supplier.pl
-acqui/updatesupplier.pl
-addwebsite.pl
-admin-home.pl
-admin/aqbookfund.pl
-admin/aqbudget.pl
-admin/auth_subfields_structure.pl
-admin/auth_tag_structure.pl
-admin/authorised_values.pl
-admin/authtypes.pl
-admin/biblio_framework.pl
-admin/branches.pl
-admin/categorie.pl
-admin/categoryitem.pl
-admin/checkmarc.pl
-admin/currency.pl
-admin/issuingrules.pl
-admin/itemtypecategory.pl
-admin/itemtypes.pl
-admin/itemtypesubcategory.pl
-admin/koha2marclinks.pl
-admin/marc_subfields_structure.pl
-admin/marctagstructure.pl
-admin/mediatype.pl
-admin/printers.pl
-admin/stopwords.pl
-admin/systempreferences.pl
-admin/thesaurus.pl
-admin/z3950servers.pl
-authorities/auth_finder.pl
-authorities/authorities-home.pl
-authorities/authorities.pl
-authorities/blinddetail-biblio-search.pl
-authorities/detail-biblio-search.pl
-authorities/detail.pl
-barcodes/barcodes.pl
-barcodes/barcodesGenerator.pl
-barcodes/pdfViewer.pl
-barcodes/printerConfig.pl
-bookcount.pl
-bookshelves/addbookbybiblionumber.pl
-bookshelves/shelves.pl
-boraccount.pl
-bull-home.pl
-bull/acqui-search.pl
-bull/lateissues.pl
-bull/order.pl
-bull/receipt.pl
-bull/serial-issues.pl
-bull/statecollection.pl
-bull/subscription-add.pl
-bull/subscription-bib-search.pl
-bull/subscription-detail.pl
-bull/subscription-detail.pl.new
-bull/subscription-renew.pl
-C4/Accounts.pm
-C4/Accounts2.pm
-C4/Acquisition.pm
-C4/Amazon.pm
-C4/Auth.pm
-C4/Auth_with_ldap.pm
-C4/Authorities.pm
-C4/AuthoritiesMarc.pm
-C4/Barcodes/PrinterConfig.pm
-C4/Biblio.pm
-C4/Biblio.pm.orig
-C4/Biblio.pm.patch
-C4/BookShelves.pm
-C4/Boolean.pm
-C4/Breeding.pm
-C4/Breeding.pm.patch
-C4/Bull.pm
-C4/Circulation/Circ2.pm
-C4/Circulation/Fines.pm
-C4/Circulation/Returns.pm
-C4/Context.pm
-C4/Database.pm
-C4/Date.pm
-C4/Format.pm
-C4/Groups.pm
-C4/Input.pm
-C4/Interface/CGI/Output.pm
-C4/Interface/CGI/Template.pm
-C4/Koha.pm
-C4/Maintainance.pm
-C4/Members.pm
-C4/Output.pm
-C4/Print.pm
-C4/Query.pm
-C4/Reserves2.pm
-C4/Scan.pm
-C4/Search.pm
-C4/SearchBiblio.pm
-C4/SearchMarc.pm
-C4/SearchMarcTest.pm
-C4/Security.pm
-C4/Shelf.pm
-C4/SimpleMarc.pm
-C4/Stats.pm
-C4/Stock.pm
-C4/Suggestions.pm
-C4/test.pl
-C4/Z3950.pm
-catalogue-home.pl
-changelanguage.pl
-circ/branchtransfers.pl
-circ/circulation.pl
-circ/returns.pl
-circ/selectbranchprinter.pl
-currency.pl
-DBI.Errors
-delbiblio.pl
-deletebiblioitem.pl
-deletewebsite.pl
-delitem.pl
-detail.pl
-detailprint.pl
-error.pl
-export/marc.pl
-fixBranches.pl
-groups.pl
-help.pl
-import/breeding.pl
-ISBDdetail.pl
-koha-curses/circ.pl
-koha-plucene/indexer.pl
-koha-plucene/search.cgi
-koha-tmpl/errors/400.pl
-koha-tmpl/errors/401.pl
-koha-tmpl/errors/402.pl
-koha-tmpl/errors/403.pl
-koha-tmpl/errors/404.pl
-koha-tmpl/errors/500.pl
-koha-tmpl/favicon.ico
-koha-tmpl/index.html
-koha-tmpl/intranet-tmpl/default/de/about.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/addbiblio-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/additem-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/histsearch.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/suggestion-select.tmpl
-koha-tmpl/intranet-tmpl/default/de/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/default/de/auth.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/auth_finder.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/authorities-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/blinddetail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/detail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/detail.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/searchresultlist-auth.tmpl
-koha-tmpl/intranet-tmpl/default/de/authorities/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/default/de/barcodes/barcodes-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/barcodes/barcodes-top.inc
-koha-tmpl/intranet-tmpl/default/de/barcodes/barcodes.tmpl
-koha-tmpl/intranet-tmpl/default/de/barcodes/printerConfig.tmpl
-koha-tmpl/intranet-tmpl/default/de/bookcount.tmpl
-koha-tmpl/intranet-tmpl/default/de/bookshelves/addbookbybiblionumber.tmpl
-koha-tmpl/intranet-tmpl/default/de/bookshelves/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/de/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/lateissues.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/order.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/receipt-search-result.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/result.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/search-supply.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/search.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/serial-issues.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/subscription-bib-search.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/default/de/bull/subscription-renew.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/detail-opac.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/detailprint.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/ISBDdetail.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/default/de/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/default/de/charges.tmpl
-koha-tmpl/intranet-tmpl/default/de/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/default/de/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/de/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/de/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/default/de/default.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/400.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/401.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/402.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/403.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/404.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/405.tmpl
-koha-tmpl/intranet-tmpl/default/de/errors/500.tmpl
-koha-tmpl/intranet-tmpl/default/de/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/authtypes.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/branches.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/currency.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/printers.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/admin/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/nohelp.tmpl
-koha-tmpl/intranet-tmpl/default/de/help/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/de/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/de/images/exception.jpg
-koha-tmpl/intranet-tmpl/default/de/images/holder.gif
-koha-tmpl/intranet-tmpl/default/de/images/koha-front-koha.gif
-koha-tmpl/intranet-tmpl/default/de/images/labelSample.gif
-koha-tmpl/intranet-tmpl/default/de/images/leftarrow.png
-koha-tmpl/intranet-tmpl/default/de/images/more.gif
-koha-tmpl/intranet-tmpl/default/de/images/next.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/1-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/1.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/10-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/10.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/11-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/11.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/12-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/12.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/13-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/13.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/14-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/14.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/15-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/15.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/16-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/16.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/17-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/17.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/18-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/18.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/19-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/19.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/2-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/2.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/20-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/20.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/21-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/21.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/22-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/22.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/23-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/23.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/24-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/24.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/25-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/25.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/26-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/26.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/27-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/27.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/28-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/28.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/29-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/29.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/3-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/3.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/30-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/30.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/31-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/31.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/4-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/4.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/5-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/5.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/6-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/6.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/7-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/7.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/8-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/8.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/9-highlight.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/9.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/next.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/placeholder.gif
-koha-tmpl/intranet-tmpl/default/de/images/numbers/prev.gif
-koha-tmpl/intranet-tmpl/default/de/images/prev.gif
-koha-tmpl/intranet-tmpl/default/de/images/print.gif
-koha-tmpl/intranet-tmpl/default/de/images/print.png
-koha-tmpl/intranet-tmpl/default/de/images/rightarrow.png
-koha-tmpl/intranet-tmpl/default/de/images/trash.gif
-koha-tmpl/intranet-tmpl/default/de/images/trash.png
-koha-tmpl/intranet-tmpl/default/de/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/de/includes/about-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/about-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/acquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/acquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/auth-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/auth-search-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/auth-search-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/auth-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/bull-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/bull-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/calendar/cal.gif
-koha-tmpl/intranet-tmpl/default/de/includes/calendar/calendar-en.js
-koha-tmpl/intranet-tmpl/default/de/includes/calendar/calendar-setup.js
-koha-tmpl/intranet-tmpl/default/de/includes/calendar/calendar-system.css
-koha-tmpl/intranet-tmpl/default/de/includes/calendar/calendar.js
-koha-tmpl/intranet-tmpl/default/de/includes/cat-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/cat-class-list.inc
-koha-tmpl/intranet-tmpl/default/de/includes/cat-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/circulation-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/circulation-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/common-print.css
-koha-tmpl/intranet-tmpl/default/de/includes/common-style.css
-koha-tmpl/intranet-tmpl/default/de/includes/countryCodes/countryCodes.dat
-koha-tmpl/intranet-tmpl/default/de/includes/error-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/error-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/help-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/help-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/intranet-main.css
-koha-tmpl/intranet-tmpl/default/de/includes/issues-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/labelConfig/itemsLabelConfig.conf
-koha-tmpl/intranet-tmpl/default/de/includes/marc-editor.css
-koha-tmpl/intranet-tmpl/default/de/includes/marc-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/members-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/members-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/neutral-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/onlinehelp.css
-koha-tmpl/intranet-tmpl/default/de/includes/opac-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/opac-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/parameters-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/parameters-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/popup-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/popup-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/quicksearch-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/reports-bottom.inc
-koha-tmpl/intranet-tmpl/default/de/includes/reports-top.inc
-koha-tmpl/intranet-tmpl/default/de/includes/reportswcal-top.inc
-koha-tmpl/intranet-tmpl/default/de/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/default/de/maint/catmaintain.tmpl
-koha-tmpl/intranet-tmpl/default/de/mancredit.tmpl
-koha-tmpl/intranet-tmpl/default/de/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/default/de/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/deletemem.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/member-quicksearch-results.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/member-quicksearch.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/member.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/moremember-print.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/moremember-receipt.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/pay.tmpl
-koha-tmpl/intranet-tmpl/default/de/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/default/de/modbib.tmpl
-koha-tmpl/intranet-tmpl/default/de/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/default/de/moditem.tmpl
-koha-tmpl/intranet-tmpl/default/de/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/default/de/opac-main.tmpl
-koha-tmpl/intranet-tmpl/default/de/overdue.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/auth_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/auth_tag_structure.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/authtypes.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/default/de/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/acquisitions_stats.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/bor_issues_top.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/borrowers_out.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/borrowers_stats.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/cat_issues_top.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/catalogue_out.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/catalogue_stats.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/inventory.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/issues_avg_stats.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/issues_by_borrower_category.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/issues_stats.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/de/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/default/de/request.tmpl
-koha-tmpl/intranet-tmpl/default/de/reservereport.tmpl
-koha-tmpl/intranet-tmpl/default/de/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/default/de/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/de/search.marc/suggest.tmpl
-koha-tmpl/intranet-tmpl/default/de/searchheader.tmpl
-koha-tmpl/intranet-tmpl/default/de/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/de/stats.tmpl
-koha-tmpl/intranet-tmpl/default/de/suggestion/acceptorreject.tmpl
-koha-tmpl/intranet-tmpl/default/de/suggestion/mail_suggestion_ACCEPTED.tmpl
-koha-tmpl/intranet-tmpl/default/de/suggestion/mail_suggestion_AVAILABLE.tmpl
-koha-tmpl/intranet-tmpl/default/de/suggestion/mail_suggestion_ORDERED.tmpl
-koha-tmpl/intranet-tmpl/default/de/suggestion/mail_suggestion_REJECTED.tmpl
-koha-tmpl/intranet-tmpl/default/de/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/default/de/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/default/de/user/userpage.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_105.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_106.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_110.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_115a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_115b.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_116.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_117.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_120.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_121a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_121b.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_122.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_123a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_123d.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_123e.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_123f.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_123g.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124b.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124c.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124d.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124e.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124f.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_124g.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_125a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_125b.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_126a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_126b.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_127.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_128a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_128b.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_128c.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_130.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_135a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_140.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_141.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_210c.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_4XX.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_60X.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/default/de/value_builder/unimarc_field_700_701_702.tmpl
-koha-tmpl/intranet-tmpl/default/de/z3950/searchresult.tmpl
-koha-tmpl/intranet-tmpl/default/en/about.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/addbiblio-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/additem-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/histsearch.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/suggestion-select.tmpl
-koha-tmpl/intranet-tmpl/default/en/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/default/en/auth.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/auth_finder.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/authorities-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/blinddetail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/detail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/detail.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist-auth.tmpl
-koha-tmpl/intranet-tmpl/default/en/authorities/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/default/en/barcodes/barcodes-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/barcodes/barcodes-top.inc
-koha-tmpl/intranet-tmpl/default/en/barcodes/barcodes.tmpl
-koha-tmpl/intranet-tmpl/default/en/barcodes/printerConfig.tmpl
-koha-tmpl/intranet-tmpl/default/en/bookcount.tmpl
-koha-tmpl/intranet-tmpl/default/en/bookshelves/addbookbybiblionumber.tmpl
-koha-tmpl/intranet-tmpl/default/en/bookshelves/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/en/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/lateissues.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/order.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/receipt-search-result.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/result.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/search-supply.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/search.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/serial-issues.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/subscription-bib-search.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/default/en/bull/subscription-renew.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/detail-opac.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/detailprint.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/ISBDdetail.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/default/en/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/default/en/charges.tmpl
-koha-tmpl/intranet-tmpl/default/en/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/default/en/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/en/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/en/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/default/en/default.tmpl
-koha-tmpl/intranet-tmpl/default/en/error.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/400.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/401.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/402.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/403.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/404.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/405.tmpl
-koha-tmpl/intranet-tmpl/default/en/errors/500.tmpl
-koha-tmpl/intranet-tmpl/default/en/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/authtypes.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/branches.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/currency.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/printers.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/admin/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/nohelp.tmpl
-koha-tmpl/intranet-tmpl/default/en/help/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/en/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/en/images/exception.jpg
-koha-tmpl/intranet-tmpl/default/en/images/holder.gif
-koha-tmpl/intranet-tmpl/default/en/images/koha-front-koha.gif
-koha-tmpl/intranet-tmpl/default/en/images/labelSample.gif
-koha-tmpl/intranet-tmpl/default/en/images/leftarrow.png
-koha-tmpl/intranet-tmpl/default/en/images/more.gif
-koha-tmpl/intranet-tmpl/default/en/images/next.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/1-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/1.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/10-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/10.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/11-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/11.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/12-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/12.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/13-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/13.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/14-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/14.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/15-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/15.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/16-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/16.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/17-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/17.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/18-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/18.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/19-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/19.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/2-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/2.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/20-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/20.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/21-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/21.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/22-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/22.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/23-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/23.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/24-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/24.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/25-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/25.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/26-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/26.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/27-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/27.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/28-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/28.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/29-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/29.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/3-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/3.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/30-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/30.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/31-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/31.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/4-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/4.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/5-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/5.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/6-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/6.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/7-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/7.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/8-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/8.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/9-highlight.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/9.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/next.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/placeholder.gif
-koha-tmpl/intranet-tmpl/default/en/images/numbers/prev.gif
-koha-tmpl/intranet-tmpl/default/en/images/prev.gif
-koha-tmpl/intranet-tmpl/default/en/images/print.gif
-koha-tmpl/intranet-tmpl/default/en/images/print.png
-koha-tmpl/intranet-tmpl/default/en/images/rightarrow.png
-koha-tmpl/intranet-tmpl/default/en/images/trash.gif
-koha-tmpl/intranet-tmpl/default/en/images/trash.png
-koha-tmpl/intranet-tmpl/default/en/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/en/includes/about-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/about-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/acquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/acquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/addressbook_section.png
-koha-tmpl/intranet-tmpl/default/en/includes/auth-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/auth-search-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/auth-search-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/auth-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/bull-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/bull-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/calendar/cal.gif
-koha-tmpl/intranet-tmpl/default/en/includes/calendar/calendar-en.js
-koha-tmpl/intranet-tmpl/default/en/includes/calendar/calendar-setup.js
-koha-tmpl/intranet-tmpl/default/en/includes/calendar/calendar-system.css
-koha-tmpl/intranet-tmpl/default/en/includes/calendar/calendar.js
-koha-tmpl/intranet-tmpl/default/en/includes/cat-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/cat-class-list.inc
-koha-tmpl/intranet-tmpl/default/en/includes/cat-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/circulation-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/circulation-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/common-print.css
-koha-tmpl/intranet-tmpl/default/en/includes/common-style.css
-koha-tmpl/intranet-tmpl/default/en/includes/countryCodes/countryCodes.dat
-koha-tmpl/intranet-tmpl/default/en/includes/error-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/error-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/help-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/help-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/intranet-main.css
-koha-tmpl/intranet-tmpl/default/en/includes/issues-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/labelConfig/itemsLabelConfig.conf
-koha-tmpl/intranet-tmpl/default/en/includes/marc-editor.css
-koha-tmpl/intranet-tmpl/default/en/includes/marc-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/members-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/members-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/neutral-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/onlinehelp.css
-koha-tmpl/intranet-tmpl/default/en/includes/opac-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/opac-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/parameters-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/parameters-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/popup-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/popup-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/quicksearch-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/reports-bottom.inc
-koha-tmpl/intranet-tmpl/default/en/includes/reports-top.inc
-koha-tmpl/intranet-tmpl/default/en/includes/reportswcal-top.inc
-koha-tmpl/intranet-tmpl/default/en/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/default/en/maint/catmaintain.tmpl
-koha-tmpl/intranet-tmpl/default/en/mancredit.tmpl
-koha-tmpl/intranet-tmpl/default/en/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/default/en/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/deletemem.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/member-quicksearch-results.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/member-quicksearch.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/member.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/moremember-print.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/moremember-receipt.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/pay.tmpl
-koha-tmpl/intranet-tmpl/default/en/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/default/en/modbib.tmpl
-koha-tmpl/intranet-tmpl/default/en/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/default/en/moditem.tmpl
-koha-tmpl/intranet-tmpl/default/en/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/default/en/opac-main.tmpl
-koha-tmpl/intranet-tmpl/default/en/overdue.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/auth_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/auth_tag_structure.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/authtypes.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/itemtypecategory.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/itemtypesubcategory.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/mediatype.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/default/en/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/acquisitions_stats.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/bor_issues_top.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/borrowers_out.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/borrowers_stats.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/cat_issues_top.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/catalogue_out.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/catalogue_stats.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/inventory.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/issues_avg_stats.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/issues_by_borrower_category.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/issues_stats.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/default/en/reports/reserves.tmpl
-koha-tmpl/intranet-tmpl/default/en/request.tmpl
-koha-tmpl/intranet-tmpl/default/en/reservereport.tmpl
-koha-tmpl/intranet-tmpl/default/en/search.marc/dictionary.tmpl
-koha-tmpl/intranet-tmpl/default/en/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/default/en/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/en/search.marc/suggest.tmpl
-koha-tmpl/intranet-tmpl/default/en/searchheader.tmpl
-koha-tmpl/intranet-tmpl/default/en/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/en/stats.tmpl
-koha-tmpl/intranet-tmpl/default/en/suggestion/acceptorreject.tmpl
-koha-tmpl/intranet-tmpl/default/en/suggestion/mail_suggestion_ACCEPTED.tmpl
-koha-tmpl/intranet-tmpl/default/en/suggestion/mail_suggestion_AVAILABLE.tmpl
-koha-tmpl/intranet-tmpl/default/en/suggestion/mail_suggestion_ORDERED.tmpl
-koha-tmpl/intranet-tmpl/default/en/suggestion/mail_suggestion_REJECTED.tmpl
-koha-tmpl/intranet-tmpl/default/en/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/default/en/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/default/en/user/userpage.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_105.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_106.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_110.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_115a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_115b.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_116.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_117.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_120.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_121a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_121b.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_122.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_123a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_123d.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_123e.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_123f.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_123g.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124b.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124c.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124d.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124e.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124f.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_124g.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_125a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_125b.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_126a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_126b.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_127.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_128a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_128b.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_128c.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_130.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_135a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_140.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_141.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_210c.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_4XX.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_60X.tmpl
-koha-tmpl/intranet-tmpl/default/en/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/default/en/z3950/searchresult.tmpl
-koha-tmpl/intranet-tmpl/default/es/about.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui.simple/addbiblio2.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/newbasket.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/default/es/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/default/es/auth.tmpl
-koha-tmpl/intranet-tmpl/default/es/bookcount.tmpl
-koha-tmpl/intranet-tmpl/default/es/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/detail-opac.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/default/es/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/default/es/charges.tmpl
-koha-tmpl/intranet-tmpl/default/es/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/default/es/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/es/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/es/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/default/es/cmsd.tmpl
-koha-tmpl/intranet-tmpl/default/es/default.tmpl
-koha-tmpl/intranet-tmpl/default/es/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/es/images/acq-acq.gif
-koha-tmpl/intranet-tmpl/default/es/images/acq-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/acq-crc.gif
-koha-tmpl/intranet-tmpl/default/es/images/acq-hom.gif
-koha-tmpl/intranet-tmpl/default/es/images/acq-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/acq-rep.gif
-koha-tmpl/intranet-tmpl/default/es/images/add-biblio.gif
-koha-tmpl/intranet-tmpl/default/es/images/add-child.gif
-koha-tmpl/intranet-tmpl/default/es/images/add-item.gif
-koha-tmpl/intranet-tmpl/default/es/images/add-order.gif
-koha-tmpl/intranet-tmpl/default/es/images/arrow-down-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/arrow-long-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/arrow-long-issues.gif
-koha-tmpl/intranet-tmpl/default/es/images/arrow-right-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/arrow-right-issues.gif
-koha-tmpl/intranet-tmpl/default/es/images/background-acq.gif
-koha-tmpl/intranet-tmpl/default/es/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/blackdot.gif
-koha-tmpl/intranet-tmpl/default/es/images/blankdot.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-add-member.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-add-new.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-add-variable.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-issues.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-next-borrower.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-returns.gif
-koha-tmpl/intranet-tmpl/default/es/images/button-transfers.gif
-koha-tmpl/intranet-tmpl/default/es/images/cancel-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/cancel-requests.gif
-koha-tmpl/intranet-tmpl/default/es/images/cat-acq.gif
-koha-tmpl/intranet-tmpl/default/es/images/cat-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/cat-cat.jpg
-koha-tmpl/intranet-tmpl/default/es/images/cat-crc.gif
-koha-tmpl/intranet-tmpl/default/es/images/cat-hom.gif
-koha-tmpl/intranet-tmpl/default/es/images/cat-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/cat-rep.gif
-koha-tmpl/intranet-tmpl/default/es/images/catalogue-spot-1.gif
-koha-tmpl/intranet-tmpl/default/es/images/catalogue-spot-2.gif
-koha-tmpl/intranet-tmpl/default/es/images/clear-button.gif
-koha-tmpl/intranet-tmpl/default/es/images/confirm-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/continue.gif
-koha-tmpl/intranet-tmpl/default/es/images/crc-acq.gif
-koha-tmpl/intranet-tmpl/default/es/images/crc-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/crc-crc.gif
-koha-tmpl/intranet-tmpl/default/es/images/crc-hom.gif
-koha-tmpl/intranet-tmpl/default/es/images/crc-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/crc-rep.gif
-koha-tmpl/intranet-tmpl/default/es/images/create-man-credit.gif
-koha-tmpl/intranet-tmpl/default/es/images/create-man-invoice.gif
-koha-tmpl/intranet-tmpl/default/es/images/delete-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-acquisitions.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-admin.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-arrow-purple.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-circulation.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-member.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-acquisition.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-acquisitions.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-admin.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-circulation.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-member.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-reports.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-mouseover-search.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-reports.gif
-koha-tmpl/intranet-tmpl/default/es/images/front-search.gif
-koha-tmpl/intranet-tmpl/default/es/images/holder.gif
-koha-tmpl/intranet-tmpl/default/es/images/inside-koha-bottom.gif
-koha-tmpl/intranet-tmpl/default/es/images/inside-menu-catalogue.gif
-koha-tmpl/intranet-tmpl/default/es/images/inside-menu-members.gif
-koha-tmpl/intranet-tmpl/default/es/images/inside-top-join.gif
-koha-tmpl/intranet-tmpl/default/es/images/inside-top-member.gif
-koha-tmpl/intranet-tmpl/default/es/images/inside-top-search.gif
-koha-tmpl/intranet-tmpl/default/es/images/intranet-top-menu.gif
-koha-tmpl/intranet-tmpl/default/es/images/issues-spot-1.gif
-koha-tmpl/intranet-tmpl/default/es/images/issues-spot-2.gif
-koha-tmpl/intranet-tmpl/default/es/images/koha-front-background.gif
-koha-tmpl/intranet-tmpl/default/es/images/koha-front-koha.gif
-koha-tmpl/intranet-tmpl/default/es/images/koha-front.jpg
-koha-tmpl/intranet-tmpl/default/es/images/mem-acq.gif
-koha-tmpl/intranet-tmpl/default/es/images/mem-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/mem-crc.gif
-koha-tmpl/intranet-tmpl/default/es/images/mem-hom.gif
-koha-tmpl/intranet-tmpl/default/es/images/mem-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/mem-rep.gif
-koha-tmpl/intranet-tmpl/default/es/images/members-spot-1.gif
-koha-tmpl/intranet-tmpl/default/es/images/members-spot-2.gif
-koha-tmpl/intranet-tmpl/default/es/images/menu-home.gif
-koha-tmpl/intranet-tmpl/default/es/images/menu-join.gif
-koha-tmpl/intranet-tmpl/default/es/images/menu-login.gif
-koha-tmpl/intranet-tmpl/default/es/images/menu-search.gif
-koha-tmpl/intranet-tmpl/default/es/images/modify-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/modify-requests.gif
-koha-tmpl/intranet-tmpl/default/es/images/modify-user-flags.gif
-koha-tmpl/intranet-tmpl/default/es/images/mouseover-home.gif
-koha-tmpl/intranet-tmpl/default/es/images/mouseover-join.gif
-koha-tmpl/intranet-tmpl/default/es/images/mouseover-member.gif
-koha-tmpl/intranet-tmpl/default/es/images/mouseover-search.gif
-koha-tmpl/intranet-tmpl/default/es/images/new-basket-short.gif
-koha-tmpl/intranet-tmpl/default/es/images/new-basket.gif
-koha-tmpl/intranet-tmpl/default/es/images/new-supplier.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-cat-1.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-cat-2.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-cat-3.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-issues-1.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-issues-2.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-issues-3.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-mem-1.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-mem-2.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-mem-3.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers-mem-4.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/1-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/1.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/10-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/10.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/11-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/11.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/12-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/12.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/13-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/13.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/14-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/14.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/15-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/15.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/16-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/16.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/17-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/17.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/18-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/18.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/19-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/19.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/2-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/2.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/20-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/20.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/21-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/21.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/22-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/22.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/23-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/23.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/24-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/24.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/25-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/25.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/26-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/26.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/27-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/27.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/28-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/28.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/29-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/29.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/3-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/3.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/30-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/30.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/31-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/31.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/4-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/4.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/5-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/5.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/6-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/6.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/7-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/7.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/8-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/8.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/9-highlight.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/9.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/next.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/placeholder.gif
-koha-tmpl/intranet-tmpl/default/es/images/numbers/prev.gif
-koha-tmpl/intranet-tmpl/default/es/images/ok-start-search.gif
-koha-tmpl/intranet-tmpl/default/es/images/ok.gif
-koha-tmpl/intranet-tmpl/default/es/images/overdues.jpg
-koha-tmpl/intranet-tmpl/default/es/images/password-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/pay-fines.gif
-koha-tmpl/intranet-tmpl/default/es/images/place-request.gif
-koha-tmpl/intranet-tmpl/default/es/images/reading-record.gif
-koha-tmpl/intranet-tmpl/default/es/images/receive-order-short.gif
-koha-tmpl/intranet-tmpl/default/es/images/receive-order.gif
-koha-tmpl/intranet-tmpl/default/es/images/rep-acq.gif
-koha-tmpl/intranet-tmpl/default/es/images/rep-cat.gif
-koha-tmpl/intranet-tmpl/default/es/images/rep-crc.gif
-koha-tmpl/intranet-tmpl/default/es/images/rep-home.gif
-koha-tmpl/intranet-tmpl/default/es/images/rep-mem.gif
-koha-tmpl/intranet-tmpl/default/es/images/rep-rep.gif
-koha-tmpl/intranet-tmpl/default/es/images/reports-mouseover.gif
-koha-tmpl/intranet-tmpl/default/es/images/reports-mouseover_B.gif
-koha-tmpl/intranet-tmpl/default/es/images/requests.gif
-koha-tmpl/intranet-tmpl/default/es/images/save-basket.gif
-koha-tmpl/intranet-tmpl/default/es/images/save-changes.gif
-koha-tmpl/intranet-tmpl/default/es/images/search-button.gif
-koha-tmpl/intranet-tmpl/default/es/images/update-renewals.gif
-koha-tmpl/intranet-tmpl/default/es/images/view-account.gif
-koha-tmpl/intranet-tmpl/default/es/images/view-basket.gif
-koha-tmpl/intranet-tmpl/default/es/includes/acquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/acquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/aquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/aquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/cat-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/cat-class-list.inc
-koha-tmpl/intranet-tmpl/default/es/includes/cat-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/circulation-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/circulation-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/issues-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/issues-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/members-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/members-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/opac-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/opac-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/parameters-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/parameters-top.inc
-koha-tmpl/intranet-tmpl/default/es/includes/reports-bottom.inc
-koha-tmpl/intranet-tmpl/default/es/includes/reports-top.inc
-koha-tmpl/intranet-tmpl/default/es/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/default/es/mancredit.tmpl
-koha-tmpl/intranet-tmpl/default/es/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/default/es/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/member.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/pay.tmpl
-koha-tmpl/intranet-tmpl/default/es/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/default/es/modbib.tmpl
-koha-tmpl/intranet-tmpl/default/es/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/default/es/moditem.tmpl
-koha-tmpl/intranet-tmpl/default/es/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/default/es/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/es/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/es/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/es/opac-main.tmpl
-koha-tmpl/intranet-tmpl/default/es/overdue.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/default/es/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/es/reports.tmpl
-koha-tmpl/intranet-tmpl/default/es/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/default/es/request.tmpl
-koha-tmpl/intranet-tmpl/default/es/reservereport.tmpl
-koha-tmpl/intranet-tmpl/default/es/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/default/es/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/es/searchheader.tmpl
-koha-tmpl/intranet-tmpl/default/es/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/es/stats.tmpl
-koha-tmpl/intranet-tmpl/default/es/style.css
-koha-tmpl/intranet-tmpl/default/es/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/default/es/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/default/es/user/userpage.tmpl
-koha-tmpl/intranet-tmpl/default/es/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/default/es/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/default/es/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/default/es/value_builder/unimarc_field_700_701_702.tmpl
-koha-tmpl/intranet-tmpl/default/fr/about.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/addbiblio-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/addbiblio.tmpl.ini
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/addbooks.tmpl.ini
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/additem-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/additem.tmpl.ini
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/histsearch.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/newbasket.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/suggestion-select.tmpl
-koha-tmpl/intranet-tmpl/default/fr/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/default/fr/auth.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/auth_finder.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/authorities-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/blinddetail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/detail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/detail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/searchresultlist-auth.tmpl
-koha-tmpl/intranet-tmpl/default/fr/authorities/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/default/fr/barcodes/barcodes-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/barcodes/barcodes-top.inc
-koha-tmpl/intranet-tmpl/default/fr/barcodes/barcodes.tmpl
-koha-tmpl/intranet-tmpl/default/fr/barcodes/printerConfig.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bookcount.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bookshelves/addbookbybiblionumber.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bookshelves/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/fr/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/order.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/receipt-search-result.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/result.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/search-supply.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/search.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/serial-issues.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/subscription-bib-search.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/bull/subscription-renew.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/detail-opac.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/detailprint.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/ISBDdetail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/default/fr/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/default/fr/charges.tmpl
-koha-tmpl/intranet-tmpl/default/fr/circ/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/fr/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/default/fr/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/fr/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/fr/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/default/fr/default.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/400.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/401.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/402.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/403.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/404.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/405.tmpl
-koha-tmpl/intranet-tmpl/default/fr/errors/500.tmpl
-koha-tmpl/intranet-tmpl/default/fr/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/authtypes.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/branches.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/currency.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/printers.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/admin/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/nohelp.tmpl
-koha-tmpl/intranet-tmpl/default/fr/help/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/fr/images/arrow-down-cat.gif
-koha-tmpl/intranet-tmpl/default/fr/images/arrow-long-cat.gif
-koha-tmpl/intranet-tmpl/default/fr/images/arrow-long-issues.gif
-koha-tmpl/intranet-tmpl/default/fr/images/arrow-right-cat.gif
-koha-tmpl/intranet-tmpl/default/fr/images/arrow-right-issues.gif
-koha-tmpl/intranet-tmpl/default/fr/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/fr/images/blackdot.gif
-koha-tmpl/intranet-tmpl/default/fr/images/blankdot.gif
-koha-tmpl/intranet-tmpl/default/fr/images/catalogue-spot-1.gif
-koha-tmpl/intranet-tmpl/default/fr/images/catalogue-spot-2.gif
-koha-tmpl/intranet-tmpl/default/fr/images/clear-button.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-acquisitions.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-acquisitions.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/front-admin.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-admin.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/front-arrow-purple.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-circulation.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-circulation.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/front-member.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-member.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-acquisition.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-acquisitions.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-admin.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-circulation.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-member.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-reports.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-mouseover-search.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-reports.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-reports.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/front-search.gif
-koha-tmpl/intranet-tmpl/default/fr/images/front-search.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/holder.gif
-koha-tmpl/intranet-tmpl/default/fr/images/inside-koha-bottom.gif
-koha-tmpl/intranet-tmpl/default/fr/images/inside-menu-catalogue.gif
-koha-tmpl/intranet-tmpl/default/fr/images/inside-menu-members.gif
-koha-tmpl/intranet-tmpl/default/fr/images/inside-top-join.gif
-koha-tmpl/intranet-tmpl/default/fr/images/inside-top-member.gif
-koha-tmpl/intranet-tmpl/default/fr/images/inside-top-search.gif
-koha-tmpl/intranet-tmpl/default/fr/images/issues-spot-1.gif
-koha-tmpl/intranet-tmpl/default/fr/images/issues-spot-2.gif
-koha-tmpl/intranet-tmpl/default/fr/images/koha-front-background.gif
-koha-tmpl/intranet-tmpl/default/fr/images/koha-front-koha.gif
-koha-tmpl/intranet-tmpl/default/fr/images/koha-front-koha.xcf
-koha-tmpl/intranet-tmpl/default/fr/images/mouseover-home.gif
-koha-tmpl/intranet-tmpl/default/fr/images/mouseover-join.gif
-koha-tmpl/intranet-tmpl/default/fr/images/mouseover-member.gif
-koha-tmpl/intranet-tmpl/default/fr/images/mouseover-search.gif
-koha-tmpl/intranet-tmpl/default/fr/images/README
-koha-tmpl/intranet-tmpl/default/fr/images/reports-mouseover.gif
-koha-tmpl/intranet-tmpl/default/fr/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/fr/includes/about-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/about-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/acquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/acquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/auth-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/auth-search-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/auth-search-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/auth-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/bull-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/bull-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/cat-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/cat-class-list.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/cat-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/circulation-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/circulation-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/common-style.css
-koha-tmpl/intranet-tmpl/default/fr/includes/error-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/error-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/help-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/help-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/intranet-main.css
-koha-tmpl/intranet-tmpl/default/fr/includes/issues-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/issues-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/marc-editor.css
-koha-tmpl/intranet-tmpl/default/fr/includes/marc-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/members-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/members-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/neutral-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/onlinehelp.css
-koha-tmpl/intranet-tmpl/default/fr/includes/opac-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/opac-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/parameters-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/parameters-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/popup-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/popup-top.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/reports-bottom.inc
-koha-tmpl/intranet-tmpl/default/fr/includes/reports-top.inc
-koha-tmpl/intranet-tmpl/default/fr/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/default/fr/maint/catmaintain.tmpl
-koha-tmpl/intranet-tmpl/default/fr/mancredit.tmpl
-koha-tmpl/intranet-tmpl/default/fr/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/member.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/pay.tmpl
-koha-tmpl/intranet-tmpl/default/fr/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/default/fr/modbib.tmpl
-koha-tmpl/intranet-tmpl/default/fr/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/default/fr/moditem.tmpl
-koha-tmpl/intranet-tmpl/default/fr/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/default/fr/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/fr/opac-detail.tmpl
-koha-tmpl/intranet-tmpl/default/fr/opac-main.tmpl
-koha-tmpl/intranet-tmpl/default/fr/overdue.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/auth_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/auth_tag_structure.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/authtypes.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/charges.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/default/fr/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/fr/reports.tmpl
-koha-tmpl/intranet-tmpl/default/fr/reports/inventory.tmpl
-koha-tmpl/intranet-tmpl/default/fr/reports/issues_by_borrower_category.tmpl
-koha-tmpl/intranet-tmpl/default/fr/reports/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/fr/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/default/fr/request.tmpl
-koha-tmpl/intranet-tmpl/default/fr/reservereport.tmpl
-koha-tmpl/intranet-tmpl/default/fr/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/default/fr/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/fr/search.marc/suggest.tmpl
-koha-tmpl/intranet-tmpl/default/fr/searchheader.tmpl
-koha-tmpl/intranet-tmpl/default/fr/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/fr/stats.tmpl
-koha-tmpl/intranet-tmpl/default/fr/style.css
-koha-tmpl/intranet-tmpl/default/fr/suggestion/acceptorreject.tmpl
-koha-tmpl/intranet-tmpl/default/fr/suggestion/mail_suggestion_ACCEPTED.tmpl
-koha-tmpl/intranet-tmpl/default/fr/suggestion/mail_suggestion_AVAILABLE.tmpl
-koha-tmpl/intranet-tmpl/default/fr/suggestion/mail_suggestion_ORDERED.tmpl
-koha-tmpl/intranet-tmpl/default/fr/suggestion/mail_suggestion_REJECTED.tmpl
-koha-tmpl/intranet-tmpl/default/fr/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/default/fr/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/default/fr/user/userpage.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_105.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_106.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_110.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_115a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_115b.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_116.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_117.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_120.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_121a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_121b.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_122.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123d.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123e.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123f.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123g.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123i.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_123j.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124b.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124c.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124d.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124e.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124f.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_124g.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_125a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_125b.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_126a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_126b.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_127.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_128a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_128b.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_128c.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_130.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_135a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_140.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_141.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_60X.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/default/fr/value_builder/unimarc_field_700_701_702.tmpl
-koha-tmpl/intranet-tmpl/default/fr/z3950/searchresult.tmpl
-koha-tmpl/intranet-tmpl/default/images/1downarrow.png
-koha-tmpl/intranet-tmpl/default/images/1leftarrow.png
-koha-tmpl/intranet-tmpl/default/images/1rightarrow.png
-koha-tmpl/intranet-tmpl/default/images/1uparrow.png
-koha-tmpl/intranet-tmpl/default/images/2downarrow.png
-koha-tmpl/intranet-tmpl/default/images/2leftarrow.png
-koha-tmpl/intranet-tmpl/default/images/2rightarrow.png
-koha-tmpl/intranet-tmpl/default/images/2uparrow.png
-koha-tmpl/intranet-tmpl/default/images/arrow-big.gif
-koha-tmpl/intranet-tmpl/default/images/arrow.gif
-koha-tmpl/intranet-tmpl/default/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/images/edittrash.png
-koha-tmpl/intranet-tmpl/default/images/filefind.png
-koha-tmpl/intranet-tmpl/default/images/fileimport.png
-koha-tmpl/intranet-tmpl/default/images/filenew.png
-koha-tmpl/intranet-tmpl/default/images/fileopen.png
-koha-tmpl/intranet-tmpl/default/images/fileprint.png
-koha-tmpl/intranet-tmpl/default/images/filesave.png
-koha-tmpl/intranet-tmpl/default/images/Fleche.jpg
-koha-tmpl/intranet-tmpl/default/images/gohome.png
-koha-tmpl/intranet-tmpl/default/images/koha-logo.gif
-koha-tmpl/intranet-tmpl/default/images/mail_get.png
-koha-tmpl/intranet-tmpl/default/images/mail_send.png
-koha-tmpl/intranet-tmpl/default/images/numbers/1-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/1.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/10-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/10.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/11-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/11.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/12-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/12.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/13-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/13.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/14-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/14.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/15-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/15.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/16-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/16.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/17-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/17.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/18-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/18.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/19-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/19.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/2-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/2.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/20-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/20.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/21-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/21.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/22-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/22.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/23-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/23.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/24-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/24.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/25-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/25.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/26-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/26.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/27-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/27.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/28-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/28.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/29-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/29.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/3-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/3.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/30-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/30.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/31-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/31.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/4-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/4.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/5-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/5.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/6-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/6.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/7-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/7.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/8-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/8.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/9-highlight.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/9.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/next.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/placeholder.gif
-koha-tmpl/intranet-tmpl/default/images/numbers/prev.gif
-koha-tmpl/intranet-tmpl/default/pl/about.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/addbiblio-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/additem-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/newbasket.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/default/pl/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/default/pl/auth.tmpl
-koha-tmpl/intranet-tmpl/default/pl/bookcount.tmpl
-koha-tmpl/intranet-tmpl/default/pl/bookshelves/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/pl/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/detail-opac.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/detailprint.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/default/pl/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/default/pl/charges.tmpl
-koha-tmpl/intranet-tmpl/default/pl/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/default/pl/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/pl/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/pl/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/default/pl/default.tmpl
-koha-tmpl/intranet-tmpl/default/pl/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/pl/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/pl/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/pl/includes/about-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/about-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/acquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/acquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/cat-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/cat-class-list.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/cat-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/circulation-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/circulation-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/common-style.css
-koha-tmpl/intranet-tmpl/default/pl/includes/issues-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/issues-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/members-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/members-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/opac-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/opac-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/parameters-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/parameters-top.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/reports-bottom.inc
-koha-tmpl/intranet-tmpl/default/pl/includes/reports-top.inc
-koha-tmpl/intranet-tmpl/default/pl/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/default/pl/maint/catmaintain.tmpl
-koha-tmpl/intranet-tmpl/default/pl/mancredit.tmpl
-koha-tmpl/intranet-tmpl/default/pl/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/default/pl/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/default/pl/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/member.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/pay.tmpl
-koha-tmpl/intranet-tmpl/default/pl/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/default/pl/modbib.tmpl
-koha-tmpl/intranet-tmpl/default/pl/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/default/pl/moditem.tmpl
-koha-tmpl/intranet-tmpl/default/pl/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/default/pl/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/pl/opac-main.tmpl
-koha-tmpl/intranet-tmpl/default/pl/overdue.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/charges.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/default/pl/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/pl/reports.tmpl
-koha-tmpl/intranet-tmpl/default/pl/reports/inventory.tmpl
-koha-tmpl/intranet-tmpl/default/pl/reports/issues_by_borrower_category.tmpl
-koha-tmpl/intranet-tmpl/default/pl/reports/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/pl/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/default/pl/request.tmpl
-koha-tmpl/intranet-tmpl/default/pl/reservereport.tmpl
-koha-tmpl/intranet-tmpl/default/pl/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/default/pl/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/pl/search.marc/suggest.tmpl
-koha-tmpl/intranet-tmpl/default/pl/searchheader.tmpl
-koha-tmpl/intranet-tmpl/default/pl/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/pl/stats.tmpl
-koha-tmpl/intranet-tmpl/default/pl/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/default/pl/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/default/pl/user/userpage.tmpl
-koha-tmpl/intranet-tmpl/default/pl/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/default/pl/value_builder/unimarc_field_105.tmpl
-koha-tmpl/intranet-tmpl/default/pl/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/default/pl/value_builder/unimarc_field_60X.tmpl
-koha-tmpl/intranet-tmpl/default/pl/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/default/pl/value_builder/unimarc_field_700_701_702.tmpl
-koha-tmpl/intranet-tmpl/default/pl/z3950/searchresult.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/about.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/addbiblio-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/additem-nomarc.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/newbasket.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/auth.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/bookcount.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/boraccount.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/detail-opac.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/detailprint.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/charges.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/default.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/export/marc.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/images/.cvsignore
-koha-tmpl/intranet-tmpl/default/zh-TW/images/background-mem.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/cancel-requests.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/cancel-requests.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-acquisitions.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-acquisitions.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-admin.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-admin.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-circulation.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-circulation.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-member.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-member.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-acquisitions.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-acquisitions.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-admin.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-admin.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-circulation.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-circulation.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-member.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-member.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-reports.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-reports.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-search.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-mouseover-search.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-reports.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-reports.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-search.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/front-search.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/holder.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/koha-front-background.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/koha-front-koha.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/koha-front-koha.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/modify-user-flags.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/modify-user-flags.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/1-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/1.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/10-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/10.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/11-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/11.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/12-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/12.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/13-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/13.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/14-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/14.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/15-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/15.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/16-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/16.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/17-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/17.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/18-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/18.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/19-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/19.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/2-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/2.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/20-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/20.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/21-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/21.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/22-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/22.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/23-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/23.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/24-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/24.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/25-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/25.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/26-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/26.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/27-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/27.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/28-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/28.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/29-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/29.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/3-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/3.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/30-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/30.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/31-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/31.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/4-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/4.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/5-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/5.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/6-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/6.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/7-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/7.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/8-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/8.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/9-highlight.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/9.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/next.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/placeholder.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/numbers/prev.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/password-mem.gif
-koha-tmpl/intranet-tmpl/default/zh-TW/images/password-mem.xcf
-koha-tmpl/intranet-tmpl/default/zh-TW/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/about-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/about-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/acquisitions-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/acquisitions-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/cat-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/cat-class-list.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/cat-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/circulation-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/circulation-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/common-style.css
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/issues-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/issues-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/members-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/members-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/opac-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/opac-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/parameters-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/parameters-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/reports-bottom.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/includes/reports-top.inc
-koha-tmpl/intranet-tmpl/default/zh-TW/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/mancredit.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/member-flags.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/member.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/pay.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/modbib.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/moditem.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/newimember.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/newjmember.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/newmember.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/opac-main.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/overdue.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/charges.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/README
-koha-tmpl/intranet-tmpl/default/zh-TW/reports.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/reports/inventory.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/request.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/reservereport.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/searchheader.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/shelves.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/stats.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/user/userpage.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/value_builder/unimarc_field_105.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/value_builder/unimarc_field_60X.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/value_builder/unimarc_field_700_701_702.tmpl
-koha-tmpl/intranet-tmpl/default/zh-TW/z3950/searchresult.tmpl
-koha-tmpl/intranet-tmpl/npl/en/about.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/addbiblio-nomarc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/addbiblio.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/addbooks.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/additem-nomarc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/additem.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/isbnsearch.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui.simple/marcimport.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/acqui-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/acquire.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/basket.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/histsearch.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/newbasket.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/newbasket2.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/order.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/recieve.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/recieveorder.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/suggestion-select.tmpl
-koha-tmpl/intranet-tmpl/npl/en/acqui/supplier.tmpl
-koha-tmpl/intranet-tmpl/npl/en/auth.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/auth_finder.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/authorities-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/blinddetail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/detail-biblio-search.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/detail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/searchresultlist-auth.tmpl
-koha-tmpl/intranet-tmpl/npl/en/authorities/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/npl/en/barcodes/barcodes.tmpl
-koha-tmpl/intranet-tmpl/npl/en/barcodes/printerConfig.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bookcount.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bookshelves/addbookbybiblionumber.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bookshelves/shelves.tmpl
-koha-tmpl/intranet-tmpl/npl/en/boraccount.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/lateissues.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/order.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/receipt-search-result.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/result.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/search-supply.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/search.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/searchresultlist.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/serial-issues.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/subscription-bib-search.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/bull/subscription-renew.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/catalogue-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/cmsdsearchresults.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/detail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/detailprint.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/ISBDdetail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/MARCdetail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/moredetail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/searchresults.tmpl
-koha-tmpl/intranet-tmpl/npl/en/catalogue/subject.tmpl
-koha-tmpl/intranet-tmpl/npl/en/circ/branchtransfers.tmpl
-koha-tmpl/intranet-tmpl/npl/en/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/npl/en/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/npl/en/circ/selectbranchprinter.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/400.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/401.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/402.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/403.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/404.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/405.tmpl
-koha-tmpl/intranet-tmpl/npl/en/errors/500.tmpl
-koha-tmpl/intranet-tmpl/npl/en/export/marc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/acqui/newbiblio.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/authtypes.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/branches.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/categorie.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/currency.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/printers.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/stopwords.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/admin/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/authorities/authorities.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/bull-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/bull/bull-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/bull/statecollection.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/bull/subscription-add.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/bull/subscription-detail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/circ/circulation.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/circ/returns.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/export/marc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/nohelp.tmpl
-koha-tmpl/intranet-tmpl/npl/en/help/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/npl/en/images/checkall.gif
-koha-tmpl/intranet-tmpl/npl/en/import/breeding.tmpl
-koha-tmpl/intranet-tmpl/npl/en/includes/acqui-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/admin-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/authorities-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/blank.css
-koha-tmpl/intranet-tmpl/npl/en/includes/calendar/cal.gif
-koha-tmpl/intranet-tmpl/npl/en/includes/calendar/calendar-en.js
-koha-tmpl/intranet-tmpl/npl/en/includes/calendar/calendar-setup.js
-koha-tmpl/intranet-tmpl/npl/en/includes/calendar/calendar-system.css
-koha-tmpl/intranet-tmpl/npl/en/includes/calendar/calendar.js
-koha-tmpl/intranet-tmpl/npl/en/includes/circ-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/countryCodes/countryCodes.dat
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-barcodes-close.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-circ-close.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-circ-open.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-close-addbiblio.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-close-calendar.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-close-print.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-close-receipt.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-close-z3950.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-close.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/doc-head-open.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/favicon.ico
-koha-tmpl/intranet-tmpl/npl/en/includes/help-bottom.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/intranet-bottom.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/intranet-nav-brief.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/intranet-nav.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/intranet-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/intranet.css
-koha-tmpl/intranet-tmpl/npl/en/includes/labelConfig/itemsLabelConfig.conf
-koha-tmpl/intranet-tmpl/npl/en/includes/main-top-addbiblio.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/main-top-blank.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/main-top-circ.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/main-top-print.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/masthead.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/members-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/print.css
-koha-tmpl/intranet-tmpl/npl/en/includes/search-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/serials-topmenu.inc
-koha-tmpl/intranet-tmpl/npl/en/includes/tabs.css
-koha-tmpl/intranet-tmpl/npl/en/intranet-main.tmpl
-koha-tmpl/intranet-tmpl/npl/en/maint/catmaintain.tmpl
-koha-tmpl/intranet-tmpl/npl/en/mancredit.tmpl
-koha-tmpl/intranet-tmpl/npl/en/maninvoice.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/AcceptBiblioitem.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/AcceptItemCopy.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/AcceptMarcUpload.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/ListFileRecords.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/mainmenu.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/marcimportdetail.tmpl
-koha-tmpl/intranet-tmpl/npl/en/marcimport/uploadmarc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/deletemem.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/imemberentry.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/jmemberentry.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/member-flags.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/member-password.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/member-quicksearch-results.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/member-quicksearch.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/member.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/memberentry.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/members-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/moremember-print.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/moremember-receipt.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/moremember.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/newimember.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/newjmember.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/newmember.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/pay.tmpl
-koha-tmpl/intranet-tmpl/npl/en/members/readingrec.tmpl
-koha-tmpl/intranet-tmpl/npl/en/modbib.tmpl
-koha-tmpl/intranet-tmpl/npl/en/modbibitem.tmpl
-koha-tmpl/intranet-tmpl/npl/en/moditem.tmpl
-koha-tmpl/intranet-tmpl/npl/en/modwebsites.tmpl
-koha-tmpl/intranet-tmpl/npl/en/overdue.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/admin-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/aqbookfund.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/aqbudget.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/auth_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/auth_tag_structure.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/authorised_values.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/authtypes.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/biblio_framework.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/branches.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/categorie.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/categoryitem.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/charges.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/checkmarc.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/currency.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/issuingrules.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/koha2marclinks.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/marc_subfields_structure.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/marctagstructure.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/printers.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/stopwords.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/systempreferences.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/thesaurus.tmpl
-koha-tmpl/intranet-tmpl/npl/en/parameters/z3950servers.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/acquisitions_stats.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/bor_issues_top.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/borrowers_out.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/borrowers_stats.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/cat_issues_top.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/catalogue_out.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/catalogue_stats.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/inventory.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/issues_avg_stats.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/issues_by_borrower_category.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/issues_stats.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/itemtypes.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reports/reports-home.tmpl
-koha-tmpl/intranet-tmpl/npl/en/request.tmpl
-koha-tmpl/intranet-tmpl/npl/en/reservereport.tmpl
-koha-tmpl/intranet-tmpl/npl/en/search.marc/result.tmpl
-koha-tmpl/intranet-tmpl/npl/en/search.marc/search.tmpl
-koha-tmpl/intranet-tmpl/npl/en/search.marc/suggest.tmpl
-koha-tmpl/intranet-tmpl/npl/en/shelves.tmpl
-koha-tmpl/intranet-tmpl/npl/en/stats.tmpl
-koha-tmpl/intranet-tmpl/npl/en/suggestion/acceptorreject.tmpl
-koha-tmpl/intranet-tmpl/npl/en/suggestion/mail_suggestion_ACCEPTED.tmpl
-koha-tmpl/intranet-tmpl/npl/en/suggestion/mail_suggestion_AVAILABLE.tmpl
-koha-tmpl/intranet-tmpl/npl/en/suggestion/mail_suggestion_ORDERED.tmpl
-koha-tmpl/intranet-tmpl/npl/en/suggestion/mail_suggestion_REJECTED.tmpl
-koha-tmpl/intranet-tmpl/npl/en/thesaurus_popup.tmpl
-koha-tmpl/intranet-tmpl/npl/en/updatebiblio.tmpl
-koha-tmpl/intranet-tmpl/npl/en/value_builder/unimarc_field_100.tmpl
-koha-tmpl/intranet-tmpl/npl/en/value_builder/unimarc_field_105.tmpl
-koha-tmpl/intranet-tmpl/npl/en/value_builder/unimarc_field_225a.tmpl
-koha-tmpl/intranet-tmpl/npl/en/value_builder/unimarc_field_60X.tmpl
-koha-tmpl/intranet-tmpl/npl/en/value_builder/unimarc_field_700-4.tmpl
-koha-tmpl/intranet-tmpl/npl/en/value_builder/unimarc_field_700_701_702.tmpl
-koha-tmpl/intranet-tmpl/npl/en/z3950/searchresult.tmpl
-koha-tmpl/intranet.html
-koha-tmpl/opac-tmpl/css/en/images/background-opac.gif
-koha-tmpl/opac-tmpl/css/en/images/bar.gif
-koha-tmpl/opac-tmpl/css/en/images/filefind.png
-koha-tmpl/opac-tmpl/css/en/images/front-arrow.gif
-koha-tmpl/opac-tmpl/css/en/images/front-background-med.gif
-koha-tmpl/opac-tmpl/css/en/images/front-background-small.gif
-koha-tmpl/opac-tmpl/css/en/includes/basket.js
-koha-tmpl/opac-tmpl/css/en/includes/opac-basket-bottom.inc
-koha-tmpl/opac-tmpl/css/en/includes/opac-basket-menu.inc
-koha-tmpl/opac-tmpl/css/en/includes/opac-basket-top.inc
-koha-tmpl/opac-tmpl/css/en/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/css/en/includes/opac-top.inc
-koha-tmpl/opac-tmpl/css/en/includes/opac.css
-koha-tmpl/opac-tmpl/css/en/includes/popup-bottom.inc
-koha-tmpl/opac-tmpl/css/en/includes/popup-top.inc
-koha-tmpl/opac-tmpl/css/en/kohaerror.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-account.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-addbookbybiblionumber.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-auth.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-basket.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-detail.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-detailprint.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-dictionary.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-full-serial-issues.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-ISBDdetail.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-main.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-MARCdetail.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-search.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-sendbasket.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-sendbasketform.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-serial-issues.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-shelves.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-suggestions.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-user.tmpl
-koha-tmpl/opac-tmpl/css/en/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/css/en/subject.tmpl
-koha-tmpl/opac-tmpl/css/fr/images/front-arrow.gif
-koha-tmpl/opac-tmpl/css/fr/images/front-background-med.gif
-koha-tmpl/opac-tmpl/css/fr/images/front-background-small.gif
-koha-tmpl/opac-tmpl/css/fr/includes/basket.js
-koha-tmpl/opac-tmpl/css/fr/includes/marc-editor.css
-koha-tmpl/opac-tmpl/css/fr/includes/opac-basket-bottom.inc
-koha-tmpl/opac-tmpl/css/fr/includes/opac-basket-menu.inc
-koha-tmpl/opac-tmpl/css/fr/includes/opac-basket-top.inc
-koha-tmpl/opac-tmpl/css/fr/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/css/fr/includes/opac-top.inc
-koha-tmpl/opac-tmpl/css/fr/includes/opac.css
-koha-tmpl/opac-tmpl/css/fr/kohaerror.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-account.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-auth.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-basket.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-detail.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-detailprint.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-ISBDdetail.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-main.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-MARCdetail.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-search.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-sendbasket.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-sendbasketform.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-serial-issues.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-shelves.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-suggestions.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-user.tmpl
-koha-tmpl/opac-tmpl/css/fr/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/css/fr/subject.tmpl
-koha-tmpl/opac-tmpl/default/all/images/background-mem.gif
-koha-tmpl/opac-tmpl/default/all/images/background-opac.gif
-koha-tmpl/opac-tmpl/default/all/images/front-arrow.gif
-koha-tmpl/opac-tmpl/default/all/images/front-background-med.gif
-koha-tmpl/opac-tmpl/default/all/images/holder.gif
-koha-tmpl/opac-tmpl/default/all/images/inside-koha-bottom.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/1-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/1.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/10-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/10.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/11-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/11.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/12-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/12.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/13-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/13.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/14-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/14.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/15-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/15.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/16-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/16.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/17-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/17.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/18-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/18.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/19-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/19.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/2-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/2.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/20-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/20.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/21-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/21.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/22-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/22.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/23-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/23.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/24-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/24.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/25-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/25.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/26-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/26.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/27-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/27.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/28-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/28.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/29-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/29.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/3-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/3.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/30-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/30.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/31-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/31.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/4-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/4.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/5-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/5.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/6-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/6.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/7-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/7.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/8-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/8.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/9-highlight.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/9.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/next.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/placeholder.gif
-koha-tmpl/opac-tmpl/default/all/images/numbers/prev.gif
-koha-tmpl/opac-tmpl/default/de/images/clear-button.gif
-koha-tmpl/opac-tmpl/default/de/images/delete-mem.gif
-koha-tmpl/opac-tmpl/default/de/images/heading-login.gif
-koha-tmpl/opac-tmpl/default/de/images/heading-member.gif
-koha-tmpl/opac-tmpl/default/de/images/heading-search.gif
-koha-tmpl/opac-tmpl/default/de/images/inside-top-join.gif
-koha-tmpl/opac-tmpl/default/de/images/inside-top-member.gif
-koha-tmpl/opac-tmpl/default/de/images/inside-top-search.gif
-koha-tmpl/opac-tmpl/default/de/images/koha.gif
-koha-tmpl/opac-tmpl/default/de/images/menu-home.gif
-koha-tmpl/opac-tmpl/default/de/images/menu-join.gif
-koha-tmpl/opac-tmpl/default/de/images/menu-login.gif
-koha-tmpl/opac-tmpl/default/de/images/menu-mysettings.gif
-koha-tmpl/opac-tmpl/default/de/images/menu-search.gif
-koha-tmpl/opac-tmpl/default/de/images/modify-mem.gif
-koha-tmpl/opac-tmpl/default/de/images/mouseover-home.gif
-koha-tmpl/opac-tmpl/default/de/images/mouseover-join.gif
-koha-tmpl/opac-tmpl/default/de/images/mouseover-member.gif
-koha-tmpl/opac-tmpl/default/de/images/mouseover-search.gif
-koha-tmpl/opac-tmpl/default/de/images/search-button.gif
-koha-tmpl/opac-tmpl/default/de/includes/cat-class-list.inc
-koha-tmpl/opac-tmpl/default/de/includes/join-top.inc
-koha-tmpl/opac-tmpl/default/de/includes/members-top.inc
-koha-tmpl/opac-tmpl/default/de/includes/opac-auth.inc
-koha-tmpl/opac-tmpl/default/de/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/default/de/includes/opac-top.inc
-koha-tmpl/opac-tmpl/default/de/kohaerror.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-account.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-auth.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-detail.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-main.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-search.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-user.tmpl
-koha-tmpl/opac-tmpl/default/de/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/default/de/subject.tmpl
-koha-tmpl/opac-tmpl/default/en/images/background-mem.gif
-koha-tmpl/opac-tmpl/default/en/images/background-opac.gif
-koha-tmpl/opac-tmpl/default/en/images/clear-button.gif
-koha-tmpl/opac-tmpl/default/en/images/front-arrow-small.gif
-koha-tmpl/opac-tmpl/default/en/images/front-arrow.gif
-koha-tmpl/opac-tmpl/default/en/images/front-background-med.gif
-koha-tmpl/opac-tmpl/default/en/images/heading-login.gif
-koha-tmpl/opac-tmpl/default/en/images/heading-member.gif
-koha-tmpl/opac-tmpl/default/en/images/heading-search.gif
-koha-tmpl/opac-tmpl/default/en/images/holder.gif
-koha-tmpl/opac-tmpl/default/en/images/inside-koha-bottom.gif
-koha-tmpl/opac-tmpl/default/en/images/inside-top-join.gif
-koha-tmpl/opac-tmpl/default/en/images/inside-top-member.gif
-koha-tmpl/opac-tmpl/default/en/images/inside-top-search.gif
-koha-tmpl/opac-tmpl/default/en/images/koha.gif
-koha-tmpl/opac-tmpl/default/en/images/menu-home.gif
-koha-tmpl/opac-tmpl/default/en/images/menu-join.gif
-koha-tmpl/opac-tmpl/default/en/images/menu-login.gif
-koha-tmpl/opac-tmpl/default/en/images/menu-mysettings.gif
-koha-tmpl/opac-tmpl/default/en/images/menu-search.gif
-koha-tmpl/opac-tmpl/default/en/images/mouseover-home.gif
-koha-tmpl/opac-tmpl/default/en/images/mouseover-join.gif
-koha-tmpl/opac-tmpl/default/en/images/mouseover-member.gif
-koha-tmpl/opac-tmpl/default/en/images/mouseover-search.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/1-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/1.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/10-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/10.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/11-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/11.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/12-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/12.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/13-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/13.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/14-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/14.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/15-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/15.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/16-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/16.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/17-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/17.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/18-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/18.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/19-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/19.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/2-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/2.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/20-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/20.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/21-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/21.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/22-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/22.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/23-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/23.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/24-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/24.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/25-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/25.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/26-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/26.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/27-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/27.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/28-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/28.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/29-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/29.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/3-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/3.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/30-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/30.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/31-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/31.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/4-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/4.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/5-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/5.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/6-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/6.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/7-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/7.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/8-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/8.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/9-highlight.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/9.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/next.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/placeholder.gif
-koha-tmpl/opac-tmpl/default/en/images/numbers/prev.gif
-koha-tmpl/opac-tmpl/default/en/images/search-button.gif
-koha-tmpl/opac-tmpl/default/en/includes/cat-class-list.inc
-koha-tmpl/opac-tmpl/default/en/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/default/en/includes/opac-top.inc
-koha-tmpl/opac-tmpl/default/en/includes/opac.css
-koha-tmpl/opac-tmpl/default/en/kohaerror.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-account.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-auth.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-detail.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-main.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-search.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-user.tmpl
-koha-tmpl/opac-tmpl/default/en/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/default/en/subject.tmpl
-koha-tmpl/opac-tmpl/default/es/images/background-mem.gif
-koha-tmpl/opac-tmpl/default/es/images/background-opac.gif
-koha-tmpl/opac-tmpl/default/es/images/clear-button.gif
-koha-tmpl/opac-tmpl/default/es/images/front-arrow.gif
-koha-tmpl/opac-tmpl/default/es/images/front-background-med.gif
-koha-tmpl/opac-tmpl/default/es/images/heading-login.gif
-koha-tmpl/opac-tmpl/default/es/images/heading-member.gif
-koha-tmpl/opac-tmpl/default/es/images/heading-search.gif
-koha-tmpl/opac-tmpl/default/es/images/holder.gif
-koha-tmpl/opac-tmpl/default/es/images/inside-koha-bottom.gif
-koha-tmpl/opac-tmpl/default/es/images/inside-top-join.gif
-koha-tmpl/opac-tmpl/default/es/images/inside-top-member.gif
-koha-tmpl/opac-tmpl/default/es/images/inside-top-search.gif
-koha-tmpl/opac-tmpl/default/es/images/koha.gif
-koha-tmpl/opac-tmpl/default/es/images/menu-home.gif
-koha-tmpl/opac-tmpl/default/es/images/menu-join.gif
-koha-tmpl/opac-tmpl/default/es/images/menu-login.gif
-koha-tmpl/opac-tmpl/default/es/images/menu-mysettings.gif
-koha-tmpl/opac-tmpl/default/es/images/menu-search.gif
-koha-tmpl/opac-tmpl/default/es/images/mouseover-home.gif
-koha-tmpl/opac-tmpl/default/es/images/mouseover-join.gif
-koha-tmpl/opac-tmpl/default/es/images/mouseover-member.gif
-koha-tmpl/opac-tmpl/default/es/images/mouseover-search.gif
-koha-tmpl/opac-tmpl/default/es/images/search-button.gif
-koha-tmpl/opac-tmpl/default/fr/images/.cvsignore
-koha-tmpl/opac-tmpl/default/fr/images/background-mem.gif
-koha-tmpl/opac-tmpl/default/fr/images/background-opac.gif
-koha-tmpl/opac-tmpl/default/fr/images/clear-button.gif
-koha-tmpl/opac-tmpl/default/fr/images/front-arrow.gif
-koha-tmpl/opac-tmpl/default/fr/images/front-background-med.gif
-koha-tmpl/opac-tmpl/default/fr/images/holder.gif
-koha-tmpl/opac-tmpl/default/fr/images/koha.gif
-koha-tmpl/opac-tmpl/default/fr/images/menu-home.gif
-koha-tmpl/opac-tmpl/default/fr/images/menu-mysettings.gif
-koha-tmpl/opac-tmpl/default/fr/images/menu-search.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/1-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/1.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/10-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/10.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/11-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/11.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/12-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/12.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/13-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/13.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/14-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/14.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/15-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/15.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/16-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/16.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/17-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/17.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/18-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/18.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/19-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/19.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/2-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/2.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/20-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/20.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/21-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/21.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/22-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/22.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/23-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/23.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/24-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/24.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/25-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/25.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/26-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/26.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/27-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/27.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/28-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/28.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/29-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/29.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/3-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/3.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/30-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/30.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/31-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/31.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/4-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/4.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/5-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/5.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/6-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/6.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/7-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/7.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/8-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/8.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/9-highlight.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/9.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/next.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/placeholder.gif
-koha-tmpl/opac-tmpl/default/fr/images/numbers/prev.gif
-koha-tmpl/opac-tmpl/default/fr/images/README
-koha-tmpl/opac-tmpl/default/fr/images/search-button.gif
-koha-tmpl/opac-tmpl/default/fr/includes/cat-class-list.inc
-koha-tmpl/opac-tmpl/default/fr/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/default/fr/includes/opac-top.inc
-koha-tmpl/opac-tmpl/default/fr/opac-account.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-auth.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-detail.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-main.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-search.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-user.tmpl
-koha-tmpl/opac-tmpl/default/fr/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/default/fr/subject.tmpl
-koha-tmpl/opac-tmpl/default/pl/includes/cat-class-list.inc
-koha-tmpl/opac-tmpl/default/pl/includes/join-top.inc
-koha-tmpl/opac-tmpl/default/pl/includes/members-top.inc
-koha-tmpl/opac-tmpl/default/pl/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/default/pl/includes/opac-top.inc
-koha-tmpl/opac-tmpl/default/pl/kohaerror.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-account.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-auth.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-detail.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-main.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-search.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-user.tmpl
-koha-tmpl/opac-tmpl/default/pl/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/default/pl/subject.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/images/.cvsignore
-koha-tmpl/opac-tmpl/default/zh-TW/images/background-mem.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/background-opac.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/clear-button.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/clear-button.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/front-arrow-small.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/front-arrow.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/front-background-med.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/heading-search.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/heading-search.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/holder.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/inside-koha-bottom.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/inside-top-member.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/inside-top-member.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/inside-top-search.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/inside-top-search.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/koha.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/koha.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/menu-home.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/menu-home.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/menu-join.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/menu-join.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/menu-search.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/menu-search.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-home.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-home.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-join.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-join.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-member.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-member.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-search.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/mouseover-search.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/.cvsignore
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/1-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/1.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/10-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/10.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/11-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/11.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/12-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/12.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/13-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/13.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/14-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/14.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/15-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/15.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/16-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/16.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/17-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/17.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/18-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/18.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/19-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/19.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/2-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/2.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/20-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/20.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/21-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/21.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/22-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/22.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/23-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/23.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/24-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/24.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/25-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/25.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/26-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/26.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/27-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/27.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/28-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/28.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/29-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/29.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/3-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/3.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/30-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/30.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/31-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/31.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/4-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/4.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/5-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/5.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/6-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/6.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/7-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/7.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/8-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/8.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/9-highlight.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/9.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/next.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/placeholder.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/numbers/prev.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/search-button.gif
-koha-tmpl/opac-tmpl/default/zh-TW/images/search-button.xcf
-koha-tmpl/opac-tmpl/default/zh-TW/includes/cat-class-list.inc
-koha-tmpl/opac-tmpl/default/zh-TW/includes/opac-bottom.inc
-koha-tmpl/opac-tmpl/default/zh-TW/includes/opac-top.inc
-koha-tmpl/opac-tmpl/default/zh-TW/kohaerror.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-account.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-auth.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-detail.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-main.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-moredetail.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-search.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-user.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/opac-userupdate.tmpl
-koha-tmpl/opac-tmpl/default/zh-TW/subject.tmpl
-koha-tmpl/opac-tmpl/npl/en/images/AB.gif
-koha-tmpl/opac-tmpl/npl/en/images/AC.gif
-koha-tmpl/opac-tmpl/npl/en/images/add.gif
-koha-tmpl/opac-tmpl/npl/en/images/addtobasket.gif
-koha-tmpl/opac-tmpl/npl/en/images/addtoshelf.gif
-koha-tmpl/opac-tmpl/npl/en/images/AF.gif
-koha-tmpl/opac-tmpl/npl/en/images/Audiobook.gif
-koha-tmpl/opac-tmpl/npl/en/images/AV.gif
-koha-tmpl/opac-tmpl/npl/en/images/AVJ.gif
-koha-tmpl/opac-tmpl/npl/en/images/AVJN.gif
-koha-tmpl/opac-tmpl/npl/en/images/AVJNF.gif
-koha-tmpl/opac-tmpl/npl/en/images/AVNF.gif
-koha-tmpl/opac-tmpl/npl/en/images/back.gif
-koha-tmpl/opac-tmpl/npl/en/images/basket.gif
-koha-tmpl/opac-tmpl/npl/en/images/BIO.gif
-koha-tmpl/opac-tmpl/npl/en/images/Biography.gif
-koha-tmpl/opac-tmpl/npl/en/images/brief.gif
-koha-tmpl/opac-tmpl/npl/en/images/card.gif
-koha-tmpl/opac-tmpl/npl/en/images/cart.gif
-koha-tmpl/opac-tmpl/npl/en/images/CDM.gif
-koha-tmpl/opac-tmpl/npl/en/images/CDR.gif
-koha-tmpl/opac-tmpl/npl/en/images/checkall.gif
-koha-tmpl/opac-tmpl/npl/en/images/clearbasket.gif
-koha-tmpl/opac-tmpl/npl/en/images/close.gif
-koha-tmpl/opac-tmpl/npl/en/images/delete.gif
-koha-tmpl/opac-tmpl/npl/en/images/detail.gif
-koha-tmpl/opac-tmpl/npl/en/images/DVD.gif
-koha-tmpl/opac-tmpl/npl/en/images/EASY.gif
-koha-tmpl/opac-tmpl/npl/en/images/edit.gif
-koha-tmpl/opac-tmpl/npl/en/images/Fiction.gif
-koha-tmpl/opac-tmpl/npl/en/images/isbd.gif
-koha-tmpl/opac-tmpl/npl/en/images/JAC.gif
-koha-tmpl/opac-tmpl/npl/en/images/JB.gif
-koha-tmpl/opac-tmpl/npl/en/images/JF.gif
-koha-tmpl/opac-tmpl/npl/en/images/JNF.gif
-koha-tmpl/opac-tmpl/npl/en/images/JREF.gif
-koha-tmpl/opac-tmpl/npl/en/images/KIT.gif
-koha-tmpl/opac-tmpl/npl/en/images/LH.gif
-koha-tmpl/opac-tmpl/npl/en/images/LP.gif
-koha-tmpl/opac-tmpl/npl/en/images/LPNF.gif
-koha-tmpl/opac-tmpl/npl/en/images/MAG.gif
-koha-tmpl/opac-tmpl/npl/en/images/Magazine.gif
-koha-tmpl/opac-tmpl/npl/en/images/MYS.gif
-koha-tmpl/opac-tmpl/npl/en/images/Mystery.gif
-koha-tmpl/opac-tmpl/npl/en/images/MZ.gif
-koha-tmpl/opac-tmpl/npl/en/images/NF.gif
-koha-tmpl/opac-tmpl/npl/en/images/Non-fiction.gif
-koha-tmpl/opac-tmpl/npl/en/images/PB.gif
-koha-tmpl/opac-tmpl/npl/en/images/placereserve.gif
-koha-tmpl/opac-tmpl/npl/en/images/print2.gif
-koha-tmpl/opac-tmpl/npl/en/images/REF.gif
-koha-tmpl/opac-tmpl/npl/en/images/Reference.gif
-koha-tmpl/opac-tmpl/npl/en/images/SCI.gif
-koha-tmpl/opac-tmpl/npl/en/images/send.gif
-koha-tmpl/opac-tmpl/npl/en/images/trash.gif
-koha-tmpl/opac-tmpl/npl/en/images/Videocassette.gif
-koha-tmpl/opac-tmpl/npl/en/images/WES.gif
-koha-tmpl/opac-tmpl/npl/en/images/Western.gif
-koha-tmpl/opac-tmpl/npl/en/images/YA.gif
-koha-tmpl/opac-tmpl/npl/en/images/YAC.gif
-koha-tmpl/opac-tmpl/npl/en/images/YANF.gif
-koha-tmpl/opac-tmpl/npl/en/includes/basket.js
-koha-tmpl/opac-tmpl/npl/en/includes/doc-head-close-basket-print.inc
-koha-tmpl/opac-tmpl/npl/en/includes/doc-head-close-basket.inc
-koha-tmpl/opac-tmpl/npl/en/includes/doc-head-close.inc
-koha-tmpl/opac-tmpl/npl/en/includes/doc-head-open.inc
-koha-tmpl/opac-tmpl/npl/en/includes/favicon.ico
-koha-tmpl/opac-tmpl/npl/en/includes/marc-editor.css
-koha-tmpl/opac-tmpl/npl/en/includes/masthead-user.inc
-koha-tmpl/opac-tmpl/npl/en/includes/masthead.inc
-koha-tmpl/opac-tmpl/npl/en/includes/masthead_adv.inc
-koha-tmpl/opac-tmpl/npl/en/includes/masthead_home.inc
-koha-tmpl/opac-tmpl/npl/en/includes/navigation.inc
-koha-tmpl/opac-tmpl/npl/en/includes/opac.css
-koha-tmpl/opac-tmpl/npl/en/includes/print.css
-koha-tmpl/opac-tmpl/npl/en/includes/script.js
-koha-tmpl/opac-tmpl/npl/en/kohaerror.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-account.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-addbookbybiblionumber.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-auth.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-basket.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-detail.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-detailprint.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-full-serial-issues.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-ISBDdetail.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-main.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-MARCdetail.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-reserve.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-search.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-searchresults.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-sendbasket.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-sendbasketform.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-serial-issues.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-shelves.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-suggestions.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-user.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-userdetails.tmpl
-koha-tmpl/opac-tmpl/npl/en/opac-userupdate.tmpl
-koha-tmpl/opac.html
-koha-tmpl/templates.readme
-koha.conf.in
-lib/bookcount.xml
-loadmodules.pl
-logout.pl
-mainpage.pl
-maint/catmaintain.pl
-maint/shiftbib.pl
-mancredit.pl
-maninvoice.pl
-MARCdetail.pl
-members/deletemem.pl
-members/imemberentry.pl
-members/insertdata.pl
-members/insertidata.pl
-members/insertjdata.pl
-members/jmemberentry.pl
-members/member-flags.pl
-members/member-password.pl
-members/member.pl
-members/memberentry.pl
-members/members-home.pl
-members/moremember.pl
-members/newimember.pl
-members/newjmember.pl
-members/newmember.pl
-members/setdebar.pl
-misc/amazonratings/get_ratings.pl
-misc/amazonratings/ratings.sql
-misc/auto_install_file
-misc/backup.sh
-misc/barcodes.pl
-misc/build_marc_Tword.pl
-misc/build_marc_word.pl
-misc/bulkauthimport.pl
-misc/cleanmarcdb.pl
-misc/compare_iso_and_marc_parameters.pl
-misc/cronjobs/j2a.pl
-misc/cronjobs/longoverdue.pl
-misc/cronjobs/reservefix.pl
-misc/cronjobs/reservelist.pl
-misc/dumpmarc.pl
-misc/fines2.pl
-misc/info/ChangeLog
-misc/info/Hints
-misc/info/HOWTO-testing
-misc/info/INSTALL
-misc/info/LICENSE
-misc/info/News
-misc/info/README
-misc/info/TODO
-misc/install-sh
-misc/Install.pm
-misc/installer-lite.pl
-misc/installer.pl
-misc/koha-2-0.mysql
-misc/koha-new.mysql
-misc/koha.conf
-misc/koha.mysql
-misc/koha.mysql.edit
-misc/koha.upgrade
-misc/koha2marc.pl
-misc/marc_datas/marc21_en/structure_def.sql
-misc/marc_datas/unimarc_fr/structure_def.sql
-misc/merge_authority.pl
-misc/migration_tools/build6xx.pl
-misc/migration_tools/buildCOUNTRY.pl
-misc/migration_tools/buildEDITORS.pl
-misc/migration_tools/buildLANG.pl
-misc/migration_tools/bulkmarcimport.pl
-misc/migration_tools/check_marc_definition.pl
-misc/notifys/attempted_contacts.sql
-misc/notifys/contact_history.pl
-misc/notifys/fines.pl
-misc/notifys/printnote.pl
-misc/notifys/templates/email-15.txt
-misc/notifys/templates/email-29.txt
-misc/notifys/templates/email-8.txt
-misc/notifys/templates/fax-15.html
-misc/notifys/templates/fax-29.html
-misc/notifys/templates/fax-8.html
-misc/notifys/templates/letter-29.html
-misc/notifys/templates/sms-15.txt
-misc/notifys/templates/sms-8.txt
-misc/overduenotices.pl
-misc/rebuildnonmarc.pl
-misc/rebuildthesaurus.pl
-misc/safe-installer
-misc/sampledata-1.2
-misc/spellcheck_suggest/make_spellcheck_suggest.pl
-misc/sql-datas/english/authorities_normal_marc21.sql
-misc/sql-datas/english/authorities_normal_marc21.txt
-misc/sql-datas/english/sample_usmarc.mrc
-misc/sql-datas/english/sample_usmarc.readme
-misc/sql-datas/english/stopwords.sql
-misc/sql-datas/english/stopwords.txt
-misc/sql-datas/french/authorites_norme_unimarc.sql
-misc/sql-datas/french/authorites_norme_unimarc.txt
-misc/sql-datas/french/framework_ANCI.sql
-misc/sql-datas/french/framework_ANCI.txt
-misc/sql-datas/french/framework_BASE.sql
-misc/sql-datas/french/framework_BASE.txt
-misc/sql-datas/french/framework_CART.sql
-misc/sql-datas/french/framework_CART.txt
-misc/sql-datas/french/framework_DEFAULT.sql
-misc/sql-datas/french/framework_DEFAULT.txt
-misc/sql-datas/french/framework_ELEC.sql
-misc/sql-datas/french/framework_ELEC.txt
-misc/sql-datas/french/framework_MICR.sql
-misc/sql-datas/french/framework_MICR.txt
-misc/sql-datas/french/framework_MONO.sql
-misc/sql-datas/french/framework_MONO.txt
-misc/sql-datas/french/framework_PERI.sql
-misc/sql-datas/french/framework_PERI.txt
-misc/sql-datas/french/framework_PROJ.sql
-misc/sql-datas/french/framework_PROJ.txt
-misc/sql-datas/french/framework_TIRE.sql
-misc/sql-datas/french/framework_TIRE.txt
-misc/sql-datas/french/stopwords.sql
-misc/sql-datas/french/stopwords.txt
-misc/sql-datas/french/unimarc_standard_systemprefs.sql
-misc/sql-datas/french/unimarc_standard_systemprefs.txt
-misc/testKoha.pl
-misc/tidyaccounts.pl
-misc/translator/po/css_opac_en_EN.po
-misc/translator/po/css_opac_fr_FR.po
-misc/translator/po/css_opac_it_IT.po
-misc/translator/po/css_opac_zh_TW.po
-misc/translator/po/default_intranet_en_EN.po
-misc/translator/po/default_intranet_es_AR.po
-misc/translator/po/default_intranet_fr_FR.po
-misc/translator/po/default_intranet_pl_PL.po
-misc/translator/po/default_intranet_zh_TW.po
-misc/translator/po/default_opac_pl_PL.po
-misc/translator/po/default_opac_zh_TW.po
-misc/translator/po/stats.pl
-misc/translator/po/update.pl
-misc/translator/rebuild_lang.sh
-misc/translator/text-extract.pl
-misc/translator/text-extract2.pl
-misc/translator/tmpl_process3.pl
-misc/translator/TmplToken.pm
-misc/translator/TmplTokenizer.pm
-misc/translator/TmplTokenType.pm
-misc/translator/translator_doc.html
-misc/translator/translator_doc.txt
-misc/translator/VerboseWarnings.pm
-misc/translator/xgettext.pl
-misc/uninstall.pl
-misc/userdbshellchar.patch
-misc/zebra/unimarc/explain.att
-misc/zebra/unimarc/unimarc.abs
-misc/zebra/unimarc/unimarc.mar
-misc/zebra/unimarc/unimarc.tag
-misc/zebra/unimarc/zebra.cfg
-modbib.pl
-modbibitem.pl
-moditem.pl
-modrequest.pl
-modwebsites.pl
-moredetail.pl
-opac/changelanguage.pl
-opac/opac-account.pl
-opac/opac-addbookbybiblionumber.pl
-opac/opac-basket.pl
-opac/opac-detail.pl
-opac/opac-detailprint.pl
-opac/opac-dictionary.pl
-opac/opac-ISBDdetail.pl
-opac/opac-logout.pl
-opac/opac-main.pl
-opac/opac-MARCdetail.pl
-opac/opac-membership.pl
-opac/opac-moredetail.pl
-opac/opac-readingrecord.pl
-opac/opac-renew.pl
-opac/opac-reserve.pl
-opac/opac-search-biblio.pl
-opac/opac-search.pl
-opac/opac-searchresults.pl
-opac/opac-sendbasket.pl
-opac/opac-serial-issues.pl
-opac/opac-shelves.pl
-opac/opac-sidebar.pl
-opac/opac-suggestions.pl
-opac/opac-user.pl
-opac/opac-userdetails.pl
-opac/opac-userupdate.pl
-opac/searchoptions.pl
-overdue.pl
-pay.pl
-placerequest.pl
-plugin_launcher.pl
-readingrec.pl
-renewscript.pl
-reports-home.pl
-reports/acquisitions_stats.pl
-reports/bor_issues_top.pl
-reports/borrowers_out.pl
-reports/borrowers_stats.pl
-reports/cat_issues_top.pl
-reports/catalogue_out.pl
-reports/catalogue_stats.pl
-reports/inventory.pl
-reports/issues_avg_stats.pl
-reports/issues_by_borrower_category.plugin
-reports/issues_stats.pl
-reports/itemtypes.plugin
-reports/manager.pl
-reports/reserves.pl
-request.pl
-reservereport.pl
-reservereport.xls
-rss/lastAcquired-1.0.conf
-rss/lastAcquired-1.0.tmpl
-rss/lastAcquired-2.0.conf
-rss/lastAcquired-2.0.tmpl
-rss/lastAcquired.conf
-rss/lastAcquired.tmpl
-rss/longestUnseen.conf
-rss/longestUnseen.tmpl
-rss/mostReserved.conf
-rss/mostReserved.tmpl
-rss/README
-rss/rss.pl
-rss/sm-koha-icon.jpg
-search.marc/dictionary.pl
-search.marc/search.pl
-search.marc/suggest.pl
-search.pl
-sec/writeoff.pl
-stats.pl
-stats2.pl
-subjectsearch.pl
-suggestion/acceptorreject.pl
-thesaurus_popup.pl
-tidyaccounts.pl
-updatebibitem.pl
-updatebiblio.pl
-updateitem.pl
-updater/sample_only_param_tables.sql
-updater/thesaurus_create.pl
-updater/updatedatabase
-updatewebsite.pl
-value_builder/unimarc_field_100.pl
-value_builder/unimarc_field_105.pl
-value_builder/unimarc_field_106.pl
-value_builder/unimarc_field_110.pl
-value_builder/unimarc_field_115a.pl
-value_builder/unimarc_field_115b.pl
-value_builder/unimarc_field_116.pl
-value_builder/unimarc_field_117.pl
-value_builder/unimarc_field_120.pl
-value_builder/unimarc_field_121a.pl
-value_builder/unimarc_field_121b.pl
-value_builder/unimarc_field_122.pl
-value_builder/unimarc_field_123a.pl
-value_builder/unimarc_field_123d.pl
-value_builder/unimarc_field_123e.pl
-value_builder/unimarc_field_123f.pl
-value_builder/unimarc_field_123g.pl
-value_builder/unimarc_field_123i.pl
-value_builder/unimarc_field_123j.pl
-value_builder/unimarc_field_124.pl
-value_builder/unimarc_field_124a.pl
-value_builder/unimarc_field_124b.pl
-value_builder/unimarc_field_124c.pl
-value_builder/unimarc_field_124d.pl
-value_builder/unimarc_field_124e.pl
-value_builder/unimarc_field_124f.pl
-value_builder/unimarc_field_124g.pl
-value_builder/unimarc_field_125.pl
-value_builder/unimarc_field_125a.pl
-value_builder/unimarc_field_125b.pl
-value_builder/unimarc_field_126.pl
-value_builder/unimarc_field_126a.pl
-value_builder/unimarc_field_126b.pl
-value_builder/unimarc_field_127.pl
-value_builder/unimarc_field_128a.pl
-value_builder/unimarc_field_128b.pl
-value_builder/unimarc_field_128c.pl
-value_builder/unimarc_field_130.pl
-value_builder/unimarc_field_135a.pl
-value_builder/unimarc_field_140.pl
-value_builder/unimarc_field_141.pl
-value_builder/unimarc_field_210c.pl
-value_builder/unimarc_field_225a.pl
-value_builder/unimarc_field_4XX.pl
-value_builder/unimarc_field_60X.pl
-value_builder/unimarc_field_700-4.pl
-value_builder/unimarc_field_700_701_702.pl
-z3950/encodingfix/Biblio.pm
-z3950/encodingfix/README-english
-z3950/encodingfix/README-polish
-z3950/encodingfix/search.pl
-z3950/processz3950queue
-z3950/search.pl
-z3950/server/zed-koha-server.pl
-z3950/z3950-daemon-launch.sh
-z3950/z3950-daemon-shell.sh
-z3950/z3950import.pl
-Makefile.PL

Index: Makefile
===================================================================
RCS file: Makefile
diff -N Makefile
--- Makefile    30 Oct 2002 14:06:38 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,105 +0,0 @@
-### Commands
-# STTY
-# CHOWN
-# CHMOD
-# PERL
-# MYSQL
-# MYSQLADMIN
-# INSTALL              BSD-compatible install tool
-
-### MySQL database administration
-# DBA_NAME             Name of MySQL administrator
-# DBA_PASSWD           MySQL administrator password
-
-### Koha database
-# DB_NAME              Koha database name
-# DB_USER              Koha database user
-# DB_PASSWD            Koha database user's password
-
-### OPAC site
-# OPAC_DOC_URL         Root of tree containing HTML documents
-# OPAC_CGI_URL         Root of CGI tree
-# OPAC_DOC_DIR         Where to install HTML files
-# OPAC_CGI_DIR         Where to install CGI scripts
-
-### OPAC site
-# INTRA_DOC_URL                Root of tree containing HTML documents
-# INTRA_CGI_URL                Root of CGI tree
-# INTRA_DOC_DIR                Where to install HTML files
-# INTRA_CGI_DIR                Where to install CGI scripts
-
-# Prefer 'install-sh -d' over 'mkdir', because 'install-sh' will
-# create directories recursively if they don't exist. But not all
-# Unices support 'mkdir -p'.
-MKDIR =        ./install-sh -d
-
-# XXX - Add 'clean:' target.
-
-include Make.conf
-
-all:
-       @echo "Please use one of the following:"
-       @echo "  config Configuration script"
-       @echo "  install-db     Install the database"
-       @echo "  install-opac   Install the OPAC web site"
-       @echo "  install-intra  Install the intranet web site"
-
-config configure Make.conf koha.conf.new:
-       ./safe-installer
-
-# XXX - Need to create the Koha user(s) and grant permissions before
-# creating the database itself.
-
-# Create the database.
-#
-# Given the semantics of the MySQL arguments, if $(DBA_PASSWD) isn't
-# set, the user will be prompted for them (repeatedly).
-#
-# First, this runs 'mysqladmin status' to make sure that the current
-# user can really connect to the database and do stuff. This really
-# isn't a good test, since it really only checks that $(DBA_PASSWD)
-# corresponds to $(DBA_USER), and that $(DBA_USER) is authorized to
-# read a little bit, but it's better than nothing.
-#
-# Next, this runs 'mysqldump' on the database we want to create. If
-# this exits with a zero status, then everything went well, which
-# means that the database already exists. If 'mysqladmin' succeeded
-# but 'mysqldump' failed, we figure it must be because the database
-# doesn't exist yet, so we need to create it.
-
-create-db:     koha.mysql
-       @echo "Checking authorization to connect to MySQL"
-       @echo "You may be prompted for the database administrator's password"
-       $(MYSQLADMIN) "-u$(DBA_USER)" "-p$(DBA_PASSWD)" status >/dev/null 2>&1
-       @echo "Checking whether $(DB_NAME) already exists"
-       @echo "$(MYSQLDUMP) -d -u$(DBA_USER) -p$(DBA_PASSWD) $(DB_NAME) 
>/dev/null"
-       @if $(MYSQLDUMP) -d "-u$(DBA_USER)" "-p$(DBA_PASSWD)" $(DB_NAME) 
>/dev/null 2>&1; then \
-               echo "Database $(DB_NAME) already exists"; \
-       else \
-               echo "Creating database $(DB_NAME)"; \
-               echo "$(MYSQLADMIN) -u$(DBA_USER) -p<password> create 
$(DB_NAME)"; \
-               $(MYSQLADMIN) "-u$(DBA_USER)" "-p$(DBA_PASSWD)" create 
$(DB_NAME); \
-               echo "Adding tables to $(DB_NAME)"; \
-               $(MYSQL) "-u$(DBA_USER)" "-p$(DBA_PASSWD)" $(DB_NAME) < 
koha.mysql; \
-       fi
-
-# After ensuring that the database exists, bring it up to date.
-# XXX - Currently, the sample data set assumes the v1.2 database,
-# which is different from what 'updater/updatedatabase' will create.
-# Hence, if the user wants to install the sample data, it'll be
-# necessary to install it before running 'updater/updatedatabase'.
-install-db:    create-db
-       @echo "Updating database as necessary"
-       KOHA_CONF=koha.conf.new ./updater/updatedatabase
-
-install-opac:  install-opac-html install-opac-cgi
-
-install-opac-html:
-
-install-opac-cgi:
-
-install-intra: install-intra-html install-intra-cgi
-
-install-intra-html:
-
-install-intra-cgi:

Index: loadmodules.pl
===================================================================
RCS file: loadmodules.pl
diff -N loadmodules.pl
--- loadmodules.pl      9 Feb 2006 03:20:38 -0000       1.20
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,88 +0,0 @@
-#!/usr/bin/perl
-
-#script to show list of budgets and bookfunds
-#written 4/2/00 by address@hidden
-#called as an include by the acquisitions index page
-
-
-# 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 C4::Context;
-use CGI;
-my $input=new CGI;
-
-my $module=$input->param('module');
-
-SWITCH: {
-       if ($module eq 'acquisitions') { acquisitions(); last SWITCH; }
-       if ($module eq 'search') { catalogue_search(); last SWITCH; }
-       if ($module eq 'addbiblio') {addbiblio(); last SWITCH;}
-       if ($module eq 'somethingelse') { somethingelse(); last SWITCH; }
-}
-
-sub acquisitions {
-       my $aq_type = $input->param('acquisitions');
-       $aq_type = C4::Context->preference("acquisitions") || "normal" unless 
$aq_type;
-       my $marc_bool =$input->param('MARC');
-       $marc_bool = C4::Context->boolean_preference('marc') || 0 unless 
$marc_bool;
-       # Get the acquisition preference. This should be:
-       #       "simple" - minimal information required
-       #       "normal" - full information required
-       #       other - Same as "normal"
-
-       if ($aq_type eq 'simple') {
-                       print 
$input->redirect("/cgi-bin/koha/cataloguing/addbooks.pl");
-       } else {
-               print $input ->redirect("/cgi-bin/koha/acqui/acqui-home.pl");
-       }
-}
-
-sub addbiblio {
-       my $marc_bool = C4::Context->boolean_preference("MARC") || 0;
-               if ($marc_bool eq "1") {
-                       print 
$input->redirect("/cgi-bin/koha/cataloguing/addbooks.pl");
-               } else {
-                       print 
$input->redirect("/cgi-bin/koha/cataloguing/addbiblio-nomarc.pl");
-               }
-}
-
-sub catalogue_search {
-       my $marc_p = $input->param('marc');
-       $marc_p = C4::Context->boolean_preference('marc') unless defined 
$marc_p;
-       $marc_p = 'ON' unless defined $marc_p;
-       my $keyword=$input->param('keyword');
-       my $query = new CGI;
-       my $type = $query->param('type');
-#      if ($keyword) {
-#              if ($marc_p) {
-#                      print 
$input->redirect("/cgi-bin/koha/search.marc/search.pl?type=$type");
-#              } else {
-#                      print $input 
->redirect("/cgi-bin/koha/search.pl?keyword=$keyword");
-#              }
-#      } else {
-#              if ($marc_p) {
-                       print 
$input->redirect("/cgi-bin/koha/search.marc/search.pl?type=$type");
-#              } else {
-#                      print $input 
->redirect("/cgi-bin/koha/catalogue-home.pl");
-#              }
-#      }
-}
-
-sub somethingelse {
-# just an example subroutine
-}

Index: reservereport.xls
===================================================================
RCS file: reservereport.xls
diff -N reservereport.xls
--- reservereport.xls   19 Dec 2000 23:45:53 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,27 +0,0 @@
-#!/usr/bin/perl
-
-#written 26/4/2000
-#script to display reports
-
-use C4::Stats;
-use strict;
-use CGI;
-use C4::Output;
-
-my $input=new CGI;
-
-#print $input->header;
-
-#print startpage;
-#print startmenu('report');
-#print center;
-#print mktablehdr();
-my ($count,$data)=unfilledreserves();
-#print $count;
-for (my $i=0;$i<$count;$i++){
-#  print mktablerow(4,'white',"$data->[$i]->{'surname'}\, 
$data->[$i]->{'firstname'}",$data->[$i]->{'reservedate'},$data->[$i]->{'title'},"$data->[$i]->{'classification'}$data->[$i]->{'dewey'}");
-  print 
"$data->[$i]->{'surname'}\'$data->[$i]->{'firstname'}\t$data->[$i]->{'reservedate'}\t$data->[$i]->{'title'}\t$data->[$i]->{'classification'}$data->[$i]->{'dewey'}$data->[$i]->{'subclass'}\n";
-}
-#print mktableft();
-#print endmenu('report');
-#print endpage;

Index: thesaurus_popup.pl
===================================================================
RCS file: thesaurus_popup.pl
diff -N thesaurus_popup.pl
--- thesaurus_popup.pl  11 Feb 2004 08:35:31 -0000      1.15
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,126 +0,0 @@
-#!/usr/bin/perl
-
-# written 10/5/2002 by Paul
-# build result field using bibliothesaurus table
-
-
-# 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 CGI;
-use C4::Context;
-use HTML::Template;
-use C4::Search;
-use C4::Output;
-use C4::Authorities;
-use C4::Interface::CGI::Output;
-# get all the data ....
-my %env;
-
-my $input = new CGI;
-my $result = $input->param('result');
-my $search_string= $input->param('search_string');
-$search_string = $result unless ($search_string);
-my $op = $input->param('op');
-my $id = $input->param('id');
-my $category = $input->param('category');
-my $index= $input->param('index');
-my $insert = $input->param('insert');
-my $nohierarchy = $input->param('nohierarchy'); # if 1, just show the last 
part of entry (Marseille). If 0, show everything (Europe -- France --Marseille)
-my $dbh = C4::Context->dbh;
-
-# make the page ...
-#print $input->header;
-if ($op eq "select") {
-       my $sti = $dbh->prepare("select father,stdlib from bibliothesaurus 
where id=?");
-       $sti->execute($id);
-       my ($father,$freelib_text) = $sti->fetchrow_array;
-       if (length($result)>0) {
-               if ($nohierarchy) {
-                       $result .= "|$freelib_text";
-               } else {
-                       $result .= "|$father $freelib_text";
-               }
-       } else {
-               if ($nohierarchy) {
-                       $result = "$freelib_text";
-               } else {
-                       $result = "$father $freelib_text";
-               }
-       }
-}
-if ($op eq "add") {
-       newauthority($dbh,$category,$insert,$insert,'',1,'');
-       $search_string=$insert;
-}
-my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name => "thesaurus_popup.tmpl",
-                            query => $input,
-                            type => "intranet",
-                            authnotrequired => 0,
-                            flagsrequired => {parameters => 1},
-                            debug => 1,
-                            });
-# /search thesaurus terms starting by search_string
-my @freelib;
-my %stdlib;
-my $select_list;
-if ($search_string) {
-#      my $sti=$dbh->prepare("select id,freelib from bibliothesaurus where 
freelib like '".$search_string."%' and category ='$category'");
-       my $sti=$dbh->prepare("select id,freelib,father from bibliothesaurus 
where match (category,freelib) AGAINST (?) and category =?");
-       $sti->execute($search_string,$category);
-       while (my $line=$sti->fetchrow_hashref) {
-               if ($nohierarchy) {
-                       $stdlib{$line->{'id'}} = "$line->{'freelib'}";
-               } else {
-                       $stdlib{$line->{'id'}} = "$line->{'father'} 
$line->{'freelib'}";
-               }
-               push(@freelib,$line->{'id'});
-       }
-       $select_list= CGI::scrolling_list( -name=>'id',
-                       -values=> address@hidden,
-                       -default=> "",
-                       -size=>1,
-                       -multiple=>0,
-                       -labels=> \%stdlib
-                       );
-}
-my @x = SearchDeeper('',$category,$search_string);
-#my @son;
-#foreach (my $value @$x) {
-#      warn address@hidden>{'stdlib'};
-#}
-my $dig_list= CGI::scrolling_list( -name=>'search_string',
-               -values=> address@hidden,
-               -default=> "",
-               -size=>1,
-               -multiple=>0,
-               );
-
-$template->param(select_list => $select_list,
-                                               search_string => $search_string,
-                                               dig_list => $dig_list,
-                                               result => $result,
-                                               category => $category,
-                                               index => $index,
-                                               nohierarchy => $nohierarchy,
-                                               );
-output_html_with_http_headers $input, $cookie, $template->output;
-
-

Index: serials/serials-recieve.pl
===================================================================
RCS file: serials/serials-recieve.pl
diff -N serials/serials-recieve.pl
--- serials/serials-recieve.pl  21 Jul 2006 09:19:38 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,292 +0,0 @@
-#!/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-recieve.pl,v 1.4 2006/07/21 09:19:38 toins Exp $
-
-=head1 NAME
-
-serials-recieve.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 recievedlist
-
-=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::Output;
-use C4::Interface::CGI::Output;
-use C4::Context;
-use C4::Serials;
-use HTML::Template;
-
-my $query = new CGI;
-my $op = $query->param('op');
-my $dbh = C4::Context->dbh;
-my $subscriptionid = $query->param('subscriptionid');
-# my $auser = $query->param('user');
-my $histstartdate = format_date_in_iso($query->param('histstartdate'));
-my $enddate = format_date_in_iso($query->param('enddate'));
-my $recievedlist = $query->param('recievedlist');
-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 @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 @homebranches = $query->param('branch');
-my $hassubscriptionexpired = HasSubscriptionExpired($subscriptionid);
-my $abouttoexpire = abouttoexpire($subscriptionid);
-
-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,$recievedlist,$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 ($oldstatus) = $sth->fetchrow;
-               if ($serialids[$i]) {
-                       
ModSerialStatus($serialids[$i],$serialseqs[$i],format_date_in_iso($planneddates[$i]),$status[$i],$notes[$i])
 unless ($hassubscriptionexpired && $oldstatus == 1);
-                       if (($status[$i]==2) && 
C4::Context->preference("serialsadditems")){
-                               my %info;
-                               $info{branch}=$homebranches[$i];
-                               $info{barcode}=$barcodes[$i];
-                               $info{itemcallnumber}=$itemcallnumbers[$i];
-                               $info{location}=$locations[$i];
-                               $info{status}=$itemstatus[$i];
-                               $info{notes}=$serialseqs[$i]." 
(".$planneddates[$i].")";
-                               my ($status2, @errors)= 
ItemizeSerials($serialids[$i],\%info);
-                               my $sth2 = $dbh->prepare("UPDATE 
subscriptionhistory SET lastbranch = ? WHERE subscriptionid = ?");
-                               
$sth2->execute($homebranches[$i],$subscriptionid);
-                               $sth2->finish;                      
-                               # remove from missing list if item being 
checked in is on it
-                               if ($status2 ==1){
-                                   
removeMissingIssue($serialseqs[$i],$subscriptionid);
-                               }                           
-                       }
-               } else {
-                       # add a special issue
-                       if ($serialseqs[$i]) {
-                               
NewIssue($serialseqs[$i],$subscriptionid,$subscription->{biblionumber},$status[$i],
 format_date_in_iso($planneddates[$i]));
-                       }
-                       if (($status[$i]==2) && 
C4::Context->preference("serialsadditems") && 
!hassubscriptionexpired($subscriptionid)){
-                               my %info;
-                               $info{branch}=$homebranches[$i];
-                               $info{barcode}=$barcodes[$i];
-                               $info{itemcallnumber}=$itemcallnumbers[$i];
-                               $info{location}=$locations[$i];
-                               $info{status}=$itemstatus[$i];
-                               $info{notes}=$serialseqs[$i]." 
(".$planneddates[$i].")";
-                               my ($status2, @errors)= 
ItemizeSerials($serialids[$i],\%info);
-                               my $sth2 = $dbh->prepare("UPDATE 
subscriptionhistory SET lastbranch = ? WHERE subscriptionid = ?");
-                               
$sth2->execute($homebranches[$i],$subscriptionid);
-                               $sth2->finish;
-                               # remove from missing list if item being 
checked in is on it
-                               if ($status2 ==1){
-                                   
removeMissingIssue($serialseqs[$i],$subscriptionid);
-                               }
-                       }
-
-               }
-       }
-}
-my ($template, $loggedinuser, $cookie)
-= get_template_and_user({template_name => "serials/statecollection.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")){
-       my 
$bibid=MARCfind_MARCbibid_from_oldbiblionumber($dbh,$subscription->{biblionumber});
-       my $fwk=MARCfind_frameworkcode($dbh,$bibid);
-
-       my $branches = GetBranches;
-       my @branchloop;
-       foreach my $thisbranch (keys %$branches) {
-           my $selected = 0;
-           if($thisbranch eq $solhistory->{'lastbranch'}){
-               $selected = 1;
-           }
-               my %row =(value => $thisbranch,
-                         branchname => 
$branches->{$thisbranch}->{'branchname'},
-                         selected => $selected,
-                               );
-               push @branchloop, \%row;
-       }
-       
-       my $itemstatushash = getitemstatus($fwk);
-       my @itemstatusloop;
-        my $itemstatusloopcount=0;    
-       foreach my $thisitemstatus (keys %$itemstatushash) {
-               my %row =(itemval => $thisitemstatus,
-                                       itemlib => 
$itemstatushash->{$thisitemstatus},
-                               );
-#              warn "".$row{'itemval'}.", ". $row{"itemlib"};
-               $itemstatusloopcount++;
-               push @itemstatusloop, \%row;
-       }
-       
-       my $itemlocationhash = getitemlocation($fwk);
-       my @itemlocationloop;
-       foreach my $thisitemlocation (keys %$itemlocationhash) {
-               my %row =(value => $thisitemlocation,
-                                       itemlocationname => 
$itemlocationhash->{$thisitemlocation},
-                               );
-               push @itemlocationloop, \%row;
-       }
-
-        my $choice = 0;
-        if($itemstatusloopcount == 1){ $choice = 1;}   
-        foreach my $data (@serialslist){
-               if 
(scalar(@itemstatusloop)){$data->{"itemstatusloop"address@hidden;}
-               else { $data->{"itemstatusloop"}=[];}
-               if 
(scalar(@itemlocationloop)){$data->{"itemlocationloop"address@hidden;}
-               else {$data->{"itemlocationloop"}=[];}
-               $data->{"branchloop"address@hidden ;
-       }
-# warn "Choice: $choice";
-       $template->param(choice => $choice);    
-       $template->param(serialadditems 
=>C4::Context->preference("serialsadditems"),
-                                       branchloop => address@hidden,
-                                       ) ;
-       $template->param(itemstatus=>1,itemstatusloop=>address@hidden) if 
(scalar(@itemstatusloop));
-       $template->param(itemlocation=>1,itemlocationloop=>address@hidden) if 
(scalar(@itemlocationloop));
-}else{
-    $template->param(branchloop=>[],itemstatusloop=>[],itemlocationloop=>[]) ;
-}
-
-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'}),
-                       recievedlist => $solhistory->{'recievedlist'},
-                       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: maint/catmaintain.pl
===================================================================
RCS file: maint/catmaintain.pl
diff -N maint/catmaintain.pl
--- maint/catmaintain.pl        4 Jul 2006 14:36:52 -0000       1.7
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,109 +0,0 @@
-#!/usr/bin/perl
-
-#script to do some serious catalogue maintainance
-#written 22/11/00
-# by address@hidden
-
-
-# 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::Auth;
-use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Maintainance;
-use HTML::Template;
-
-my $input = new CGI;
-my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name   => 'maint/catmaintain.tmpl',
-                             query           => $input,
-                             type            => 'intranet',
-                             authnotrequired => 0,
-                             flagsrequired   => {catalogue => 1},
-                             debug           => 1,
-                             });
-
-my %params = ();
-
-
-my $type=$input->param('type');
-my $blah;
-my $num=0;
-my $offset=0;
-if ($type eq 'allsub'){
-  my $sub=$input->param('sub');
-  my ($count,$results)=listsubjects($sub,$num,$offset);
-  my @it = ();
-  for (my $i=0;$i<$count;$i++){
-    my $sub2=$results->[$i]->{'subject'};
-    push @it, {'sub2' => $sub2, 'subject' => $results->[$i]->{'subject'}};
-  }
-  %params = ('sub' => $sub, 'loop' => address@hidden);
-
-} elsif ($type eq 'modsub'){
-  %params = ('sub' => $input->param('sub'));
-
-} elsif ($type eq 'upsub'){
-  my $sub=$input->param('sub');
-  my $oldsub=$input->param('oldsub');
-  updatesub($sub,$oldsub);
-  %params = ('sub' => $sub, 'oldsub' => $oldsub);
-
-} elsif ($type eq 'undel'){
-  my $title=$input->param('title');
-  my ($count,$results)=deletedbib($title);
-  my @it = ();
-  for (my $i=0;$i<$count;$i++){
-    push @it, {
-       'title'    => $results->[$i]->{'title'},
-       'author'   => $results->[$i]->{'author'},
-       'undelete' => "type=finun&bib=$results->[$i]->{'biblionumber'}",
-      };
-  }
-  %params = ('loop' => address@hidden);
-
-} elsif ($type eq 'finun'){
-  my $bib=$input->param('bib');
-  undeletebib($bib);
-
-} elsif ($type eq 'fixitemtype'){
-  my $bi=$input->param('bi');
-  my $item=$input->param('item');
-  %params = ('bi' => $bi, 'item' => $item);
-
-} elsif ($type eq 'updatetype'){
-  my $bi=$input->param('bi');
-  my $itemtype=$input->param('itemtype');
-  updatetype($bi,$itemtype);
-
-} else {
-  $type = 'mainmenu'; # NOTE
-
-}
-
-$template->param(type => 'intranet',
-                "$type-p" => 1,
-                 %params,
-                intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-                );
-
-output_html_with_http_headers $input, $cookie, $template->output;

Index: maint/shiftbib.pl
===================================================================
RCS file: maint/shiftbib.pl
diff -N maint/shiftbib.pl
--- maint/shiftbib.pl   12 Jan 2004 16:55:48 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,65 +0,0 @@
-#!/usr/bin/perl
-
-#script to do some serious catalogue maintainance
-#written 22/11/00
-# by address@hidden
-
-
-# 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::Context;
-use C4::Output;
-use C4::Maintainance;
-
-my $input = new CGI;
-print $input->header;
-my $type=$input->param('type');
-my $bi=$input->param('bi');
-my $bib=$input->param('bib');
-my $type=$input->param('type');        # FIXME - Redundant
-print startpage();
-print startmenu('catalog');
-
-if ($type eq 'change'){
-  my $biblionumber=$input->param('biblionumber');
-  my $dbh = C4::Context->dbh;
-  my $sth=$dbh->prepare("Select * from biblio where biblionumber=?");
-  $sth->execute($biblionumber);
-  my $data=$sth->fetchrow_hashref;
-  print "Shifting group $bi to biblio $biblionumber<br>
-  Title:$data->{'title'}<br>
-  Author:$data->{'author'}<p>
-  Are you sure?
-  <p>
-  ";
-  print "<a 
href=/cgi-bin/koha/maint/shiftbib.pl?type=update&bi=$bi&bib=$biblionumber>Yes</a>";
-} elsif ($type eq 'update'){
-  shiftgroup($bib,$bi);
-  print "Shifted";
-} else {
-  print "Shifting Group $bi from biblio $bib to <p>";
-  print "<form action=/cgi-bin/koha/maint/shiftbib.pl method=post>";
-  print "<input  name=bi type=hidden value=$bi>";
-  print "<input type=hidden name=type value=change>";
-  print "<input type=text name=biblionumber><br>";
-  print "<input type=submit value=change></form>";
-}
-print endmenu('catalog');
-print endpage();

Index: search.marc/dictionary.pl
===================================================================
RCS file: search.marc/dictionary.pl
diff -N search.marc/dictionary.pl
--- search.marc/dictionary.pl   10 Aug 2006 13:08:28 -0000      1.12
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,267 +0,0 @@
-#!/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
-
-use strict;
-use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Auth;
-use CGI;
-use C4::Search;
-use C4::AuthoritiesMarc;
-use C4::Context;
-use C4::Biblio;
-use HTML::Template;
-
-=head1 NAME
-
-dictionnary.pl : script to search in biblio & authority an existing value
-
-=head1 SYNOPSIS
-
-useful when the user want to search a term before running a query. For 
example, to see if "computer" is used in the database
-
-The parameter "marclist" tells which field is searched (title, author, 
subject, but could be anything else)
-
-This script searches in both biblios & authority
-* in biblio, the script search in all marc fields related to what the user is 
looking for (for example, if the dictionnary is used on "author", the script 
searches in biblio.author, but also in additional authors & any MARC field 
related to author (through the "seealso" MARC constraint)
-* in authority, the script search everywhere. Thus, the accepted & rejected 
forms are found.
-
-The script shows all results & the user can choose what he want, that is 
copied into search form.
-
-=cut
-
-my $input = new CGI;
-my $field =$input->param('marclist');
-#warn "field :$field";
-my ($tablename, $kohafield)=split /./,$field;
-#my $tablename=$input->param('tablename');
-$tablename="biblio" unless ($tablename);
-#my $kohafield = $input->param('kohafield');
-my @search = $input->param('search');
-# warn " ".$search[0];
-my $index = $input->param('index');
-# warn " index: ".$index;
-my $op=$input->param('op');
-if (($search[0]) and not ($op eq 'do_search')){
-       $op='do_search';
-}
-my $script_name = 'search.marc/dictionary.pl';
-my $query;
-my $type=$input->param('type');
-#warn " ".$type;
-
-my $dbh = C4::Context->dbh;
-my ($template, $loggedinuser, $cookie);
-
-my $env;
-
-my $startfrom=$input->param('startfrom');
-$startfrom=0 if(!defined $startfrom);
-my $searchdesc;
-my $resultsperpage;
-
-#warn "Starting process";
-
-if ($op eq "do_search") {
-       #
-       # searching in biblio
-       #
-       my $sth=$dbh->prepare("Select distinct tagfield,tagsubfield from 
marc_subfield_structure where kohafield = ?");
-       $sth->execute("$field");
-       my (@tags, @and_or, @operator, @excluding,@value);
-       
-       while ((my $tagfield,my $tagsubfield,my $liblibrarian) = 
$sth->fetchrow) {
-               push @tags, $dbh->quote("$tagfield$tagsubfield");
-       }
-
-       $resultsperpage= $input->param('resultsperpage');
-       $resultsperpage = 19 if(!defined $resultsperpage);
-       my $orderby = $input->param('orderby');
-
-       findseealso($dbh,address@hidden);
-
-       my @results, my $total;
-       my $strsth="select distinct subfieldvalue, 
count(marc_subfield_table.bibid) from marc_subfield_table,marc_word where 
marc_word.word like ? and marc_subfield_table.bibid=marc_word.bibid and 
marc_subfield_table.tagorder=marc_word.tagorder and marc_word.tagsubfield in ";
-       my $listtags="(";
-       foreach my $tag (@tags){
-               $listtags .= $tag .",";
-       }
-       $listtags =~s/,$/)/;
-       $strsth .= $listtags." and 
marc_word.tagsubfield=concat(marc_subfield_table.tag,marc_subfield_table.subfieldcode)
 group by subfieldvalue ";
-#      warn "search in biblio : ".$strsth;
-       my $value = uc($search[0]);
-       $value=~s/\*/%/g;
-       $value.= "%" if not($value=~m/%/);
-#      warn " texte : ".$value;
-
-       $sth=$dbh->prepare($strsth);
-       $sth->execute($value);
-       my $total;
-       my @catresults;
-       my $javalue;
-       while (my ($value,$ctresults)=$sth->fetchrow) {
-               # This $javalue is used for the javascript selectentry function 
(javalue for javascript value !)
-               $javalue = $value;
-               $javalue =~s/'/\\'/g;
-
-               push @catresults,{value=> $value, 
-                                                 javalue=> $javalue,
-                                                 
even=>($total-$startfrom*$resultsperpage)%2,
-                                                 count=>$ctresults
-                                                 } if 
(($total>=$startfrom*$resultsperpage) and 
($total<($startfrom+1)*$resultsperpage));
-               $total++;
-       }
-       
-
-       my $strsth="Select distinct authtypecode from marc_subfield_structure 
where (";
-       foreach my $listtags (@tags){
-               my @taglist=split /,/,$listtags;
-               foreach my $curtag (@taglist){
-                       $curtag =~s/\s+//;
-                       $strsth.="(tagfield='".substr($curtag,1,3)."' AND 
tagsubfield='".substr($curtag,4,1)."') OR";
-               }
-       }
-       
-       $strsth=~s/ OR$/)/;
-       my $strsth = $strsth." and authtypecode is not NULL";
-#      warn $strsth;
-       my $sth=$dbh->prepare($strsth);
-       $sth->execute;
-       
-       #
-       # searching in authorities
-       #
-       my @authresults;
-       my $authnbresults;
-       while ((my $authtypecode) = $sth->fetchrow) {
-               my ($curauthresults,$nbresults) = 
authoritysearch($dbh,[''],[''],[''],['contains'],
-                                                                               
                                address@hidden,$startfrom*$resultsperpage, 
$resultsperpage,$authtypecode);
-               if (defined(@$curauthresults)) {
-                       for (my $i = 0; $i < @$curauthresults ;$i++) {
-                               @$curauthresults[$i]->{jamainentry} = 
@$curauthresults[$i]->{mainentry};
-                               @$curauthresults[$i]->{jamainentry} =~ 
s/'/\\'/g;
-                       }
-               }
-               push @authresults, @$curauthresults;
-               $authnbresults+=$nbresults;
-#              warn "auth : $authtypecode nbauthresults : $nbresults";
-       }
-       
-       # 
-       # OK, filling the template with authorities & biblio entries found.
-       #
-       ($template, $loggedinuser, $cookie)
-               = get_template_and_user({template_name => 
"search.marc/dictionary.tmpl",
-                               query => $input,
-                               type => $type,
-                               authnotrequired => 0,
-                               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 <= $#tags ; $i++) {
-               push @field_data, { term => "marclist", val=>$tags[$i] };
-               push @field_data, { term => "and_or", val=>$and_or[$i] };
-               push @field_data, { term => "excluding", val=>$excluding[$i] };
-               push @field_data, { term => "operator", val=>$operator[$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(anindex => $input->param('index'));
-       $template->param(result => address@hidden,
-                                        catresult=> address@hidden,
-                                               search => $search[0],
-                                               marclist =>$field,
-                                               authresult => address@hidden,
-                                               nbresults => $authnbresults,
-                                               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,
-                                               MARC_ON => 
C4::Context->preference("marc"),
-                                               );
-
- } else {
-       ($template, $loggedinuser, $cookie)
-               = get_template_and_user({template_name => 
"search.marc/dictionary.tmpl",
-                               query => $input,
-                               type => $type,
-                               authnotrequired => 0,
-                               flagsrequired => {catalogue => 1},
-                               debug => 1,
-                               });
-#warn "type : $type";
- 
- }
-$template->param(search => $search[0],
-               marclist =>$field,
-               type=>$type,
-               anindex => $input->param('index'),
-               intranetcolorstylesheet => 
C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => 
C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
-
-# Print the page
-output_html_with_http_headers $input, $cookie, $template->output;
-
-# Local Variables:
-# tab-width: 4
-# End:

Index: search.marc/search.pl
===================================================================
RCS file: search.marc/search.pl
diff -N search.marc/search.pl
--- search.marc/search.pl       10 Aug 2006 13:08:28 -0000      1.33
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,386 +0,0 @@
-#!/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;
-require Exporter;
-use CGI;
-use C4::Auth;
-use HTML::Template;
-use C4::Context;
-use C4::Search;
-use C4::Auth;
-use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Biblio;
-use C4::Acquisition;
-use C4::Koha; # XXX subfield_is_koha_internal_p
-
-# Creates the list of active tags using the active MARC configuration
-sub create_marclist {
-       my $dbh = C4::Context->dbh;
-       my $tagslib = &MARCgettagslib($dbh,1);
-       my @marcarray;
-       push @marcarray,"";
-       my $widest_menu_item_width = 0;
-       for (my $pass = 1; $pass <= 2; $pass += 1)
-       {
-               for (my $tabloop = 0; $tabloop<=10;$tabloop++)
-               {
-                       my $separator_inserted_p = 0; # FIXME... should not 
use!!
-                       foreach my $tag (sort(keys (%{$tagslib})))
-                       {
-                               foreach my $subfield (sort(keys 
%{$tagslib->{$tag}}))
-                               {
-                                       next if 
subfield_is_koha_internal_p($subfield);
-                                       next unless 
($tagslib->{$tag}->{$subfield}->{tab} eq $tabloop);
-                                       my $menu_item = "$tag$subfield - 
$tagslib->{$tag}->{$subfield}->{lib}";
-                                       if ($pass == 1)
-                                       {
-                                               $widest_menu_item_width = 
length $menu_item if($widest_menu_item_width < length $menu_item);
-                                       } else {
-                                               if (!$separator_inserted_p)
-                                               {
-                                                       my $w = 
int(($widest_menu_item_width - 3 + 0.5)/2);
-                                                       my $s = ('-' x ($w * 
4/5));
-                                                       push @marcarray,  "$s 
$tabloop $s";
-                                                       $separator_inserted_p = 
1;
-                                               }
-                                       push @marcarray, $menu_item;
-                                       }
-                               }
-                       }
-               }
-       }
-       return address@hidden;
-}
-
-# 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.
-sub create_scrolling_list {
-       my ($params) = @_;
-       my $scrollist = sprintf("<select name=\"%s\" size=\"%d\" 
onChange='%s'>\n", $params->{'name'}, $params->{'size'}, $params->{'onChange'});
-
-       foreach my $tag (@{$params->{'values'}})
-       {
-               my $selected = "selected " if($params->{'default'} eq $tag);
-               $scrollist .= sprintf("<option %svalue=\"%s\">%s</option>\n", 
$selected, $tag, $tag);
-       }
-
-       $scrollist .= "</select>\n";
-
-       return $scrollist;
-}
-
-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 $searchdesc;
-my $resultsperpage;
-
-if ($op eq "do_search") {
-       my @marclist = $query->param('marclist');
-       my @and_or = $query->param('and_or');
-       my @excluding = $query->param('excluding');
-       my @operator = $query->param('operator');
-       my @value = $query->param('value');
-
-               for (my $i=0;$i<=$#marclist;$i++) {
-               if ($searchdesc) { # don't put the and_or on the 1st search term
-                       $searchdesc .= $and_or[$i]." ".$excluding[$i]." 
".($marclist[$i]?$marclist[$i]:"*")." ".$operator[$i]." ".$value[$i]." " if 
($value[$i]);
-                       } else {
-                       $searchdesc = $excluding[$i]." 
".($marclist[$i]?$marclist[$i]:"*")." ".$operator[$i]." ".$value[$i]." " if 
($value[$i]);
-                       }
-               }
-       
-       $resultsperpage= $query->param('resultsperpage');
-       $resultsperpage = 19 if(!defined $resultsperpage);
-       my $orderby = $query->param('orderby');
-       my $desc_or_asc = $query->param('desc_or_asc');
-
-       # builds tag and subfield arrays
-       my @tags;
-
-       foreach my $marc (@marclist) {
-               if ($marc) {
-                       my ($tag,$subfield) = 
MARCfind_marc_from_kohafield($dbh,$marc,'');
-                       if ($tag) {
-                               push @tags,$dbh->quote("$tag$subfield");
-                       } else {
-                               if ($marc =~ /^(\d){3}(. -)(.)*/)
-                               {
-                                       # The user is using the search 
catalogue part, more fields
-                                       push @tags, 
$dbh->quote(substr($marc,0,4));
-                               }
-                               else
-                               {
-                                       push @tags, $marc;
-                               }
-                       }
-               } else {
-                       push @tags, "";
-               }
-       }
-       findseealso($dbh,address@hidden);
-       my ($results,$total) = catalogsearch($dbh, 
address@hidden,address@hidden,
-                                                                               
address@hidden, address@hidden, address@hidden,
-                                                                               
$startfrom*$resultsperpage, $resultsperpage,$orderby,$desc_or_asc);
-       if ($total == 1) {
-        # if only 1 answer, jump directly to the biblio
-       if (C4::Context->preference("IntranetBiblioDefaultView") eq "normal") {
-            print 
$query->redirect("/cgi-bin/koha/detail.pl?bib="address@hidden>{biblionumber});
-       } elsif (C4::Context->preference("IntranetBiblioDefaultView") eq 
"marc") {
-            print 
$query->redirect("/cgi-bin/koha/MARCdetail.pl?bib="address@hidden>{biblionumber});
-       } else {
-            print 
$query->redirect("/cgi-bin/koha/ISBDdetail.pl?bib="address@hidden>{biblionumber});
-       }
-        exit
-       }
-       ($template, $loggedinuser, $cookie)
-               = get_template_and_user({template_name => 
"search.marc/result.tmpl",
-                               query => $query,
-                               type => $type,
-                               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 <= $#marclist ; $i++) {
-               push @field_data, { term => "marclist", val=>$marclist[$i] };
-               push @field_data, { term => "and_or", val=>$and_or[$i] };
-               push @field_data, { term => "excluding", val=>$excluding[$i] };
-               push @field_data, { term => "operator", val=>$operator[$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);
-       }
-       my $defaultview = 
'BiblioDefaultView'.C4::Context->preference('IntranetBiblioDefaultView');
-       $template->param(result => $results,
-                                                       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,
-                                                       searchdesc=> 
$searchdesc,
-                                                       desc_asc=>$desc_or_asc,
-                                                       orderby=>$orderby,
-                                                       MARC_ON => 
C4::Context->preference("marc"),
-                                                       $defaultview => 1,
-                                                       );
-
-} elsif ($op eq "AddStatement") {
-       ($template, $loggedinuser, $cookie)
-               = get_template_and_user({template_name => 
"search.marc/search.tmpl",
-                               query => $query,
-                               type => $type,
-                               authnotrequired => 0,
-                               flagsrequired => {catalogue => 1},
-                               debug => 1,
-                               });
-
-       # Gets the entered information
-       my @marcfields = $query->param('marclist');
-       my @and_or = $query->param('and_or');
-       my @excluding = $query->param('excluding');
-       my @operator = $query->param('operator');
-       my @value = $query->param('value');
-
-       my @statements = ();
-
-       # List of the marc tags to display
-       my $marcarray = create_marclist();
-
-       my $nbstatements = $query->param('nbstatements');
-       $nbstatements = 1 if(!defined $nbstatements);
-
-       for(my $i = 0 ; $i < $nbstatements ; $i++)
-       {
-               my %fields = ();
-
-               # Recreates the old scrolling lists with the previously 
selected values
-               my $marclist = create_scrolling_list({name=>"marclist",
-                                       values=> $marcarray,
-                                       size=> 1,
-                                       default=>$marcfields[$i],
-                                       onChange => "sql_update()"}
-                                       );
-
-               $fields{'marclist'} = $marclist;
-               $fields{'first'} = 1 if($i == 0);
-
-               # Restores the and/or parameters (no need to test the 'and' for 
activation because it's the default value)
-               $fields{'or'} = 1 if($and_or[$i] eq "or");
-
-               #Restores the "not" parameters
-               $fields{'not'} = 1 if($excluding[$i]);
-
-               #Restores the operators (most common operators first);
-               if($operator[$i] eq "=") { $fields{'eq'} = 1; }
-               elsif($operator[$i] eq "contains") { $fields{'contains'} = 1; }
-               elsif($operator[$i] eq "start") { $fields{'start'} = 1; }
-               elsif($operator[$i] eq ">") { $fields{'gt'} = 1; }      
#greater than
-               elsif($operator[$i] eq ">=") { $fields{'ge'} = 1; } #greater or 
equal
-               elsif($operator[$i] eq "<") { $fields{'lt'} = 1; } #lower than
-               elsif($operator[$i] eq "<=") { $fields{'le'} = 1; } #lower or 
equal
-
-               #Restores the value
-               $fields{'value'} = $value[$i];
-
-               push @statements, \%fields;
-       }
-       $nbstatements++;
-
-       # The new scrolling list
-       my $marclist = create_scrolling_list({name=>"marclist",
-                               values=> $marcarray,
-                               size=>1,
-                               onChange => "sql_update()"});
-       push @statements, {"marclist" => $marclist };
-
-       $template->param("statements" => address@hidden,
-                                               "nbstatements" => 
$nbstatements);
-
-}
-else {
-       ($template, $loggedinuser, $cookie)
-               = get_template_and_user({template_name => 
"search.marc/search.tmpl",
-                               query => $query,
-                               type => $type,
-                               authnotrequired => 0,
-                               flagsrequired => {catalogue => 1},
-                               debug => 1,
-                               });
-       #$template->param(loggedinuser => $loggedinuser);
-
-       my $marcarray = create_marclist();
-
-       my $marclist = CGI::scrolling_list(-name=>"marclist",
-                                       -values=> $marcarray,
-                                       -size=>1,
-                                       -tabindex=>'',
-                                       -multiple=>0,
-                                       -onChange => "sql_update()",
-                                       );
-
-       my @statements = ();
-
-       # Considering initial search with 3 criterias
-       push @statements, { "marclist" => $marclist, "first" => 1 };
-       push @statements, { "marclist" => $marclist, "first" => 0 };
-       push @statements, { "marclist" => $marclist, "first" => 0 };
-       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',
-                               -id => 'itemtype',
-                               -values   => address@hidden,
-                               -labels   => \%itemtypes,
-                               -size     => 1,
-                               -tabindex=>'',
-                               -multiple => 0 );
-       $sth->finish;
-
-       my @branches;
-       my @select_branch;
-       my %select_branches;
-       my $branches=GetBranches();
-       my @branchloop;
-       foreach my $thisbranch (sort keys %$branches) {
-#              my $selected = 1 if $thisbranch eq $branch;
-               my %row =(value => $thisbranch,
-#                                      selected => $selected,
-                                       branchname => 
$branches->{$thisbranch}->{'branchname'},
-                               );
-               push @branchloop, \%row;
-       }
-       $sth->finish;
-
-
-       
$template->param('Disable_Dictionary'=>C4::Context->preference("Disable_Dictionary"))
 if (C4::Context->preference("Disable_Dictionary"));
-       $template->param("statements" => address@hidden,
-                       "nbstatements" => 3,
-                       CGIitemtype => $CGIitemtype,
-                       branchloop => address@hidden,
-                       );
-}
-
-
-# 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: search.marc/suggest.pl
===================================================================
RCS file: search.marc/suggest.pl
diff -N search.marc/suggest.pl
--- search.marc/suggest.pl      10 Aug 2006 13:08:28 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,66 +0,0 @@
-#!/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;
-require Exporter;
-use CGI;
-use C4::Auth;
-use HTML::Template;
-use C4::Context;
-use C4::Search;
-use C4::Auth;
-use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Biblio;
-use C4::Acquisition;
-use C4::Koha; # XXX subfield_is_koha_internal_p
-
-# Creates the list of active tags using the active MARC configuration
-my $query=new CGI;
-my $Q=$query->param('Q');
-my @words = split / /,$Q;
-my $dbh = C4::Context->dbh;
-
-my $suggestions = findsuggestion($dbh,address@hidden);
-my @loop_suggests;
-foreach my $line (@$suggestions) {
-       my ($word,$suggestion,$count) = split /\|/,$line;
-       push @loop_suggests, { word => $word, suggestion =>$suggestion, count 
=> $count };
-}
-
-my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name => "search.marc/suggest.tmpl",
-                            query => $query,
-                            type => "intranet",
-                            authnotrequired => 0,
-                            flagsrequired => {editcatalogue => 1},
-                            debug => 1,
-                            });
-$template->param("loop" => 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;
-1;
-# Local Variables:
-# tab-width: 4
-# End:




reply via email to

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