2023-01-23 11:03:31 +01:00

76 lines
2.5 KiB
JavaScript

/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
(function () {
angular.module('piwikApp').controller('CampaignBuilderController', CampaignBuilderController);
CampaignBuilderController.$inject = ['$scope'];
function CampaignBuilderController($scope) {
this.hasExtraPlugin = $scope.hasExtraPlugin;
this.reset = function () {
this.websiteUrl = '';
this.campaignName = '';
this.campaignKeyword = '';
this.campaignSource = '';
this.campaignMedium = '';
this.campaignContent = '';
this.generatedUrl = '';
};
this.generateUrl = function () {
this.generatedUrl = String(this.websiteUrl);
if (this.generatedUrl.indexOf('http') !== 0) {
this.generatedUrl = 'https://' + this.generatedUrl.trim();
}
var urlHashPos = this.generatedUrl.indexOf('#');
var urlHash = '';
if (urlHashPos >= 0) {
urlHash = this.generatedUrl.substr(urlHashPos);
this.generatedUrl = this.generatedUrl.substr(0, urlHashPos);
}
if (this.generatedUrl.indexOf('/', 10) < 0 && this.generatedUrl.indexOf("?") < 0) {
this.generatedUrl += '/';
}
var campaignName = encodeURIComponent(this.campaignName.trim());
if (this.generatedUrl.indexOf('?') > 0 || this.generatedUrl.indexOf('#') > 0) {
this.generatedUrl += '&';
} else {
this.generatedUrl += '?';
}
this.generatedUrl += 'pk_campaign='+campaignName;
if (this.campaignKeyword) {
this.generatedUrl += '&pk_kwd='+encodeURIComponent(this.campaignKeyword.trim());
}
if (this.campaignSource) {
this.generatedUrl += '&pk_source='+encodeURIComponent(this.campaignSource.trim());
}
if (this.campaignMedium) {
this.generatedUrl += '&pk_medium='+encodeURIComponent(this.campaignMedium.trim());
}
if (this.campaignContent) {
this.generatedUrl += '&pk_content='+encodeURIComponent(this.campaignContent.trim());
}
this.generatedUrl += urlHash;
$('#urlCampaignBuilderResult').effect("highlight", {}, 1500);
};
this.reset();
}
})();