Bug 30435: Remove unused MACLES cataloging plugin

This patch removes the files associated with the MACLES cataloging
plugin. The feature is unmaintained.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Owen Leonard 2022-04-01 15:20:47 +00:00 committed by Fridolin Somers
parent c48ec95cbf
commit cddcba9edb
2 changed files with 0 additions and 420 deletions

View File

@ -1,170 +0,0 @@
#!/usr/bin/perl
# Converted to new plugin style (Bug 13437)
# 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 3 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, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Context;
use C4::Output qw( output_html_with_http_headers );
use C4::Auth qw( get_template_and_user );
my $builder = sub {
my ( $params ) = @_;
my $function_name = $params->{id};
my $res="
<script>
function Click$function_name(i) {
newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=macles.pl&index=\"+i,\"MACLES\",',toolbar=false,scrollbars=yes');
}
</script>
";
return $res;
};
my $launcher = sub {
my ( $params ) = @_;
my $input = $params->{cgi};
my $index= $input->param('index');
my $dbh = C4::Context->dbh;
my $rq=$dbh->prepare("SELECT authorised_value, lib from authorised_values where category=\"MACLES\" order by authorised_value DESC");
#tabs
$rq->execute;
my @BIGLOOP;
my (%numbers,@lists,$table);
while (my $tab = $rq->fetchrow_hashref){
my $number=substr($tab->{authorised_value},0,1);
if ($tab->{authorised_value}=~/[0-9]XX/){
$numbers{$number}->{'hdr_tab'}=$tab->{lib};
$numbers{$number}->{'Table'}=($number=~/[1-7]/);
} elsif ($tab->{authorised_value}=~/.X./){
$tab->{authorised_value}=~s/X/\./;
$table=1;
unshift @{$numbers{$number}->{"col_hdr"}},{"colvalue"=>$tab->{authorised_value},"collib"=>$tab->{lib}};
} elsif ($tab->{authorised_value}=~/..X/){
$tab->{authorised_value}=~s/X/\./;
unshift @{$numbers{$number}->{"row_hdr"}},{"rowvalue"=>$tab->{authorised_value},"rowlib"=>$tab->{lib}}
} elsif ($tab->{'authorised_value'}=~/,/){
my @listval=split /,/,$tab->{'authorised_value'};
# $tab->{authorised_value}=~s/,/","/g;
# $tab->{authorised_value}="(".$tab->{authorised_value}.")";
my %mulrows;
foreach my $val (@listval){
unshift @{$numbers{$number}->{$val}},$tab->{'lib'};
my $mulrow=substr($val,0,2);
$mulrows{$mulrow}=1;
}
foreach my $mulrow (sort keys %mulrows){
unshift @{$numbers{$number}->{$mulrow}},{'listlib' => $tab->{'lib'},'listvalue' => $tab->{'authorised_value'}};
}
} else {
unshift @{$numbers{$number}->{$tab->{'authorised_value'}}},$tab->{'lib'};
}
}
foreach my $num ( sort keys %numbers ) {
my @tmpcolhdr;
my @tmprowhdr;
@tmpcolhdr = @{ $numbers{$num}->{'col_hdr'} }
if ( $numbers{$num}->{'col_hdr'} );
@tmprowhdr = @{ $numbers{$num}->{"row_hdr"} }
if ( $numbers{$num}->{'row_hdr'} );
my @lines;
my @lists;
my %BIGLOOPcell;
foreach my $row (@tmprowhdr) {
my $tmprowvalue = $row->{rowvalue};
my $rowcode;
$rowcode = $1 if $tmprowvalue =~ /[0-9]([0-9])\./;
my @cells;
if ( scalar(@tmpcolhdr) > 0 ) {
#cas du tableau bidim
foreach my $col (@tmpcolhdr) {
my $tmpcolvalue = $col->{colvalue};
my $colcode;
$colcode = $1 if $tmpcolvalue =~ /[0-9]\.([0-9])/;
my %cell;
$cell{celvalue} = $num . $rowcode . $colcode;
$cell{rowvalue} = $tmprowvalue;
$cell{colvalue} = $tmpcolvalue;
if ( $numbers{$num}->{ $num . $rowcode . $colcode } ) {
foreach (
@{ $numbers{$num}->{ $num . $rowcode . $colcode } }
)
{
push @{ $cell{libs} }, { 'lib' => $_ };
}
}
else {
push @{ $cell{libs} },
{ 'lib' => $num . $rowcode . $colcode };
}
push @cells, \%cell;
}
if ( $numbers{$num}->{ $num . $rowcode } ) {
my @tmpliblist = @{ $numbers{$num}->{ $num . $rowcode } };
push @lists,
{ 'lib' => $row->{rowlib}, 'liblist' => \@tmpliblist };
}
}
else {
#Cas de la liste simple
foreach my $key ( sort keys %{ $numbers{$num} } ) {
my %cell;
if ( $key =~ /$num$rowcode[0-9]/ ) {
$cell{celvalue} = $key;
foreach my $lib ( @{ $numbers{$num}->{$key} } ) {
push @{ $cell{'libs'} }, { 'lib' => $lib };
}
push @cells, \%cell;
}
}
}
push @lines,
{
'cells' => \@cells,
'rowvalue' => $row->{rowvalue},
'rowlib' => $row->{rowlib}
};
}
$BIGLOOPcell{'Lists'} = \@lists if ( scalar(@lists) > 0 );
$BIGLOOPcell{'lines'} = \@lines if ( scalar(@lines) > 0 );
$BIGLOOPcell{'col_hdr'} = \@tmpcolhdr if ( scalar(@tmpcolhdr) > 0 );
$BIGLOOPcell{'Table'} = $numbers{$num}->{'Table'};
$BIGLOOPcell{'hdr_tab'} = $numbers{$num}->{'hdr_tab'};
$BIGLOOPcell{'number'} = $num;
push @BIGLOOP, \%BIGLOOPcell;
}
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "cataloguing/value_builder/macles.tt",
query => $input,
type => "intranet",
flagsrequired => {editcatalogue => '*'},
});
$template->param(BIGLOOP=>\@BIGLOOP);
$template->param("index"=>$index);
output_html_with_http_headers $input, $cookie, $template->output;
};
return { builder => $builder, launcher => $launcher };

