update Piwik to version 2.16 (fixes #91)

This commit is contained in:
oliver 2016-04-10 18:55:57 +02:00
commit d885a4baa9
5833 changed files with 418860 additions and 226988 deletions

View file

@ -1,5 +1,5 @@
/*!
* Piwik - Web Analytics
* Piwik - free/libre analytics platform
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
@ -131,55 +131,55 @@
stepMonths: 1,
// jquery-ui-i18n 1.7.2 lacks some translations, so we use our own
dayNamesMin: [
_pk_translate('General_DaySu'),
_pk_translate('General_DayMo'),
_pk_translate('General_DayTu'),
_pk_translate('General_DayWe'),
_pk_translate('General_DayTh'),
_pk_translate('General_DayFr'),
_pk_translate('General_DaySa')],
_pk_translate('Intl_Day_Min_StandAlone_7'),
_pk_translate('Intl_Day_Min_StandAlone_1'),
_pk_translate('Intl_Day_Min_StandAlone_2'),
_pk_translate('Intl_Day_Min_StandAlone_3'),
_pk_translate('Intl_Day_Min_StandAlone_4'),
_pk_translate('Intl_Day_Min_StandAlone_5'),
_pk_translate('Intl_Day_Min_StandAlone_6')],
dayNamesShort: [
_pk_translate('General_ShortDay_7'), // start with sunday
_pk_translate('General_ShortDay_1'),
_pk_translate('General_ShortDay_2'),
_pk_translate('General_ShortDay_3'),
_pk_translate('General_ShortDay_4'),
_pk_translate('General_ShortDay_5'),
_pk_translate('General_ShortDay_6')],
_pk_translate('Intl_Day_Short_StandAlone_7'), // start with sunday
_pk_translate('Intl_Day_Short_StandAlone_1'),
_pk_translate('Intl_Day_Short_StandAlone_2'),
_pk_translate('Intl_Day_Short_StandAlone_3'),
_pk_translate('Intl_Day_Short_StandAlone_4'),
_pk_translate('Intl_Day_Short_StandAlone_5'),
_pk_translate('Intl_Day_Short_StandAlone_6')],
dayNames: [
_pk_translate('General_LongDay_7'), // start with sunday
_pk_translate('General_LongDay_1'),
_pk_translate('General_LongDay_2'),
_pk_translate('General_LongDay_3'),
_pk_translate('General_LongDay_4'),
_pk_translate('General_LongDay_5'),
_pk_translate('General_LongDay_6')],
_pk_translate('Intl_Day_Long_StandAlone_7'), // start with sunday
_pk_translate('Intl_Day_Long_StandAlone_1'),
_pk_translate('Intl_Day_Long_StandAlone_2'),
_pk_translate('Intl_Day_Long_StandAlone_3'),
_pk_translate('Intl_Day_Long_StandAlone_4'),
_pk_translate('Intl_Day_Long_StandAlone_5'),
_pk_translate('Intl_Day_Long_StandAlone_6')],
monthNamesShort: [
_pk_translate('General_ShortMonth_1'),
_pk_translate('General_ShortMonth_2'),
_pk_translate('General_ShortMonth_3'),
_pk_translate('General_ShortMonth_4'),
_pk_translate('General_ShortMonth_5'),
_pk_translate('General_ShortMonth_6'),
_pk_translate('General_ShortMonth_7'),
_pk_translate('General_ShortMonth_8'),
_pk_translate('General_ShortMonth_9'),
_pk_translate('General_ShortMonth_10'),
_pk_translate('General_ShortMonth_11'),
_pk_translate('General_ShortMonth_12')],
_pk_translate('Intl_Month_Short_StandAlone_1'),
_pk_translate('Intl_Month_Short_StandAlone_2'),
_pk_translate('Intl_Month_Short_StandAlone_3'),
_pk_translate('Intl_Month_Short_StandAlone_4'),
_pk_translate('Intl_Month_Short_StandAlone_5'),
_pk_translate('Intl_Month_Short_StandAlone_6'),
_pk_translate('Intl_Month_Short_StandAlone_7'),
_pk_translate('Intl_Month_Short_StandAlone_8'),
_pk_translate('Intl_Month_Short_StandAlone_9'),
_pk_translate('Intl_Month_Short_StandAlone_10'),
_pk_translate('Intl_Month_Short_StandAlone_11'),
_pk_translate('Intl_Month_Short_StandAlone_12')],
monthNames: [
_pk_translate('General_LongMonth_1'),
_pk_translate('General_LongMonth_2'),
_pk_translate('General_LongMonth_3'),
_pk_translate('General_LongMonth_4'),
_pk_translate('General_LongMonth_5'),
_pk_translate('General_LongMonth_6'),
_pk_translate('General_LongMonth_7'),
_pk_translate('General_LongMonth_8'),
_pk_translate('General_LongMonth_9'),
_pk_translate('General_LongMonth_10'),
_pk_translate('General_LongMonth_11'),
_pk_translate('General_LongMonth_12')]
_pk_translate('Intl_Month_Long_StandAlone_1'),
_pk_translate('Intl_Month_Long_StandAlone_2'),
_pk_translate('Intl_Month_Long_StandAlone_3'),
_pk_translate('Intl_Month_Long_StandAlone_4'),
_pk_translate('Intl_Month_Long_StandAlone_5'),
_pk_translate('Intl_Month_Long_StandAlone_6'),
_pk_translate('Intl_Month_Long_StandAlone_7'),
_pk_translate('Intl_Month_Long_StandAlone_8'),
_pk_translate('Intl_Month_Long_StandAlone_9'),
_pk_translate('Intl_Month_Long_StandAlone_10'),
_pk_translate('Intl_Month_Long_StandAlone_11'),
_pk_translate('Intl_Month_Long_StandAlone_12')]
};
};
@ -294,7 +294,6 @@
var togglePeriodPickers = function (showSingle) {
$('#periodString').find('.period-date').toggle(showSingle);
$('#periodString').find('.period-range').toggle(!showSingle);
$('#calendarRangeApply').toggle(!showSingle);
};
//
@ -354,12 +353,25 @@
}
});
// Hack to get around firefox bug. When double clicking a label in firefox, the 'click'
// event of its associated input will not be fired twice. We want to change the period
// if clicking the select period's label OR input, so we catch the click event on the
// label & the input.
var reloading = false;
var changePeriodOnClick = function (periodInput) {
var changePeriodWithPageReload = function (periodInput) {
var url = periodInput.val(),
period = broadcast.getValueFromUrl('period', url);
// if clicking on the selected period, change the period but not the date
if (period != 'range' && !reloading) {
// only reload if current period is different from selected
reloading = true;
selectedPeriod = period;
updateDate(piwik.currentDateString);
return true;
}
return false;
};
var changePeriodOnClickIfPeriodChanged = function (periodInput) {
if (reloading) // if a click event resulted in reloading, don't reload again
{
return;
@ -371,29 +383,62 @@
// if clicking on the selected period, change the period but not the date
if (selectedPeriod == period && selectedPeriod != 'range') {
// only reload if current period is different from selected
if (piwik.period != selectedPeriod && !reloading) {
reloading = true;
selectedPeriod = period;
updateDate(piwik.currentDateString);
if (piwik.period != selectedPeriod) {
return changePeriodWithPageReload(periodInput);
}
return true;
}
return false;
};
$("#otherPeriods").find("label").on('click', function (e) {
$("#otherPeriods").find("label,input").on('dblclick', function (e) {
var id = $(e.target).attr('for');
changePeriodOnClick($('#' + id));
changePeriodOnClickIfPeriodChanged($('#' + id));
});
$("#otherPeriods").find("label,input").on('dblclick', function (e) {
var id = $(e.target).attr('for');
changePeriodOnClickIfPeriodChanged($('#' + id));
});
// Apply date range button will reload the page with the selected range
$('#calendarApply')
.on('click', function () {
var $selectedPeriod = $('#periodMore [name=period]:checked');
if (!$selectedPeriod.is('#period_id_range')) {
changePeriodWithPageReload($selectedPeriod);
return true;
}
var dateFrom = $('#inputCalendarFrom').val(),
dateTo = $('#inputCalendarTo').val(),
oDateFrom = $.datepicker.parseDate('yy-mm-dd', dateFrom),
oDateTo = $.datepicker.parseDate('yy-mm-dd', dateTo);
if (!isValidDate(oDateFrom)
|| !isValidDate(oDateTo)
|| oDateFrom > oDateTo) {
$('#alert').find('h2').text(_pk_translate('General_InvalidDateRange'));
piwikHelper.modalConfirm('#alert', {});
return false;
}
piwikHelper.showAjaxLoading('ajaxLoadingCalendar');
broadcast.propagateNewPage('period=range&date=' + dateFrom + ',' + dateTo);
})
.show();
// when non-range period is clicked, change the period & refresh the date picker
$("#otherPeriods").find("input").on('click', function (e) {
var request_URL = $(e.target).val(),
period = broadcast.getValueFromUrl('period', request_URL),
lastPeriod = selectedPeriod;
if (changePeriodOnClick($(e.target))) {
if (changePeriodOnClickIfPeriodChanged($(e.target))) {
return true;
}
@ -444,21 +489,6 @@
toggleMonthDropdown(selectedPeriod == 'year');
});
// reset date/period when opening calendar
$("#periodString").on('click', "#date,.calendar-icon", function () {
var periodMore = $("#periodMore").toggle();
if (periodMore.is(":visible")) {
periodMore.find(".ui-state-highlight").removeClass('ui-state-highlight');
}
});
$('body').on('click', function(e) {
var target = $(e.target);
if (target.closest('html').length && !target.closest('#periodString').length && !target.is('option') && $("#periodMore").is(":visible")) {
$("#periodMore").hide();
}
});
function onDateRangeSelect(dateText, inst) {
var toOrFrom = inst.id == 'calendarFrom' ? 'From' : 'To';
$('#inputCalendar' + toOrFrom).val(dateText);
@ -488,32 +518,9 @@
$('#calendarTo').datepicker(options).datepicker("setDate", $.datepicker.parseDate('yy-mm-dd', piwik.endDateString));
onDateRangeSelect(piwik.endDateString, { "id": "calendarTo" });
// If not called, the first date appears light brown instead of dark brown
$('.ui-state-hover').removeClass('ui-state-hover');
// Apply date range button will reload the page with the selected range
$('#calendarRangeApply')
.on('click', function () {
var request_URL = $(e.target).val();
var dateFrom = $('#inputCalendarFrom').val(),
dateTo = $('#inputCalendarTo').val(),
oDateFrom = $.datepicker.parseDate('yy-mm-dd', dateFrom),
oDateTo = $.datepicker.parseDate('yy-mm-dd', dateTo);
if (!isValidDate(oDateFrom)
|| !isValidDate(oDateTo)
|| oDateFrom > oDateTo) {
$('#alert').find('h2').text(_pk_translate('General_InvalidDateRange'));
piwikHelper.modalConfirm('#alert', {});
return false;
}
piwikHelper.showAjaxLoading('ajaxLoadingCalendar');
broadcast.propagateNewPage('period=range&date=' + dateFrom + ',' + dateTo);
})
.show();
// Bind the input fields to update the calendar's date when date is manually changed
$('#inputCalendarFrom, #inputCalendarTo')
.keyup(function (e) {
@ -526,7 +533,7 @@
}
$("#calendar" + fromOrTo).datepicker("setDate", newDate);
if (e.keyCode == 13) {
$('#calendarRangeApply').click();
$('#calendarApply').click();
}
});
return true;