Adding page to display log views.
can be called by admin/viewlog.pl Works with C4/Log.pm uses action_logs table
This commit is contained in:
parent
6bbbfe0b18
commit
552d398bf7
3 changed files with 452 additions and 17 deletions
82
C4/Log.pm
82
C4/Log.pm
|
@ -49,7 +49,7 @@ The functions in this module perform various functions in order to log all the o
|
|||
=cut
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(&logaction &logstatus);
|
||||
@EXPORT = qw(&logaction &logstatus &displaylog);
|
||||
|
||||
=item logaction
|
||||
|
||||
|
@ -95,14 +95,14 @@ sub displaylog{
|
|||
my ($modulename, @filters)=@_;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $strsth;
|
||||
if ($modulename eq "acqui.simple"){
|
||||
$strsth="select action_logs.timestamp, action_logs.action, borrowers.cardnumber, borrowers.surname, borrowers.firstname, borrowers.userid,";
|
||||
if ($modulename eq "catalogue"){
|
||||
$strsth="select action_logs.timestamp, action_logs.action, action_logs.info, borrowers.cardnumber, borrowers.surname, borrowers.firstname, borrowers.userid,";
|
||||
$strsth .= "biblio.biblionumber, biblio.title, biblio.author" ;#if ($modulename eq "acqui.simple");
|
||||
$strsth .= "FROM borrowers,action_logs ";
|
||||
$strsth .= ",biblio" ;#if ($modulename eq "acqui.simple");
|
||||
$strsth .= " FROM borrowers,action_logs ";
|
||||
$strsth .= ",biblio " ;#if ($modulename eq "acqui.simple");
|
||||
|
||||
$strsth .="WHERE borrowers.borrowernumber=action_logs.user";
|
||||
$strsth .= "AND action_logs.module = 'acqui.simple' AND action_logs.object=biblio.biblionumber ";# if ($modulename eq "acqui.simple");
|
||||
$strsth .=" WHERE borrowers.borrowernumber=action_logs.user";
|
||||
$strsth .=" AND action_logs.module = 'acqui.simple' AND action_logs.object=biblio.biblionumber ";# if ($modulename eq "acqui.simple");
|
||||
if (@filters){
|
||||
foreach my $filter (@filters){
|
||||
if ($filter->{name} =~ /user/){
|
||||
|
@ -118,19 +118,67 @@ sub displaylog{
|
|||
}
|
||||
}
|
||||
} elsif ($modulename eq "acqui") {
|
||||
} elsif ($modulename eq "circ") {
|
||||
$strsth="select action_logs.timestamp, action_logs.action, action_logs.info, borrowers.cardnumber, borrowers.surname, borrowers.firstname, borrowers.userid,";
|
||||
$strsth .= "biblio.biblionumber, biblio.title, biblio.author" ;#if ($modulename eq "acqui.simple");
|
||||
$strsth .= "FROM borrowers,action_logs ";
|
||||
$strsth .= ",biblio " ;#if ($modulename eq "acqui.simple");
|
||||
|
||||
$strsth .=" WHERE borrowers.borrowernumber=action_logs.user";
|
||||
$strsth .= "AND action_logs.module = 'acqui.simple' AND action_logs.object=biblio.biblionumber ";# if ($modulename eq "acqui.simple");
|
||||
if (@filters){
|
||||
foreach my $filter (@filters){
|
||||
if ($filter->{name} =~ /user/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND borrowers.surname like ".$filter->{value};
|
||||
}elsif ($filter->{name} =~ /title/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND biblio.title like ".$filter->{value};
|
||||
}elsif ($filter->{name} =~ /author/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND biblio.author like ".$filter->{value};
|
||||
}
|
||||
}
|
||||
}
|
||||
} elsif ($modulename eq "members"){
|
||||
$strsth="select action_logs.timestamp, action_logs.action, action_logs.info, borrowers.cardnumber, borrowers.surname, borrowers.firstname, borrowers.userid,";
|
||||
$strsth .= "bor2.cardnumber, bor2.surname, bor2.firstname, bor2.userid,";
|
||||
$strsth .= "FROM borrowers,action_logs,borrowers as bor2 ";
|
||||
|
||||
$strsth .=" WHERE borrowers.borrowernumber=action_logs.user";
|
||||
$strsth .= "AND action_logs.module = 'members' AND action_logs.object=bor2.borrowernumber ";# if ($modulename eq "acqui.simple");
|
||||
if (@filters){
|
||||
foreach my $filter (@filters){
|
||||
if ($filter->{name} =~ /user/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND borrowers.surname like ".$filter->{value};
|
||||
}elsif ($filter->{name} =~ /surname/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND bor2.surname like ".$filter->{value};
|
||||
}elsif ($filter->{name} =~ /firstname/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND bor2.firsntame like ".$filter->{value};
|
||||
}elsif ($filter->{name} =~ /cardnumber/){
|
||||
$filter->{value}=~s/\*/%/g;
|
||||
$strsth .= " AND bor2.cardnumber like ".$filter->{value};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
warn "displaylog :".$strsth;
|
||||
my $sth=$dbh->prepare($strsth);
|
||||
$sth->execute;
|
||||
my @results;
|
||||
my $count;
|
||||
while (my $data = $sth->fetchrow_hashref){
|
||||
push @results, $data;
|
||||
$count++;
|
||||
}
|
||||
return ($count, \@results);
|
||||
if ($strsth){
|
||||
my $sth=$dbh->prepare($strsth);
|
||||
$sth->execute;
|
||||
my @results;
|
||||
my $count;
|
||||
my $hilighted=1;
|
||||
while (my $data = $sth->fetchrow_hashref){
|
||||
$data->{hilighted} = ($hilighted>0);
|
||||
push @results, $data;
|
||||
$count++;
|
||||
$hilighted = -$hilighted;
|
||||
}
|
||||
return ($count, \@results);
|
||||
} else {return 0;}
|
||||
}
|
||||
END { } # module clean-up code here (global destructor)
|
||||
|
||||
|
|
149
admin/viewlog.pl
Executable file
149
admin/viewlog.pl
Executable file
|
@ -0,0 +1,149 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
# $Id$
|
||||
|
||||
# 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::Koha;
|
||||
use C4::Interface::CGI::Output;
|
||||
use C4::Log;
|
||||
use Date::Manip;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
plugin that shows a stats on borrowers
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
|
||||
=over2
|
||||
|
||||
=cut
|
||||
|
||||
my $input = new CGI;
|
||||
my $do_it=$input->param('do_it');
|
||||
my $fullreportname = "parameters/viewlog.tmpl";
|
||||
my $modulename = $input->param("module");
|
||||
my $userfilter = $input->param("user");
|
||||
my $actionfilter = $input->param("action");
|
||||
my $fromfilter = $input->param("from");
|
||||
my $tofilter = $input->param("to");
|
||||
my $basename = $input->param("basename");
|
||||
my $mime = $input->param("MIME");
|
||||
my $del = $input->param("sep");
|
||||
my $output = $input->param("output");
|
||||
|
||||
#warn "module : ".$modulename;
|
||||
my ($template, $borrowernumber, $cookie)
|
||||
= get_template_and_user({template_name => $fullreportname,
|
||||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => {editcatalogue => 1},
|
||||
debug => 1,
|
||||
});
|
||||
$template->param(do_it => $do_it);
|
||||
if ($do_it) {
|
||||
# Displaying results
|
||||
#building filters
|
||||
my @filters;
|
||||
push @filters, {name=> 'user', value=> $userfilter} if ($userfilter);
|
||||
push @filters, {name=> 'action', value=> $actionfilter} if ($actionfilter);
|
||||
push @filters, {name=> 'from', value=> $fromfilter} if ($fromfilter);
|
||||
push @filters, {name=> 'to', value=> $tofilter} if ($tofilter);
|
||||
if ($modulename eq "catalogue"){
|
||||
my $titlefilter = $input->param("title");
|
||||
my $authorfilter = $input->param("author");
|
||||
my $publisherfilter = $input->param("publisher");
|
||||
my $callnumberfilter = $input->param("itemcallnumber");
|
||||
|
||||
push @filters, {name=> 'title', value=> $titlefilter} if ($titlefilter);
|
||||
push @filters, {name=> 'author', value=> $authorfilter} if ($authorfilter);
|
||||
push @filters, {name=> 'publisher', value=> $publisherfilter} if ($publisherfilter);
|
||||
push @filters, {name=> 'callnumber', value=> $callnumberfilter} if ($callnumberfilter);
|
||||
}
|
||||
|
||||
my ($count, $results) = displaylog( $modulename, @filters);
|
||||
if ($output eq "screen"){
|
||||
# Printing results to screen
|
||||
$template->param(modulename =>$modulename, $modulename => 1, looprow => $results);
|
||||
output_html_with_http_headers $input, $cookie, $template->output;
|
||||
exit(1);
|
||||
} else {
|
||||
# Printing to a csv file
|
||||
print $input->header(-type => 'application/vnd.sun.xml.calc',
|
||||
-attachment=>"$basename.csv",
|
||||
-filename=>"$basename.csv" );
|
||||
my $sep;
|
||||
$sep =C4::Context->preference("delimiter");
|
||||
# header top-right
|
||||
# Other header
|
||||
# Table
|
||||
foreach my $line ( @$results ) {
|
||||
if ($modulename eq "catalogue"){
|
||||
print $line->{timestamp}.$sep;
|
||||
print $line->{firstname}.$sep;
|
||||
print $line->{surname}.$sep;
|
||||
print $line->{action}.$sep;
|
||||
print $line->{info}.$sep;
|
||||
print $line->{title}.$sep;
|
||||
print $line->{author}.$sep;
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
# footer
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
my $dbh = C4::Context->dbh;
|
||||
my @values;
|
||||
my %labels;
|
||||
my %select;
|
||||
my $req;
|
||||
|
||||
my @mime = ( C4::Context->preference("MIME") );
|
||||
# foreach my $mime (@mime){
|
||||
# warn "".$mime;
|
||||
# }
|
||||
|
||||
my $CGIextChoice=CGI::scrolling_list(
|
||||
-name => 'MIME',
|
||||
-id => 'MIME',
|
||||
-values => \@mime,
|
||||
-size => 1,
|
||||
-multiple => 0 );
|
||||
|
||||
my @dels = ( C4::Context->preference("delimiter") );
|
||||
my $CGIsepChoice=CGI::scrolling_list(
|
||||
-name => 'sep',
|
||||
-id => 'sep',
|
||||
-values => \@dels,
|
||||
-size => 1,
|
||||
-multiple => 0 );
|
||||
|
||||
$template->param(
|
||||
CGIextChoice => $CGIextChoice,
|
||||
CGIsepChoice => $CGIsepChoice
|
||||
);
|
||||
output_html_with_http_headers $input, $cookie, $template->output;
|
||||
}
|
238
koha-tmpl/intranet-tmpl/default/en/parameters/viewlog.tmpl
Normal file
238
koha-tmpl/intranet-tmpl/default/en/parameters/viewlog.tmpl
Normal file
|
@ -0,0 +1,238 @@
|
|||
<!-- TMPL_INCLUDE NAME="reportswcal-top.inc" -->
|
||||
<div id="mainbloc" >
|
||||
|
||||
<!-- TMPL_IF NAME="do_it" -->
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
function Dopop(link) {
|
||||
newin=window.open(link,'width=500,height=400,toolbar=false,scrollbars=yes');
|
||||
}
|
||||
</script>
|
||||
<h1 class="parameters">Koha : LogView for <!-- TMPL_VAR NAME="modulename"--> </h1>
|
||||
<!-- TMPL_IF NAME="loopfilter"-->
|
||||
<p>Filtered on</p>
|
||||
<!-- TMPL_LOOP NAME="loopfilter" -->
|
||||
<p><!-- TMPL_IF NAME="err" --> <font color="red"> <b><!--/TMPL_IF --><label class="label100"> <!-- TMPL_VAR NAME="name"--> =</label><!-- TMPL_VAR NAME="value"--><!-- TMPL_IF NAME="err" --> </font> </b><!--/TMPL_IF --></p>
|
||||
<!-- /TMPL_LOOP -->
|
||||
<!-- /TMPL_IF NAME="loopfilter"-->
|
||||
<br>
|
||||
<table border="1">
|
||||
<!-- TMPL_IF NAME="catalogue" -->
|
||||
<tr >
|
||||
<th class="parameters">Timestamp
|
||||
</th>
|
||||
<th class="parameters">Firstname
|
||||
</th>
|
||||
<th class="parameters">Surname
|
||||
</th>
|
||||
<th class="parameters">Action
|
||||
</th>
|
||||
<th class="parameters">Info
|
||||
</th>
|
||||
<th class="parameters">Title
|
||||
</th>
|
||||
<th class="parameters">Author
|
||||
</th>
|
||||
</tr>
|
||||
<!-- TMPL_LOOP NAME="looprow" -->
|
||||
<!-- TMPL_IF NAME="hilighted" --><tr class="higlighted"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF -->
|
||||
<td><!-- TMPL_IF NAME="timestamp" --><!-- TMPL_VAR NAME="timestamp" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="firstname" --><!-- TMPL_VAR NAME="firstname" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="surname" --><!-- TMPL_VAR NAME="surname" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="action" --><!-- TMPL_VAR NAME="action" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="info" --><!-- TMPL_VAR NAME="info" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="title" --><!-- TMPL_VAR NAME="title" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="author" --><!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- /TMPL_LOOP -->
|
||||
<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="acqui" -->
|
||||
<tr >
|
||||
<th class="parameters">Timestamp
|
||||
</th>
|
||||
<th class="parameters">Firstname
|
||||
</th>
|
||||
<th class="parameters">Surname
|
||||
</th>
|
||||
<th class="parameters">Action
|
||||
</th>
|
||||
<th class="parameters">Info
|
||||
</th>
|
||||
<th class="parameters">Title
|
||||
</th>
|
||||
<th class="parameters">Author
|
||||
</th>
|
||||
</tr>
|
||||
<!-- TMPL_LOOP NAME="looprow" -->
|
||||
<!-- TMPL_IF NAME="hilighted" --><tr class="higlighted"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="hilighted" --><td class="hilighted"><!-- TMPL_ELSE --><td><!-- /TMPL_IF -->
|
||||
<!-- TMPL_VAR NAME="rowtitle" --></td>
|
||||
<!-- TMPL_LOOP NAME="loopcell" -->
|
||||
<!-- TMPL_IF NAME="hilighted" --><td class="hilighted"><!-- TMPL_ELSE --><td ><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="reference" --><a href="javascript:Dopop('../members/moremember.pl?bornum=<!-- TMPL_VAR NAME="reference" -->')" ><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="reference" --></a><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<!-- TMPL_IF NAME="hilighted" --><td class="hilighted"><!-- TMPL_ELSE --><td ><!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="count" --><!-- TMPL_VAR NAME="count" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<!-- /TMPL_LOOP -->
|
||||
</tr>
|
||||
<!-- /TMPL_LOOP NAME="looprow" -->
|
||||
<!-- /TMPL_IF -->
|
||||
<!-- TMPL_IF NAME="members" -->
|
||||
<tr >
|
||||
<th class="parameters">Timestamp
|
||||
</th>
|
||||
<th class="parameters">Firstname
|
||||
</th>
|
||||
<th class="parameters">Surname
|
||||
</th>
|
||||
<th class="parameters">Action
|
||||
</th>
|
||||
<th class="parameters">Info
|
||||
</th>
|
||||
<th class="parameters">Title
|
||||
</th>
|
||||
<th class="parameters">Author
|
||||
</th>
|
||||
</tr>
|
||||
<!-- TMPL_LOOP NAME="looprow" -->
|
||||
<!-- TMPL_IF NAME="hilighted" --><tr class="higlighted"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF -->
|
||||
<td><!-- TMPL_IF NAME="timestamp" --><!-- TMPL_VAR NAME="timestamp" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
<td><!-- TMPL_IF NAME="value" --><!-- TMPL_VAR NAME="value" --><!-- /TMPL_IF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- /TMPL_LOOP NAME="looprow" -->
|
||||
<!-- /TMPL_IF -->
|
||||
</table>
|
||||
<!-- TMPL_ELSE -->
|
||||
<h1 class = "parameters">Koha : Display Logs </h1>
|
||||
<form method="post">
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="parameters">On Module</th>
|
||||
<th class="parameters">User/Action Filters</th>
|
||||
<th class="parameters">Object Filter</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<select name="module">
|
||||
<option value ="catalogue" checked>Catalogue</option>
|
||||
<option value ="members">Borrowers</option>
|
||||
<option value ="acqui">Acquisitions</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Koha User : <input type="text" name="user" value="">
|
||||
</p>
|
||||
<p> Action type : <select name="action">
|
||||
<option value ="">All</option>
|
||||
<option value ="add">Add</option>
|
||||
<option value ="del">Delete</option>
|
||||
<option value ="mod">Modify</option>
|
||||
</select>
|
||||
</p>
|
||||
<p> From <input type="text" readonly="readonly" size="10" id="from" name="from" >
|
||||
<img src="<!-- TMPL_VAR Name="themelang" -->/includes/calendar/cal.gif" border="0" hspace="0" vspace="0" id="openCalendarFrom" style="cursor: pointer;" valign="top">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
function validate1(date) {
|
||||
var day = date.getDate();
|
||||
var month = date.getMonth() + 1;
|
||||
var year = date.getFullYear();
|
||||
var weekDay = date.getDay();
|
||||
var dayMonth = month + '-' + day;
|
||||
var dateString = year + '-' + month + '-' + day;
|
||||
var dateTo = document.getElementById('to').value.split("-");
|
||||
var limitDate = new Date(dateTo[0], (dateTo[1] - 1), dateTo[2]);
|
||||
if (date > limitDate) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Calendar.setup(
|
||||
{
|
||||
inputField : "from",
|
||||
ifFormat : "%Y-%m-%d",
|
||||
button : "openCalendarFrom",
|
||||
disableFunc : validate1,
|
||||
dateStatusFunc : validate1
|
||||
}
|
||||
);
|
||||
</script>
|
||||
To <input readonly="readonly" size="10" id="to" name="Filter" value="" type="to">
|
||||
<img src="<!-- TMPL_VAR Name="themelang" -->/includes/calendar/cal.gif" id="openCalendarTo" style="cursor: pointer;" valign="top" border="0" hspace="0" vspace="0">
|
||||
<script type="text/javascript">
|
||||
function validate2(date) {
|
||||
var day = date.getDate();
|
||||
var month = date.getMonth() + 1;
|
||||
var year = date.getFullYear();
|
||||
var weekDay = date.getDay();
|
||||
var dayMonth = month + '-' + day;
|
||||
var dateString = year + '-' + month + '-' + day;
|
||||
var dateFrom = document.getElementById('from').value.split("-");
|
||||
var limitDate = new Date(dateFrom[0], (dateFrom[1] - 1), dateFrom[2]);
|
||||
if (limitDate > date) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Calendar.setup(
|
||||
{
|
||||
inputField : "to",
|
||||
ifFormat : "%Y-%m-%d",
|
||||
button : "openCalendarTo",
|
||||
disableFunc : validate2,
|
||||
dateStatusFunc : validate2
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="bloc25">
|
||||
<h3 class="parameters"> Output </h3>
|
||||
<input type="radio" checked name="output" value="screen" > To screen into the browser
|
||||
<br>
|
||||
<input type="radio" name="output" value="file"> To file <input type="text" name="basename" value="Export"> into an application
|
||||
<!-- TMPL_VAR NAME="CGIextChoice" -->
|
||||
<!-- TMPL_VAR NAME="CGIsepChoice" -->
|
||||
</p>
|
||||
</div>
|
||||
<p>
|
||||
<input TYPE="submit" value="OK" class="button parameters">
|
||||
<input type="hidden" name="report_name" value="<!--TMPL_VAR NAME="report_name" -->">
|
||||
<input type="hidden" name="do_it" value="1">
|
||||
</form>
|
||||
<!-- /TMPL_IF -->
|
||||
</div>
|
||||
<!-- TMPL_INCLUDE NAME="parameters-bottom.inc" -->
|
Loading…
Reference in a new issue