[Koha-patches] [PATCH] Bug 4333 Fix erroneous message re Active Currency

2010-04-30 Thread Colin Campbell
Script was incorrectly asking user to define an active currency
Now test for active currency in the standard way
Use the currency routines in Budgets where applicable
Move the code paths in the if else to subroutines to clarify flow
Enable warnings
---
 admin/currency.pl |  257 +
 1 files changed, 139 insertions(+), 118 deletions(-)

diff --git a/admin/currency.pl b/admin/currency.pl
index 5c34d51..c55d006 100755
--- a/admin/currency.pl
+++ b/admin/currency.pl
@@ -38,34 +38,27 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
-#use warnings; FIXME - Bug 2505
+use warnings;
 use CGI;
 use C4::Context;
 use C4::Auth;
 use C4::Dates qw(format_date);
 use C4::Output;
+use C4::Budgets qw/GetCurrency GetCurrencies/;
 
-sub StringSearch  {
-my $query = SELECT * FROM currency WHERE (currency LIKE ?) ORDER BY 
currency;
-my $sth = C4::Context-dbh-prepare($query);
-$sth-execute((shift || '') . '%');
-return $sth-fetchall_arrayref({});
-}
-
-my $input = new CGI;
-my $searchfield = $input-param('searchfield') || $input-param('description') 
|| '';
+my $input = CGI-new;
+my $searchfield = $input-param('searchfield') || $input-param('description') 
|| q{};
 my $offset  = $input-param('offset') || 0;
-my $op  = $input-param('op') || '';
-my $script_name = /cgi-bin/koha/admin/currency.pl;
+my $op  = $input-param('op') || q{};
+my $script_name = '/cgi-bin/koha/admin/currency.pl';
 my $pagesize = 20;
 
 my ($template, $loggedinuser, $cookie) = get_template_and_user({
-template_name = admin/currency.tmpl,
+template_name = 'admin/currency.tmpl',
 query = $input,
-type = intranet,
+type = 'intranet',
 flagsrequired = {parameters = 1},
 authnotrequired = 0,
-debug = 1,
 });
 
 $searchfield=~ s/\,//g;
@@ -76,121 +69,149 @@ $template-param(searchfield = $searchfield,
 
 my $dbh = C4::Context-dbh;
 
-## ADD_FORM ##
-# called by default. Used to create form to add or  modify a record
-if ($op eq 'add_form') {
-$template-param(add_form = 1);
-# if primkey exists, it's a modify action, so read values to modify...
-my $data;
+if ( $op eq 'add_form' ) {
+add_form($searchfield);
+} elsif ( $op eq 'add_validate' ) {
+add_validate();
+} elsif ( $op eq 'delete_confirm' ) {
+delete_confirm($searchfield);
+} elsif ( $op eq 'delete_confirmed' ) {
+delete_currency($searchfield);
+} else {
+default_path($searchfield);
+}
+
+output_html_with_http_headers $input, $cookie, $template-output;
+
+sub default_path {
+my $searchfield = shift;
+$template-param( else = 1 );
+
+my @currencies = GetCurrencies();
 if ($searchfield) {
-my $sth=$dbh-prepare(select * from currency where currency=?);
-$sth-execute($searchfield);
-$data=$sth-fetchrow_hashref;
-}
-foreach (keys %$data) {
-$template-param($_ = $data-{$_});
+@currencies = grep { $_-{currency} =~ m/^$searchfield/o } @currencies;
 }
-
-my $date = $template-param('timestamp');
-($date) and $template-param('timestamp' = format_date($date));
-# END $OP eq ADD_FORM
-## ADD_VALIDATE ##
-# called by add_form, used to insert/modify data in DB
-} elsif ($op eq 'save') {
-my $dbh = C4::Context-dbh;
-my $check = $dbh-prepare(select count(*) as count from currency where 
currency = ?);
-
-$dbh-do(UPDATE currency SET active = 0) if ($input-param('active') 
 == 1);
-
-$check-execute($input-param('currency'));
-my $count =   $check-fetchrow ;
-if ( $count  0  )
-{
-my $sth = $dbh-prepare(qq|
-UPDATE currency
-SET rate = ?,
-symbol = ?,
-active = ?
-WHERE currency = ?  |  );
-
-$sth-execute(  $input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-$input-param('currency'),
-);
+my $end_of_page = $offset + $pagesize;
+if ( $end_of_page  @currencies ) {
+$end_of_page = @currencies;
+} else {
+$template-param(
+ltcount  = 1,
+nextpage = $end_of_page
+);
 }
-else
-{
-my $sth = $dbh-prepare(qq|
-INSERT INTO currency (currency, rate, symbol, active) 
VALUES (?,?,?,?)   |);
-
-$sth-execute(  $input-param('currency'),
-$input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-);
+$end_of_page--;
+my @display_curr = @currencies[ $offset .. $end_of_page ];
+for my $c (@display_curr) {
+$c-{timestamp} = format_date( 

[Koha-patches] [PATCH] Bug 4333 Fix erroneous message re Active Currency

2010-04-30 Thread Colin Campbell
Script was incorrectly asking user to define an active currency
Now test for active currency in the standard way
Use the currency routines in Budgets where applicable
Move the code paths in the if else to subroutines to clarify flow
Enable warnings
---
 admin/currency.pl |  258 +
 1 files changed, 140 insertions(+), 118 deletions(-)

diff --git a/admin/currency.pl b/admin/currency.pl
index 5c34d51..003ff89 100755
--- a/admin/currency.pl
+++ b/admin/currency.pl
@@ -38,34 +38,27 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
-#use warnings; FIXME - Bug 2505
+use warnings;
 use CGI;
 use C4::Context;
 use C4::Auth;
 use C4::Dates qw(format_date);
 use C4::Output;
+use C4::Budgets qw/GetCurrency GetCurrencies/;
 
-sub StringSearch  {
-my $query = SELECT * FROM currency WHERE (currency LIKE ?) ORDER BY 
currency;
-my $sth = C4::Context-dbh-prepare($query);
-$sth-execute((shift || '') . '%');
-return $sth-fetchall_arrayref({});
-}
-
-my $input = new CGI;
-my $searchfield = $input-param('searchfield') || $input-param('description') 
|| '';
+my $input = CGI-new;
+my $searchfield = $input-param('searchfield') || $input-param('description') 
|| q{};
 my $offset  = $input-param('offset') || 0;
-my $op  = $input-param('op') || '';
-my $script_name = /cgi-bin/koha/admin/currency.pl;
+my $op  = $input-param('op') || q{};
+my $script_name = '/cgi-bin/koha/admin/currency.pl';
 my $pagesize = 20;
 
 my ($template, $loggedinuser, $cookie) = get_template_and_user({
-template_name = admin/currency.tmpl,
+template_name = 'admin/currency.tmpl',
 query = $input,
-type = intranet,
+type = 'intranet',
 flagsrequired = {parameters = 1},
 authnotrequired = 0,
-debug = 1,
 });
 
 $searchfield=~ s/\,//g;
@@ -76,121 +69,150 @@ $template-param(searchfield = $searchfield,
 
 my $dbh = C4::Context-dbh;
 
-## ADD_FORM ##
-# called by default. Used to create form to add or  modify a record
-if ($op eq 'add_form') {
-$template-param(add_form = 1);
-# if primkey exists, it's a modify action, so read values to modify...
-my $data;
+if ( $op eq 'add_form' ) {
+add_form($searchfield);
+} elsif ( $op eq 'save' ) {
+add_validate();
+print $input-redirect('/cgi-bin/koha/admin/currency.pl');
+} elsif ( $op eq 'delete_confirm' ) {
+delete_confirm($searchfield);
+} elsif ( $op eq 'delete_confirmed' ) {
+delete_currency($searchfield);
+} else {
+default_path($searchfield);
+}
+
+output_html_with_http_headers $input, $cookie, $template-output;
+
+sub default_path {
+my $searchfield = shift;
+$template-param( else = 1 );
+
+my @currencies = GetCurrencies();
 if ($searchfield) {
-my $sth=$dbh-prepare(select * from currency where currency=?);
-$sth-execute($searchfield);
-$data=$sth-fetchrow_hashref;
-}
-foreach (keys %$data) {
-$template-param($_ = $data-{$_});
+@currencies = grep { $_-{currency} =~ m/^$searchfield/o } @currencies;
 }
-
-my $date = $template-param('timestamp');
-($date) and $template-param('timestamp' = format_date($date));
-# END $OP eq ADD_FORM
-## ADD_VALIDATE ##
-# called by add_form, used to insert/modify data in DB
-} elsif ($op eq 'save') {
-my $dbh = C4::Context-dbh;
-my $check = $dbh-prepare(select count(*) as count from currency where 
currency = ?);
-
-$dbh-do(UPDATE currency SET active = 0) if ($input-param('active') 
 == 1);
-
-$check-execute($input-param('currency'));
-my $count =   $check-fetchrow ;
-if ( $count  0  )
-{
-my $sth = $dbh-prepare(qq|
-UPDATE currency
-SET rate = ?,
-symbol = ?,
-active = ?
-WHERE currency = ?  |  );
-
-$sth-execute(  $input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-$input-param('currency'),
-);
+my $end_of_page = $offset + $pagesize;
+if ( $end_of_page  @currencies ) {
+$end_of_page = @currencies;
+} else {
+$template-param(
+ltcount  = 1,
+nextpage = $end_of_page
+);
 }
-else
-{
-my $sth = $dbh-prepare(qq|
-INSERT INTO currency (currency, rate, symbol, active) 
VALUES (?,?,?,?)   |);
-
-$sth-execute(  $input-param('currency'),
-$input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-);
+$end_of_page--;
+my @display_curr = @currencies[ $offset .. $end_of_page ];
+for my $c 

Re: [Koha-patches] [PATCH] Bug 4333 Fix erroneous message re Active Currency

2010-04-23 Thread Galen Charlton
Hi,

New one doesn't apply - please merge and resubmit.

Thanks,

Galen

On Fri, Apr 16, 2010 at 8:17 AM, Colin Campbell
colin.campb...@ptfs-europe.com wrote:
 Script was incorrectly asking user to define an active currency
 Now test for active currency in the standard way
 Use the currency routines in Budgets where applicable
 Move the code paths in the if else to subroutines to clarify flow
 Enable warnings
 ---
  admin/currency.pl |  258 
 +
  1 files changed, 140 insertions(+), 118 deletions(-)

 diff --git a/admin/currency.pl b/admin/currency.pl
 index 56d5ee5..c55d006 100755
 --- a/admin/currency.pl
 +++ b/admin/currency.pl
 @@ -38,34 +38,27 @@
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

  use strict;
 -# use warnings; # FIXME
 +use warnings;
  use CGI;
  use C4::Context;
  use C4::Auth;
  use C4::Dates qw(format_date);
  use C4::Output;
 +use C4::Budgets qw/GetCurrency GetCurrencies/;

 -sub StringSearch  {
 -    my $query = SELECT * FROM currency WHERE (currency LIKE ?) ORDER BY 
 currency;
 -    my $sth = C4::Context-dbh-prepare($query);
 -    $sth-execute((shift || '') . '%');
 -    return $sth-fetchall_arrayref({});
 -}
 -
 -my $input = new CGI;
 -my $searchfield = $input-param('searchfield') || 
 $input-param('description') || '';
 +my $input = CGI-new;
 +my $searchfield = $input-param('searchfield') || 
 $input-param('description') || q{};
  my $offset      = $input-param('offset') || 0;
 -my $op          = $input-param('op')     || '';
 -my $script_name = /cgi-bin/koha/admin/currency.pl;
 +my $op          = $input-param('op')     || q{};
 +my $script_name = '/cgi-bin/koha/admin/currency.pl';
  my $pagesize = 20;

  my ($template, $loggedinuser, $cookie) = get_template_and_user({
 -    template_name = admin/currency.tmpl,
 +    template_name = 'admin/currency.tmpl',
     query = $input,
 -    type = intranet,
 +    type = 'intranet',
     flagsrequired = {parameters = 1},
     authnotrequired = 0,
 -    debug = 1,
  });

  $searchfield=~ s/\,//g;
 @@ -76,120 +69,149 @@ $template-param(searchfield = $searchfield,

  my $dbh = C4::Context-dbh;

 -## ADD_FORM ##
 -# called by default. Used to create form to add or  modify a record
 -if ($op eq 'add_form') {
 -    $template-param(add_form = 1);
 -    # if primkey exists, it's a modify action, so read values to 
 modify...
 -    my $data;
 +if ( $op eq 'add_form' ) {
 +    add_form($searchfield);
 +} elsif ( $op eq 'add_validate' ) {
 +    add_validate();
 +} elsif ( $op eq 'delete_confirm' ) {
 +    delete_confirm($searchfield);
 +} elsif ( $op eq 'delete_confirmed' ) {
 +    delete_currency($searchfield);
 +} else {
 +    default_path($searchfield);
 +}
 +
 +output_html_with_http_headers $input, $cookie, $template-output;
 +
 +sub default_path {
 +    my $searchfield = shift;
 +    $template-param( else = 1 );
 +
 +    my @currencies = GetCurrencies();
     if ($searchfield) {
 -        my $sth=$dbh-prepare(select * from currency where currency=?);
 -        $sth-execute($searchfield);
 -        $data=$sth-fetchrow_hashref;
 -    }
 -    foreach (keys %$data) {
 -        $template-param($_ = $data-{$_});
 +       �...@currencies = grep { $_-{currency} =~ m/^$searchfield/o } 
 @currencies;
     }
 -
 -    my $date = $template-param('timestamp');
 -    ($date) and $template-param('timestamp' = format_date($date));
 -                                                    # END $OP eq ADD_FORM
 -## ADD_VALIDATE ##
 -# called by add_form, used to insert/modify data in DB
 -} elsif ($op eq 'add_validate') {
 -    $template-param(add_validate = 1);
 -    my $dbh = C4::Context-dbh;
 -    my $check = $dbh-prepare(select count(*) as count from currency where 
 currency = ?);
 -
 -    $dbh-do(UPDATE currency SET active = 0) if (    
 $input-param('active')  == 1);
 -
 -    $check-execute($input-param('currency'));
 -    my $count =   $check-fetchrow ;
 -    if ( $count  0  )
 -    {
 -        my $sth = $dbh-prepare(qq|
 -                UPDATE currency
 -                    SET rate = ?,
 -                    symbol = ?,
 -                    active = ?
 -            WHERE currency = ?  |  );
 -
 -        $sth-execute(  $input-param('rate'),
 -                        $input-param('symbol')||'',
 -                        $input-param('active')||0,
 -                        $input-param('currency'),
 -                        );
 +    my $end_of_page = $offset + $pagesize;
 +    if ( $end_of_page  @currencies ) {
 +        $end_of_page = @currencies;
 +    } else {
 +        $template-param(
 +            ltcount  = 1,
 +            nextpage = $end_of_page
 +        );
     }
 -    else
 -    {
 -        my $sth = $dbh-prepare(qq|
 -                    INSERT INTO currency (currency, rate, symbol, active) 
 VALUES (?,?,?,?)   |);
 -
 -        $sth-execute(  $input-param('currency'),
 -        

[Koha-patches] [PATCH] Bug 4333 Fix erroneous message re Active Currency

2010-04-16 Thread Colin Campbell
Script was incorrectly asking user to define an active currency
Now test for active currency in the standard way
Use the currency routines in Budgets where applicable
Move the code paths in the if else to subroutines to clarify flow
Enable warnings
---
 admin/currency.pl |  258 +
 1 files changed, 140 insertions(+), 118 deletions(-)

diff --git a/admin/currency.pl b/admin/currency.pl
index 56d5ee5..c55d006 100755
--- a/admin/currency.pl
+++ b/admin/currency.pl
@@ -38,34 +38,27 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
-# use warnings; # FIXME
+use warnings;
 use CGI;
 use C4::Context;
 use C4::Auth;
 use C4::Dates qw(format_date);
 use C4::Output;
+use C4::Budgets qw/GetCurrency GetCurrencies/;
 
-sub StringSearch  {
-my $query = SELECT * FROM currency WHERE (currency LIKE ?) ORDER BY 
currency;
-my $sth = C4::Context-dbh-prepare($query);
-$sth-execute((shift || '') . '%');
-return $sth-fetchall_arrayref({});
-}
-
-my $input = new CGI;
-my $searchfield = $input-param('searchfield') || $input-param('description') 
|| '';
+my $input = CGI-new;
+my $searchfield = $input-param('searchfield') || $input-param('description') 
|| q{};
 my $offset  = $input-param('offset') || 0;
-my $op  = $input-param('op') || '';
-my $script_name = /cgi-bin/koha/admin/currency.pl;
+my $op  = $input-param('op') || q{};
+my $script_name = '/cgi-bin/koha/admin/currency.pl';
 my $pagesize = 20;
 
 my ($template, $loggedinuser, $cookie) = get_template_and_user({
-template_name = admin/currency.tmpl,
+template_name = 'admin/currency.tmpl',
 query = $input,
-type = intranet,
+type = 'intranet',
 flagsrequired = {parameters = 1},
 authnotrequired = 0,
-debug = 1,
 });
 
 $searchfield=~ s/\,//g;
@@ -76,120 +69,149 @@ $template-param(searchfield = $searchfield,
 
 my $dbh = C4::Context-dbh;
 
-## ADD_FORM ##
-# called by default. Used to create form to add or  modify a record
-if ($op eq 'add_form') {
-$template-param(add_form = 1);
-# if primkey exists, it's a modify action, so read values to modify...
-my $data;
+if ( $op eq 'add_form' ) {
+add_form($searchfield);
+} elsif ( $op eq 'add_validate' ) {
+add_validate();
+} elsif ( $op eq 'delete_confirm' ) {
+delete_confirm($searchfield);
+} elsif ( $op eq 'delete_confirmed' ) {
+delete_currency($searchfield);
+} else {
+default_path($searchfield);
+}
+
+output_html_with_http_headers $input, $cookie, $template-output;
+
+sub default_path {
+my $searchfield = shift;
+$template-param( else = 1 );
+
+my @currencies = GetCurrencies();
 if ($searchfield) {
-my $sth=$dbh-prepare(select * from currency where currency=?);
-$sth-execute($searchfield);
-$data=$sth-fetchrow_hashref;
-}
-foreach (keys %$data) {
-$template-param($_ = $data-{$_});
+@currencies = grep { $_-{currency} =~ m/^$searchfield/o } @currencies;
 }
-
-my $date = $template-param('timestamp');
-($date) and $template-param('timestamp' = format_date($date));
-# END $OP eq ADD_FORM
-## ADD_VALIDATE ##
-# called by add_form, used to insert/modify data in DB
-} elsif ($op eq 'add_validate') {
-$template-param(add_validate = 1);
-my $dbh = C4::Context-dbh;
-my $check = $dbh-prepare(select count(*) as count from currency where 
currency = ?);
-
-$dbh-do(UPDATE currency SET active = 0) if ($input-param('active') 
 == 1);
-
-$check-execute($input-param('currency'));
-my $count =   $check-fetchrow ;
-if ( $count  0  )
-{
-my $sth = $dbh-prepare(qq|
-UPDATE currency
-SET rate = ?,
-symbol = ?,
-active = ?
-WHERE currency = ?  |  );
-
-$sth-execute(  $input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-$input-param('currency'),
-);
+my $end_of_page = $offset + $pagesize;
+if ( $end_of_page  @currencies ) {
+$end_of_page = @currencies;
+} else {
+$template-param(
+ltcount  = 1,
+nextpage = $end_of_page
+);
 }
-else
-{
-my $sth = $dbh-prepare(qq|
-INSERT INTO currency (currency, rate, symbol, active) 
VALUES (?,?,?,?)   |);
-
-$sth-execute(  $input-param('currency'),
-$input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-);
+$end_of_page--;
+my @display_curr = @currencies[ $offset .. $end_of_page ];
+for my $c (@display_curr) {
+

[Koha-patches] [PATCH] Bug 4333 Fix erroneous message re Active Currency

2010-03-24 Thread Colin Campbell
Script was incorrectly asking user to define an active currency
Now test for active currency in the standard way
Use the currency routines in Budgets where applicable
Move the code paths in the if else to subroutines to clarify flow
Enable warnings
---
 admin/currency.pl |  258 +
 1 files changed, 140 insertions(+), 118 deletions(-)

diff --git a/admin/currency.pl b/admin/currency.pl
index 56d5ee5..7dd8dfb 100755
--- a/admin/currency.pl
+++ b/admin/currency.pl
@@ -38,34 +38,27 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
-# use warnings; # FIXME
+use warnings;
 use CGI;
 use C4::Context;
 use C4::Auth;
 use C4::Dates qw(format_date);
 use C4::Output;
+use C4::Budgets qw/GetCurrency GetCurrencies/;
 
-sub StringSearch  {
-my $query = SELECT * FROM currency WHERE (currency LIKE ?) ORDER BY 
currency;
-my $sth = C4::Context-dbh-prepare($query);
-$sth-execute((shift || '') . '%');
-return $sth-fetchall_arrayref({});
-}
-
-my $input = new CGI;
-my $searchfield = $input-param('searchfield') || $input-param('description') 
|| '';
+my $input = CGI-new;
+my $searchfield = $input-param('searchfield') || $input-param('description') 
|| q{};
 my $offset  = $input-param('offset') || 0;
-my $op  = $input-param('op') || '';
-my $script_name = /cgi-bin/koha/admin/currency.pl;
+my $op  = $input-param('op') || q{};
+my $script_name = '/cgi-bin/koha/admin/currency.pl';
 my $pagesize = 20;
 
 my ($template, $loggedinuser, $cookie) = get_template_and_user({
-template_name = admin/currency.tmpl,
+template_name = 'admin/currency.tmpl',
 query = $input,
-type = intranet,
+type = 'intranet',
 flagsrequired = {parameters = 1},
 authnotrequired = 0,
-debug = 1,
 });
 
 $searchfield=~ s/\,//g;
@@ -76,120 +69,149 @@ $template-param(searchfield = $searchfield,
 
 my $dbh = C4::Context-dbh;
 
-## ADD_FORM ##
-# called by default. Used to create form to add or  modify a record
-if ($op eq 'add_form') {
-$template-param(add_form = 1);
-# if primkey exists, it's a modify action, so read values to modify...
-my $data;
+if ( $op eq 'add_form' ) {
+add_form($searchfield);
+} elsif ( $op eq 'add_validate' ) {
+add_validate();
+} elsif ( $op eq 'delete_confirm' ) {
+delete_confirm($searchfield);
+} elsif ( $op eq 'delete_confirmed' ) {
+delete_currency($searchfield);
+} else {
+default_path($searchfield);
+}
+
+output_html_with_http_headers $input, $cookie, $template-output;
+
+sub default_path {
+my $searchfield = shift;
+$template-param( else = 1 );
+
+my @currencies = GetCurrencies();
 if ($searchfield) {
-my $sth=$dbh-prepare(select * from currency where currency=?);
-$sth-execute($searchfield);
-$data=$sth-fetchrow_hashref;
-}
-foreach (keys %$data) {
-$template-param($_ = $data-{$_});
+@currencies = grep { $_-{currency} =~ m/^$searchfield/o } @currencies;
 }
-
-my $date = $template-param('timestamp');
-($date) and $template-param('timestamp' = format_date($date));
-# END $OP eq ADD_FORM
-## ADD_VALIDATE ##
-# called by add_form, used to insert/modify data in DB
-} elsif ($op eq 'add_validate') {
-$template-param(add_validate = 1);
-my $dbh = C4::Context-dbh;
-my $check = $dbh-prepare(select count(*) as count from currency where 
currency = ?);
-
-$dbh-do(UPDATE currency SET active = 0) if ($input-param('active') 
 == 1);
-
-$check-execute($input-param('currency'));
-my $count =   $check-fetchrow ;
-if ( $count  0  )
-{
-my $sth = $dbh-prepare(qq|
-UPDATE currency
-SET rate = ?,
-symbol = ?,
-active = ?
-WHERE currency = ?  |  );
-
-$sth-execute(  $input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-$input-param('currency'),
-);
+my $end_of_page = $offset + $pagesize;
+if ( $end_of_page  @currencies ) {
+$end_of_page = @currencies;
+} else {
+$template-param(
+ltcount  = 1,
+nextpage = $end_of_page
+);
 }
-else
-{
-my $sth = $dbh-prepare(qq|
-INSERT INTO currency (currency, rate, symbol, active) 
VALUES (?,?,?,?)   |);
-
-$sth-execute(  $input-param('currency'),
-$input-param('rate'),
-$input-param('symbol')||'',
-$input-param('active')||0,
-);
+$end_of_page--;
+my @display_curr = @currencies[ $offset .. $end_of_page ];
+for my $c (@display_curr) {
+