Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/usage_statistics.tt
Jonathan Druart 5825026448 Bug 21526: uri escape TT variables when used in 'a href'
This patch has been generated with the script provided on bug 21576.
It only affects variable used in the href attribute of a link *when*
href it the first attribute of the node (grep "a href")

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2018-10-26 17:09:57 +00:00

352 lines
18 KiB
Text

[% USE raw %]
[% USE Asset %]
[% SET footerjs = 1 %]
[% USE Koha %]
[% USE KohaDates %]
[% USE Price %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Koha usage statistics</title>
[% INCLUDE 'doc-head-close.inc' %]
[% Asset.css("lib/leaflet/leaflet.css") | $raw %]
</head>
<body id="admin_usage_statistics" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; Usage statistics</div>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% FOR m IN messages %]
<div class="dialog [% m.type | html %]">
[% SWITCH m.code %]
[% CASE 'error_on_update' %]
An error occurred when updating this patron category. Perhaps it already exists.
[% CASE 'error_on_insert' %]
An error occurred when inserting this patron category. The patron category might already exist.
[% CASE 'error_on_delete' %]
An error occurred when deleting this patron category. Check the logs.
[% CASE 'success_on_update' %]
Patron category updated successfully.
[% CASE 'success_on_insert' %]
Patron category inserted successfully.
[% CASE 'success_on_delete' %]
Patron category deleted successfully.
[% CASE 'already_exists' %]
This patron category already exists.
[% CASE %]
[% m.code | html %]
[% END %]
</div>
[% END %]
[% IF NOT Koha.Preference('UsageStats') %]
<div class="dialog message">You are not sharing any data with the Koha community</div>
[% END %]
<form id="category_form" action="/cgi-bin/koha/admin/usage_statistics.pl" method="post">
<h1>Modify the statistics you share with the Koha community</h1>
<div class="row">
<div class="col-xs-12 col-sm-6">
<fieldset class="rows">
<ol>
<li>
<label for="UsageStats">Share my Koha usage statistics: </label>
<select name="UsageStats" id="UsageStats">
[% IF Koha.Preference('UsageStats') %]
<option value="1" selected="selected">Yes</option>
<option value="0">No</option>
[% ELSE %]
<option value="1">Yes</option>
<option value="0" selected="selected">No</option>
[% END %]
</select>
</li>
<li>
<label for="UsageStatsCountry">Your country: </label>
[% SET UsageStatsCountry = Koha.Preference('UsageStatsCountry') %]
[% SET IsUsageStatsCountryValid = 0 %]
[% IF NOT UsageStatsCountry %]
[% SET IsUsageStatsCountryValid = 1 %]
[% END %]
[% PROCESS 'country-list.inc' %]
<select name="UsageStatsCountry" id="UsageStatsCountry">
<option value="">&nbsp;</option>
[% FOR country IN countries %]
[% IF country == UsageStatsCountry %]
<option value="[% country | html %]" selected="selected">[% country | html %]</option>
[% SET IsUsageStatsCountryValid = 1 %]
[% ELSE %]
<option value="[% country | html %]">[% country | html %]</option>
[% END %]
[% END %]
</select>
[% UNLESS IsUsageStatsCountryValid %]
Note: The value of your system preference 'UsageStatsCountry' is not valid ([% UsageStatsCountry | html %]).
Please select a valid one.
[% END %]
</li>
<li>
<label for="UsageStatsLibraryName">Library name: </label>
<input type="text" value="[% Koha.Preference('UsageStatsLibraryName') | html %]" name="UsageStatsLibraryName" id="UsageStatsLibraryName" />
</li>
<li>
<label for="UsageStatsLibraryType">Library type: </label>
[% SET UsageStatsLibraryType = Koha.Preference('UsageStatsLibraryType') %]
<select name="UsageStatsLibraryType" id="UsageStatsLibraryType">
<option value="">&nbsp;</option>
[% IF UsageStatsLibraryType == 'public' %]
<option value="public" selected="selected">Public</option>
[% ELSE %]
<option value="public">Public</option>
[% END %]
[% IF UsageStatsLibraryType == 'school' %]
<option value="school" selected="selected">School</option>
[% ELSE %]
<option value="school">School</option>
[% END %]
[% IF UsageStatsLibraryType == 'academic' %]
<option value="academic" selected="selected">Academic</option>
[% ELSE %]
<option value="academic">Academic</option>
[% END %]
[% IF UsageStatsLibraryType == 'research' %]
<option value="research" selected="selected">Research</option>
[% ELSE %]
<option value="research">Research</option>
[% END %]
[% IF UsageStatsLibraryType == 'private' %]
<option value="private" selected="selected">Private</option>
[% ELSE %]
<option value="private">Private</option>
[% END %]
[% IF UsageStatsLibraryType == 'societyAssociation' %]
<option value="societyAssociation" selected="selected">Society or association</option>
[% ELSE %]
<option value="societyAssociation">Society or association</option>
[% END %]
[% IF UsageStatsLibraryType == 'corporate' %]
<option value="corporate" selected="selected">Corporate</option>
[% ELSE %]
<option value="corporate">Corporate</option>
[% END %]
[% IF UsageStatsLibraryType == 'government' %]
<option value="government" selected="selected">Government</option>
[% ELSE %]
<option value="government">Government</option>
[% END %]
[% IF UsageStatsLibraryType == 'religiousOrg' %]
<option value="religiousOrg" selected="selected">Religious organization</option>
[% ELSE %]
<option value="religiousOrg">Religious organization</option>
[% END %]
[% IF UsageStatsLibraryType == 'subscription' %]
<option value="subscription" selected="selected">Subscription</option>
[% ELSE %]
<option value="subscription">Subscription</option>
[% END %]
</select>
</li>
<li>
<label for="UsageStatsLibraryUrl">Library URL: </label>
<input type="text" name="UsageStatsLibraryUrl" value="[% Koha.Preference('UsageStatsLibraryUrl') | html %]" id="UsageStatsLibraryUrl" />
</li>
<li>
<span class="label">Last update: </span>
[% IF UsageStatsLastUpdateTime %]
[% UsageStatsLastUpdateTime | html %]
[% ELSE %]
Your data have never been shared
[% END %]
</li>
<li>
<label for="UsageStatsGeolocation">Geolocation: </label>
<input id="UsageStatsGeolocation" name="UsageStatsGeolocation" value="[% Koha.Preference('UsageStatsGeolocation') | html %]" type="text" value="[% Koha.Preference('UsageStatsLibrariesInfo') | html %]" size="35" readonly="readonly" />
<a href="#" class="change_geolocation" data-branchname="" data-id="UsageStatsGeolocation"><img src="[% interface | html %]/lib/leaflet/images/marker-icon.png" title="Set geolocation" style="max-height: 2em;" /></a>
</li>
<li>
<label for="UsageStatsLibrariesInfo">Libraries informations: </label>
<select name="UsageStatsLibrariesInfo" id="UsageStatsLibrariesInfo">
[% IF Koha.Preference('UsageStatsLibrariesInfo') %]
<option value="1" selected="selected">Yes</option>
<option value="0">No</option>
[% ELSE %]
<option value="1">Yes</option>
<option value="0" selected="selected">No</option>
[% END %]
</select>
</li>
<li id="libraries_info">
<fieldset class="rows">
<legend>Libraries</legend>
<ol>
[% FOR l IN libraries %]
<li>
<label for="[% l.branchcode | html %]">[% l.branchname | html %]: </label>
<div style="float:left;">
<div>Country: [% l.branchcountry | html %]</div>
<div>Url: [% l.branchurl | html %]</div>
<div>
Geolocation: <input type="text" id="geolocation_[% l.branchcode | html %]" name="geolocation_[% l.branchcode | html %]" value="[% l.geolocation | html %]" size="35" readonly="readonly" />
<a href="#" class="change_geolocation" data-branchname="[% l.branchname | html %]" data-id="geolocation_[% l.branchcode | html %]"><img src="[% interface | html %]/lib/leaflet/images/marker-icon.png" title="Set geolocation for [% l.branchname | html %]" style="max-height: 2em;" /></a>
</div>
</div>
</li>
[% END %]
</ol>
</fieldset>
</li>
<li>
<label for="MyPublicLink">See your public page: </label>
[% IF Koha.Preference('UsageStatsPublicID') %]
[% SET my_url = 'https://hea.koha-community.org/libraries/' _ Koha.Preference('UsageStatsPublicID') %]
<a href="[% my_url | uri %]">[% my_url | html %]</a>
[% ELSE %]
You do not have anything public yet.
[% END %]
</li>
</ol>
</fieldset>
</div>
<div class="col-xs-12 col-sm-6">
<div>
<div id="mapid" style="width:100%;height: 400px;"></div>
</div>
</div>
</div>
<fieldset class="action">
<input type="hidden" name="op" value="update" />
<input type="submit" value="Update your statistics usage" />
<a class="cancel" href="/cgi-bin/koha/admin/usage_statistics.pl">Cancel</a>
</fieldset>
</form>
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'admin-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'calendar.inc' %]
[% Asset.js("js/admin-menu.js") | $raw %]
[% Asset.js("/lib/leaflet/leaflet.js") | $raw %]
<script>
function positionMap() {
var tbh = $("#mapid");
var mapContainer = tbh.parent();
mapContainer.css('position', 'relative');
mapContainer.css('min-height', tbh.outerHeight(true));
tbh.css('position', 'absolute');
tbh.css('right', 0);
var offsetTop = mapContainer.offset().top;
var s = parseInt($(window).scrollTop(), 10);
tbh.css('top', '').css('bottom', '');
if (s > offsetTop) {
var mapContainerOffsetBottom = offsetTop + mapContainer.innerHeight();
if (s + tbh.outerHeight(true) > mapContainerOffsetBottom) {
tbh.css('bottom', 0);
} else {
tbh.css('top', s - offsetTop);
}
} else {
tbh.css('top', 0);
}
}
$(document).ready(function() {
$(window).scroll(positionMap);
positionMap();
});
var map = L.map('mapid').setView([0,0], 1);
L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
}).addTo(map);
var default_elt = { 'text': _("Main library"), 'id': 'UsageStatsGeolocation' };
var current_elt = default_elt;
// Add the title
var title = L.control({position: 'topright'});
title.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'title');
this.update();
return this._div;
};
title.update = function (props) {
this._div.innerHTML = '<h4>' + _("Click on the map to set the geolocation for %s").format(current_elt.text) + '</h4>';
};
title.addTo(map);
var markers = {};
function add_to_map(elt, latlng) {
var marker = markers[elt.id];
if (marker) map.removeLayer(marker);
marker = L.marker(latlng).addTo(map);
marker.bindPopup(elt.text);
marker.on('mouseover', function (e) {this.openPopup(); });
marker.on('mouseout', function (e) {this.closePopup();});
markers[elt.id] = marker;
}
// Init the map
[% IF Koha.Preference('UsageStatsGeolocation') %]
var latlng = [ [% Koha.Preference('UsageStatsGeolocation') | html %] ];
add_to_map( current_elt, latlng );
[% END %]
[% FOR l IN libraries %]
[% NEXT UNLESS l.geolocation %]
add_to_map( { 'text': "[% l.branchname | html %]", 'id': "geolocation_[% l.branchcode | html %]" }, [ [% l.geolocation | html %] ] );
[% END %]
// On click, update the geolocation and the marker
map.on('click', function(e){
add_to_map( current_elt, e.latlng );
$("#" + current_elt.id).val(e.latlng.lat + ',' + e.latlng.lng);
});
// Auto zoom
var group = new L.featureGroup(Object.keys(markers).map(function(key){return markers[key]}));
if ( group.getBounds().isValid() ) map.fitBounds(group.getBounds());
// On click on the marker icons, update the title of the map
$(document).ready(function(){
$(".change_geolocation").on('click', function(e){
e.preventDefault();
if ( $(this).data('branchname') ) {
current_elt = { 'text': $(this).data('branchname'), 'id': $(this).data('id') };
} else {
current_elt = default_elt;
}
title.update();
});
$("#UsageStatsLibrariesInfo").change();
});
$("#UsageStatsLibrariesInfo").on('change', function(){
if ( $(this).val() == 1 ) $("#libraries_info").show()
else $("#libraries_info").hide();
positionMap();
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]