[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/admin marctagstructure.pl,NONE,1.1
From: |
Paul POULAIN |
Subject: |
[Koha-cvs] CVS: koha/admin marctagstructure.pl,NONE,1.1 |
Date: |
Thu, 16 May 2002 09:20:43 -0700 |
Update of /cvsroot/koha/koha/admin
In directory usw-pr-cvs1:/tmp/cvs-serv17053/admin
Added Files:
marctagstructure.pl
Log Message:
Beginning of marc stuff :
* in marc directory, the marcschema.sql contains now the new marc structure.
The old one is in marcschema.old.sql.
* in marc directory, the fill_usmarc.pl script fills the structure tables with
USMARC format in english. Thanks to steve for the BIG work getting them from
LOC... It's still to do for UNIMARC in english, and of course in french for me
;-)
* in admin directory, the marctagstructure.pl script helps playing with the
structure and modifying it... It's not ended (tomorrow, i hope it will be)
--- NEW FILE ---
#!/usr/bin/perl
use strict;
use C4::Output;
use CGI;
use C4::Search;
use C4::Database;
sub StringSearch {
my ($env,$searchstring,$type)address@hidden;
my $dbh = &C4Connect;
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
my address@hidden;
my $query="Select tagfield,liblibrarian,libopac,repeatable,mandatory
from marc_tag_structure where (tagfield like \"$data[0]%\") order by tagfield";
my $sth=$dbh->prepare($query);
$sth->execute;
my @results;
my $cnt=0;
while (my $data=$sth->fetchrow_hashref){
push(@results,$data);
$cnt ++;
}
# $sth->execute;
$sth->finish;
$dbh->disconnect;
return ($cnt,address@hidden);
}
my $input = new CGI;
my $searchfield=$input->param('searchfield');
my $pkfield="tagfield";
my $reqsel="select tagfield,liblibrarian,libopac,repeatable,mandatory from
marc_tag_structure where $pkfield='$searchfield'";
my $reqdel="delete from marc_tag_structure where $pkfield='$searchfield'";
my $offset=$input->param('offset');
my $script_name="/cgi-bin/koha/admin/marctagstructure.pl";
my $pagesize=20;
my $op = $input->param('op');
$searchfield=~ s/\,//g;
print $input->header;
#start the page and read in includes
print startpage();
print startmenu('admin');
################## ADD_FORM ##################################
# called by default. Used to create form to add or modify a record
if ($op eq 'add_form') {
#---- if primkey exists, it's a modify action, so read values to
modify...
my $data;
if ($searchfield) {
my $dbh = &C4Connect;
my $sth=$dbh->prepare("select
tagfield,liblibrarian,libopac,repeatable,mandatory from marc_tag_structure
where $pkfield='$searchfield'");
$sth->execute;
$data=$sth->fetchrow_hashref;
$sth->finish;
}
print <<printend
<script>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isNotNull(f,noalert) {
if (f.value.length ==0) {
return false;
}
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function toUC(f) {
var x=f.value.toUpperCase();
f.value=x;
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isNum(v,maybenull) {
var n = new Number(v.value);
if (isNaN(n)) {
return false;
}
if (maybenull==0 && v.value=='') {
return false;
}
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isDate(f) {
var t = Date.parse(f.value);
if (isNaN(t)) {
return false;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function Check(f) {
var ok=1;
var _alertString="";
var alertString2;
if (f.tagfield.value.length==0) {
_alertString += "- tagfield missing\\n";
}
if (f.repeatable.value!=0 && f.repeatable.value!=1) {
_alertString += "- repeatable must be 0 or 1\\n";
}
if (f.mandatory.value!=0 && f.mandatory.value!=1) {
_alertString += "- mandatory must be 0 or 1\\n";
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
alertString2 = "Form not submitted because of the
following problem(s)\\n";
alertString2 +=
"------------------------------------------------------------------------------------\\n\\n";
alertString2 += _alertString;
alert(alertString2);
}
}
</SCRIPT>
printend
;#/
if ($searchfield) {
print "<h1>Modify tag</h1>";
} else {
print "<h1>Add tag</h1>";
}
print "<form action='$script_name' name=Aform method=post>";
print "<input type=hidden name=op value='add_validate'>";
print "<table>";
if ($searchfield) {
print "<tr><td>Tag</td><td><input type=hidden name=tagfield
value='$searchfield'>$searchfield</td></tr>";
} else {
print "<tr><td>Tag</td><td><input type=text name=tagfield
size=5 maxlength=3></td></tr>";
}
print "<tr><td>Value</td><td><input type=text name=liblibrarian size=80
maxlength=255 value='$data->{'liblibrarian'}'></td></tr>";
print "<tr><td>Value</td><td><input type=text name=libopac size=80
maxlength=255 value='$data->{'libopac'}'></td></tr>";
print "<tr><td>Value</td><td><input type=text name=repeatable
value='$data->{'repeatable'}'></td></tr>";
print "<tr><td>Value</td><td><input type=text name=mandatory
value='$data->{'mandatory'}'></td></tr>";
print "<tr><td> </td><td><INPUT type=button value='OK'
onClick='Check(this.form)'></td></tr>";
print "</table>";
print "</form>";
;
# END $OP eq ADD_FORM
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
} elsif ($op eq 'add_validate') {
my $dbh=C4Connect;
my $query = "replace marc_tag_structure
(tagfield,liblibrarian,libopac,repeatable,mandatory) values (";
$query.= $dbh->quote($input->param('tagfield')).",";
$query.= $dbh->quote($input->param('liblibrarian')).",";
$query.= $dbh->quote($input->param('libopac')).",";
$query.= $dbh->quote($input->param('repeatable')).",";
$query.= $dbh->quote($input->param('mandatory')).")";
my $sth=$dbh->prepare($query);
$sth->execute;
$sth->finish;
print "data recorded";
print "<form action='$script_name' method=post>";
print "<input type=submit value=OK>";
print "</form>";
# END $OP eq ADD_VALIDATE
################## DELETE_CONFIRM ##################################
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
my $dbh = &C4Connect;
my $sth=$dbh->prepare($reqsel);
$sth->execute;
my $data=$sth->fetchrow_hashref;
$sth->finish;
print mktablehdr;
print
mktablerow(2,'#99cc33',bold('Tag'),bold("$searchfield"),'/images/background-mem.gif');
print "<tr><td>liblibrarian</td><td>$data->{'liblibrarian'}</td></tr>";
print "<form action='$script_name' method=post><input type=hidden
name=op value=delete_confirmed><input type=hidden name=searchfield
value='$searchfield'>";
print "<tr><td colspan=2 align=center>CONFIRM DELETION</td></tr>";
print "<tr><td><INPUT type=submit value='YES'></form></td><td><form
action='$script_name' method=post><input type=submit
value=NO></form></td></tr>";
# END $OP eq DELETE_CONFIRM
################## DELETE_CONFIRMED ##################################
# called by delete_confirm, used to effectively confirm deletion of data in DB
} elsif ($op eq 'delete_confirmed') {
my $dbh=C4Connect;
# my $searchfield=$input->param('branchcode');
my $sth=$dbh->prepare($reqdel);
$sth->execute;
$sth->finish;
print "data deleted";
print "<form action='$script_name' method=post>";
print "<input type=submit value=OK>";
print "</form>";
# END $OP eq DELETE_CONFIRMED
################## DEFAULT ##################################
} else { # DEFAULT
my @inputs=(["text","searchfield",$searchfield],
["reset","reset","clr"]);
print mkheadr(2,'System preferences admin');
print mkformnotable("$script_name",@inputs);
print <<printend
printend
;
if ($searchfield ne '') {
print "You Searched for <b>$searchfield<b><p>";
}
print mktablehdr;
print mktablerow(5,'#99cc33',bold('Tag'),bold('Value'),
' ',' ',' ','/images/background-mem.gif');
my $env;
my ($count,$results)=StringSearch($env,$searchfield,'web');
my $toggle="white";
for (my $i=$offset; $i <
($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
if ($toggle eq 'white'){
$toggle="#ffffcc";
} else {
$toggle="white";
}
print
mktablerow(5,$toggle,$results->[$i]{'tagfield'},$results->[$i]{'liblibrarian'},mklink('','subfields_not_done'),
mklink("$script_name?op=add_form&searchfield=".$results->[$i]{'tagfield'},'Edit'),
mklink("$script_name?op=delete_confirm&searchfield=".$results->[$i]{'tagfield'},'Delete',''));
}
print mktableft;
print "<form action='$script_name' method=post>";
print "<input type=hidden name=op value=add_form>";
if ($offset>0) {
my $prevpage = $offset-$pagesize;
print mklink("$script_name?offset=".$prevpage,'<< Prev');
}
print " ";
if ($offset+$pagesize<$count) {
my $nextpage =$offset+$pagesize;
print mklink("$script_name?offset=".$nextpage,'Next >>');
}
print "<br><input type=image src=\"/images/button-add-variable.gif\"
WIDTH=188 HEIGHT=44 ALT=\"Add budget\" BORDER=0 ></a><br>";
print "</form>";
} #---- END $OP eq DEFAULT
print endmenu('admin');
print endpage();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/admin marctagstructure.pl,NONE,1.1,
Paul POULAIN <=
- Prev by Date:
[Koha-cvs] CVS: koha installer.pl,1.2.2.6,1.2.2.7
- Next by Date:
[Koha-cvs] CVS: koha/marc marcschema.old.sql,NONE,1.1 fill_usmarc.pl,NONE,1.1 marcschema.sql,1.2,1.3
- Previous by thread:
[Koha-cvs] CVS: koha installer.pl,1.2.2.6,1.2.2.7
- Next by thread:
[Koha-cvs] CVS: koha/marc marcschema.old.sql,NONE,1.1 fill_usmarc.pl,NONE,1.1 marcschema.sql,1.2,1.3
- Index(es):