View File

@ -1,250 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gestion des index MACLES</title>
[% INCLUDE 'doc-head-close.inc' %]
<script>
//<![CDATA[
$(document).ready(function() {
$('#macles').tabs();
});
//]]>
</script>
</head>
<body id="cat_macles" class="cat" onload="Activate(0);load_macles();" >
<h1>Gestion des index MACLES</h1>
<form name="f_pop" action="">
<div id="macles" class="toptabs numbered">
[% IF ( BIGLOOP ) %]<ul>
[% FOREACH BIGLOO IN BIGLOOP %]
<li><a href="#tab[% BIGLOO.number | uri %]XX">[% BIGLOO.number | html %]</a></li>
[% END %]
</ul>[% END %]
<!-- RESET PAGINATION -->
[% FOREACH BIGLOO IN BIGLOOP %]
[% IF ( BIGLOO.number ) %]
<div id="tab[% BIGLOO.number | html %]XX">
[% ELSE %]
<div id="tab[% BIGLOO.number | html %]XX">
[% END %]
<h2> [% BIGLOO.hdr_tab | html %]</h2>
<a href="#" class="button" onclick="add_macles('630');">Envoyer</a>
<!-- <input type="submit" class="button" value="Envoyer" /> -->
<a class="button" href="" onclick="load_macles(630);">R&eacute;initialiser</a>
<a class="button" href="javascript:uncheck_tab([% BIGLOO.number | html %])">d&eacute;selectionner onglet</a>
<input type="reset" class="button" value="déselectionner tout" />
[% IF ( BIGLOO.Table ) %]
<table>
<tr>
<th>Espace\Temps</th>
[% FOREACH col_hd IN BIGLOO.col_hdr %]
<th scope="col" id="[% col_hd.colvalue | html %]"> [% col_hd.collib | html %] <br /><input type="checkbox" name="[% col_hd.colvalue | html %]" onclick="check_col('[% col_hd.colvalue | html %]')" />
</th>
[% END %]
</tr>
[% FOREACH line IN BIGLOO.lines %]
<tr>
<th scope="row" id="[% line.rowvalue | html %]"> [% line.rowlib | html %] <br /><input type="checkbox" name="[% line.rowvalue | html %]" onclick="check_row('[% line.rowvalue | html %]')" />
</th>
[% FOREACH cell IN line.cells %]
<td headers="[% cell.rowvalue | html %] [% cell.colvalue | html %]">
[% BLOCK spantitle %][% FOREACH lib IN cell.libs %][% lib.lib | html %] - [% END %][% END %]
<span title="[% INCLUDE spantitle %]">
[% cell.celvalue | html %] <br /><input type="checkbox" name="[% cell.celvalue | html %]" value="[% cell.celvalue | html %]" />
</span>
</td>
[% END %]
</tr>
[% END %]
</table>
[% END %]
[% IF ( BIGLOO.Lists ) %]
<h2>s&eacute;lection au moyen d'une liste de descripteurs</h2>
[% FOREACH List IN BIGLOO.Lists %]
<h3>[% List.lib | html %]</h3>
[% FOREACH liblis IN List.liblist %]
<a href="#[% liblis.listvalue | uri %]" onclick="check_multiple([% liblis.listvalue | html %])"> [% liblis.listlib | html %]</a><br />
[% END %]
[% END %]
[% END %]
[% UNLESS ( BIGLOO.Table ) %]
<!-- Listes simples :Onglets 0 et 9-->
[% FOREACH line IN BIGLOO.lines %]
<h3>[% line.rowvalue | html %]&nbsp;-&nbsp;[% line.rowlib | html %]&nbsp;<input type="checkbox" name="[% line.rowvalue | html %]" onclick="check_row('[% line.rowvalue | html %]')" /></h3>
[% FOREACH cell IN line.cells %]
<p>[% cell.celvalue | html %]&nbsp;-&nbsp;[% FOREACH lib IN cell.libs %]
[% lib.lib | html %] &nbsp;
[% END %]
<input type="checkbox" name="[% cell.celvalue | html %]" value="[% cell.celvalue | html %]" />
</p>
[% END %]
[% END %]
[% END %]
</div>
[% END %]
</div>
</form>
<script>
//<![CDATA[
function Activate(numlayer)
{
for (var i=0; i <= 9 ; i++ ) {
var ong = i+"XX";
var link = "link"+i;
if (numlayer==i) {
with(document){
if (document.getElementById(ong)){
document.getElementById(ong).style.visibility="visible";
}
if(document.getElementById(link)){
document.getElementById(link).style.color="#000066";
document.getElementById(link).style.backgroundColor="#FFFFCC";
}
}
} else {
with(document){
if (document.getElementById(ong)){
document.getElementById(ong).style.visibility="hidden";
}
if (document.getElementById(link)) {
document.getElementById(link).style.color="#669999";
document.getElementById(link).style.backgroundColor="#D8DEB8";
}
}
}
}
}
function add_macles(myvalue)
{
var myinputs=document.getElementsByTagName("input");
var mycountMACLESgen=0;
var tab = new Array();
for (var i=0;i<myinputs.length;i++){
if (myinputs[i].checked) {
tab[mycountMACLESgen]=myinputs[i].value;
mycountMACLESgen++;
}
}
if (mycountMACLESgen==1){opener.document.f.[% index | html %].value = tab[0];
} else {
var mytags=opener.document.getElementsByTagName("input");
var index_string="[% index | html %]";
index_string=index_string.substr(0,index_string.lastIndexOf("_"));
index_string=index_string.substr(0,index_string.lastIndexOf("_"));
index_string=index_string+".*";
var mycountMACLESinit=0;
var indexmin=0;
var tab_ids_fields=new Array();
//Compter le nombre de MACLES present
for (i=0;i<mytags.length;i++){
if (mytags[i].name.match(index_string)){
if (mytags[i].value==myvalue) {
if (indexmin==0){
indexmin=i
}
}
tab_ids_fields[mycountMACLESinit]=mytags[i].getAttribute("id");
mycountMACLESinit++;
}
}
// Si Nombre de Macles <Nombre de cases cochees, ajouter le nombre de champ manquant
if (mycountMACLESinit < mycountMACLESgen){
//for (i=0;i< (mycountMACLESgen - mycountMACLESinit);i++){
// PluginAddField(myvalue);
//}
alert(_("veuillez d'abord creer le nombre de champs necessaires "));
} else {
// Pour chaque valeur cochee, ajouter la valeur dans un noeud MACLES.
for (i=0;i<tab.length;i++){
// Se positionner sur le prochain noeud MACLES
opener.document.f.elements[tab_ids_fields[i]].value = tab[i];
}
}
}
window.close();
return false;
}
function uncheck_tab(number)
{
var myinputs=document.getElementsByTagName("input");
var myRegEx=new RegExp(number+"..");
for(i=0;i<myinputs.length;i++){
if ((myinputs[i].name.search(myRegEx)>=0) && myinputs[i].checked == true) {
myinputs[i].checked = false;
}
}
}
function check_col(col)
{
var myref=document.getElementsByName(col);
var myinputs=document.getElementsByTagName("input");
var myRegEx=new RegExp(col);
for(i=0;i<myinputs.length;i++){
if (myinputs[i].name.search(myRegEx)>=0) {
if (myref[0].checked){
myinputs[i].checked = true;
} else {
myinputs[i].checked = false;
}
}
}
return false;
}
function check_multiple()
{
for(myi=0;myi<check_multiple.arguments.length;myi++){
var myinput=document.getElementsByName(""+check_multiple.arguments[myi]);
myinput[0].checked=true;
}
return false;
}
function check_row(row)
{
var myref=document.getElementsByName(row);
var myinputs=document.getElementsByTagName("input");
var myRegEx=new RegExp(row);
// alert myRegEx;
for(i=0;i<myinputs.length;i++){
if (myinputs[i].name.search(myRegEx)>=0){
if (myref[0].checked){
myinputs[i].checked = true;
} else {
myinputs[i].checked = false;
}
}
}
return false;
}
function load_macles()
{
document.forms.f_pop.reset;
var mystart="[% index | html %]";
mystart=mystart.substr(0,mystart.lastIndexOf("_"));
mystart=mystart.substr(0,mystart.lastIndexOf("_"));
mystart=mystart+".*";
var mytags=opener.document.getElementsByTagName("input");
for (i=0;i<mytags.length;i++){
if (mytags[i].name.match(mystart)){
var checkvalue=mytags[i].value;
var myinput=document.getElementsByName(checkvalue);
if (myinput.length>0){
myinput[0].checked=true;
}
}
}
return false;
}
//]]>
</script>
</body>
</html>