use C4::Auth;
use C4::Context;
use C4::Koha;
-use C4::Languages;
+use C4::Languages qw(getTranslatedLanguages);
use C4::ClassSource;
+use C4::Log;
use C4::Output;
-use C4::Context;
# use Smart::Comments;
# FIXME, shouldnt we store this stuff in the systempreferences table?
+# FIXME: This uses hash in a backwards way. What we really want is:
+# $tabsysprefs{key} = $array_ref;
+# like
+# $tabsysprefs{Cataloguing} = [qw(autoBarcode ISBD marc ...)];
+#
+# Because some things *should* be on more than one tab.
+# And the tabname is the unique part (the key).
+
my %tabsysprefs;
# Acquisitions
$tabsysprefs{acquisitions}="Acquisitions";
$tabsysprefs{OpacMaintenance}="Admin";
$tabsysprefs{FrameworksLoaded}="Admin";
$tabsysprefs{libraryAddress}="Admin";
- $tabsysprefs{dateformat}="Admin";
$tabsysprefs{delimiter}="Admin";
$tabsysprefs{IndependantBranches}="Admin";
- $tabsysprefs{HomeOrHoldingBranch}="Admin";
$tabsysprefs{insecure}="Admin";
$tabsysprefs{KohaAdmin}="Admin";
$tabsysprefs{KohaAdminEmailAddress}="Admin";
$tabsysprefs{DebugLevel}="Admin";
$tabsysprefs{SessionStorage}="Admin";
$tabsysprefs{noItemTypeImages}="Admin";
+ $tabsysprefs{OPACBaseURL}="Admin";
+ $tabsysprefs{GranularPermissions}="Admin";
# Authorities
$tabsysprefs{authoritysep}="Authorities";
$tabsysprefs{LabelMARCView}="Cataloguing";
$tabsysprefs{marc}="Cataloguing";
$tabsysprefs{marcflavour}="Cataloguing";
- $tabsysprefs{serialsadditems}="Cataloguing";
$tabsysprefs{MARCOrgCode}="Cataloguing";
$tabsysprefs{z3950AuthorAuthFields}="Cataloguing";
$tabsysprefs{z3950NormalizeAuthor}="Cataloguing";
$tabsysprefs{finesCalendar}="Circulation";
$tabsysprefs{previousIssuesDefaultSortOrder}="Circulation";
$tabsysprefs{todaysIssuesDefaultSortOrder}="Circulation";
+ $tabsysprefs{HomeOrHoldingBranch}="Circulation";
# Staff Client
$tabsysprefs{TemplateEncoding}="StaffClient";
$tabsysprefs{IntranetmainUserblock}="StaffClient";
# Patrons
- $tabsysprefs{automembernum}="Patrons";
+ $tabsysprefs{autoMemberNum}="Patrons";
$tabsysprefs{checkdigit}="Patrons";
$tabsysprefs{intranetreadinghistory}="Patrons";
$tabsysprefs{NotifyBorrowerDeparture}="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";
+ $tabsysprefs{PatronsPerPage}="Patrons";
# I18N/L10N
$tabsysprefs{dateformat}="I18N/L10N";
$tabsysprefs{opaclanguages}="I18N/L10N";
$tabsysprefs{opacthemes}="I18N/L10N";
+ $tabsysprefs{language}="I18N/L10N";
# Searching
$tabsysprefs{defaultSortField}="Searching";
$tabsysprefs{QueryWeightFields}="Searching";
$tabsysprefs{expandedSearchOption}="Searching";
$tabsysprefs{sortbynonfiling}="Searching";
-
+ $tabsysprefs{QueryAutoTruncate}="Searching";
+ $tabsysprefs{QueryRemoveStopwords}="Searching";
+
+# EnhancedContent
+ $tabsysprefs{AmazonContent}="EnhancedContent";
+ $tabsysprefs{AWSAccessKeyID}="EnhancedContent";
+ $tabsysprefs{AmazonLocale}="EnhancedContent";
+ $tabsysprefs{AmazonAssocTag}="EnhancedContent";
+ $tabsysprefs{AmazonSimilarItems}="EnhancedContent";
+ $tabsysprefs{OPACAmazonContent}="EnhancedContent";
+ $tabsysprefs{OPACAmazonSimilarItems}="EnhancedContent";
+# Baker & Taylor
+ $tabsysprefs{BakerTaylorBookstoreURL} = 'EnhancedContent';
+ $tabsysprefs{BakerTaylorEnabled} = 'EnhancedContent';
+ $tabsysprefs{BakerTaylorPassword} = 'EnhancedContent';
+ $tabsysprefs{BakerTaylorUsername} = 'EnhancedContent';
+# FRBR
+ $tabsysprefs{FRBRizeEditions}="EnhancedContent";
+ $tabsysprefs{XISBN}="EnhancedContent";
+ $tabsysprefs{OCLCAffiliateID}="EnhancedContent";
+ $tabsysprefs{XISBNDailyLimit}="EnhancedContent";
+ $tabsysprefs{PINESISBN}="EnhancedContent";
+ $tabsysprefs{ThingISBN}="EnhancedContent";
+ $tabsysprefs{OPACFRBRizeEditions}="EnhancedContent";
+# Tags
+ $tabsysprefs{TagsEnabled} = 'EnhancedContent';
+ $tabsysprefs{TagsExternalDictionary} = 'EnhancedContent';
+ $tabsysprefs{TagsInputOnDetail} = 'EnhancedContent';
+ $tabsysprefs{TagsInputOnList} = 'EnhancedContent';
+ $tabsysprefs{TagsShowOnDetail} = 'EnhancedContent';
+ $tabsysprefs{TagsShowOnList} = 'EnhancedContent';
+ $tabsysprefs{TagsModeration} = 'EnhancedContent';
+ $tabsysprefs{GoogleJackets} = 'EnhancedContent';
# OPAC
- $tabsysprefs{AmazonAssocTag}="OPAC";
- $tabsysprefs{AmazonSimilarItems}="OPAC";
- $tabsysprefs{AmazonContent}="OPAC";
- $tabsysprefs{OPACAmazonContent}="OPAC";
- $tabsysprefs{AmazonDevKey}="OPAC";
$tabsysprefs{BiblioDefaultView}="OPAC";
$tabsysprefs{LibraryName}="OPAC";
$tabsysprefs{opaccolorstylesheet}="OPAC";
$tabsysprefs{opacuserjs}="OPAC";
$tabsysprefs{SubscriptionHistory}="OPAC";
$tabsysprefs{opacheader}="OPAC";
- $tabsysprefs{OPACAmazonSimilarItems}="OPAC";
- $tabsysprefs{OPACXISBNAmazonSimilarItems}="OPAC";
$tabsysprefs{hideBiblioNumber}="OPAC";
$tabsysprefs{noOPACUserLogin}="OPAC";
$tabsysprefs{OPACSubscriptionDisplay}="OPAC";
$tabsysprefs{OPACURLOpenInNewWindow}="OPAC";
$tabsysprefs{OPACUserCSS}="OPAC";
+ $tabsysprefs{OPACHighlightedWords}="OPAC";
$tabsysprefs{OPACViewOthersSuggestions}="OPAC";
$tabsysprefs{URLLinkText}="OPAC";
+ $tabsysprefs{OPACShelfBrowser}="OPAC";
-# OPACFeatures
- $tabsysprefs{SearchMyLibraryFirst}="OPACFeatures";
- $tabsysprefs{Disable_Dictionary}="OPACFeatures";
- $tabsysprefs{hidelostitems}="OPACFeatures";
- $tabsysprefs{opacbookbag}="OPACFeatures";
- $tabsysprefs{opaclanguagesdisplay}="OPACFeatures";
- $tabsysprefs{OpacPasswordChange}="OPACFeatures";
- $tabsysprefs{opacreadinghistory}="OPACFeatures";
- $tabsysprefs{virtualshelves}="OPACFeatures";
- $tabsysprefs{RequestOnOpac}="OPACFeatures";
- $tabsysprefs{reviewson}="OPACFeatures";
- $tabsysprefs{OpacTopissues}="OPACFeatures";
- $tabsysprefs{OpacAuthorities}="OPACFeatures";
- $tabsysprefs{OpacCloud}="OPACFeatures";
- $tabsysprefs{opacuserlogin}="OPACFeatures";
- $tabsysprefs{AnonSuggestions}="OPACFeatures";
- $tabsysprefs{suggestion}="OPACFeatures";
- $tabsysprefs{OpacTopissue}="OPACFeatures";
- $tabsysprefs{OpacBrowser}="OPACFeatures";
- $tabsysprefs{kohaspsuggest} = "OPACFeatures";
+# OPAC
+ $tabsysprefs{SearchMyLibraryFirst}="OPAC";
+ $tabsysprefs{Disable_Dictionary}="OPAC";
+ $tabsysprefs{hidelostitems}="OPAC";
+ $tabsysprefs{opacbookbag}="OPAC";
+ $tabsysprefs{opaclanguagesdisplay}="OPAC";
+ $tabsysprefs{OpacPasswordChange}="OPAC";
+ $tabsysprefs{opacreadinghistory}="OPAC";
+ $tabsysprefs{virtualshelves}="OPAC";
+ $tabsysprefs{RequestOnOpac}="OPAC";
+ $tabsysprefs{reviewson}="OPAC";
+ $tabsysprefs{OpacTopissues}="OPAC";
+ $tabsysprefs{OpacAuthorities}="OPAC";
+ $tabsysprefs{OpacCloud}="OPAC";
+ $tabsysprefs{opacuserlogin}="OPAC";
+ $tabsysprefs{AnonSuggestions}="OPAC";
+ $tabsysprefs{suggestion}="OPAC";
+ $tabsysprefs{OpacTopissue}="OPAC";
+ $tabsysprefs{OpacBrowser}="OPAC";
+ $tabsysprefs{kohaspsuggest} = "OPAC";
+ $tabsysprefs{OpacRenewalAllowed} = "OPAC";
# LOGFeatures
- $tabsysprefs{CataloguingLog} = "LOGFeatures";
- $tabsysprefs{BorrowersLog} = "LOGFeatures";
- $tabsysprefs{SubscriptionLog} = "LOGFeatures";
- $tabsysprefs{IssueLog} = "LOGFeatures";
- $tabsysprefs{ReturnLog} = "LOGFeatures";
- $tabsysprefs{LetterLog} = "LOGFeatures";
- $tabsysprefs{FinesLog} = "LOGFeatures";
+ $tabsysprefs{CataloguingLog} = "Logs";
+ $tabsysprefs{BorrowersLog} = "Logs";
+ $tabsysprefs{SubscriptionLog} = "Logs";
+ $tabsysprefs{IssueLog} = "Logs";
+ $tabsysprefs{ReturnLog} = "Logs";
+ $tabsysprefs{LetterLog} = "Logs";
+ $tabsysprefs{FinesLog} = "Logs";
+# OAI-PMH variables
+ $tabsysprefs{'OAI-PMH'} = "OAI-PMH";
+ $tabsysprefs{'OAI-PMH:archiveID'} = "OAI-PMH";
+ $tabsysprefs{'OAI-PMH:MaxCount'} = "OAI-PMH";
+ $tabsysprefs{'OAI-PMH:Set'} = "OAI-PMH";
+ $tabsysprefs{'OAI-PMH:Subset'} = "OAI-PMH";
+
sub StringSearch {
my ($searchstring,$type)=@_;
my $dbh = C4::Context->dbh;
}
my $input = new CGI;
-my $searchfield=$input->param('searchfield');
-my $offset=$input->param('offset');
+my $searchfield = $input->param('searchfield');
+my $Tvalue = $input->param('Tvalue');
+my $offset = $input->param('offset');
my $script_name="/cgi-bin/koha/admin/systempreferences.pl";
my ($template, $borrowernumber, $cookie)
my $sth=$dbh->prepare("update systempreferences set value=?,explanation=?,type=?,options=? where variable=?");
$sth->execute($value, $input->param('explanation'), $input->param('variable'), $input->param('preftype'), $input->param('prefoptions'));
$sth->finish;
+ warn "logaction !! mod ";
+ logaction('SYSTEMPREFERENCE','MODIFY',undef, $input->param('variable') . " | " . $value );
}
} else {
unless (C4::Context->config('demo') eq 1) {
my $sth=$dbh->prepare("insert into systempreferences (variable,value,explanation) values (?,?,?,?,?)");
$sth->execute($input->param('variable'), $input->param('value'), $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'));
$sth->finish;
+ warn "logaction !! add ";
+ logaction('SYSTEMPREFERENCE','ADD',undef, $input->param('variable') . " | " . $input->param('value') );
}
}
$sth->finish;
$counter++;
}
} elsif ($data->{'type'} eq 'Languages') {
- $template->param('type-choice' => 1);
- my $type='';
- @options=();
- my $currently_selected_languages;
- my $counter=0;
+ my $currently_selected_languages;
foreach my $language (split /\s+/, $data->{'value'}) {
- next if $language eq 'images';
- push @options, { option => $language, counter => $counter };
$currently_selected_languages->{$language}=1;
- $counter++;
- }
- 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
- push @options, { option => $language->{'language_code'}, counter => $counter };
- $counter++;
}
+ # current language
+ my $lang = $template->param('lang');
+ my $theme;
+ my $interface;
+ if ($data->{'variable'} =~ /opac/) {
+ # this is the OPAC
+ $interface = 'opac';
+ $theme = C4::Context->preference('opacthemes');
+ }
+ else {
+ # this is the staff client
+ $interface = 'intranet';
+ $theme = C4::Context->preference('template');
+ }
+ my $languages_loop = getTranslatedLanguages($interface,$theme,$lang,$currently_selected_languages);
+
+ $template->param('languages_loop' => $languages_loop);
+ $template->param('type-langselector' => 1);
} else {
$template->param('type-free' => 1);
$template->param('fieldlength' => $data->{'options'}>0?$data->{'options'}:60);
my $dbh = C4::Context->dbh;
my $sth=$dbh->prepare("select * from systempreferences where variable=?");
$sth->execute($input->param('variable'));
+ # to handle multiple values
+ my $value;
+ # handle multiple value strings (separated by ',')
+ my $params = $input->Vars;
+ my @values = split("\0",$params->{'value'}) if $params->{'value'};
+ for my $vl (@values) {
+ $value .= "$vl,";
+ }
+ $value =~ s/,$//;
if ($sth->rows) {
unless (C4::Context->config('demo') eq 1) {
my $sth=$dbh->prepare("update systempreferences set value=?,explanation=?,type=?,options=? where variable=?");
- $sth->execute($input->param('value'), $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'), $input->param('variable'));
+ $sth->execute($value, $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'), $input->param('variable'));
$sth->finish;
+ logaction('SYSTEMPREFERENCE','MODIFY',undef, $input->param('variable') . " | " . $value );
}
} else {
unless (C4::Context->config('demo') eq 1) {
my $sth=$dbh->prepare("insert into systempreferences (variable,value,explanation,type,options) values (?,?,?,?,?)");
- $sth->execute($input->param('variable'), $input->param('value'), $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'));
+ $sth->execute($input->param('variable'), $value, $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'));
$sth->finish;
+ logaction('SYSTEMPREFERENCE','ADD',undef, $input->param('variable') . " | " . $value );
}
}
$sth->finish;
my $dbh = C4::Context->dbh;
my $sth=$dbh->prepare("delete from systempreferences where variable=?");
$sth->execute($searchfield);
+ my $logstring = $searchfield . " | " . $Tvalue ;
+ logaction('SYSTEMPREFERENCE','DELETE',undef,$logstring);
$sth->finish;
# END $OP eq DELETE_CONFIRMED
$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;