#!/usr/bin/perl
-#script to administer the systempref table
-#written 20/02/2002 by paul.poulain@free.fr
+# script to administer the systempref table
+# written 20/02/2002 by paul.poulain@free.fr
# This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
# Copyright 2000-2002 Katipo Communications
use C4::Auth;
use C4::Context;
use C4::Koha;
-use C4::Languages;
+use C4::Languages qw(getTranslatedLanguages);
use C4::ClassSource;
use C4::Output;
use C4::Context;
+# use Smart::Comments;
+
# FIXME, shouldnt we store this stuff in the systempreferences table?
# Acquisitions
$tabsysprefs{acquisitions}="Acquisitions";
$tabsysprefs{gist}="Acquisitions";
+ $tabsysprefs{emailPurchaseSuggestions}="Acquisitions";
+
# Admin
- $tabsysprefs{dateformat}="Admin";
+ $tabsysprefs{singleBranchMode}="Admin";
+ $tabsysprefs{staffClientBaseURL}="Admin";
+ $tabsysprefs{Version}="Admin";
+ $tabsysprefs{OpacMaintenance}="Admin";
+ $tabsysprefs{FrameworksLoaded}="Admin";
+ $tabsysprefs{libraryAddress}="Admin";
$tabsysprefs{delimiter}="Admin";
$tabsysprefs{IndependantBranches}="Admin";
$tabsysprefs{HomeOrHoldingBranch}="Admin";
$tabsysprefs{AutoLocation}="Admin";
$tabsysprefs{DebugLevel}="Admin";
$tabsysprefs{SessionStorage}="Admin";
+ $tabsysprefs{noItemTypeImages}="Admin";
+ $tabsysprefs{OPACBaseURL}="Admin";
# Authorities
$tabsysprefs{authoritysep}="Authorities";
$tabsysprefs{AuthDisplayHierarchy}="Authorities";
$tabsysprefs{dontmerge}="Authorities";
$tabsysprefs{BiblioAddsAuthorities}="Authorities";
-# Catalogue
- $tabsysprefs{advancedMARCEditor}="Catalogue";
- $tabsysprefs{autoBarcode}="Catalogue";
- $tabsysprefs{hide_marc}="Catalogue";
- $tabsysprefs{IntranetBiblioDefaultView} = "Catalogue";
- $tabsysprefs{ISBD}="Catalogue";
- $tabsysprefs{itemcallnumber}="Catalogue";
- $tabsysprefs{LabelMARCView}="Catalogue";
- $tabsysprefs{marc}="Catalogue";
- $tabsysprefs{marcflavour}="Catalogue";
- $tabsysprefs{serialsadditems}="Catalogue";
- $tabsysprefs{sortbynonfiling}="Catalogue";
- $tabsysprefs{MARCOrgCode}="Catalogue";
- $tabsysprefs{z3950AuthorAuthFields}="Catalogue";
- $tabsysprefs{z3950NormalizeAuthor}="Catalogue";
- $tabsysprefs{Stemming}="Catalogue";
- $tabsysprefs{WeightFields}="Catalogue";
- $tabsysprefs{expandedSearchOption}="Catalogue";
- $tabsysprefs{NoZebra}="Catalogue";
- $tabsysprefs{NoZebraIndexes}="Catalogue";
- $tabsysprefs{ReceiveBackIssues}="Catalogue";
- $tabsysprefs{DefaultClassificationSource}="Catalogue";
- $tabsysprefs{RoutingSerials}="Catalogue";
- $tabsysprefs{'item-level_itypes'}="Catalogue";
+# Cataloguing
+ $tabsysprefs{advancedMARCEditor}="Cataloguing";
+ $tabsysprefs{autoBarcode}="Cataloguing";
+ $tabsysprefs{hide_marc}="Cataloguing";
+ $tabsysprefs{IntranetBiblioDefaultView} = "Cataloguing";
+ $tabsysprefs{ISBD}="Cataloguing";
+ $tabsysprefs{itemcallnumber}="Cataloguing";
+ $tabsysprefs{LabelMARCView}="Cataloguing";
+ $tabsysprefs{marc}="Cataloguing";
+ $tabsysprefs{marcflavour}="Cataloguing";
+ $tabsysprefs{serialsadditems}="Cataloguing";
+ $tabsysprefs{MARCOrgCode}="Cataloguing";
+ $tabsysprefs{z3950AuthorAuthFields}="Cataloguing";
+ $tabsysprefs{z3950NormalizeAuthor}="Cataloguing";
+ $tabsysprefs{Stemming}="Cataloguing";
+ $tabsysprefs{WeightFields}="Cataloguing";
+ $tabsysprefs{NoZebra}="Cataloguing";
+ $tabsysprefs{NoZebraIndexes}="Cataloguing";
+ $tabsysprefs{ReceiveBackIssues}="Cataloguing";
+ $tabsysprefs{DefaultClassificationSource}="Cataloguing";
+ $tabsysprefs{RoutingSerials}="Cataloguing";
+ $tabsysprefs{'item-level_itypes'}="Cataloguing";
# Circulation
$tabsysprefs{maxoutstanding}="Circulation";
$tabsysprefs{ReservesNeedReturns}="Circulation";
$tabsysprefs{CircAutocompl}="Circulation";
$tabsysprefs{canreservefromotherbranches}="Circulation";
+ $tabsysprefs{finesMode}="Circulation";
+ $tabsysprefs{emailLibrarianWhenHoldIsPlaced}="Circulation";
+ $tabsysprefs{globalDueDate}="Circulation";
+ $tabsysprefs{holdCancelLength}="Circulation";
+ $tabsysprefs{itemBarcodeInputFilter}="Circulation";
+ $tabsysprefs{noOPACHolds}="Circulation";
+ $tabsysprefs{WebBasedSelfCheck}="Circulation";
+ $tabsysprefs{CircControl}="Circulation";
+ $tabsysprefs{finesCalendar}="Circulation";
+ $tabsysprefs{previousIssuesDefaultSortOrder}="Circulation";
+ $tabsysprefs{todaysIssuesDefaultSortOrder}="Circulation";
-# Intranet
- $tabsysprefs{TemplateEncoding}="Intranet";
- $tabsysprefs{template}="Intranet";
- $tabsysprefs{intranetstylesheet}="Intranet";
- $tabsysprefs{IntranetNav}="Intranet";
- $tabsysprefs{intranetcolorstylesheet}="Intranet";
- $tabsysprefs{intranetuserjs}="Intranet";
- $tabsysprefs{yuipath}="Intranet";
- $tabsysprefs{IntranetmainUserblock}="Intranet";
-
-# Members
- $tabsysprefs{automembernum}="Members";
- $tabsysprefs{checkdigit}="Members";
- $tabsysprefs{intranetreadinghistory}="Members";
- $tabsysprefs{NotifyBorrowerDeparture}="Members";
- $tabsysprefs{memberofinstitution}="Members";
- $tabsysprefs{ReadingHistory}="Members";
- $tabsysprefs{BorrowerMandatoryField}="Members";
- $tabsysprefs{borrowerRelationship}="Members";
- $tabsysprefs{BorrowersTitles}="Members";
- $tabsysprefs{patronimages}="Members";
- $tabsysprefs{MinPasswordLength}="Members";
- $tabsysprefs{uppercasesurnames}="Members";
- $tabsysprefs{NoReturnSetLost}="Members";
- $tabsysprefs{MaxFine}="Members";
- $tabsysprefs{NotifyBorrowerDeparture}="Members";
-# FRBA
- $tabsysprefs{FRBRizeEditions}="FRBR";
- $tabsysprefs{XISBN}="FRBR";
- $tabsysprefs{OCLCAffiliateID}="FRBR";
- $tabsysprefs{XISBNDailyLimit}="FRBR";
- $tabsysprefs{PINESISBN}="FRBR";
+# Staff Client
+ $tabsysprefs{TemplateEncoding}="StaffClient";
+ $tabsysprefs{template}="StaffClient";
+ $tabsysprefs{intranetstylesheet}="StaffClient";
+ $tabsysprefs{IntranetNav}="StaffClient";
+ $tabsysprefs{intranetcolorstylesheet}="StaffClient";
+ $tabsysprefs{intranetuserjs}="StaffClient";
+ $tabsysprefs{yuipath}="StaffClient";
+ $tabsysprefs{IntranetmainUserblock}="StaffClient";
+
+# Patrons
+ $tabsysprefs{automembernum}="Patrons";
+ $tabsysprefs{checkdigit}="Patrons";
+ $tabsysprefs{intranetreadinghistory}="Patrons";
+ $tabsysprefs{NotifyBorrowerDeparture}="Patrons";
+ $tabsysprefs{memberofinstitution}="Patrons";
+ $tabsysprefs{ReadingHistory}="Patrons";
+ $tabsysprefs{BorrowerMandatoryField}="Patrons";
+ $tabsysprefs{borrowerRelationship}="Patrons";
+ $tabsysprefs{BorrowersTitles}="Patrons";
+ $tabsysprefs{patronimages}="Patrons";
+ $tabsysprefs{MinPasswordLength}="Patrons";
+ $tabsysprefs{uppercasesurnames}="Patrons";
+ $tabsysprefs{NoReturnSetLost}="Patrons";
+ $tabsysprefs{MaxFine}="Patrons";
+ $tabsysprefs{NotifyBorrowerDeparture}="Patrons";
+
+# FRBR
+ $tabsysprefs{FRBRizeEditions}="FRBR";
+ $tabsysprefs{XISBN}="FRBR";
+ $tabsysprefs{OCLCAffiliateID}="FRBR";
+ $tabsysprefs{XISBNDailyLimit}="FRBR";
+ $tabsysprefs{PINESISBN}="FRBR";
$tabsysprefs{ThingISBN}="FRBR";
$tabsysprefs{OPACFRBRizeEditions}="FRBR";
$tabsysprefs{XISBNAmazonSimilarItems}="FRBR";
+# I18N/L10N
+ $tabsysprefs{dateformat}="I18N/L10N";
+ $tabsysprefs{opaclanguages}="I18N/L10N";
+ $tabsysprefs{opacthemes}="I18N/L10N";
+ $tabsysprefs{language}="I18N/L10N";
+
+# Searching
+ $tabsysprefs{defaultSortField}="Searching";
+ $tabsysprefs{defaultSortOrder}="Searching";
+ $tabsysprefs{maxItemsInSearchResults}="Searching";
+ $tabsysprefs{numSearchResults}="Searching";
+ $tabsysprefs{OPACdefaultSortField}="Searching";
+ $tabsysprefs{OPACdefaultSortOrder}="Searching";
+ $tabsysprefs{OPACItemsResultsDisplay}="Searching";
+ $tabsysprefs{OPACnumSearchResults}="Searching";
+ $tabsysprefs{QueryFuzzy}="Searching";
+ $tabsysprefs{QueryStemming}="Searching";
+ $tabsysprefs{QueryWeightFields}="Searching";
+ $tabsysprefs{expandedSearchOption}="Searching";
+ $tabsysprefs{sortbynonfiling}="Searching";
+ $tabsysprefs{QueryAutoTruncate}="Searching";
+ $tabsysprefs{QueryRemoveStopwords}="Searching";
+
# OPAC
$tabsysprefs{AmazonAssocTag}="OPAC";
$tabsysprefs{AmazonSimilarItems}="OPAC";
$tabsysprefs{LibraryName}="OPAC";
$tabsysprefs{opaccolorstylesheet}="OPAC";
$tabsysprefs{opaccredits}="OPAC";
- $tabsysprefs{opaclanguages}="OPAC";
$tabsysprefs{opaclargeimage}="OPAC";
$tabsysprefs{opaclayoutstylesheet}="OPAC";
$tabsysprefs{OpacNav}="OPAC";
$tabsysprefs{opacheader}="OPAC";
$tabsysprefs{OPACAmazonSimilarItems}="OPAC";
$tabsysprefs{OPACXISBNAmazonSimilarItems}="OPAC";
-
+
+ $tabsysprefs{hideBiblioNumber}="OPAC";
+ $tabsysprefs{noOPACUserLogin}="OPAC";
+ $tabsysprefs{OPACDisplayExtendedSubInfo}="OPAC";
+ $tabsysprefs{OpacMainUserBlock}="OPAC";
+ $tabsysprefs{OPACSubscriptionDisplay}="OPAC";
+ $tabsysprefs{OPACURLOpenInNewWindow}="OPAC";
+ $tabsysprefs{OPACUserCSS}="OPAC";
+ $tabsysprefs{OPACViewOthersSuggestions}="OPAC";
+ $tabsysprefs{URLLinkText}="OPAC";
+
# OPACFeatures
- $tabsysprefs{SearchMyLibraryFirst}="OPACFeatures";
+ $tabsysprefs{SearchMyLibraryFirst}="OPACFeatures";
$tabsysprefs{Disable_Dictionary}="OPACFeatures";
$tabsysprefs{hidelostitems}="OPACFeatures";
$tabsysprefs{opacbookbag}="OPACFeatures";
my $count=@data;
my @results;
my $cnt=0;
- if ($type){
- foreach my $syspref (sort keys %tabsysprefs){
+
+ # used for doing a plain-old sys-pref search
+ if ($type eq 'all' ){
+ my $sth=$dbh->prepare("SELECT * FROM systempreferences
+ WHERE variable LIKE ? OR explanation LIKE ?
+ ORDER BY VARIABLE");
+ $sth->execute("%$searchstring%", "%$searchstring%");
+ while (my $data=$sth->fetchrow_hashref){
+ $data->{value} =~ s/</</g;
+ $data->{value} =~ s/>/>/g;
+ $data->{value}=substr($data->{value},0,100)."..." if length($data->{value}) >100;
+ push(@results,$data);
+ $cnt++;
+ }
+ $sth->finish;
+
+ } elsif ($type){
+ foreach my $syspref (sort { lc $a cmp lc $b } keys %tabsysprefs){
if ($tabsysprefs{$syspref} eq $type){
my $sth=$dbh->prepare("Select variable,value,explanation,type,options from systempreferences where (variable like ?) order by variable");
$sth->execute($syspref);
$data=$sth->fetchrow_hashref;
$sth->finish;
$template->param(modify => 1);
+ # save tab to return to if user cancels edit
+ $template->param(return_tab => $tabsysprefs{$searchfield});
}
my @options;
$currently_selected_languages->{$language}=1;
$counter++;
}
- my $langavail = getTranslatedLanguages();
+ my $langavail = getTranslatedLanguages();
foreach my $language (@$langavail) {
my $selected='0';
next if $currently_selected_languages->{$language->{'language_code'}};
- #FIXME: could add language_name and language_locale_name for better display
+ #FIXME: could add language_name and language_locale_name for better display
push @options, { option => $language->{'language_code'}, counter => $counter };
$counter++;
}
my $sth=$dbh->prepare("delete from systempreferences where variable=?");
$sth->execute($searchfield);
$sth->finish;
+
# END $OP eq DELETE_CONFIRMED
################## DEFAULT ##################################
} else { # DEFAULT
#Adding tab management for system preferences
my $tab=$input->param('tab');
-
+ $template->param($tab => 1);
my ($count,$results)=StringSearch($searchfield,$tab);
my $toggle=0;
my @loop_data = ();
my %row_data; # get a fresh hash for the row data
$row_data{variable} = $results->[$i]{'variable'};
$row_data{value} = $results->[$i]{'value'};
- $row_data{yes} = 1 if ($results->[$i]{'value'} == 1);
- $row_data{yesno} = 1 if ($results->[$i]{'type'} eq 'YesNo');
+ $row_data{yes} = 1 if ($results->[$i]{'value'} == 1);
+ $row_data{yesno} = 1 if ($results->[$i]{'type'} eq 'YesNo');
$row_data{explanation} = $results->[$i]{'explanation'};
$row_data{toggle} = $toggle;
$row_data{edit} = "$script_name?op=add_form&searchfield=".$results->[$i]{'variable'};
$row_data{delete} = "$script_name?op=delete_confirm&searchfield=".$results->[$i]{'variable'};
push(@loop_data, \%row_data);
}
- $tab=($tab?$tab:"Others");
+ $tab=($tab?$tab:"Local Use");
$template->param(loop => \@loop_data, $tab => 1);
if ($offset>0) {
my $prevpage = $offset-$pagesize;