PDF rausgenommen
This commit is contained in:
@ -0,0 +1,149 @@
|
||||
/*!
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').controller('LocationProviderUpdaterController', LocationProviderUpdaterController);
|
||||
|
||||
LocationProviderUpdaterController.$inject = ['piwikApi', '$window'];
|
||||
|
||||
function LocationProviderUpdaterController(piwikApi, $window) {
|
||||
// remember to keep controller very simple. Create a service/factory (model) if needed
|
||||
var self = this;
|
||||
|
||||
this.buttonUpdateSaveText = _pk_translate('General_Save');
|
||||
this.progressUpdateLabel = '';
|
||||
|
||||
// geoip database wizard
|
||||
var downloadNextChunk = function (action, thisId, progressBarId, cont, extraData, callback) {
|
||||
var data = {};
|
||||
for (var k in extraData) {
|
||||
data[k] = extraData[k];
|
||||
}
|
||||
|
||||
piwikApi.withTokenInUrl();
|
||||
piwikApi.post({
|
||||
module: 'UserCountry',
|
||||
action: action,
|
||||
'continue': cont ? 1 : 0
|
||||
}, data).then(function (response) {
|
||||
if (!response || response.error) {
|
||||
callback(response);
|
||||
} else {
|
||||
// update progress bar
|
||||
var newProgressVal = Math.floor((response.current_size / response.expected_file_size) * 100);
|
||||
self[progressBarId] = Math.min(newProgressVal, 100);
|
||||
|
||||
// if incomplete, download next chunk, otherwise, show updater manager
|
||||
if (newProgressVal < 100) {
|
||||
downloadNextChunk(action, thisId, progressBarId, true, extraData, callback);
|
||||
} else {
|
||||
callback(response);
|
||||
}
|
||||
}
|
||||
}, function () {
|
||||
callback({error: _pk_translate('UserCountry_FatalErrorDuringDownload')});
|
||||
});
|
||||
};
|
||||
|
||||
this.startDownloadFreeGeoIp = function () {
|
||||
this.showFreeDownload = true;
|
||||
this.showPiwikNotManagingInfo = false;
|
||||
|
||||
this.progressFreeDownload = 0;
|
||||
|
||||
// start download of free dbs
|
||||
downloadNextChunk(
|
||||
'downloadFreeGeoIPDB',
|
||||
'geoipdb-screen2-download',
|
||||
'progressFreeDownload',
|
||||
false,
|
||||
{},
|
||||
function (response) {
|
||||
if (response.error) {
|
||||
$('#geoipdb-update-info').html(response.error);
|
||||
self.geoipDatabaseInstalled = true;
|
||||
} else {
|
||||
$window.location.reload();
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
this.startAutomaticUpdateGeoIp = function () {
|
||||
this.buttonUpdateSaveText = _pk_translate('General_Continue');
|
||||
this.showGeoIpUpdateInfo();
|
||||
};
|
||||
|
||||
this.showGeoIpUpdateInfo = function () {
|
||||
this.geoipDatabaseInstalled = true;
|
||||
|
||||
// todo we need to replace this the proper way eventually
|
||||
$('#geoip-db-mangement .card-title').text(_pk_translate('UserCountry_SetupAutomaticUpdatesOfGeoIP'));
|
||||
}
|
||||
|
||||
this.saveGeoIpLinks = function () {
|
||||
var currentDownloading = null;
|
||||
var updateGeoIPSuccess = function (response) {
|
||||
if (response && response.error) {
|
||||
self.isUpdatingGeoIpDatabase = false;
|
||||
|
||||
var UI = require('piwik/UI');
|
||||
var notification = new UI.Notification();
|
||||
notification.show(response.error, {
|
||||
placeat: '#geoipdb-update-info-error',
|
||||
context: 'error',
|
||||
style: {display: 'inline-block'},
|
||||
id: 'userCountryGeoIpUpdate'
|
||||
});
|
||||
|
||||
} else if (response && response.to_download) {
|
||||
var continuing = currentDownloading == response.to_download;
|
||||
currentDownloading = response.to_download;
|
||||
|
||||
// show progress bar w/ message
|
||||
self.progressUpdateDownload = 0;
|
||||
self.progressUpdateLabel = response.to_download_label;
|
||||
self.isUpdatingGeoIpDatabase = true;
|
||||
|
||||
// start/continue download
|
||||
downloadNextChunk(
|
||||
'downloadMissingGeoIpDb', 'geoipdb-update-info', 'progressUpdateDownload',
|
||||
continuing, {key: response.to_download}, updateGeoIPSuccess);
|
||||
|
||||
} else {
|
||||
self.progressUpdateLabel = '';
|
||||
self.isUpdatingGeoIpDatabase = false;
|
||||
|
||||
var UI = require('piwik/UI');
|
||||
var notification = new UI.Notification();
|
||||
notification.show(_pk_translate('General_Done'), {
|
||||
placeat: '#done-updating-updater',
|
||||
context: 'success',
|
||||
noclear: true,
|
||||
type: 'toast',
|
||||
style: {display: 'inline-block'},
|
||||
id: 'userCountryGeoIpUpdate'
|
||||
});
|
||||
|
||||
$('#geoip-updater-next-run-time').html(response.nextRunTime).parent().effect('highlight', {color: '#FFFFCB'}, 2000);
|
||||
}
|
||||
};
|
||||
|
||||
piwikApi.withTokenInUrl();
|
||||
piwikApi.post({
|
||||
period: this.updatePeriod,
|
||||
module: 'UserCountry',
|
||||
action: 'updateGeoIPLinks'
|
||||
}, {
|
||||
loc_db: this.locationDbUrl,
|
||||
isp_db: this.ispDbUrl,
|
||||
org_db: this.orgDbUrl
|
||||
}).then(updateGeoIPSuccess);
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
})();
|
@ -0,0 +1,37 @@
|
||||
/*!
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
/**
|
||||
* Usage:
|
||||
* <div piwik-location-provider-selection>
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').directive('piwikLocationProviderUpdater', piwikLocationProviderUpdater);
|
||||
|
||||
piwikLocationProviderUpdater.$inject = ['piwik'];
|
||||
|
||||
function piwikLocationProviderUpdater(piwik){
|
||||
|
||||
return {
|
||||
restrict: 'A',
|
||||
transclude: true,
|
||||
controller: 'LocationProviderUpdaterController',
|
||||
controllerAs: 'locationUpdater',
|
||||
template: '<div ng-transclude></div>',
|
||||
compile: function (element, attrs) {
|
||||
|
||||
return function (scope, element, attrs, controller) {
|
||||
controller.geoipDatabaseInstalled = '0' !== attrs.geoipDatabaseInstalled;
|
||||
controller.showFreeDownload = false;
|
||||
controller.showPiwikNotManagingInfo = true;
|
||||
controller.progressFreeDownload = 0;
|
||||
controller.progressUpdateDownload = 0;
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
})();
|
Reference in New Issue
Block a user