File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/easyapache4/services/pkgResolution.min.js
Back
define(["angular","lodash","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(angular,_){"use strict";var app=angular.module("whm.easyapache4.pkgResolution",[]);app.factory("pkgResolution",(function(){var oData={eaRegex:/^ea-/,allConflicts:[],allRequires:[],resolvedRemoveList:[],requireStructure:{safe:[],unsafe:{}},conflictStructure:{safe:[],unsafe:{}},orListStructure:{exist:false,orLists:[]},resolvedPackages:{addList:[],removeList:[],actionNeeded:false}};oData.resetCommonVariables=function(){oData.allConflicts=[];oData.allRequires=[];oData.resolvedRemoveList=[];oData.requireStructure={safe:[],unsafe:{}};oData.conflictStructure={safe:[],unsafe:{}};oData.orListStructure={exist:false,orLists:[]};oData.resolvedPackages={addList:[],removeList:[],actionNeeded:false}};oData.getOrListStructure=function(){return oData.orListStructure};oData.setOrListStructure=function(data){oData.orListStructure=data};oData.getResolvedData=function(){return oData.resolvedPackages};oData.resolveDependenciesWhenSelected=function(thisPackage,selectedPackages,pkgInfoList){var retData={orListExist:false,actionNeeded:false};if(thisPackage){oData.recurseWhenSelected(thisPackage,thisPackage.package,pkgInfoList);oData.allRequires.push(thisPackage.package);oData.orListStructure=oData.updateMultiRequirements(oData.orListStructure,selectedPackages,oData.allRequires,oData.allConflicts,pkgInfoList);if(oData.orListStructure.exist){retData.orListExist=oData.orListStructure.exist}else{var actionNeeded=oData.proceedToResolveRequirementsAndConflicts(thisPackage,selectedPackages,pkgInfoList);retData.actionNeeded=actionNeeded}}return retData};oData.updateMultiRequirements=function(multiReq,selectedPackages,allRequires,allConflicts,pkgInfoList){if(multiReq){var orLists=_.clone(multiReq.orLists);_.each(orLists,(function(eachList){var removeThisList=false;var filterList=_.filter(eachList,(function(pkg){return oData.eaRegex.test(pkg)&&typeof pkgInfoList[pkg]!=="undefined"}));removeThisList=_.isEmpty(filterList);var alreadyInRequires=[];if(!removeThisList){alreadyInRequires=_.intersection(filterList,selectedPackages);if(_.isEmpty(alreadyInRequires)){alreadyInRequires=_.intersection(filterList,allRequires)}if(!_.isEmpty(alreadyInRequires)){if(filterList.length===1){oData.allRequires=_.union(allRequires,filterList)}removeThisList=true}else{var findConflicts=_.intersection(filterList,allConflicts);filterList=_.difference(filterList,findConflicts);if(filterList.length===1){oData.allRequires=_.union(allRequires,filterList);removeThisList=true}}}if(removeThisList){_.pull(multiReq.orLists,eachList)}else if(!_.isEqual(eachList,filterList)){_.pull(multiReq.orLists,eachList);if(!_.isEmpty(filterList)){multiReq.orLists=_.concat(multiReq.orLists,[filterList])}}}));multiReq.exist=multiReq.orLists.length>0}return multiReq};oData.continueResolvingDependencies=function(thisPackage,chosenPkg,chosenPkgName,pkgInfoList,selectedPackages){var retData={orListExist:false,actionNeeded:false};oData.recurseWhenSelected(chosenPkg,chosenPkgName,pkgInfoList);oData.allRequires.push(chosenPkgName);oData.orListStructure=oData.updateMultiRequirements(oData.orListStructure,selectedPackages,oData.allRequires,oData.allConflicts,pkgInfoList);if(oData.orListStructure.exist){retData.orListExist=oData.orListStructure.exist}else{var actionNeeded=oData.proceedToResolveRequirementsAndConflicts(thisPackage,selectedPackages,pkgInfoList);retData.actionNeeded=actionNeeded}return retData};oData.proceedToResolveRequirementsAndConflicts=function(thisPackage,selectedPackages,pkgInfoList){var reqToConsider=_.difference(oData.allRequires,selectedPackages);if(reqToConsider.length>0){oData.requireStructure=oData.buildRequireStructure(reqToConsider,selectedPackages,pkgInfoList)}var consToConsider=_.intersection(oData.allConflicts,selectedPackages);if(consToConsider.length>0){oData.conflictStructure=oData.buildConflictStructure(consToConsider,selectedPackages,pkgInfoList)}oData.requireStructure=oData.resolveUnsafeRequires(selectedPackages,oData.requireStructure,pkgInfoList);oData.conflictStructure=oData.resolveUnsafeConflicts(selectedPackages,oData.conflictStructure,pkgInfoList);oData.resolvedPackages.removeList=_.union(oData.resolvedRemoveList,oData.conflictStructure.safe);oData.resolvedPackages.addList=oData.requireStructure.safe;oData.resolvedPackages.actionNeeded=oData.resolvedPackages.removeList.length>0;return oData.resolvedPackages.actionNeeded};oData.buildRequireStructure=function(reqToConsider,selectedPackages,pkgInfoList){var reqStruct=oData.requireStructure;if(pkgInfoList){_.each(reqToConsider,(function(req){var reqIsSafe=true;_.each(selectedPackages,(function(pkg){var pkgDetails=pkgInfoList[pkg];if(typeof pkgDetails!=="undefined"&&_.includes(pkgDetails.pkg_dep.conflicts,req)){if(typeof reqStruct.unsafe[req]==="undefined"){reqStruct.unsafe[req]=[]}reqStruct.unsafe[req].push(pkg);reqIsSafe=false}}));if(reqIsSafe){reqStruct.safe.push(req)}}))}return reqStruct};oData.buildConflictStructure=function(consToConsider,selectedPackages,pkgInfoList){var conStruct=oData.conflictStructure;_.each(consToConsider,(function(con){var conIsSafe=true;_.each(selectedPackages,(function(pkg){var pkgDetails=pkgInfoList[pkg];if(typeof pkgDetails!=="undefined"&&_.includes(pkgDetails.pkg_dep.requires,con)){if(typeof conStruct.unsafe[con]==="undefined"){conStruct.unsafe[con]=[]}conStruct.unsafe[con].push(pkg);conIsSafe=false}}));if(conIsSafe){conStruct.safe.push(con)}}));return conStruct};oData.resolveUnsafeRequires=function(selectedPackages,reqStruct,pkgInfoList){if(reqStruct){var oUnsafeRequires=reqStruct.unsafe;var keys=_.keys(oUnsafeRequires);_.each(keys,(function(req){var conflictsToResolve=oUnsafeRequires[req];conflictsToResolve=_.difference(conflictsToResolve,oData.resolvedRemoveList);_.each(conflictsToResolve,(function(con){if(!_.includes(oData.resolvedRemoveList,con)){var selPkgsToConsider=_.difference(selectedPackages,oData.resolvedRemoveList);oData.recurseConflictRequirements(pkgInfoList[con],con,selPkgsToConsider,pkgInfoList);oData.resolvedRemoveList=_.union(oData.resolvedRemoveList,[con])}}));reqStruct.safe.push(req);_.unset(reqStruct.unsafe,req)}));reqStruct.unsafe={}}return reqStruct};oData.resolveUnsafeConflicts=function(selectedPackages,conStruct,pkgInfoList){if(conStruct){var oUnsafeConflicts=_.omit(conStruct.unsafe,oData.resolvedRemoveList);var keys=_.keys(oUnsafeConflicts);_.each(keys,(function(con){var reqsToResolve=_.difference(oUnsafeConflicts[con],oData.resolvedRemoveList);_.each(reqsToResolve,(function(req){if(!_.includes(oData.resolvedRemoveList,req)){var selPkgsToConsider=_.difference(selectedPackages,oData.resolvedRemoveList);oData.recurseConflictRequirements(pkgInfoList[req],req,selPkgsToConsider,pkgInfoList);oData.resolvedRemoveList=_.union(oData.resolvedRemoveList,[req])}}));conStruct.safe.push(con);_.unset(conStruct.unsafe,con)}));conStruct.unsafe={}}return conStruct};oData.recurseConflictRequirements=function(conPackage,origPkgName,selPkgsToConsider,pkgInfoList){var pkgName=conPackage.package;if(origPkgName!==pkgName){oData.resolvedRemoveList.push(pkgName)}var recurseArray=_.pull(selPkgsToConsider,pkgName);recurseArray=_.filter(recurseArray,(function(pkg){var pkgDetails=pkgInfoList[pkg];return typeof pkgDetails!=="undefined"&&_.includes(pkgDetails.pkg_dep.requires,pkgName)}));_.each(recurseArray,(function(recurPkg){oData.recurseConflictRequirements(pkgInfoList[recurPkg],origPkgName,selPkgsToConsider,pkgInfoList)}))};oData.recurseWhenSelected=function(pkgInfo,origPkgName,pkgInfoList){if(pkgInfo){var pkgName=pkgInfo.package;if(!oData.eaRegex.test(pkgName)){return}if(_.includes(oData.allRequires,pkgName)){return}if(typeof origPkgName!=="undefined"&&pkgName!==origPkgName){oData.allRequires.push(pkgName)}oData.allConflicts=_.union(oData.allConflicts,_.filter(pkgInfo.pkg_dep.conflicts,(function(pkg){return oData.eaRegex.test(pkg)})));var recurseArray=[];if(pkgInfo.pkg_dep.requires.length>0){recurseArray=_.clone(pkgInfo.pkg_dep.requires);var orLists=_.remove(recurseArray,(function(pkg){return _.isArray(pkg)}));if(orLists.length>0){oData.orListStructure.orLists=_.unionWith(oData.orListStructure.orLists,orLists,_.isEqual)}recurseArray=_.filter(recurseArray,(function(pkg){return oData.eaRegex.test(pkg)}));recurseArray=_.difference(recurseArray,oData.allRequires)}_.forEach(recurseArray,(function(reqPkg){var reqPkgInfo=pkgInfoList[reqPkg];if(typeof reqPkgInfo!=="undefined"){oData.recurseWhenSelected(reqPkgInfo,origPkgName,pkgInfoList)}}))}};oData.getAllDepsRecursively=function(selected,pkgInfo,origPkgName,pkgInfoList,selectedPackages){var deps={};if(selected){oData.recurseWhenSelected(pkgInfo,origPkgName,pkgInfoList);deps={requiredPkgs:oData.allRequires,conflictPkgs:oData.allConflicts}}else{oData.recurseWhenUnselected(pkgInfo,origPkgName,pkgInfoList,selectedPackages);deps={removedList:oData.resolvedRemoveList}}return deps};oData.resolveDependenciesWhenUnSelected=function(thisPackage,selectedPackages,pkgInfoList){if(thisPackage){var pkgName=thisPackage.package;oData.resolvedRemoveList.push(pkgName);oData.recurseWhenUnselected(thisPackage,pkgName,pkgInfoList,selectedPackages);oData.resolvedPackages.removeList=_.uniq(oData.resolvedRemoveList)}};oData.recurseWhenUnselected=function(pkgInfo,origPkgName,pkgInfoList,selectedPkgsToUnselectFrom){var pkgName=pkgInfo.package;if(!oData.eaRegex.test(pkgName)){return}if(_.includes(oData.allRequires,pkgName)){return}if(typeof origPkgName!=="undefined"&&pkgName!==origPkgName){oData.allRequires.push(pkgName)}var recurseArray=[];if(selectedPkgsToUnselectFrom.length>0){_.each(selectedPkgsToUnselectFrom,(function(pkg){if(_.includes(pkgInfoList&&pkgInfoList[pkg]&&pkgInfoList[pkg].pkg_dep.requires,pkgName)){oData.resolvedRemoveList.push(pkg);recurseArray.push(pkg)}}));selectedPkgsToUnselectFrom=_.pullAll(selectedPkgsToUnselectFrom,recurseArray);var orLists=_.remove(recurseArray,(function(pkg){return _.isArray(pkg)}));_.each(orLists,(function(orList){_.concat(recurseArray,_.filter(orList,(function(pkg){return typeof pkgInfoList[pkg]!=="undefined"&&pkgInfoList[pkg].selectedPackage})))}));recurseArray=_.filter(recurseArray,(function(pkg){return oData.eaRegex.test(pkg)}));recurseArray=_.difference(recurseArray,oData.allRequires)}_.forEach(recurseArray,(function(reqPkg){var reqPkgInfo=pkgInfoList[reqPkg];if(typeof reqPkgInfo!=="undefined"){oData.recurseWhenUnselected(reqPkgInfo,origPkgName,pkgInfoList,selectedPkgsToUnselectFrom)}}))};oData.setupMultiRequirementForUserInput=function(pkgInfoList){var multiRequirements={};var orListStruct=oData.getOrListStructure();if(typeof orListStruct!=="undefined"){var orList=orListStruct.orLists.shift();if(typeof orList!=="undefined"&&orList.length>0){var orListWithPkgNames=_.map(orList,(function(orPkg){if(typeof pkgInfoList[orPkg]!=="undefined"){return{package:orPkg,displayName:pkgInfoList[orPkg].displayName}}}));multiRequirements={exist:orListStruct.exist,orList:orListWithPkgNames,chosenPackage:""}}}return multiRequirements};oData.resetPkgResolveActions=function(pkgInfo){oData.resetCommonVariables();if(pkgInfo){pkgInfo.actions={removeList:[],addList:[],actionNeeded:false};pkgInfo.mpmMissing=false;pkgInfo.mpmMissingMsg="";pkgInfo.multiRequirements={}}return pkgInfo};oData.setupConDepCallout=function(pkgInfo,pkgInfoList){var resData=oData.getResolvedData();if(resData.actionNeeded){pkgInfo.actions.actionNeeded=resData.actionNeeded;pkgInfo.actions.removeList=_.map(resData.removeList,(function(pkg){return pkgInfoList[pkg].displayName}));pkgInfo.actions.addList=_.map(resData.addList,(function(pkg){return pkgInfoList[pkg].displayName}))}return pkgInfo};return oData}))}));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings