[Koha-cvs] koha/members boraccount.pl borrowers_details.pl...

paul poulain paul at koha-fr.org
Fri Mar 9 15:56:55 CET 2007


CVSROOT:	/sources/koha
Module name:	koha
Changes by:	paul poulain <tipaul>	07/03/09 14:56:55

Modified files:
	members        : boraccount.pl borrowers_details.pl deletemem.pl 
	                 guarantor_search.pl mancredit.pl maninvoice.pl 
	                 memberentry.pl member-flags.pl 
	                 member-password.pl member-picupload.pl 
	                 member.pl members-home.pl moremember.pl pay.pl 
	                 readingrec.pl setdebar.pl 

Log message:
	rel_3_0 moved to HEAD

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/members/boraccount.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/members/borrowers_details.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/members/deletemem.pl?cvsroot=koha&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/koha/members/guarantor_search.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/members/mancredit.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/members/maninvoice.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/members/memberentry.pl?cvsroot=koha&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/koha/members/member-flags.pl?cvsroot=koha&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/koha/members/member-password.pl?cvsroot=koha&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/koha/members/member-picupload.pl?cvsroot=koha&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/members/member.pl?cvsroot=koha&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/koha/members/members-home.pl?cvsroot=koha&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/koha/members/moremember.pl?cvsroot=koha&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/koha/members/pay.pl?cvsroot=koha&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/koha/members/readingrec.pl?cvsroot=koha&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/koha/members/setdebar.pl?cvsroot=koha&r1=1.3&r2=1.4

Patches:
Index: boraccount.pl
===================================================================
RCS file: /sources/koha/koha/members/boraccount.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- boraccount.pl	27 Sep 2006 21:19:22 -0000	1.4
+++ boraccount.pl	9 Mar 2007 14:56:55 -0000	1.5
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: boraccount.pl,v 1.4 2006/09/27 21:19:22 tgarip1957 Exp $
+# $Id: boraccount.pl,v 1.5 2007/03/09 14:56:55 tipaul Exp $
 
 #writen 11/1/2000 by chris at katipo.oc.nz
 #script to display borrowers account details
@@ -30,7 +30,7 @@
 use C4::Date;
 use CGI;
 use C4::Members;
-use HTML::Template;
+
 
 my $input=new CGI;
 
@@ -46,13 +46,13 @@
 			     debug => 1,
 			     });
 
-my $bornum=$input->param('bornum');
+my $borrowernumber=$input->param('borrowernumber');
 #get borrower details
-my $data=borrdata('',$bornum);
+my $data=borrdata('',$borrowernumber);
 
 #get account details
 my %bor;
-$bor{'borrowernumber'}=$bornum;
+$bor{'borrowernumber'}=$borrowernumber;
 my ($numaccts,$accts,$total)=getboracctrecord('',\%bor);
 my $totalcredit;
 if($total <= 0){
@@ -95,7 +95,7 @@
 $template->param(
 			firstname       => $data->{'firstname'},
 			surname         => $data->{'surname'},
-			bornum          => $bornum,
+			borrowernumber          => $borrowernumber,
 			total           => sprintf("%.2f",$total),
 			totalcredit => $totalcredit,
 			accounts        => \@accountrows );

Index: borrowers_details.pl
===================================================================
RCS file: /sources/koha/koha/members/borrowers_details.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- borrowers_details.pl	7 Jun 2006 10:15:58 -0000	1.2
+++ borrowers_details.pl	9 Mar 2007 14:56:55 -0000	1.3
@@ -2,7 +2,7 @@
 # NOTE: This file uses standard 8-space tabs
 #       DO NOT SET TAB SIZE TO 4
 
-# $Id: borrowers_details.pl,v 1.2 2006/06/07 10:15:58 btoumi Exp $
+# $Id: borrowers_details.pl,v 1.3 2007/03/09 14:56:55 tipaul Exp $
 
 #script to set up screen for modification of borrower details
 #written 20/12/99 by chris at katipo.co.nz
@@ -31,10 +31,9 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
-use C4::Search;
 use C4::Members;
 use C4::Koha;
-use HTML::Template;
+
 use Date::Manip;
 use C4::Date;
 use C4::Input;

Index: deletemem.pl
===================================================================
RCS file: /sources/koha/koha/members/deletemem.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- deletemem.pl	4 Jul 2006 14:36:52 -0000	1.9
+++ deletemem.pl	9 Mar 2007 14:56:55 -0000	1.10
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: deletemem.pl,v 1.9 2006/07/04 14:36:52 toins Exp $
+# $Id: deletemem.pl,v 1.10 2007/03/09 14:56:55 tipaul Exp $
 
 #script to delete items
 #written 2/5/00
@@ -28,11 +28,11 @@
 
 use CGI;
 use C4::Context;
-use C4::Search;
 use C4::Interface::CGI::Output;
 use C4::Output;
 use C4::Circulation::Circ2;
 use C4::Auth;
+use C4::Members;
 
 
 my $input = new CGI;
@@ -60,7 +60,7 @@
 	unless ($userenv->{flags} == 1){
 		unless ($userenv->{'branch'} eq $bor->{'branchcode'}){
 #			warn "user ".$userenv->{'branch'} ."borrower :". $bor->{'branchcode'};
-			print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$member");
+			print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
 			exit 1;
 		}
 	}
@@ -70,18 +70,18 @@
 $sth->execute($member);
 my $data=$sth->fetchrow_hashref;
 $sth->finish;
-
-if ($i > 0 || $flags->{'CHARGES'} ne '' || $data ne ''){
+if ($i > 0 or $flags->{'CHARGES'}  or $data->{'borrowernumber'}){
+warn"je suis rentre dans la boucle";
 	my ($template, $borrowernumber, $cookie)
 		= get_template_and_user({template_name => "members/deletemem.tmpl",
 					query => $input,
 					type => "intranet",
 					authnotrequired => 0,
-					flagsrequired => {borrower => 1},
+					flagsrequired => {borrowers => 1},
 					debug => 1,
 					});
 	#   print $input->header;
-	$template->param(bornum => $member);
+	$template->param(borrowernumber => $member);
 	if ($i >0) {
 		$template->param(ItemsOnIssues => $i);
 	}
@@ -109,24 +109,8 @@
 output_html_with_http_headers $input, $cookie, $template->output;
 
 } else {
-	delmember($member);
+	DeleteBorrower($member);
 	print $input->redirect("/cgi-bin/koha/members/members-home.pl");
 }
 
-sub delmember{
-	my ($member)=@_;
-	my $dbh = C4::Context->dbh;
-	my $sth=$dbh->prepare("Select * from borrowers where borrowernumber=?");
-	$sth->execute($member);
-	my @data=$sth->fetchrow_array;
-	$sth->finish;
-	$sth=$dbh->prepare("Insert into deletedborrowers values (".("?,"x(scalar(@data)-1))."?)");
-	$sth->execute(@data);
-	$sth->finish;
-	$sth=$dbh->prepare("Delete from borrowers where borrowernumber=?");
-	$sth->execute($member);
-	$sth->finish;
-	$sth=$dbh->prepare("Delete from reserves where borrowernumber=?");
-	$sth->execute($member);
-	$sth->finish;
-}
+

Index: guarantor_search.pl
===================================================================
RCS file: /sources/koha/koha/members/guarantor_search.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- guarantor_search.pl	14 Apr 2006 09:32:34 -0000	1.1
+++ guarantor_search.pl	9 Mar 2007 14:56:55 -0000	1.2
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: guarantor_search.pl,v 1.1 2006/04/14 09:32:34 tipaul Exp $
+# $Id: guarantor_search.pl,v 1.2 2007/03/09 14:56:55 tipaul Exp $
 
 # script to find a guarantor
 
@@ -26,8 +26,7 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
-use C4::Search;
-use HTML::Template;
+
 #op
 use C4::Date;
 use C4::Members;
@@ -76,7 +75,7 @@
 	for (my $i=0; $i < $count; $i++){
 	#find out stats
 	my ($od,$issue,$fines)=borrdata2($env,$results->[$i]{'borrowerid'});
-	
+	my $guarantorinfo=uc($results->[$i]{'surname'})." , ".ucfirst($results->[$i]{'firstname'});
 	my %row = (
 		background => $background,
 		count => $i+1,
@@ -88,7 +87,7 @@
 		address => $results->[$i]{'address'},
 		city => $results->[$i]{'city'},
 		branchcode => $results->[$i]{'branchcode'},
-		
+		guarantorinfo =>$guarantorinfo,
 		#op
 		dateofbirth =>format_date($results->[$i]{'dateofbirth'}),
 		#fi op	

Index: mancredit.pl
===================================================================
RCS file: /sources/koha/koha/members/mancredit.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- mancredit.pl	27 Sep 2006 21:19:22 -0000	1.4
+++ mancredit.pl	9 Mar 2007 14:56:55 -0000	1.5
@@ -26,15 +26,15 @@
 use C4::Output;
 use C4::Interface::CGI::Output;
 use CGI;
-use HTML::Template;
+
 use C4::Members;
 use C4::Accounts2;
 my $input=new CGI;
 
 
-my $bornum=$input->param('bornum');
+my $borrowernumber=$input->param('borrowernumber');
 #get borrower details
-my $data=borrdata('',$bornum);
+my $data=borrdata('',$borrowernumber);
 my $add=$input->param('add');
 if ($add){
   my $itemnum=$input->param('itemnum');
@@ -42,18 +42,18 @@
   my $amount=$input->param('amount');
   $amount = -$amount;
   my $type=$input->param('type');
-  manualinvoice($bornum,$itemnum,$desc,$type,$amount);
-  print $input->redirect("/cgi-bin/koha/members/boraccount.pl?bornum=$bornum");
+  manualinvoice($borrowernumber,$itemnum,$desc,$type,$amount);
+  print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
 } else {
 	my ($template, $loggedinuser, $cookie)
-	= get_template_and_user({template_name => "mancredit.tmpl",
+	= get_template_and_user({template_name => "members/mancredit.tmpl",
 					query => $input,
 					type => "intranet",
 					authnotrequired => 0,
 					flagsrequired => {borrowers => 1},
 					debug => 1,
 					});
-	$template->param( bornum => $bornum);
+	$template->param( borrowernumber => $borrowernumber);
 	print $input->header(
 	    -type => guesstype($template->output),
 	    -cookie => $cookie

Index: maninvoice.pl
===================================================================
RCS file: /sources/koha/koha/members/maninvoice.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- maninvoice.pl	27 Sep 2006 21:19:22 -0000	1.4
+++ maninvoice.pl	9 Mar 2007 14:56:55 -0000	1.5
@@ -28,13 +28,13 @@
 use CGI;
 use C4::Members;
 use C4::Accounts2;
-use HTML::Template;
+
 
 my $input=new CGI;
 
-my $bornum=$input->param('bornum');
+my $borrowernumber=$input->param('borrowernumber');
 #get borrower details
-my $data=borrdata('',$bornum);
+my $data=borrdata('',$borrowernumber);
 my $add=$input->param('add');
 if ($add){
 #  print $input->header;
@@ -42,18 +42,18 @@
   my $desc=$input->param('desc');
   my $amount=$input->param('amount');
   my $type=$input->param('type');
-  manualinvoice($bornum,$itemnum,$desc,$type,$amount);
-  print $input->redirect("/cgi-bin/koha/members/boraccount.pl?bornum=$bornum");
+  manualinvoice($borrowernumber,$itemnum,$desc,$type,$amount);
+  print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
 } else {
 	my ($template, $loggedinuser, $cookie)
-	= get_template_and_user({template_name => "maninvoice.tmpl",
+	= get_template_and_user({template_name => "members/maninvoice.tmpl",
 					query => $input,
 					type => "intranet",
 					authnotrequired => 0,
 					flagsrequired => {borrowers => 1},
 					debug => 1,
 					});
-	$template->param(bornum => $bornum);
+	$template->param(borrowernumber => $borrowernumber);
 	print $input->header(
 	    -type => guesstype($template->output),
 	    -cookie => $cookie

Index: memberentry.pl
===================================================================
RCS file: /sources/koha/koha/members/memberentry.pl,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- memberentry.pl	27 Sep 2006 21:19:22 -0000	1.39
+++ memberentry.pl	9 Mar 2007 14:56:55 -0000	1.40
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: memberentry.pl,v 1.39 2006/09/27 21:19:22 tgarip1957 Exp $
+# $Id: memberentry.pl,v 1.40 2007/03/09 14:56:55 tipaul Exp $
 
 # Copyright 2006 SAN OUEST PROVENCE et Paul POULAIN
 #
@@ -30,21 +30,29 @@
 # internal modules
 use C4::Auth;
 use C4::Context;
+use C4::Output;
 use C4::Interface::CGI::Output;
-use C4::Search;
 use C4::Members;
 use C4::Koha;
 use C4::Date;
 use C4::Input;
 use C4::Log;
+use C4::Branch; # GetBranches
 
 my $input = new CGI;
 my %data;
 
-
 my $dbh = C4::Context->dbh;
 
-my $category_type = $input->param('category_type') || die "NO CATEGORY_TYPE !"; # A, E, C, or P
+my $categorycode=$input->param('categorycode');
+my $category_type;
+$category_type = $input->param('category_type');
+
+my $desc;
+($category_type,$desc) = getcategorytype($categorycode) unless ($category_type or !($categorycode));
+
+die "NO CATEGORY TYPE !" unless $category_type; # FIXME we should display a error message instead of a 500 error !
+
 my $step=$input->param('step') || 0;
 my ($template, $loggedinuser, $cookie)
     = get_template_and_user({template_name => "members/memberentry$category_type.tmpl",
@@ -60,7 +68,6 @@
 my $modify=$input->param('modify');
 my $delete=$input->param('delete');
 my $op=$input->param('op');
-my $categorycode=$input->param('categorycode');
 my $destination=$input->param('destination');
 my $cardnumber=$input->param('cardnumber');
 my $check_member=$input->param('check_member');
@@ -68,13 +75,13 @@
 my $nodouble=$input->param('nodouble');
 my $select_city=$input->param('select_city');
 my $nok=$input->param('nok');
-
+my $guarantorinfo=$input->param('guarantorinfo');
 my @errors;
 my $default_city;
 # $check_categorytype contains the value of duplicate borrowers category type to redirect in good template in step =2
 my $check_categorytype=$input->param('check_categorytype');
 # NOTE: Alert for ethnicity and ethnotes fields, they are unvalided in all borrowers form
-
+my $borrower_data;
 
 #function  to automatic setup the mandatory  fields (visual with css)
 my $check_BorrowerMandatoryField=C4::Context->preference("BorrowerMandatoryField");
@@ -82,23 +89,22 @@
 foreach (@field_check) {
 $template->param( "mandatory$_" => 1);		
 }	
-
 $template->param("add"=>1) if ($op eq 'add');
 $template->param( "checked" => 1) if ($nodouble eq 1);
+($borrower_data=borrdata('',$borrowernumber)) if($op eq 'modify');
 
-my $borrower_data=borrdata('',$borrowernumber);
 # if a add or modify is requested => check validity of data.
 if ($step eq 0){
     foreach my $column (keys %$borrower_data){
 	$data{$column}=$borrower_data->{$column};
     }
    }    
+
 if ($op eq 'add' or $op eq 'modify') {
 	my @names=$input->param;
 	foreach my $key (@names){
 		$data{$key}=$input->param($key)||'';
-		$data{$key}=~ s/\'/\\\'/g;
-		$data{$key}=~ s/\"/\\\"/g;
+ 		$data{$key}=~ s/\"/&quot;/gg unless $key eq 'borrowernotes' or $key eq 'opacnote';
 	}
 
 	# WARN : some tests must be done whatever the step, because the librarian can click on any tab.
@@ -115,6 +121,7 @@
 #recover all data from guarantor address phone ,fax... 
 if ($category_type eq 'C' and $guarantorid ne '' ){
 			my $guarantordata=getguarantordata($guarantorid);
+			$guarantorinfo=$guarantordata->{'surname'}." , ".$guarantordata->{'firstname'};
 			if (($data{'contactname'} eq '' or $data{'contactname'} ne $guarantordata->{'surname'})) {
 				$data{'contactfirstname'}=$guarantordata->{'firstname'};	
 				$data{'contactname'}=$guarantordata->{'surname'};
@@ -139,24 +146,28 @@
 	if ($step eq 1) {
 		###############test to take the right zipcode and city name ##############
 		if ( $guarantorid eq ''){
+          if ($select_city){
 			my ($borrower_city,$borrower_zipcode)=&getzipnamecity($select_city);
 			$data{'city'}= $borrower_city;
 			$data{'zipcode'}=$borrower_zipcode;
 		}
-                if ($category_type ne 'I') {
+        }
+        my $dateofbirthmandatory=0;
+        map {$dateofbirthmandatory=1 if $_ eq "dateofbirth"} @field_check;
+        if ($category_type ne 'I' && $data{dateofbirth} && $dateofbirthmandatory) {
                 my $age = get_age(format_date_in_iso($data{dateofbirth}));
                 my (undef,$agelimitmin,$agelimitmax,undef)=getborrowercategory($data{'categorycode'});   
-		if ($age > $agelimitmax
-                            or $age < $agelimitmin
-                   ) {
+          if (($age > $agelimitmax) or ($age < $agelimitmin)) {
                         push @errors, 'ERROR_age_limitations';
                         $nok = 1;
                     }
                 }
-	
 	}
+
 # STEP 2
 	if ($step eq 2) {
+	
+	
 			if ( ($data{'userid'} eq '')){
 				my $onefirstnameletter=substr($data{'firstname'},0,1);
 				my $fivesurnameletter=substr($data{'surname'},0,5);
@@ -186,7 +197,6 @@
 			# test to know if another user have the same password and same login		
 			if ($loginexist eq 0) {
 				&modmember(%data);		
-				logaction($loggedinuser,"MEMBERS","modify member", $borrowernumber, "");
 			}
 			else {
 				push @errors, "ERROR_login_exist";
@@ -204,7 +214,6 @@
 				    my @orgs=split(/\|/,$data{'organisations'});
 				    add_member_orgs($borrowernumber,\@orgs);
 				 }
-				logaction($loggedinuser,"MEMBERS","add member", $borrowernumber, "");
 			}
  		}
 
@@ -213,7 +222,7 @@
 				print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$data{'cardnumber'}");
 			} else {
 				if ($loginexist == 0) {
-				print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
+				print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
 				}
 			}
 		}
@@ -258,6 +267,7 @@
 		$template->param(female => 1);
 	}
 	my ($categories,$labels)=ethnicitycategories();
+    
 	my $ethnicitycategoriescount=$#{$categories};
 	my $ethcatpopup;
 	if ($ethnicitycategoriescount>=0) {
@@ -271,16 +281,21 @@
 	}
 	
 	
-	($categories,$labels)=borrowercategories($category_type,$op);
+	my $action="WHERE category_type=?";
+	($categories,$labels)=GetborCatFromCatType($category_type,$action);
 	
-	#if u modify the borrowers u must have the right value for is category code
-	
-	(my $default_category=$data{'categorycode'}) if ($op  eq '');
-	my $catcodepopup = CGI::popup_menu(-name=>'categorycode',
+	if(scalar(@$categories)){
+	    #if you modify the borrowers you must have the right value for his category code
+	(my $default_category=$data{'categorycode'}) if ($op  eq 'modify');
+	    my $catcodepopup = CGI::popup_menu(
+	        -name=>'categorycode',
  					-id => 'categorycode',
  					-values=>$categories,
-  					-default=>$default_category,
- 					-labels=>$labels);
+  			-labels=>$labels,
+			-default=>$default_category
+ 	    );
+ 	    $template->param(catcodepopup=>$catcodepopup);
+ 	}
 	#test in city
 	$select_city=getidcity($data{'city'}) if ($guarantorid ne '0');
 	($default_city=$select_city) if ($step eq 0);
@@ -288,7 +303,7 @@
  	my $selectcity=&getidcity($data{'city'});
  	$default_city=$selectcity;
  	}
-	my($cityid,$name_city)=getcities();
+	my($cityid,$name_city)=GetCities();
 	$template->param( city_cgipopup => 1) if ($cityid );
 	my $citypopup = CGI::popup_menu(-name=>'select_city',
 					-id => 'select_city',
@@ -300,7 +315,7 @@
 	
  	my $default_roadtype;
  	$default_roadtype=$data{'streettype'} ;
-	my($roadtypeid,$road_type)=getroadtypes();
+ 	my($roadtypeid,$road_type)=GetRoadTypes();
   	$template->param( road_cgipopup => 1) if ($roadtypeid );
 	my $roadpopup = CGI::popup_menu(-name=>'streettype',
 					-id => 'streettype',
@@ -310,6 +325,16 @@
 					-default=>$default_roadtype
 					);	
 
+	my $default_borrowertitle;
+	$default_borrowertitle=$data{'title'} ;
+ 	my($borrowertitle)=GetBorrowersTitles();
+	my $borrotitlepopup = CGI::popup_menu(-name=>'title',
+					      -id => 'title',
+					      -values=>$borrowertitle,
+					      -override => 1,
+					      -default=>$default_borrowertitle
+					);		
+
 	
 	my @relationships = split /,|\|/,C4::Context->preference('BorrowerRelationship');
 	my @relshipdata;
@@ -352,7 +377,7 @@
 	my @branches;
 	my @select_branch;
 	my %select_branches;
-	my $branches=GetBranches('IS');
+	my $branches=GetBranches();
 	my $default;
 	# -----------------------------------------------------
 	#  the value of ip from the branches hash table
@@ -365,24 +390,23 @@
 		if ((not C4::Context->preference("IndependantBranches")) || (C4::Context->userenv->{'flags'} == 1)) {
 			push @select_branch, $branch;
 			$select_branches{$branch} = $branches->{$branch}->{'branchname'};
- 			$default = $branches->{$branch}->{'branchcode'};
+ 			$default=C4::Context->userenv->{'branch'};
  			} else {
 				push @select_branch,$branch if ($branch eq C4::Context->userenv->{'branch'});
 				$select_branches{$branch} = $branches->{$branch}->{'branchname'} if ($branch eq C4::Context->userenv->{'branch'});
 				$default = C4::Context->userenv->{'branch'};
-					
 				}
 	}
 # --------------------------------------------------------------------------------------------------------
  	#in modify mod :default value from $CGIbranch comes from borrowers table
 	#in add mod: default value come from branches table (ip correspendence)
 	$default=$data{'branchcode'}  if ($op eq 'modify');
-	
 	my $CGIbranch = CGI::scrolling_list(-id    => 'branchcode',
 					   -name   => 'branchcode',
 					   -values => \@select_branch,
 					   -labels => \%select_branches,
 					   -size   => 1,
+					   -override => 1,	
 				           -multiple =>0,
 					   -default => $default,
 					);
@@ -426,11 +450,6 @@
 	} else {
 		$template->param( sort2 => $data{'sort2'});
 	}
-
-	
- 	$data{'opacnotes'} =~ s/\\//g;
-	$data{'borrowernotes'} =~ s/\\//g;
-
 	# increase step to see next page
         if ($nok) {
             foreach my $error (@errors) {
@@ -441,8 +460,6 @@
         else {
             $step++;
         }
-
-
 	$template->param(
 		BorrowerMandatoryField => C4::Context->preference("BorrowerMandatoryField"),#field to test with javascript
 		category_type	=> $category_type,#to know the category type of the borrower
@@ -458,8 +475,7 @@
 		borrowernumber 	=> $borrowernumber,#register number
 		cardnumber	=> $data{'cardnumber'},
 		surname         => uc($data{'surname'}),
-		firstname       => ucfirst($data{'firstname'}),
-		"title_".$data{'title'}   => " SELECTED ",
+		firstname       => ucfirst(lc $data{'firstname'}),
 		title 		=> $data{'title'},
 		othernames	=> $data{'othernames'},
 		initials	=> $data{'initials'},
@@ -482,7 +498,6 @@
 		B_phone        => $data{'B_phone'},
 		dateofbirth	=> $data{'dateofbirth'},
 		branchcode      => $data{'branchcode'},
-		catcodepopup	=> $catcodepopup,
 		categorycode 	=> $data{'categorycode'},
 		dateenrolled 	=> format_date($data{'dateenrolled'}),
 		dateexpiry	=> format_date($data{'dateexpiry'}),
@@ -490,7 +505,7 @@
 		gonenoaddress 	=> $data{'gonenoaddress'}, 
 		lost 	=> $data{'lost'},
 		contactname     => uc($data{'contactname'}),
-		contactfirstname=> ucfirst($data{'contactfirstname'}),
+		contactfirstname=> ucfirst( lc $data{'contactfirstname'}),
 		"contacttitle_".$data{'contacttitle'} => "SELECTED" ,
 		contacttitle	=> $data{'contacttitle'},
 		guarantorid	=> $guarantorid,
@@ -499,14 +514,16 @@
 		userid 		=> $data{'userid'},	
 		password 	=> $data{'password'},	
 		opacnote   	=> $data{'opacnote'},	
-		contactnotes	=> $data{'contactnotes'},
+		contactnote	=> $data{'contactnote'},
 		borrowernotes	=> $data{'borrowernotes'},
 		relshiploop	=> \@relshipdata,
 		relationship	=> $data{'relationship'},
 		citypopup	=> $citypopup,
 		roadpopup	=> $roadpopup,	
+		borrotitlepopup => $borrotitlepopup,
 		contacttype	=> $data{'contacttype'},
 	        organisations   => $data{'organisations'},
+		guarantorinfo   => $guarantorinfo,
 		flagloop	=> \@flagdata,
 # 		"contacttype_".$data{'contacttype'} =>" SELECTED ",
 		dateformat      => display_date_format(),

Index: member-flags.pl
===================================================================
RCS file: /sources/koha/koha/members/member-flags.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- member-flags.pl	4 Jul 2006 14:36:52 -0000	1.5
+++ member-flags.pl	9 Mar 2007 14:56:55 -0000	1.6
@@ -6,14 +6,13 @@
 
 use strict;
 
-use C4::Search;
 use CGI;
 use C4::Output;
 use C4::Auth;
 use C4::Context;
 use C4::Circulation::Circ2;
 #use C4::Acquisitions;
-use HTML::Template;
+
 use C4::Interface::CGI::Output;
 
 my $input = new CGI;
@@ -56,7 +55,7 @@
     }
     my $sth=$dbh->prepare("update borrowers set flags=? where borrowernumber=?");
     $sth->execute($flags, $member);
-    print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$member");
+    print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
 } else {
 #     my ($bor,$flags,$accessflags)=getpatroninformation(\%env, $member,'');
     my $bor = getpatroninformation(\%env, $member,'');

Index: member-password.pl
===================================================================
RCS file: /sources/koha/koha/members/member-password.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- member-password.pl	4 Jul 2006 14:36:52 -0000	1.4
+++ member-password.pl	9 Mar 2007 14:56:55 -0000	1.5
@@ -8,12 +8,11 @@
 use C4::Auth;
 use C4::Output;
 use C4::Interface::CGI::Output;
-use C4::Search;
 use C4::Context;
 use C4::Members;
 use C4::Circulation::Circ2;
 use CGI;
-use HTML::Template;
+
 use Digest::MD5 qw(md5_base64);
 
 my $input = new CGI;
@@ -54,7 +53,7 @@
 	my $dbh=C4::Context->dbh;
 	if (changepassword($uid,$member,$digest)) {
 		$template->param(newpassword => $newpassword);
-		print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$member");
+		print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
 	} else {
         $template->param(othernames => $bor->{'othernames'},
 						surname     => $bor->{'surname'},

Index: member-picupload.pl
===================================================================
RCS file: /sources/koha/koha/members/member-picupload.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- member-picupload.pl	22 Aug 2005 04:25:11 -0000	1.1
+++ member-picupload.pl	9 Mar 2007 14:56:55 -0000	1.2
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: member-picupload.pl,v 1.1 2005/08/22 04:25:11 genjimoto Exp $
+# $Id: member-picupload.pl,v 1.2 2007/03/09 14:56:55 tipaul Exp $
 
 # script to upload a picture to a borrowerimages directory.
 # checks to see if its either displaying the upload form
@@ -30,13 +30,13 @@
 use C4::Context;
 use C4::Output;
 use CGI;
-use HTML::Template;
+
 use C4::Interface::CGI::Output;
 use C4::Interface::CGI::Template;
 
 my $input = new CGI;
 my $name = $input->param('name');
-my $bornum = $input->param('bornum');
+my $borrowernumber = $input->param('borrowernumber');
 my $photo = $input->param('photo');
 
 my $template_name;
@@ -59,7 +59,7 @@
 			     });
 if ($photo){
 
-	my $filename=$bornum.'.jpg';
+	my $filename=$borrowernumber.'.jpg';
 	my $upload_filehandle = $input->upload("photo");
 	open UPLOADFILE, ">$upload_dir/$filename";
 	binmode UPLOADFILE;
@@ -71,9 +71,9 @@
 }
 else {
 	$template->param(
-		 bornum => $bornum,
+		 borrowernumber => $borrowernumber,
 		 name => $name
 		 );
 	output_html_with_http_headers $input, $cookie, $template->output;
 }
-print $input->redirect("http://intranet/cgi-bin/koha/members/moremember.pl?bornum=$bornum");
\ No newline at end of file
+print $input->redirect("http://intranet/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
\ No newline at end of file

Index: member.pl
===================================================================
RCS file: /sources/koha/koha/members/member.pl,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- member.pl	4 Jul 2006 14:36:52 -0000	1.13
+++ member.pl	9 Mar 2007 14:56:55 -0000	1.14
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: member.pl,v 1.13 2006/07/04 14:36:52 toins Exp $
+# $Id: member.pl,v 1.14 2007/03/09 14:56:55 tipaul Exp $
 
 #script to do a borrower enquiery/brin up borrower details etc
 #written 20/12/99 by chris at katipo.co.nz
@@ -29,7 +29,7 @@
 use C4::Interface::CGI::Output;
 use CGI;
 use C4::Members;
-use HTML::Template;
+
 
 my $input = new CGI;
 my $quicksearch = $input->param('quicksearch');
@@ -95,6 +95,8 @@
         surname => $results->[$i]{'surname'},
         firstname => $results->[$i]{'firstname'},
         categorycode => $results->[$i]{'categorycode'},
+        category_type => $results->[$i]{'category_type'},
+        category_description => $results->[$i]{'description'},
         streetaddress => $results->[$i]{'streetaddress'},
         city => $results->[$i]{'city'},
         branchcode => $results->[$i]{'branchcode'},

Index: members-home.pl
===================================================================
RCS file: /sources/koha/koha/members/members-home.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- members-home.pl	4 Jul 2006 14:36:52 -0000	1.3
+++ members-home.pl	9 Mar 2007 14:56:55 -0000	1.4
@@ -1,12 +1,27 @@
 #!/usr/bin/perl
 
+# 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::Context;
-use HTML::Template;
+
 
 my $query = new CGI;
 my $quicksearch = $query->param('quicksearch');

Index: moremember.pl
===================================================================
RCS file: /sources/koha/koha/members/moremember.pl,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- moremember.pl	27 Sep 2006 21:19:22 -0000	1.29
+++ moremember.pl	9 Mar 2007 14:56:55 -0000	1.30
@@ -1,18 +1,5 @@
 #!/usr/bin/perl
 
-# $Id: moremember.pl,v 1.29 2006/09/27 21:19:22 tgarip1957 Exp $
-
-# script to do a borrower enquiry/bring up borrower details etc
-# Displays all the details about a borrower
-# written 20/12/99 by chris at katipo.co.nz
-# last modified 21/1/2000 by chris at katipo.co.nz
-# modified 31/1/2001 by chris at katipo.co.nz
-#   to not allow items on request to be renewed
-#
-# needs html removed and to use the C4::Output more, but its tricky
-#
-
-
 # Copyright 2000-2002 Katipo Communications
 #
 # This file is part of Koha.
@@ -30,6 +17,21 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
+# $Id: moremember.pl,v 1.30 2007/03/09 14:56:55 tipaul Exp $
+
+=head1 moremember.pl
+
+ script to do a borrower enquiry/bring up borrower details etc
+ Displays all the details about a borrower
+ written 20/12/99 by chris at katipo.co.nz
+ last modified 21/1/2000 by chris at katipo.co.nz
+ modified 31/1/2001 by chris at katipo.co.nz
+   to not allow items on request to be renewed
+
+ needs html removed and to use the C4::Output more, but its tricky
+
+=cut
+
 use strict;
 use C4::Auth;
 use C4::Context;
@@ -44,7 +46,8 @@
 use C4::Circulation::Circ2;
 use C4::Koha;
 use C4::Letters;
-use HTML::Template;
+use C4::Biblio;
+use C4::Branch; # GetBranchName
 
 my $dbh = C4::Context->dbh;
 
@@ -52,120 +55,173 @@
 my $print = $input->param('print');
 my $template_name;
 
-if($print eq "page"){
+if ( $print eq "page" ) {
 	$template_name = "members/moremember-print.tmpl";
-} elsif($print eq "slip"){
+}
+elsif ( $print eq "slip" ) {
 	$template_name = "members/moremember-receipt.tmpl";
-} else {
+}
+else {
 	$template_name = "members/moremember.tmpl";
 }
 
-my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name => $template_name,
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {
+        template_name   => $template_name,
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {borrowers => 1},
+        flagsrequired   => { borrowers => 1 },
 			     debug => 1,
-			     });
+    }
+);
+my $borrowernumber = $input->param('borrowernumber');
 
-my $bornum=$input->param('bornum');
 #start the page and read in includes
-my $data=borrdata('',$bornum);
+my $data           = borrdata( '', $borrowernumber );
+my $reregistration = $input->param('reregistration');
 
-my (undef,undef,undef,$category_type)=getborrowercategory($data->{'categorycode'});
-$template->param($data->{'categorycode'} => 1); # in template <TMPL_IF name="I"> => instutitional (A for Adult & C for children)
-$data->{'dateenrolled'} = format_date($data->{'dateenrolled'});
-$data->{'dateexpiry'} = format_date($data->{'dateexpiry'});
-$data->{'dateofbirth'} = format_date($data->{'dateofbirth'});
-$data->{'IS_ADULT'} = ($data->{'categorycode'} ne 'I');
-
-if($data->{'debarred'} || $data->{'gonenoaddress'} || $data->{'lost'} || $data->{'borrowernotes'}){
-	$template->param(flagged =>1);
-}
-
-$data->{'ethnicity'} = fixEthnicity($data->{'ethnicity'});
-
-$data->{&expand_sex_into_predicate($data->{'sex'})} = 1;
-
-if ($category_type eq 'C' and $data->{'guarantorid'} ne '0' ){
-	my $data2=borrdata('',$data->{'guarantorid'});
-	$data->{'address'}=$data2->{'address'};
-	$data->{'city'}=$data2->{'city'};
-	$data->{'B_address'}=$data2->{'B_address'};
-	$data->{'B_city'}=$data2->{'B_city'};
-	$data->{'phone'}=$data2->{'phone'};
-	$data->{'mobile'}=$data2->{'mobile'};
+if ( not defined $data ) {
+    $template->param (
+        unknowuser => 1
+    );
+    output_html_with_http_headers $input, $cookie, $template->output;
+    exit;
+}
+
+# re-reregistration function to automatic calcul of date expiry
+(
+    $data->{'dateexpiry'} = GetMembeReregistration(
+        $data->{'categorycode'},
+        $borrowernumber, $data->{'dateenrolled'}
+    )
+) if ( $reregistration eq 'y' );
+my ( undef, undef, undef, $category_type ) =
+  getborrowercategory( $data->{'categorycode'} );
+  
+# in template <TMPL_IF name="I"> => instutitional (A for Adult& C for children) 
+$template->param( $data->{'categorycode'} => 1 ); 
+
+$data->{'dateenrolled'} = format_date( $data->{'dateenrolled'} );
+$data->{'dateexpiry'}   = format_date( $data->{'dateexpiry'} );
+$data->{'dateofbirth'}  = format_date( $data->{'dateofbirth'} );
+$data->{'IS_ADULT'}     = ( $data->{'categorycode'} ne 'I' );
+
+if (   $data->{'debarred'}
+    || $data->{'gonenoaddress'}
+    || $data->{'lost'}
+    || $data->{'borrowernotes'} )
+{
+    $template->param( flagged => 1 );
+}
+
+$data->{'ethnicity'} = fixEthnicity( $data->{'ethnicity'} );
+
+$data->{ &expand_sex_into_predicate( $data->{'sex'} ) } = 1;
+
+if ( $category_type eq 'C' and $data->{'guarantorid'} ne '0' ) {
+    my $data2 = borrdata( '', $data->{'guarantorid'} );
+    $data->{'address'}   = $data2->{'address'};
+    $data->{'city'}      = $data2->{'city'};
+    $data->{'B_address'} = $data2->{'B_address'};
+    $data->{'B_city'}    = $data2->{'B_city'};
+    $data->{'phone'}     = $data2->{'phone'};
+    $data->{'mobile'}    = $data2->{'mobile'};
 	$data->{'zipcode'} = $data2->{'zipcode'};
 }
 
-if ($data->{'ethnicity'} || $data->{'ethnotes'}) {
-	$template->param(printethnicityline => 1);
+if ( $data->{'ethnicity'} || $data->{'ethnotes'} ) {
+    $template->param( printethnicityline => 1 );
 }
-if ($category_type ne 'C'){
-	$template->param(isguarantee => 1);
+if ( $category_type eq 'A' ) {
+    $template->param( isguarantee => 1 );
+
 	# FIXME
 	# It looks like the $i is only being returned to handle walking through
 	# the array, which is probably better done as a foreach loop.
 	#
-	my ($count,$guarantees)=findguarantees($data->{'borrowernumber'});
+    my ( $count, $guarantees ) = findguarantees( $data->{'borrowernumber'} );
 	my @guaranteedata;
-	for (my $i=0;$i<$count;$i++){
-		push (@guaranteedata, {borrowernumber => $guarantees->[$i]->{'borrowernumber'},
+    for ( my $i = 0 ; $i < $count ; $i++ ) {
+        push(
+            @guaranteedata,
+            {
+                borrowernumber => $guarantees->[$i]->{'borrowernumber'},
 					cardnumber => $guarantees->[$i]->{'cardnumber'},
-					name => $guarantees->[$i]->{'firstname'} . " " . $guarantees->[$i]->{'surname'}});
+                name           => $guarantees->[$i]->{'firstname'} . " "
+                  . $guarantees->[$i]->{'surname'}
 	}
-	$template->param(guaranteeloop => \@guaranteedata);
-	($template->param(adultborrower=>1)) if ($category_type eq 'A');
-} else {
-	my ($guarantorid)=findguarantor($data->{guarantorid});
-	if ($guarantorid->{'borrowernumber'}){
-		$template->param(guarantorborrowernumber => $guarantorid->{'borrowernumber'}, guarantorcardnumber => $guarantorid->{'cardnumber'});
+        );
+    }
+    $template->param( guaranteeloop => \@guaranteedata );
+    ( $template->param( adultborrower => 1 ) ) if ( $category_type eq 'A' );
+
+}
+else {
+    my ($guarantorid) = findguarantor( $data->{'borrowernumber'} );
+    ( $template->param( guarantor => 1 ) )
+      if ( ( $data->{'guarantorid'} > '0' ) );
+    if ( $guarantorid->{'borrowernumber'} ) {
+        $template->param(
+            guarantorborrowernumber => $guarantorid->{'borrowernumber'},
+            guarantorcardnumber     => $guarantorid->{'cardnumber'},
+            guarantorfirstname      => $guarantorid->{'firstname'},
+            guarantorsurname        => $guarantorid->{'surname'}
+        );
 	}
 }
 
 #Independant branches management
-my $unvalidlibrarian = ((C4::Context->preference("IndependantBranches")) && (C4::Context->userenv->{flags}!=1) && ($data->{'branchcode'} ne C4::Context->userenv->{branch}));
+my $unvalidlibrarian =
+  (      ( C4::Context->preference("IndependantBranches") )
+      && ( C4::Context->userenv->{flags} != 1 )
+      && ( $data->{'branchcode'} ne C4::Context->userenv->{branch} ) );
 
 my %bor;
-$bor{'borrowernumber'}=$bornum;
+$bor{'borrowernumber'} = $borrowernumber;
 
 # Converts the branchcode to the branch name
 my $samebranch;
-if (C4::Context->preference("IndependantBranches")) {
+if ( C4::Context->preference("IndependantBranches") ) {
 	my $userenv = C4::Context->userenv;
-	unless ($userenv->{flags} == 1){
-		$samebranch = ($data->{'branchcode'} eq $userenv->{branch});
+    unless ( $userenv->{flags} == 1 ) {
+        $samebranch = ( $data->{'branchcode'} eq $userenv->{branch} );
 	}
-	$samebranch =1 if ($userenv->{flags} == 1);
+    $samebranch = 1 if ( $userenv->{flags} == 1 );
 }
 
-$data->{'branchname'} = ((getbranchdetail($data->{'branchcode'}))->{'branchname'});
+$data->{'branchname'} =
+  ( ( GetBranchDetail( $data->{'branchcode'} ) )->{'branchname'} );
 
 # Converts the categorycode to the description
-($data->{'categorycode'},undef,undef) = &getborrowercategory($data->{'categorycode'});
+( $data->{'categorycode'}, undef, undef ) =
+  &getborrowercategory( $data->{'categorycode'} );
 
-my ($numaccts,$accts,$total)=getboracctrecord('',\%bor);
+my ( $numaccts, $accts, $total ) = getboracctrecord( '', \%bor );
+my $lib1 = &GetSortDetails( "Bsort1", $data->{'sort1'} );
+my $lib2 = &GetSortDetails( "Bsort2", $data->{'sort2'} );
+( $template->param( lib1 => $lib1 ) ) if ($lib1);
+( $template->param( lib2 => $lib2 ) ) if ($lib2);
 
-#
 # current issues
 #
-my ($count,$issue)=borrissues($bornum);
-
-my $today=ParseDate('today');
+my ( $count, $issue ) = borrissues($borrowernumber);
+my $roaddetails = &GetRoadTypeDetails( $data->{'streettype'} );
+my $today       = ParseDate('today');
 my @issuedata;
 my $totalprice = 0;
 my $toggle = 0;
-for (my $i=0;$i<$count;$i++){
-	my $datedue=ParseDate($issue->[$i]{'date_due'});
-	$issue->[$i]{'date_due'} = format_date($issue->[$i]{'date_due'});
-	my %row = %{$issue->[$i]};
+for ( my $i = 0 ; $i < $count ; $i++ ) {
+    my $datedue = ParseDate( $issue->[$i]{'date_due'} );
+    $issue->[$i]{'date_due'} = format_date( $issue->[$i]{'date_due'} );
+    my %row = %{ $issue->[$i] };
 	$totalprice += $issue->[$i]{'replacementprice'};
-	$row{'replacementprice'}=$issue->[$i]{'replacementprice'};
-	if ($datedue < $today){
-		$row{'red'}=1; #print "<font color=red>";
+    $row{'replacementprice'} = $issue->[$i]{'replacementprice'};
+    if ( $datedue < $today ) {
+        $row{'red'} = 1;    #print "<font color=red>";
 	}
-        $row{toggle} = $toggle++%2;
+    $row{toggle} = $toggle++ % 2;
+
 	#find the charge for an item
 	# FIXME - This is expecting
 	# &C4::Circulation::Renewals2::calc_charges, but it's getting
@@ -174,70 +230,147 @@
 	# But &C4::Circulation::Renewals2::calc_charges doesn't appear to
 	# return the correct item type either (or a properly-formatted
 	# charge, for that matter).
-	my ($charge,$itemtype)=calc_charges($dbh,$issue->[$i]{'itemnumber'},$bornum);
+    my ( $charge, $itemtype ) =
+      calc_charges( $dbh, $issue->[$i]{'itemnumber'}, $borrowernumber );
 
         my $itemtypeinfo = getitemtypeinfo($itemtype);
 	$row{'itemtype_description'} = $itemtypeinfo->{description};
         $row{'itemtype_image'} = $itemtypeinfo->{imageurl};
 
-	$row{'charge'}= sprintf("%.2f",$charge);
+    $row{'charge'} = sprintf( "%.2f", $charge );
 
 	#check item is not reserved
-	my ($restype,$reserves)=CheckReserves($issue->[$i]{'itemnumber'});
-	if ($restype){
-#		print "<TD><a href=/cgi-bin/koha/reserve/request.pl?bib=$issue->[$i]{'biblionumber'}>On Request - no renewals</a></td></tr>";
-		#  } elsif ($issue->[$i]->{'renewals'} > 0) {
-		#      print "<TD>Previously Renewed - no renewals</td></tr>";
-	    		$row{'norenew'}=1;
-	} else {
-		$row{'norenew'}=0;
+    my ( $restype, $reserves ) = CheckReserves( $issue->[$i]{'itemnumber'} );
+    if ($restype) {
+
+#		print "<TD><a href=/cgi-bin/koha/reserve/request.pl?biblionumber=$issue->[$i]{'biblionumber'}>On Request - no renewals</a></td></tr>";
+#  } elsif ($issue->[$i]->{'renewals'} > 0) {
+#      print "<TD>Previously Renewed - no renewals</td></tr>";
+        $row{'norenew'} = 1;
 	}
-	push (@issuedata, \%row);
+    else {
+        $row{'norenew'} = 0;
+    }
+    push( @issuedata, \%row );
 }
 
 #
 # find reserves
 #
-my ($rescount,$reserves)=FindReserves('',$bornum); #From C4::Reserves2
-my @reservedata;
-$toggle = 0;
-foreach my $reserveline (@$reserves) {
-	$reserveline->{'reservedate2'} = format_date($reserveline->{'reservedate'});
-	my $restitle;
-	my %row = %$reserveline;
-        $row{toggle} = $toggle++%2;
-	if ($reserveline->{'constrainttype'} eq 'o'){
-		$restitle=getreservetitle($reserveline->{'biblionumber'},$reserveline->{'borrowernumber'},$reserveline->{'reservedate'},$reserveline->{'rtimestamp'});
-		%row =  (%row , %$restitle) if $restitle;
+# my ($rescount,$reserves)=FindReserves('',$borrowernumber); #From C4::Reserves2
+# my @reservedata;
+# $toggle = 0;
+# foreach my $reserveline (@$reserves) {
+# 	$reserveline->{'reservedate2'} = format_date($reserveline->{'reservedate'});
+# 	my $restitle;
+# 	my %row = %$reserveline;
+#         $row{toggle} = $toggle++%2;
+# 	if ($reserveline->{'constrainttype'} eq 'o'){
+# 		$restitle=GetReserveTitle($reserveline->{'biblionumber'},$reserveline->{'borrowernumber'},$reserveline->{'reservedate'},$reserveline->{'rtimestamp'});
+# 		%row =  (%row , %$restitle) if $restitle;
+# 	}
+# 	push (@reservedata, \%row);
+# }
+
+##################################################################################
+# 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 = GetReservations( 0, $borrowernumber );
+    my @reservloop;
+    foreach my $num_res (@borrowerreserv) {
+        my %getreserv;
+        my %env;
+        my $getiteminfo  = getiteminformation( $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 = GetBiblioItemData( $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}  = '----------';
+	     $getreserv{biblionumber}  = $num_res->{'biblionumber'};	
+        }
+
+        push( @reservloop, \%getreserv );
 	}
-	push (@reservedata, \%row);
+
+    # return result to the template
+    $template->param( reservloop => \@reservloop );
+
 }
 
 # current alert subscriptions
-my $alerts = getalert($bornum);
+my $alerts = getalert($borrowernumber);
 foreach (@$alerts) {
-	$_->{$_->{type}}=1;
-	$_->{relatedto} = findrelatedto($_->{type},$_->{externalid});
+    $_->{ $_->{type} } = 1;
+    $_->{relatedto} = findrelatedto( $_->{type}, $_->{externalid} );
 }
 my $picture;
 my $htdocs = C4::Context->config('intrahtdocs');
-$picture = "/borrowerimages/".$bornum.".jpg";
-if (-e $htdocs."$picture")
-{ 
-  $template->param(picture => $picture)
-};
+$picture = "/borrowerimages/" . $borrowernumber . ".jpg";
+if ( -e $htdocs . "$picture" ) {
+    $template->param( picture => $picture );
+}
+
+
 $template->param($data);
+
 $template->param(
-		 bornum          => $bornum,
-		 totalprice =>sprintf("%.2f",$totalprice),
-		 totaldue => sprintf("%.2f",$total),
+    roaddetails      => $roaddetails,
+    borrowernumber   => $borrowernumber,
+    reregistration   => $reregistration,
+    totalprice       => sprintf( "%.2f", $totalprice ),
+    totaldue         => sprintf( "%.2f", $total ),
 		 issueloop       => \@issuedata,
 		 unvalidlibrarian => $unvalidlibrarian,
-		 reserveloop     => \@reservedata,
-		 intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
-		intranetstylesheet => C4::Context->preference("intranetstylesheet"),
-		IntranetNav => C4::Context->preference("IntranetNav"),
-		patronimages => C4::Context->preference("patronimages"),
-		 );
+    
+    # 		 reserveloop     => \@reservedata,
+);
 
 output_html_with_http_headers $input, $cookie, $template->output;

Index: pay.pl
===================================================================
RCS file: /sources/koha/koha/members/pay.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- pay.pl	27 Sep 2006 21:19:22 -0000	1.6
+++ pay.pl	9 Mar 2007 14:56:55 -0000	1.7
@@ -1,11 +1,5 @@
 #!/usr/bin/perl
 
-# $Id: pay.pl,v 1.6 2006/09/27 21:19:22 tgarip1957 Exp $
-
-# written 11/1/2000 by chris at katipo.oc.nz
-# part of the koha library system, script to facilitate paying off fines
-
-
 # Copyright 2000-2002 Katipo Communications
 #
 # This file is part of Koha.
@@ -23,6 +17,15 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
+# $Id: pay.pl,v 1.7 2007/03/09 14:56:55 tipaul Exp $
+
+=head1 pay.pl
+
+ written 11/1/2000 by chris at katipo.oc.nz
+ part of the koha library system, script to facilitate paying off fines
+
+=cut
+
 use strict;
 use C4::Context;
 use C4::Auth;
@@ -32,142 +35,169 @@
 use C4::Accounts2;
 use C4::Stats;
 use C4::Koha;
-use HTML::Template;
+use C4::Circulation::Fines;
+use C4::Branch; # GetBranches
 
-my $input=new CGI;
+my $input = new CGI;
 
-#print $input->header;
-my $bornum=$input->param('bornum');
-if ($bornum eq ''){
-	$bornum=$input->param('bornum0');
+my $borrowernumber = $input->param('borrowernumber');
+if ( $borrowernumber eq '' ) {
+    $borrowernumber = $input->param('borrowernumber0');
 }
+
 # get borrower details
-my $data=borrdata('',$bornum);
-my $user=$input->remote_user;
+my $data = borrdata( '', $borrowernumber );
+my $user = $input->remote_user;
 
 # get account details
 my %bor;
-$bor{'borrowernumber'}=$bornum;
+$bor{'borrowernumber'} = $borrowernumber;
 my $branches = GetBranches();
-my $printers = getprinters();
-my $branch = getbranch($input, $branches);
+my $printers = GetPrinters();
+my $branch   = GetBranch( $input, $branches );
 
-my @names=$input->param;
+my @names = $input->param;
 my %inp;
-my $check=0;
-for (my $i=0;$i<@names;$i++){
-	my $temp=$input->param($names[$i]);
-	if ($temp eq 'wo'){
-		$inp{$names[$i]}=$temp;
-		$check=1;
-	}
-	if ($temp eq 'yes'){
-	        # For HLT
-		$user=~ s/Levin/L/i;
-		$user=~ s/Foxton/F/i;
-		$user=~ s/Shannon/S/i;
-		# FIXME : using array +4, +5, +6 is dirty. Should use arrays for each accountline
-		my $amount=$input->param($names[$i+4]);
-		my $bornum=$input->param($names[$i+5]);
-		my $accountno=$input->param($names[$i+6]);
-		makepayment($bornum,$accountno,$amount,$user,$branch);
-		$check=2;
+my $check = 0;
+for ( my $i = 0 ; $i < @names ; $i++ ) {
+    my $temp = $input->param( $names[$i] );
+    if ( $temp eq 'wo' ) {
+        $inp{ $names[$i] } = $temp;
+        $check = 1;
+    }
+    if ( $temp eq 'yes' ) {
+
+# FIXME : using array +4, +5, +6 is dirty. Should use arrays for each accountline
+        my $amount         = $input->param( $names[ $i + 4 ] );
+        my $borrowernumber = $input->param( $names[ $i + 5 ] );
+        my $accountno      = $input->param( $names[ $i + 6 ] );
+        makepayment( $borrowernumber, $accountno, $amount, $user, $branch );
+        $check = 2;
 	}
 }
 my %env;
-    $user=~ s/Levin/L/i;
-    $user=~ s/Foxton/F/i;
-    $user=~ s/Shannon/S/i;
-
-$env{'branchcode'}=$branch;
-my $total=$input->param('total');
-if ($check ==0){
-	my($template, $loggedinuser, $cookie)
-		= get_template_and_user ({ template_name => "members/pay.tmpl",
+
+$env{'branchcode'} = $branch;
+my $total = $input->param('total');
+if ( $check == 0 ) {
+    my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+        {
+            template_name   => "members/pay.tmpl",
 					   query => $input,
 					   type => "intranet",
 					   authnotrequired => 0,
-					   flagsrequired => {borrowers => 1},
+            flagsrequired   => { borrowers => 1 },
 					   debug => 1,
-					 });
-	if ($total ne ''){
-		recordpayment(\%env,$bornum,$total);
 	}
-	my ($numaccts,$accts,$total)=getboracctrecord('',\%bor);
+    );
+    if ( $total ne '' ) {
+        recordpayment( \%env, $borrowernumber, $total );
+    }
 
+    my ( $numaccts, $accts, $total ) = getboracctrecord( '', \%bor );
+
+#       creation d'une fonction qui va nous retourner le notify_id dans un tableau
+
+    my @allfile;
+    my @notify = NumberNotifyId($borrowernumber);
+
+    my $numberofnotify = scalar(@notify);
+    for ( my $j = 0 ; $j < scalar(@notify) ; $j++ ) {
 	my @loop_pay;
-	for (my $i=0;$i<$numaccts;$i++){
-		if ($accts->[$i]{'amountoutstanding'} > 0){
-			$accts->[$i]{'amount'}+=0.00;
-			$accts->[$i]{'amountoutstanding'}+=0.00;
+        my ( $numaccts, $accts, $total ) =
+          GetBorNotifyAcctRecord( '', \%bor, $notify[$j] );
+        for ( my $i = 0 ; $i < $numaccts ; $i++ ) {
 			my %line;
-			$line{i}=$i;
+            if ( $accts->[$i]{'amountoutstanding'} > 0 ) {
+                $accts->[$i]{'amount'}            += 0.00;
+                $accts->[$i]{'amountoutstanding'} += 0.00;
+                $line{i}           = $j . "" . $i;
 			$line{itemnumber} = $accts->[$i]{'itemnumber'};
 			$line{accounttype} = $accts->[$i]{'accounttype'};
-			$line{amount} = sprintf("%.2f",$accts->[$i]{'amount'});
-			$line{amountoutstanding} = sprintf("%.2f",$accts->[$i]{'amountoutstanding'});
-			$line{bornum} = $bornum;
+                $line{amount}      = sprintf( "%.2f", $accts->[$i]{'amount'} );
+                $line{amountoutstanding} =
+                  sprintf( "%.2f", $accts->[$i]{'amountoutstanding'} );
+                $line{borrowernumber} = $borrowernumber;
 			$line{accountno} = $accts->[$i]{'accountno'};
 			$line{description} = $accts->[$i]{'description'};
 			$line{title} = $accts->[$i]{'title'};
-			push(@loop_pay, \%line);
+                $line{notify_id}      = $accts->[$i]{'notify_id'};
+                $line{notify_level}   = $accts->[$i]{'notify_level'};
+
+            }
+            push( @loop_pay, \%line );
 		}
+
+        my $totalnotify = AmountNotify( $notify[$j] );
+        ( $totalnotify = '0' ) if ( $totalnotify =~ /^0.00/ );
+        push @allfile,
+          {
+            'loop_pay' => \@loop_pay,
+            'notify'   => $notify[$j],
+            'total'    => $totalnotify
+          };
 	}
-	$template->param(firstname => $data->{'firstname'},
+
+    $template->param(
+        allfile        => \@allfile,
+        firstname      => $data->{'firstname'},
 							surname => $data->{'surname'},
-							bornum => $bornum,
-							loop_pay => \@loop_pay,
-							total => sprintf("%.2f",$total));
+        borrowernumber => $borrowernumber,
+        total          => sprintf( "%.2f", $total )
+    );
 	print "Content-Type: text/html\n\n", $template->output;
 
-} else {
-#  my $quety=$input->query_string;
-#  print $input->redirect("/cgi-bin/koha/sec/writeoff.pl?$quety");
-	my%inp;
-	my @name=$input->param;
-	for (my $i=0;$i<@name;$i++){
-		my $test=$input->param($name[$i]);
-		if ($test eq 'wo'){
-		my $temp=$name[$i];
-		$temp=~ s/payfine//;
-		$inp{$name[$i]}=$temp;
-		}
-	}
-	my $bornum;
-	while ( my ($key, $value) = each %inp){
-		#  print $key,$value;
-		my $accounttype=$input->param("accounttype$value");
-		$bornum=$input->param("bornum$value");
-		my $itemno=$input->param("itemnumber$value");
-		my $amount=$input->param("amount$value");
-	        my $accountno=$input->param("accountno$value");
-		writeoff($bornum,$accountno,$itemno,$accounttype,$amount);
-	}
-	$bornum=$input->param('bornum');
-	print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$bornum");
 }
+else {
 
+    my %inp;
+    my @name = $input->param;
+    for ( my $i = 0 ; $i < @name ; $i++ ) {
+        my $test = $input->param( $name[$i] );
+        if ( $test eq 'wo' ) {
+            my $temp = $name[$i];
+            $temp =~ s/payfine//;
+            $inp{ $name[$i] } = $temp;
+        }
+    }
+    my $borrowernumber;
+    while ( my ( $key, $value ) = each %inp ) {
+
+        my $accounttype = $input->param("accounttype$value");
+        $borrowernumber = $input->param("borrowernumber$value");
+        my $itemno    = $input->param("itemnumber$value");
+        my $amount    = $input->param("amount$value");
+        my $accountno = $input->param("accountno$value");
+        writeoff( $borrowernumber, $accountno, $itemno, $accounttype, $amount );
+    }
+    $borrowernumber = $input->param('borrowernumber');
+    print $input->redirect(
+        "/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
+}
 
-sub writeoff{
-	my ($bornum,$accountnum,$itemnum,$accounttype,$amount)=@_;
-	my $user=$input->remote_user;
+sub writeoff {
+    my ( $borrowernumber, $accountnum, $itemnum, $accounttype, $amount ) = @_;
+    my $user = $input->remote_user;
 	my $dbh = C4::Context->dbh;
 	my $env;
-	my $sth=$dbh->prepare("Update accountlines set amountoutstanding=0 where accounttype='Res' and accountno=? and borrowernumber=?");
-        $sth->execute($accountnum,$bornum);
+    my $sth =
+      $dbh->prepare(
+"Update accountlines set amountoutstanding=0 where (accounttype='Res' OR accounttype='FU' OR accounttype ='IP' OR accounttype='CH' OR accounttype='N' OR accounttype='F' OR accounttype='A' OR accounttype='M' OR accounttype='L' OR accounttype='RE' OR accounttype='RL') and accountno=? and borrowernumber=?"
+      );
+    $sth->execute( $accountnum, $borrowernumber );
       	$sth->finish;
-	$sth=$dbh->prepare("select max(accountno) from accountlines");
+    $sth = $dbh->prepare("select max(accountno) from accountlines");
 	$sth->execute;
-	my $account=$sth->fetchrow_hashref;
+    my $account = $sth->fetchrow_hashref;
 	$sth->finish;
 	$account->{'max(accountno)'}++;
-	$sth=$dbh->prepare("insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype)
-						values (?,?,?,now(),?,'Writeoff','W')");
-	$sth->execute($bornum,$account->{'max(accountno)'},$itemnum,$amount);
+    $sth = $dbh->prepare(
+"insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype)
+						values (?,?,?,now(),?,'Writeoff','W')"
+    );
+    $sth->execute( $borrowernumber, $account->{'max(accountno)'},
+        $itemnum, $amount );
 	$sth->finish;
-	UpdateStats($env,$branch,'writeoff',$amount,'','','',$bornum);
+    UpdateStats( $env, $branch, 'writeoff', $amount, '', '', '',
+        $borrowernumber );
 }
-
-# Local Variables:
-# tab-width: 4
-# End:

Index: readingrec.pl
===================================================================
RCS file: /sources/koha/koha/members/readingrec.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- readingrec.pl	7 Jun 2006 02:33:09 -0000	1.2
+++ readingrec.pl	9 Mar 2007 14:56:55 -0000	1.3
@@ -26,14 +26,14 @@
 use C4::Interface::CGI::Output;
 use CGI;
 use C4::Members;
-use HTML::Template;
+
 use C4::Date;
 my $input=new CGI;
 
 
-my $bornum=$input->param('bornum');
+my $borrowernumber=$input->param('borrowernumber');
 #get borrower details
-my $data=borrdata('',$bornum);
+my $data=borrdata('',$borrowernumber);
 my $order=$input->param('order');
 my $order2=$order;
 if ($order2 eq ''){
@@ -49,7 +49,7 @@
 else {
   $limit=50;
 }
-my ($count,$issues)=allissues($bornum,$order2,$limit);
+my ($count,$issues)=allissues($borrowernumber,$order2,$limit);
 
 my ($template, $loggedinuser, $cookie)
 = get_template_and_user({template_name => "members/readingrec.tmpl",
@@ -82,7 +82,7 @@
 						title => $data->{'title'},
 						initials => $data->{'initials'},
 						surname => $data->{'surname'},
-						bornum => $bornum,
+						borrowernumber => $borrowernumber,
 						limit => $limit,
 						firstname => $data->{'firstname'},
 						cardnumber => $data->{'cardnumber'},

Index: setdebar.pl
===================================================================
RCS file: /sources/koha/koha/members/setdebar.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- setdebar.pl	4 Jul 2006 14:36:52 -0000	1.3
+++ setdebar.pl	9 Mar 2007 14:56:55 -0000	1.4
@@ -1,10 +1,5 @@
 #!/usr/bin/perl
 
-#script to set or lift debarred status
-#written 2/8/04
-#by oleonard at athenscounty.lib.oh.us
-
-
 # Copyright 2000-2002 Katipo Communications
 #
 # This file is part of Koha.
@@ -22,32 +17,45 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
+# $Id: setdebar.pl,v 1.4 2007/03/09 14:56:55 tipaul Exp $
+
+=head1 setdebar.pl
+
+script to set or lift debarred status
+written 2/8/04
+by oleonard at athenscounty.lib.oh.us
+
+=cut
+
 use strict;
 
 use CGI;
 use C4::Context;
 use C4::Auth;
 
-
 my $input = new CGI;
 
 my $flagsrequired;
-$flagsrequired->{borrower}=1;
-my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
+$flagsrequired->{borrowers} = 1;
+my ( $loggedinuser, $cookie, $sessionID ) =
+  checkauth( $input, 0, $flagsrequired );
 
 my $destination = $input->param("destination");
 my $cardnumber = $input->param("cardnumber");
-my $borrowernumber=$input->param('borrowernumber');
+my $borrowernumber = $input->param('borrowernumber');
 my $status = $input->param('status');
 
 my $dbh = C4::Context->dbh;
-my $sth=$dbh->prepare("Update borrowers set debarred = ? where borrowernumber = ?");
-$sth->execute($status,$borrowernumber);
-my $data=$sth->fetchrow_hashref;
+my $sth =
+  $dbh->prepare("Update borrowers set debarred = ? where borrowernumber = ?");
+$sth->execute( $status, $borrowernumber );
 $sth->finish;
 
-if($destination eq "circ"){
-	print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$cardnumber");
-} else {
-	print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
+if ( $destination eq "circ" ) {
+    print $input->redirect(
+        "/cgi-bin/koha/circ/circulation.pl?findborrower=".$cardnumber);
+}
+else {
+    print $input->redirect(
+        "/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
 }





More information about the Koha-cvs mailing list