PDF rausgenommen
This commit is contained in:
@ -0,0 +1,76 @@
|
||||
/*!
|
||||
* 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();
|
||||
}
|
||||
})();
|
@ -0,0 +1,60 @@
|
||||
<div class="campaignUrlBuilder">
|
||||
|
||||
<form>
|
||||
<div piwik-field uicontrol="text" name="websiteurl"
|
||||
title="{{'Actions_ColumnPageURL'|translate}} ({{ 'General_Required2'|translate }})"
|
||||
ng-model="campaignBuilder.websiteUrl"
|
||||
inline-help="{{'Referrers_CampaignPageUrlHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignname"
|
||||
title="{{ 'CoreAdminHome_JSTracking_CampaignNameParam'|translate }} ({{ 'General_Required2'|translate }})"
|
||||
ng-model="campaignBuilder.campaignName"
|
||||
inline-help="{{'Referrers_CampaignNameHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignkeyword"
|
||||
title="{{ 'CoreAdminHome_JSTracking_CampaignKwdParam'|translate }}"
|
||||
ng-model="campaignBuilder.campaignKeyword"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignKeywordHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignsource"
|
||||
title="{{ 'Referrers_CampaignSource'|translate }}"
|
||||
ng-model="campaignBuilder.campaignSource"
|
||||
ng-show="campaignBuilder.hasExtraPlugin"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignSourceHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaignmedium"
|
||||
title="{{ 'Referrers_CampaignMedium'|translate }}"
|
||||
ng-model="campaignBuilder.campaignMedium"
|
||||
ng-show="campaignBuilder.hasExtraPlugin"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignMediumHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-field uicontrol="text" name="campaigncontent"
|
||||
title="{{ 'Referrers_CampaignContent'|translate }}"
|
||||
ng-model="campaignBuilder.campaignContent"
|
||||
ng-show="campaignBuilder.hasExtraPlugin"
|
||||
inline-help="{{'Goals_Optional'|translate}} {{'Referrers_CampaignContentHelp'|translate}}">
|
||||
</div>
|
||||
|
||||
<div piwik-save-button
|
||||
class="generateCampaignUrl"
|
||||
onconfirm="campaignBuilder.generateUrl()"
|
||||
data-disabled="!campaignBuilder.websiteUrl || !campaignBuilder.campaignName"
|
||||
value="{{ 'Referrers_GenerateUrl'|translate }}">
|
||||
</div>
|
||||
<div piwik-save-button
|
||||
class="resetCampaignUrl"
|
||||
onconfirm="campaignBuilder.reset()"
|
||||
value="{{ 'General_Clear'|translate }}">
|
||||
</div>
|
||||
|
||||
<div ng-show="campaignBuilder.generatedUrl">
|
||||
<h3>{{'Referrers_URLCampaignBuilderResult'|translate}}</h3>
|
||||
<pre piwik-select-on-focus id="urlCampaignBuilderResult"><code ng-bind="campaignBuilder.generatedUrl"></code></pre>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
@ -0,0 +1,44 @@
|
||||
/*!
|
||||
* Matomo - free/libre analytics platform
|
||||
*
|
||||
* @link https://matomo.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
/**
|
||||
* Usage:
|
||||
* <div matomo-campaign-builder>
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp').directive('matomoCampaignBuilder', matomoCampaignBuilder);
|
||||
|
||||
matomoCampaignBuilder.$inject = ['piwik'];
|
||||
|
||||
function matomoCampaignBuilder(piwik){
|
||||
var defaults = {
|
||||
hasExtraPlugin: true
|
||||
};
|
||||
|
||||
return {
|
||||
restrict: 'A',
|
||||
scope: {
|
||||
hasExtraPlugin: '<'
|
||||
},
|
||||
templateUrl: 'plugins/Referrers/angularjs/campaign-builder/campaign-builder.directive.html?cb=' + piwik.cacheBuster,
|
||||
controller: 'CampaignBuilderController',
|
||||
controllerAs: 'campaignBuilder',
|
||||
compile: function (element, attrs) {
|
||||
|
||||
for (var index in defaults) {
|
||||
if (defaults.hasOwnProperty(index) && attrs[index] === undefined) {
|
||||
attrs[index] = defaults[index];
|
||||
}
|
||||
}
|
||||
|
||||
return function (scope, element, attrs) {
|
||||
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
})();
|
@ -0,0 +1,3 @@
|
||||
.campaignUrlBuilder {
|
||||
margin-bottom: 30px;
|
||||
}
|
Reference in New Issue
Block a user