File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/greylist/services/GreylistDataSource.min.js
Back
define(["angular","jquery","lodash","cjt/util/locale","cjt/util/parse","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1"],(function(angular,$,_,LOCALE,PARSE,API,APIREQUEST,APIDRIVER){var app=angular.module("App");var greylistDataSource=app.factory("GreylistDataSource",["$q","PAGE",function($q,PAGE){var greylistData={};greylistData.trustedHosts=[];greylistData.configSettings={is_enabled:PARSE.parsePerlBoolean(PAGE.is_enabled),is_exim_enabled:PARSE.parsePerlBoolean(PAGE.is_exim_enabled),initial_block_time_mins:parseInt(PAGE.initial_block_time_mins),record_exp_time_mins:parseInt(PAGE.record_exp_time_mins),must_try_time_mins:parseInt(PAGE.must_try_time_mins),spf_bypass:PARSE.parsePerlBoolean(PAGE.spf_bypass),DEFAULT:PAGE.config_default};greylistData.commonMailProviders={};greylistData.autotrust_new_common_mail_providers=true;greylistData.loadCommonMailProviders=function(){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","cpgreylist_load_common_mail_providers_config");API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var providers=response.data.common_mail_providers;for(var provider in providers){if(providers[provider].hasOwnProperty("autoupdate")&&providers[provider].hasOwnProperty("is_trusted")){providers[provider].autoupdate=PARSE.parsePerlBoolean(providers[provider].autoupdate);providers[provider].is_trusted=PARSE.parsePerlBoolean(providers[provider].is_trusted)}}greylistData.commonMailProviders=response.data.common_mail_providers;greylistData.autotrust_new_common_mail_providers=PARSE.parsePerlBoolean(response.data.autotrust_new_common_mail_providers);deferred.resolve(greylistData)}else{deferred.reject(response)}}));return deferred.promise};greylistData.trustOrUntrustProviders=function(trust,settings){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;var apiFunc=trust?"cpgreylist_trust_entries_for_common_mail_provider":"cpgreylist_untrust_entries_for_common_mail_provider";apiCall.initialize("",apiFunc);var paramIndex=0;for(var provider in settings){if(settings.hasOwnProperty(provider)){if(trust&&settings[provider].is_trusted){apiCall.addArgument("provider-"+paramIndex,provider);paramIndex++}else if(!trust&&!settings[provider].is_trusted){apiCall.addArgument("provider-"+paramIndex,provider);paramIndex++}}}API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var providers=trust?Object.keys(response.data.providers_trusted):Object.keys(response.data.providers_untrusted);var change_count=providers.length;var failed=response.data.providers_failed;for(var i=0;i<change_count;i++){greylistData.commonMailProviders[providers[i]].is_trusted=trust?true:false}var results={};results.failed=failed;if(trust){results.trusted=providers}else{results.untrusted=providers}deferred.resolve(results)}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.trustCommonMailProviders=function(settings){return greylistData.trustOrUntrustProviders(true,settings)};greylistData.untrustCommonMailProviders=function(settings){return greylistData.trustOrUntrustProviders(false,settings)};greylistData.saveCommonMailProviders=function(settings,autotrust){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","cpgreylist_save_common_mail_providers_config");apiCall.addArgument("autotrust_new_common_mail_providers",autotrust?1:0);for(var provider in settings){if(settings.hasOwnProperty(provider)){apiCall.addArgument(provider,settings[provider].autoupdate?1:0)}}API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var providers=response.data.common_mail_providers;greylistData.autotrust_new_common_mail_providers=PARSE.parsePerlBoolean(response.data.autotrust_new_common_mail_providers);for(var provider in providers){if(providers[provider].hasOwnProperty("autoupdate")){if(!greylistData.commonMailProviders.hasOwnProperty(provider)){greylistData.commonMailProviders[provider]={};greylistData.commonMailProviders[provider].is_trusted=greylistData.autotrust_new_common_mail_providers;greylistData.commonMailProviders[provider].display_name=providers[provider].display_name}greylistData.commonMailProviders[provider].autoupdate=PARSE.parsePerlBoolean(providers[provider].autoupdate)}}deferred.resolve(true)}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.saveConfigSettings=function(config){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","save_cpgreylist_config");for(var setting in config){if(greylistData.configSettings.hasOwnProperty(setting)){if(setting==="is_enabled"||setting==="is_exim_enabled"){continue}else if(typeof config[setting]==="boolean"){apiCall.addArgument(setting,config[setting]===true?1:0)}else{apiCall.addArgument(setting,config[setting])}}}API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){for(var returnedSetting in response.data.cpgreylist_config){if(greylistData.configSettings.hasOwnProperty(returnedSetting)){if(returnedSetting==="is_enabled"||returnedSetting==="is_exim_enabled"||returnedSetting==="spf_bypass"){greylistData.configSettings[returnedSetting]=PARSE.parsePerlBoolean(response.data.cpgreylist_config[returnedSetting])}else{greylistData.configSettings[returnedSetting]=parseInt(response.data.cpgreylist_config[returnedSetting],10)}}}deferred.resolve(response.data)}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.status=function(){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","cpgreylist_status");API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;greylistData.configSettings.is_enabled=PARSE.parsePerlBoolean(response.data.is_enabled);greylistData.configSettings.is_exim_enabled=PARSE.parsePerlBoolean(response.data.is_exim_enabled);deferred.resolve(greylistData.configSettings)}));return deferred.promise};greylistData.enable=function(){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","enable_cpgreylist");API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){deferred.resolve(response);greylistData.configSettings.is_enabled=true}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.disable=function(){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","disable_cpgreylist");API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){deferred.resolve(response.status);greylistData.configSettings.is_enabled=false}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.enabled=function(){return greylistData.configSettings.is_enabled};greylistData.addTrustedHosts=function(ips_to_add,comment){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","create_cpgreylist_trusted_host");apiCall.addArgument("comment",comment);for(var a=0;a<ips_to_add.length;a++){apiCall.addArgument("ip-"+a,ips_to_add[a])}API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var ips_added=[],ips_updated=[];for(var l=0,len=response.data.ips_added.length;l<len;l++){var ip=response.data.ips_added[l].host_ip;var index=-1;for(var i=0,cacheLen=greylistData.trustedHosts.length;i<cacheLen;i++){var item=greylistData.trustedHosts[i];if(item.host_ip===ip){index=i;break}}if(index!==-1){greylistData.trustedHosts[index]=response.data.ips_added[l];ips_updated.push(ip)}else{greylistData.trustedHosts.push(response.data.ips_added[l]);ips_added.push(ip)}}deferred.resolve({rejected:response.data.ips_failed,added:ips_added,updated:ips_updated,comment:response.data.comment})}else{var error_details={main_message:response.error,secondary_messages:[]};var ips_rejected=Object.keys(response.data.ips_failed);var ip_to_show_in_message;for(var ed=0;ed<ips_rejected.length;ed++){ip_to_show_in_message=_.escape(response.data.ips_failed[ips_rejected[ed]]);error_details.secondary_messages.push(ip_to_show_in_message)}deferred.reject(error_details)}}));return deferred.promise};greylistData.deleteTrustedHosts=function(hostsToDelete){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","delete_cpgreylist_trusted_host");var hostCount=hostsToDelete.length;for(var i=0;i<hostCount;i++){apiCall.addArgument("ip-"+i,hostsToDelete[i])}API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var i=0,len=response.data.ips_removed.length;var hostsActuallyDeleted=[];for(;i<len;i++){hostsActuallyDeleted.push(_.find(greylistData.trustedHosts,{host_ip:response.data.ips_removed[i]}))}if(hostsActuallyDeleted.length>0){greylistData.trustedHosts=_.difference(greylistData.trustedHosts,hostsActuallyDeleted)}deferred.resolve({removed:response.data.ips_removed,not_removed:response.data.ips_failed})}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.deleteAllTrustedHosts=function(){var i=0,len=greylistData.trustedHosts.length,ipsToDelete=[];for(;i<len;i++){ipsToDelete.push(greylistData.trustedHosts[i].host_ip)}return greylistData.deleteTrustedHosts(ipsToDelete)};greylistData.loadTrustedHosts=function(forceReload){var deferred=$q.defer();if(forceReload){var apiCall=new APIREQUEST.Class;apiCall.initialize("","read_cpgreylist_trusted_hosts");API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){greylistData.trustedHosts=response.data;deferred.resolve(null)}else{deferred.reject(response.error)}}))}else{deferred.resolve(null)}return deferred.promise};greylistData.isServerNetblockTrusted=function(){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","cpgreylist_is_server_netblock_trusted");API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var trustedBlocks=[],untrustedBlocks=[],ip_blocks=response.data.ip_blocks;var keys=_.keys(ip_blocks);for(var l=0,len=keys.length;l<len;l++){var block=keys[l];var isTrusted=PARSE.parsePerlBoolean(ip_blocks[keys[l]]);if(isTrusted){trustedBlocks.push(block)}else{untrustedBlocks.push(block)}}var areAllBlocksTrusted;if(untrustedBlocks.length>0){areAllBlocksTrusted=false}else{areAllBlocksTrusted=true}deferred.resolve({status:areAllBlocksTrusted,untrusted:untrustedBlocks,netblock:trustedBlocks.concat(untrustedBlocks)})}else{deferred.reject(response.error)}}));return deferred.promise};greylistData.fetchDeferredEntries=function(meta){var deferred=$q.defer();var apiCall=new APIREQUEST.Class;apiCall.initialize("","read_cpgreylist_deferred_entries");if(meta){if(meta.filterBy&&meta.filterValue){apiCall.addFilter(meta.filterBy,meta.filterCompare,meta.filterValue)}if(meta.sortBy&&meta.sortDirection){apiCall.addSorting(meta.sortBy,meta.sortDirection,meta.sortType)}if(meta.pageNumber){apiCall.addPaging(meta.pageNumber,meta.pageSize||20)}}API.promise(apiCall.getRunArguments()).done((function(response){response=response.parsedResponse;if(response.status){var return_data={};return_data.list=response.data.greylist_deferred_entries;return_data.utc_offset=response.data.server_tzoffset;return_data.timezone=response.data.server_timezone;return_data.meta=response.meta;deferred.resolve(return_data)}else{deferred.reject(response.error)}}));return deferred.promise};return greylistData}]);return greylistDataSource}));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings