File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/mod_security/services/reportService.min.js
Back
define(["angular","cjt/util/locale","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService","app/services/hitlistService","app/services/ruleService"],(function(angular,LOCALE,APIREQUEST){var NO_MODULE="";var app;try{app=angular.module("App")}catch(e){app=angular.module("App",["cjt2.services.api"])}app.factory("reportService",["$q","APIService","ruleService","hitListService",function($q,APIService,ruleService,hitListService){var currentReport;function _getVendorFromFile(file){var VENDOR_REGEX=/\/modsec_vendor_configs\/(\w+)/;var match=file&&file.match(VENDOR_REGEX);return match?match[1]:void 0}function fetchByHit(hit){var fetched={};var hitPromise;if(!angular.isObject(hit)){hitPromise=hitListService.fetchById(hit).then((function(response){fetched.hits=response.items;return response.items[0]}))}else{fetched.hits=[hit];var deferred=$q.defer();deferred.resolve(hit);hitPromise=deferred.promise}currentReport=hitPromise.then((function(hit){var vendor=_getVendorFromFile(hit.meta_file);if(!vendor){return $q.reject(LOCALE.maketext("You can only report [asis,ModSecurity] rules that a vendor provided."))}return ruleService.fetchRulesById(hit.meta_id,vendor)})).then((function(response){fetched.rule=response.items[0];return fetched}));return currentReport}function fetchByRule(rule,vendor){var fetched={};var rulePromise;if(!angular.isObject(rule)){if(!vendor){return $q.reject(LOCALE.maketext("You can only report [asis,ModSecurity] rules that a vendor provided."))}rulePromise=ruleService.fetchRulesById(rule,vendor).then((function(response){fetched.rule=response.items[0];return fetched.rule}))}else{if(!rule.vendor_id){return $q.reject(LOCALE.maketext("Only [asis,ModSecurity] rules provided by vendors may be reported."))}fetched.rule=rule;var deferred=$q.defer();deferred.resolve(rule);rulePromise=deferred.promise}currentReport=rulePromise.then((function(rule){return hitListService.fetchList({filterBy:"meta_id",filterValue:rule.id,filterCompare:"eq"})})).then((function(response){fetched.hits=response.items;return fetched}));return currentReport}function getCurrent(){return currentReport}function clearCurrent(){currentReport=void 0}function viewReport(reportParams){reportParams.send=false;return _generateReport.call(this,reportParams)}function sendReport(reportParams,disableParams){var promises={};reportParams.send=true;promises.report=_generateReport.call(this,reportParams);if(disableParams){promises.disable=ruleService.disableRule(disableParams.ruleConfig,disableParams.ruleId,disableParams.deployRule)}return $q.all(promises)}function _generateReport(params){var apiCall=new APIREQUEST.Class;apiCall.initialize(NO_MODULE,"modsec_report_rule");angular.forEach({row_ids:params.hits.join(","),message:params.message,email:params.email,type:params.reason,send:params.send?1:0},(function(val,key){apiCall.addArgument(key,val)}));return this.deferred(apiCall,{transformAPISuccess:_extractReport}).promise}function _extractReport(response){return response.data.report}var ReportService=function(){};ReportService.prototype=new APIService;angular.extend(ReportService.prototype,{fetchByHit:fetchByHit,fetchByRule:fetchByRule,getCurrent:getCurrent,clearCurrent:clearCurrent,viewReport:viewReport,sendReport:sendReport});return new ReportService}])}));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings