76 lines
2.5 KiB
JavaScript
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();
|
|
}
|
|
})(); |