use LWP::UserAgent;
use JSON;
+use Koha::Libraries;
+
=head1 NAME
C4::UsageStats
}
sub BuildReport {
- my $report = {
- library => {
- id => C4::Context->preference('UsageStatsID') || 0,
- name => C4::Context->preference('UsageStatsLibraryName') || q||,
- url => C4::Context->preference('UsageStatsLibraryUrl') || q||,
- type => C4::Context->preference('UsageStatsLibraryType') || q||,
- country => C4::Context->preference('UsageStatsCountry') || q||,
+ my $report;
+ my @libraries;
+ if( C4::Context->preference('UsageStatsLibrariesInfo') ) {
+ my $libraries = Koha::Libraries->search;
+ while ( my $library = $libraries->next ) {
+ push @libraries, { name => $library->branchname, url => $library->branchurl, country => $library->branchcountry, geolocation => $library->geolocation, };
+ }
+ }
+ $report = {
+ installation => {
+ koha_id => C4::Context->preference('UsageStatsID') || 0,
+ name => C4::Context->preference('UsageStatsLibraryName') || q||,
+ url => C4::Context->preference('UsageStatsLibraryUrl') || q||,
+ type => C4::Context->preference('UsageStatsLibraryType') || q||,
+ country => C4::Context->preference('UsageStatsCountry') || q||,
+ geolocation => C4::Context->preference('UsageStatsGeolocation') || q||,
},
+ libraries => \@libraries,
};
# Get database volumetry.
DebugLevel
delimiter
noItemTypeImages
+ OpacNoItemTypeImages
virtualshelves
AutoLocation
IndependentBranches
AuthDisplayHierarchy
AutoCreateAuthorities
BiblioAddsAuthorities
- dontmerge
+ AuthorityMergeLimit
+ AuthorityMergeMode
UseAuthoritiesForTracings
CatalogModuleRelink
hide_marc
z3950NormalizeAuthor
SpineLabelAutoPrint
SpineLabelShowPrintOnBibDetails
+ BlockReturnOfLostItems
BlockReturnOfWithdrawnItems
CalculateFinesOnReturn
AgeRestrictionOverride
AllFinesNeedOverride
AllowFineOverride
- AllowItemsOnHoldCheckout
+ AllowItemsOnHoldCheckoutSIP
+ AllowItemsOnHoldCheckoutSCO
AllowNotForLoanOverride
AllowRenewalLimitOverride
AllowReturnToBranch
AutoRemoveOverduesRestrictions
CircControl
HomeOrHoldingBranch
- InProcessingToShelvingCart
IssueLostItem
IssuingInProcess
ManInvInNoissuesCharge
RenewalSendNotice
RentalsInNoissuesCharge
ReturnBeforeExpiry
- ReturnToShelvingCart
TransfersMaxDaysWarning
UseBranchTransferLimits
- useDaysMode
UseTransportCostMatrix
UseCourseReserves
finesCalendar
FinesIncludeGracePeriod
finesMode
- RefundLostItemFeeOnReturn
+ RefundLostOnReturnControl
WhenLostChargeReplacementFee
WhenLostForgiveFine
AllowHoldDateInFuture
TransferWhenCancelAllWaitingHolds
AllowAllMessageDeletion
AllowOfflineCirculation
- CircAutocompl
+ PatronAutoComplete
CircAutoPrintQuickSlip
DisplayClearScreenButton
FilterBeforeOverdueReport
UpdateTotalIssuesOnCirc
UseTablesortForCirc
WaitingNotifyAtCheckin
- AllowSelfCheckReturns
+ SCOAllowCheckin
AutoSelfCheckAllowed
FRBRizeEditions
OPACFRBRizeEditions
BakerTaylorEnabled
GoogleJackets
HTML5MediaEnabled
- IDreamBooksReadometer
- IDreamBooksResults
- IDreamBooksReviews
LibraryThingForLibrariesEnabled
LocalCoverImages
OPACLocalCoverImages
NovelistSelectEnabled
- XISBN
OpenLibraryCovers
- UseKohaPlugins
+ OpenLibrarySearch
SyndeticsEnabled
TagsEnabled
CalendarFirstDayOfWeek
LetterLog
ReturnLog
SubscriptionLog
- AuthorisedValueImages
BiblioDefaultView
COinSinOPACResults
DisplayOPACiconsXSLT
OpacMaintenance
OpacPublic
OpacSeparateHoldings
- OPACShowBarcode
OPACShowCheckoutName
OpacShowFiltersPulldownMobile
OPACShowHoldQueueDetails
- OpacShowLibrariesPulldownMobile
OpacShowRecentComments
OPACShowUnusedAuthorities
OpacStarRatings
OpacRenewalBranch
OPACViewOthersSuggestions
SearchMyLibraryFirst
- singleBranchMode
AnonSuggestions
EnableOpacSearchHistory
OPACPrivacy
AutoEmailPrimaryAddress
autoMemberNum
BorrowerRenewalPeriodBase
- checkdigit
EnableBorrowerFiles
EnhancedMessagingPreferences
ExtendedPatronAttributes
intranetreadinghistory
- memberofinstitution
patronimages
TalkingTechItivaPhoneNotification
uppercasesurnames
TraceCompleteSubfields
TraceSubjectSubdivisions
UseICU
- UseQueryParser
defaultSortField
displayFacetCount
OPACdefaultSortField
SubscriptionHistory
Display856uAsImage
DisplayIconsXSLT
- StaffAuthorisedValueImages
template
yuipath
HidePatronName
my $data = shift;
my $json = encode_json($data);
- my $url = "http://hea.koha-community.org/upload.pl";
+ my $url = "https://hea.koha-community.org/upload.pl";
my $ua = LWP::UserAgent->new;
my $res = $ua->post(
$url,
Content => $json,
);
my $content = decode_json( $res->decoded_content );
- C4::Context->set_preference( 'UsageStatsID',
- $content->{library}{id} );
+ if ( $content->{koha_id} ) {
+ C4::Context->set_preference( 'UsageStatsID', $content->{koha_id} );
+ }
+ if ( $content->{id} ) {
+ C4::Context->set_preference( 'UsageStatsPublicID', $content->{id} );
+ }
}
=head2 _count