HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/TDijk1/erp-apps.eu/wwwroot/CMSScripts/CMSModules/CMS.WebAnalytics/Module.js
cmsdefine([
        "angular-1.4.5",
        "angular-resource-1.4.5",
        "angular-sanitize-1.4.5",
        "CMS.WebAnalytics/Services/CampaignResource",
        "CMS.WebAnalytics/Services/AssetResource",
        "CMS.WebAnalytics/Services/NewsletterResource",
        "CMS.WebAnalytics/Controllers/AutosaveController",
        "CMS.WebAnalytics/Controllers/AssetController",
        "CMS.WebAnalytics/Controllers/CampaignEditController",
        "CMS.WebAnalytics/Controllers/CampaignListController",
        "CMS.WebAnalytics/Controllers/CampaignNewEmailDialogController",
        "CMS.WebAnalytics/Controllers/CampaignGetContentLinkDialogController",
        "CMS.Forms/Directives/CMSForm",
        "CMS.Forms/Directives/CMSAutosaveFormDirective",
        "CMS.Forms/Directives/CMSSelectPath",
        "CMS.Forms/Directives/CMSSelectItem",
        "CMS.Forms/Directives/CMSCreatePage",
        "CMS.Forms/Directives/CMSModalDialog",
        "CMS.Forms/Directives/CMSTextbox",
        "CMS.Forms/Directives/CMSSelect",
        "CMS.Forms/Directives/CMSTextarea",
        "CMS.Forms/Directives/CMSRadioButton",
        "CMS.WebAnalytics/Directives/CampaignDetailDirective",
        "CMS.Forms/Directives/CMSInputAttributesDirective",
        "CMS/Filters/Resolve",
        "CMS/Filters/StringFormat",
        "CMS/Filters/NumberShortener",
        "CMS/Messages/Module",
        "CMS.WebAnalytics/Directives/CampaignTextarea",
        "CMS.WebAnalytics/Directives/CampaignTextbox",
        "CMS.WebAnalytics/Directives/CampaignAssetListItem",
        "CMS.WebAnalytics/Directives/CampaignButtonIcon"
    ],
    function (
        angular,
        ngResource,
        ngSanitize,
        campaignResource,
        assetResource,
        newsletterResource,
        autosaveController,
        assetController,
        campaignEditController,
        campaignListController,
        campaignNewEmailDialogController,
        campaignGetContentLinkDialog,
        cmsForm,
        cmsAutosaveForm,
        cmsSelectPath,
        cmsSelectItem,
        cmsCreatePage,
        cmsModalDialog,
        cmsTextbox,
        cmsSelect,
        cmsTextarea,
        cmsRadioButton,
        campaignDetailDirective,
        cmsInputAttributes,
        resolveFilter,
        stringFormatFilter,
        numberShortener,
        messagesModule,
        campaignTextarea,
        campaignTextbox,
        campaignAssetListItem,
        campaignButtonIcon
    ) {

        return function (dataFromServer) {
            var moduleName = "Campaigns",
                module = angular.module(moduleName, [
                    "ngResource",
                    "ngSanitize",
                    resolveFilter(angular, dataFromServer.resources),
                    stringFormatFilter(angular),
                    numberShortener(angular),
                    messagesModule(angular)
                ]);

            module.controller("Autosave", autosaveController(dataFromServer));
            module.controller("Asset", assetController(dataFromServer));
            module.controller("CampaignEdit", campaignEditController(dataFromServer));
            module.controller("CampaignList", campaignListController());
            module.controller("CampaignNewEmailDialog", campaignNewEmailDialogController());
            module.controller("CampaignGetContentLinkDialog", campaignGetContentLinkDialog());

            module.directive("cmsForm", cmsForm);
            module.directive("cmsAutosave", cmsAutosaveForm);
            module.directive("campaignDetail", campaignDetailDirective);
            module.directive("cmsSelectPath", cmsSelectPath);
            module.directive("cmsSelectItem", cmsSelectItem);
            module.directive("cmsCreatePage", cmsCreatePage);
            module.directive("cmsModalDialog", cmsModalDialog);
            module.directive("cmsTextbox", cmsTextbox);
            module.directive("cmsSelect", cmsSelect);
            module.directive("cmsTextarea", cmsTextarea);
            module.directive("cmsRadioButton", cmsRadioButton);
            module.directive("cmsInputAttributes", cmsInputAttributes);
            module.directive("campaignTextbox", campaignTextbox);
            module.directive("campaignTextarea", campaignTextarea);
            module.directive("campaignAssetListItem", campaignAssetListItem);
            module.directive("campaignButtonIcon", campaignButtonIcon);

            module.factory("cmsCampaignResource", campaignResource);
            module.factory("cmsAssetResource", assetResource);
            module.factory("cmsNewsletterResource", newsletterResource);

            module.factory("authorizeInterceptor", ["$q", function($q) {
                return {
                    'responseError': function (rejection) {
                        // User was signed off, need to redirect to the login page
                        if (rejection.status === 403) {
                            var logonPageUrl = rejection.headers("logonpageurl");

                            if (logonPageUrl) {
                                window.top.location.href = logonPageUrl;
                            }
                        }
                        
                        return $q.reject(rejection);
                    }
                };
            }]);

            // CMSApi does not support PUT and DELETE requests due to security reasons
            // Transform those request to the GET and POST one with appropriate URLs
            module.factory("httpMethodInterceptor", function () {

                return {
                    request: function (config) {
                        if (config.url.indexOf('cmsapi/newsletters/') >= 0) {
                            return config;
                        }

                        if (config.method === "POST") {
                            config.url += "/Post";
                        }

                        if (config.method === "PUT") {
                            config.method = "POST";
                            config.url += "/Put";
                        }
                        
                        if (config.method === "DELETE") {
                            config.method = "GET";
                            config.url += "/Delete";
                        }
                        
                        return config;
                    }
                };
            });
            
            module.config(["$httpProvider", function ($httpProvider) {
                $httpProvider.interceptors.push("authorizeInterceptor");
                $httpProvider.interceptors.push("httpMethodInterceptor");
            }]);

            // Create constant for server data
            module.constant("serverData", dataFromServer);

            return moduleName;
        };
});