📁
SKYSHELL MANAGER
PHP v8.2.31
Create
Create
Path:
root
/
home
/
thevaxnx
/
nativize.com
/
staging
/
wp-includes
/
js
/
tinymce
/
themes
/
Name
Size
Perm
Actions
📁
inlite
-
0755
🗑️
🏷️
🔒
📁
modern
-
0755
🗑️
🏷️
🔒
📄
wp-links-opml.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: index.cmb.min.js
define("app/services/ea4Util",["angular","cjt/util/locale","lodash","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(e,t,a){"use strict";e.module("whm.easyapache4.ea4Util",[]).factory("ea4Util",["wizardState",function(n){var i={eaRegex:/^ea-/i,phpVerRegex:/^ea-php(\d{2})$/i,phpExtRegex:/^ea-php(\d{2}-)/i,apacheVerRegex:/^ea-apache(\d{2})$/i,rubyVerRegex:/^ea-ruby(\d{2})/i,apacheModulesRegex:/^ea-apache(\d{2}-)/i,additionalPkgList:[],defaultMeta:{filterList:{},filterValue:"",isEmptyList:!1,showPager:!0,maxPages:0,totalItems:0,currentPage:1,pageSize:10,pageSizes:[10,20,50,100],start:0,limit:10},pkgActions:{removeList:[],addList:[],actionNeeded:!1},vhostWarning:{exist:!1,text:""},multiRequirements:{exist:!1,orList:[],chosenPackage:""},autoSelectExt:{list:[],text:"",errorList:[],show:!1,showError:!1,showCommonExtensions:!1},checkUpdateInfo:{isLoading:!0,pkgNumber:0,btnText:t.maketext("Checking for updates …"),btnTitle:t.maketext("Checking for updates …"),btnCss:"btn-ea4-looking-updates disabled"},cachedPrefixes:null,cachePrefixes:function(e){i.cachedPrefixes=e},getCachedPrefixes:function(){return i.cachedPrefixes||[]},cachedMetaInfo:null,cacheMetaInfo:function(e){i.cachedMetaInfo=e},getCachedMetaInfo:function(){return i.cachedMetaInfo||{}},getOutdatedLabel:function(){return t.maketext("Outdated")},isOutdatedPhpVersion:function(e){if(PAGE&&PAGE.suppress_php_eol_status)return!1;var t=i.getCachedMetaInfo().oldest_supported_version;if(!t||!e)return!1;var a=e.match(/^([^-]+)-php(\d{2})(?:-|$)/i);if(!a)return!1;if("alt"===a[1].toLowerCase())return!1;var n=a[2],o=parseInt(n.charAt(0),10),r=parseInt(n.charAt(1),10),s=t.split("."),c=parseInt(s[0],10),l=parseInt(s[1]||"0",10);return o<c||o===c&&r<l},appendOutdatedLabel:function(e,t,a){return i.isOutdatedPhpVersion(t)?(a||(a=i.getOutdatedLabel()),-1!==e.indexOf(a)?e:e+" ("+a+")"):e},gatherAllRequirementsOfPkgs:function(e,t){var n=[];return a.each(e,(function(e){if(!a.includes(n,e)){var o=t[e];if(void 0!==o){var r=i.recurseForRequires(o,e,n,t);void 0!==r&&(n=r)}n.push(e)}})),n},recurseForRequires:function(e,t,n,o){var r=e.package,s=i.getCachedPrefixes(),c=["ea","alt"].concat(s);if(a.some(c,(function(e){return r.startsWith(e+"-")}))&&!a.includes(n,r)){void 0!==t&&r!==t&&n.push(r);var l=[];return e.pkg_dep.requires.length>0&&(l=a.clone(e.pkg_dep.requires),l=a.filter(l,(function(e){return"string"==typeof e&&!a.isArray(e)&&a.some(c,(function(t){return e.startsWith(t+"-")}))})),l=a.difference(l,n)),a.forEach(l,(function(e){var a=o[e];void 0!==a&&i.recurseForRequires(a,t,n,o)})),n}},getFormattedPackageList:function(e,t){var n=[],o=i.getCachedPrefixes()||[],r=["ea"].concat(o);return a.each(e,(function(e){var o,s="ea",c=a.find(r,(function(t){return e.startsWith(t+"-")}));c&&(s=c),o="ea"===s?i._getReadableName(e,t):e,n.push(o)})),n},getFormattedPackageName:function(e,t){return i._getReadableName(e,t)},_getReadableName:function(e,t){var a=e;if(void 0!==t&&""!==t)a=e.replace(t,"");else if(i.apacheModulesRegex.test(e))a=e.replace(i.apacheModulesRegex,"");else{var n=i.getCachedPrefixes()||[],o="^("+["ea"].concat(n).join("|")+")-",r=new RegExp(o);a=r.test(e)?e.replace(r,""):e}return"php"===a&&(a="php (DSO)"),a},getProfilePackagesByCategories:function(e){return i._pkgByCategory(e)},_pkgByCategory:function(e){var n={},o=[],r=[],s=[],c=[],l="",u="ea",p=i.getCachedPrefixes(),d=["ea"].concat(p);(a.each(e,(function(e){if(i.apacheVerRegex.test(e)){l=e;var t=e.match(new RegExp("^("+d.join("|")+")-apache"));t&&(u=t[1])}else i.apacheModulesRegex.test(e)?o=a.concat(o,e):i.phpVerRegex.test(e)?c=a.concat(c,e):i.phpExtRegex.test(e)?r=a.concat(r,e):s=a.concat(s,e)})),o.length>0)&&(l=i._getReadableName(l,i.eaRegex),n[u+"_"+l]={name:i.versionToString(l),prefix:"ea"!==u?u:null,packages:i.getFormattedPackageListForProfile(o,i.apacheModulesRegex)});return c.length>0&&a.each(c.sort(),(function(e){var t=new RegExp("^"+a.escapeRegExp(e)+"-"),o=a.filter(r,(function(e){return t.test(e)}));r=a.difference(r,o);var s=i._getReadableName(e,i.eaRegex),c="ea",l=e.match(new RegExp("^("+d.join("|")+")-php"));l&&(c=l[1]);var u=c+"_"+s,p=i.versionToString(s).replace("Php","PHP"),f=i.isOutdatedPhpVersion(e);n[u]={name:p,prefix:"ea"!==c?c:null,isOutdated:f,packages:i.getFormattedPackageListForProfile(o,i.phpExtRegex)}})),s.length>0&&(n.others={name:t.maketext("Additional Packages"),prefix:null,packages:i.getFormattedPackageListForProfile(s,/^ea-/)}),n},getFormattedPackageListForProfile:function(e,t){var n=[];return a.each(e,(function(e){var a=i._getReadableName(e,t);n.push(a)})),n},versionToString:function(e){return e.replace(/^([a-z]+)(\d)(\d)$/,(function(e,t,n,i){return a.capitalize(t)+" "+n+"."+i}))},getPackageLabel:function(e,t){var a="";return e?"updatable"===t?a="Update":"installed"!==t&&"updatable"!==t?a="Install":"installed"===t&&(a="Unaffected"):"installed"!==t&&"updatable"!==t||(a="Uninstall"),a},getPackageClass:function(e,t){var a;return e?(a="callout",a+="updatable"===t?" callout-info":" callout-success"):a="installed"===t||"updatable"===t?"callout callout-warning":"no-callout",a},getDefaultMetaData:function(){return a.clone(i.defaultMeta)},getDefaultPageSizes:function(){return i.defaultMeta.pageSizes},getUpdatedMetaData:function(e,t){if(void 0!==e&&a.keys(e).length<=0)return t.isEmptyList=!0,t.totalItems=0,t;var n=t.filterValue;if(n){var o=new RegExp(".*"+n+".*","i");e=a.pickBy(e,(function(e,t){return o.test(e.package)||o.test(e.short_description)}))}var r=a.keys(e),s=i.getDefaultPageSizes();s=a.filter(s,(function(e){return e<=r.length})),t.pageSizes=s;var c=r.length;if(c>a.min(s)){var l=(t.currentPage-1)*t.pageSize,u=l+t.pageSize;u=u>c?c:u,e=a.pick(e,a.slice(r,l,u)),t.start=l+1,t.limit=u,t.showPager=!0}else t.showPager=!1,0===r.length?t.start=0:t.start=1,t.limit=r.length;return t.totalItems=c,t.filterList=e,t.isEmptyList=a.keys(t.filterList).length<=0,t},getPageShowingText:function(e){var a="";return e&&void 0!==e.start&&void 0!==e.limit&&void 0!==e.totalItems&&(a=t.maketext("[output,strong,Showing] [_1] - [_2] of [_3] items",e.start,e.limit,e.totalItems)),a},getExtensionsForPHPVersion:function(e,t){var n=new RegExp(e+".*","i");return a.filter(t,(function(e){return n.test(e)}))},decideShowHideRecommendations:function(e,n,o,r){return a.each(e,(function(e){if(!a.isUndefined(e)&&(e.show=void 0!==o&&(o?"add"===e.on:"remove"===e.on),e.show)){var s=r;i.phpVerRegex.test(r)&&(s=i._getReadableName(r,i.eaRegex),s=i.versionToString(s).replace("Php","PHP"));var c=t.makevar(e.name);e.displayName=t.maketext("Recommendations for “[_1]”: [_2]",s,c),e.desc=t.makevar(e.desc),e.showFootnote=!1;var l=!0;a.each(e.options,(function(i){a.isNil(i.recommended)||(i.title=i.recommended?t.maketext("Recommended"):t.maketext("Not Recommended")),i.text=t.makevar(i.text),i.show=!0,a.isEmpty(i.items)?i.show=l:(l=i.show=a.isEmpty(a.intersection(i.items,n)),e.showFootnote||(e.showFootnote=i.show))})),e.show=!a.every(e.options,["show",!1])}})),e},getExtensionsOfSelectedPHPVersions:function(e,t,n){var o=[],r=!1,s=a.filter(a.keys(e),(function(e){return i.phpVerRegex.test(e)})).sort(),c=a.filter(n,(function(e){return i.phpVerRegex.test(e)})).sort();if(a.isEqual(s,c))c=s,o=a.keys(t);else if(c.length>0){var l=a.keys(t);a.each(c,(function(e){var t=new RegExp(e+".*","i"),n=a.remove(l,(function(e){return t.test(e)}));o=a.concat(o,n)}))}else r=!0;return{versions:c,extensions:o,noPHPSelected:r}},validateFilename:function(e){var a={valid:!0,valMsg:""};return/^\.{1,2}$/.test(e)?(a.valid=!1,a.valMsg=t.maketext("Filename [output,strong,cannot] be “[output,strong,_1]”.",e)):/\/|\0/.test(e)&&(a.valid=!1,a.valMsg=t.maketext("Filename [output,strong,cannot] include the following characters: [list_and,_1]",["/","NUL"])),a},setupVhostWarning:function(e,a){e.vhostWarning.exist=!0;var n=t.maketext("[quant,_1,virtual host currently uses,virtual hosts currently use] this version of PHP. If you remove this PHP version, your virtual hosts may not work properly.",a);return n=n.replace(/^(\d+)/,"<span class='vhost-emphasis'>$1</span>"),e.vhostWarning.text=n,e},resetVhostWarning:function(t){t.vhostWarning=e.copy(i.vhostWarning)},createTagsForActiveProfile:function(e){var n=[],o=!1,r=new Set,s=i.getCachedPrefixes()||[],c=["ea","alt"].concat(s),l=new RegExp("^("+c.join("|")+")-php(\\d{2})$","i"),u=new RegExp("^("+c.join("|")+")-apache(\\d{2})$","i"),p=new RegExp("^("+c.join("|")+")-ruby(\\d{2})","i");return a.each(e,(function(e){var s,c=e.match(u);if(c){s="Apache "+c[2].replace(/(\d)(\d)$/,"$1.$2"),n=a.concat(n,s)}else{var d=e.match(l);if(d){var f=d[1],g="PHP "+d[2].replace(/(\d)(\d)$/,"$1.$2");f="ea",e.startsWith("alt-")?f="alt":e.startsWith("ea-")||e.startsWith("alt-")||(f=d[1]);var m=f.toLowerCase()+"-"+g;if(!r.has(m))if(r.add(m),"alt"===f.toLowerCase())if(PAGE&&PAGE.suppress_php_eol_status)n=a.concat(n,g+" (alt)");else{var v=t.maketext("Secured");n=a.concat(n,g+" (alt)("+v+")")}else if("ea"!==f.toLowerCase()){var h=g+" ("+f+")";h=i.appendOutdatedLabel(h,e,i.getOutdatedLabel()),n=a.concat(n,h)}else{var P=i.appendOutdatedLabel(g,e,i.getOutdatedLabel());n=a.concat(n,P)}}}var k=e.match(p);k&&!o&&(s="Ruby "+k[2].replace(/(\d)(\d)$/,"$1.$2"),n=a.concat(n,s),o=!0)})),n},checkMPMRequirement:function(e,n,i,o){var r=/mod[-_]mpm/,s=a.filter(a.uniq(n.removeList),(function(e){return r.test(e)}));!o&&r.test(e.package)&&(s=a.union(s,[e.package]));var c=a.difference(i,s),l=a.findIndex(c,(function(e){return r.test(e)})),u=a.findIndex(n.addList,(function(e){return r.test(e)}));return-1===l&&-1===u&&(e.mpmMissing=!0,e.mpmMissingMsg=t.maketext("Your selection removed [list_and,_1].",s)+" "+t.maketext("An [asis,MPM] package must exist on your system. Click “Continue” to select a new [asis,MPM] package.")+" "+t.maketext("Click “Cancel” to cancel this operation."),e.actions.actionNeeded=!1),e},getCommonlyInstalledExtensions:function(e,t){var n=a.map(a.filter(e,["selectedPackage",!0]),"package"),o=[];a.each(t,(function(e,t){o[t]=a.chain(n).filter((function(t){return a.startsWith(t,e)})).map((function(e){return a.replace(e,i.phpExtRegex,"")})).value()}));var r=[];if(1===o.length)r=o[0];else{for(var s=a.map(o,(function(e){var t={};return a.each(e,(function(e){var a=function(e){return 0===e.indexOf("php-")?e.substring(4):e}(e);t[a]&&0!==e.indexOf("php-")||(t[a]=e)})),t})),c=a.keys(s[0]),l=1;l<s.length;l++)c=a.intersection(c,a.keys(s[l]));r=a.map(c,(function(e){for(var t=0;t<s.length;t++){var a=s[t][e];if(a&&0===a.indexOf("php-"))return a}return s[0][e]}))}return a.pullAll(r,["php","scldevel"]),r},doRubyPkgsExist:function(e){return a.some(e,(function(e){return i.rubyVerRegex.test(e.package)}))},updateRegexForPrefixes:function(e){var t=["ea"].concat(e||[]),a="("+t.join("|")+")";i.eaRegex=new RegExp("^("+t.join("|")+")-","i"),i.phpVerRegex=new RegExp("^"+a+"-php(\\d{2})$","i"),i.phpExtRegex=new RegExp("^"+a+"-php(\\d{2}-)","i"),i.apacheVerRegex=new RegExp("^"+a+"-apache(\\d{2})$","i"),i.apacheModulesRegex=new RegExp("^"+a+"-apache(\\d{2}-)","i"),i.rubyVerRegex=new RegExp("^"+a+"-ruby(\\d{2})","i")},doAdditionalPkgsExist:function(e,t){return a.some(e,(function(e){return a.includes(a.keys(t),e)}))},showFooter:function(){n.showFooter=!0},hideFooter:function(){n.showFooter=!1}};return i}])}));var LZString=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(e,t){if(!n[e]){n[e]={};for(var a=0;a<e.length;a++)n[e][e.charAt(a)]=a}return n[e][t]}var o={compressToBase64:function(e){if(null==e)return"";var a=o._compress(e,6,(function(e){return t.charAt(e)}));switch(a.length%4){default:case 0:return a;case 1:return a+"===";case 2:return a+"==";case 3:return a+"="}},decompressFromBase64:function(e){return null==e?"":""==e?null:o._decompress(e.length,32,(function(a){return i(t,e.charAt(a))}))},compressToUTF16:function(t){return null==t?"":o._compress(t,15,(function(t){return e(t+32)}))+" "},decompressFromUTF16:function(e){return null==e?"":""==e?null:o._decompress(e.length,16384,(function(t){return e.charCodeAt(t)-32}))},compressToUint8Array:function(e){for(var t=o.compress(e),a=new Uint8Array(2*t.length),n=0,i=t.length;n<i;n++){var r=t.charCodeAt(n);a[2*n]=r>>>8,a[2*n+1]=r%256}return a},decompressFromUint8Array:function(t){if(null==t)return o.decompress(t);for(var a=new Array(t.length/2),n=0,i=a.length;n<i;n++)a[n]=256*t[2*n]+t[2*n+1];var r=[];return a.forEach((function(t){r.push(e(t))})),o.decompress(r.join(""))},compressToEncodedURIComponent:function(e){return null==e?"":o._compress(e,6,(function(e){return a.charAt(e)}))},decompressFromEncodedURIComponent:function(e){return null==e?"":""==e?null:(e=e.replace(/ /g,"+"),o._decompress(e.length,32,(function(t){return i(a,e.charAt(t))})))},compress:function(t){return o._compress(t,16,(function(t){return e(t)}))},_compress:function(e,t,a){if(null==e)return"";var n,i,o,r={},s={},c="",l="",u="",p=2,d=3,f=2,g=[],m=0,v=0;for(o=0;o<e.length;o+=1)if(c=e.charAt(o),Object.prototype.hasOwnProperty.call(r,c)||(r[c]=d++,s[c]=!0),l=u+c,Object.prototype.hasOwnProperty.call(r,l))u=l;else{if(Object.prototype.hasOwnProperty.call(s,u)){if(u.charCodeAt(0)<256){for(n=0;n<f;n++)m<<=1,v==t-1?(v=0,g.push(a(m)),m=0):v++;for(i=u.charCodeAt(0),n=0;n<8;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1}else{for(i=1,n=0;n<f;n++)m=m<<1|i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i=0;for(i=u.charCodeAt(0),n=0;n<16;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1}0==--p&&(p=Math.pow(2,f),f++),delete s[u]}else for(i=r[u],n=0;n<f;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1;0==--p&&(p=Math.pow(2,f),f++),r[l]=d++,u=String(c)}if(""!==u){if(Object.prototype.hasOwnProperty.call(s,u)){if(u.charCodeAt(0)<256){for(n=0;n<f;n++)m<<=1,v==t-1?(v=0,g.push(a(m)),m=0):v++;for(i=u.charCodeAt(0),n=0;n<8;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1}else{for(i=1,n=0;n<f;n++)m=m<<1|i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i=0;for(i=u.charCodeAt(0),n=0;n<16;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1}0==--p&&(p=Math.pow(2,f),f++),delete s[u]}else for(i=r[u],n=0;n<f;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1;0==--p&&(p=Math.pow(2,f),f++)}for(i=2,n=0;n<f;n++)m=m<<1|1&i,v==t-1?(v=0,g.push(a(m)),m=0):v++,i>>=1;for(;;){if(m<<=1,v==t-1){g.push(a(m));break}v++}return g.join("")},decompress:function(e){return null==e?"":""==e?null:o._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,a,n){var i,o,r,s,c,l,u,p=[],d=4,f=4,g=3,m="",v=[],h={val:n(0),position:a,index:1};for(i=0;i<3;i+=1)p[i]=i;for(r=0,c=Math.pow(2,2),l=1;l!=c;)s=h.val&h.position,h.position>>=1,0==h.position&&(h.position=a,h.val=n(h.index++)),r|=(s>0?1:0)*l,l<<=1;switch(r){case 0:for(r=0,c=Math.pow(2,8),l=1;l!=c;)s=h.val&h.position,h.position>>=1,0==h.position&&(h.position=a,h.val=n(h.index++)),r|=(s>0?1:0)*l,l<<=1;u=e(r);break;case 1:for(r=0,c=Math.pow(2,16),l=1;l!=c;)s=h.val&h.position,h.position>>=1,0==h.position&&(h.position=a,h.val=n(h.index++)),r|=(s>0?1:0)*l,l<<=1;u=e(r);break;case 2:return""}for(p[3]=u,o=u,v.push(u);;){if(h.index>t)return"";for(r=0,c=Math.pow(2,g),l=1;l!=c;)s=h.val&h.position,h.position>>=1,0==h.position&&(h.position=a,h.val=n(h.index++)),r|=(s>0?1:0)*l,l<<=1;switch(u=r){case 0:for(r=0,c=Math.pow(2,8),l=1;l!=c;)s=h.val&h.position,h.position>>=1,0==h.position&&(h.position=a,h.val=n(h.index++)),r|=(s>0?1:0)*l,l<<=1;p[f++]=e(r),u=f-1,d--;break;case 1:for(r=0,c=Math.pow(2,16),l=1;l!=c;)s=h.val&h.position,h.position>>=1,0==h.position&&(h.position=a,h.val=n(h.index++)),r|=(s>0?1:0)*l,l<<=1;p[f++]=e(r),u=f-1,d--;break;case 2:return v.join("")}if(0==d&&(d=Math.pow(2,g),g++),p[u])m=p[u];else{if(u!==f)return null;m=o+o.charAt(0)}v.push(m),p[f++]=o+m.charAt(0),o=m,0==--d&&(d=Math.pow(2,g),g++)}}};return o}();"function"==typeof define&&define.amd?define("lz-string",[],(function(){return LZString})):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",(function(){return LZString})),define("app/services/ea4Data",["angular","lodash","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService","app/services/ea4Util","lz-string"],(function(e,t,a,n,i,o,r,s){"use strict";e.module("whm.easyapache4.ea4Data",[]).factory("ea4Data",["$q","$location","ea4Util","APIService",function(e,i,o,r){var c={isReadyForProvision:!1,updateRegexesForPrefixes:function(e){var t="("+["ea"].concat(e||[]).join("|")+")";c.mpmRegex=new RegExp(t+"-apache\\d{2}-mod[_-]mpm.*","i"),c.modulesRegex=new RegExp(t+"-apache\\d{2}-mod.*","i"),c.phpRegex=new RegExp("^"+t+"-php\\d{2}$","i"),c.phpExtRegex=new RegExp(t+"-php\\d{2}-.*","i"),c.rubyRegex=new RegExp(t+"-ruby\\d{2}-.*","i")}};c.updateRegexesForPrefixes([]),c.provisionReady=function(e){if("boolean"!=typeof e)return c.isReadyForProvision;c.isReadyForProvision=e},c.getProfiles=function(){var t=e.defer(),i=new n.Class;return i.initialize("","ea4_list_profiles"),a.promise(i.getRunArguments()).done((function(e){(e=e.parsedResponse).status?t.resolve(e.raw.data):t.reject(e.error)})),t.promise},c.getVhostsByPhpVersion=function(t){var i=e.defer(),o=new n.Class;return o.initialize("","php_get_vhosts_by_version"),o.addArgument("version",t),a.promise(o.getRunArguments()).done((function(e){(e=e.parsedResponse).status?i.resolve(e.data):i.reject(e.error)})),i.promise},c.ea4GetCurrentPkgList=function(){var e=new n.Class,t=new r;return e.initialize("","ea4_get_currently_installed_packages"),t.deferred(e).promise},c.getEA4MetaInfo=function(){var e=new n.Class,t=new r;return e.initialize("","ea4_metainfo"),t.deferred(e).promise},c.getPkgInfoForAdditionalPackages=function(e){var a={};return t.each(o.additionalPkgList,(function(t){var n=e[t];void 0!==n&&(a[t]=n)})),a},c.getPkgInfoSubset=function(e,t){var a;if("additional"===e)return c.getPkgInfoForAdditionalPackages(t);switch(e){case"mpm":a=c.mpmRegex;break;case"modules":a=c.modulesRegex;break;case"php":a=c.phpRegex;break;case"extensions":a=c.phpExtRegex;break;case"ruby":a=c.rubyRegex}return c.filterByRegex(a,t)},c.filterByRegex=function(e,a){var n={};if(void 0===e)return a;var i=t.filter(t.keys(a),(function(t){return e.test(t)}));return i.sort(),t.each(i,(function(e){n[e]=a[e]})),n},c.resolvePackages=function(i){var r=e.defer();return c.getAdditionalPkgPrefixes().then((function(e){o.cachePrefixes(e),o.updateRegexForPrefixes(e);var s=["ea"].concat(e);if(i&&0!==i.length){var c=new n.Class;c.initialize("","package_manager_resolve_actions");var l=0,u=0;t.each(s,(function(e){0===l?c.addArgument("ns",e):c.addArgument("ns-"+l,e),l++})),t.each(i,(function(e){0===u?c.addArgument("package",e):c.addArgument("package-"+u,e),u++})),a.promise(c.getRunArguments()).done((function(e){(e=e.parsedResponse)&&e.status&&e.raw&&e.raw.data?r.resolve(e.raw.data):r.resolve({install:[],uninstall:[],upgrade:[],unaffected:[]})})).fail((function(e){r.reject(e)}))}else r.resolve({install:[],uninstall:[],upgrade:[],unaffected:[]})}),(function(e){o.cachePrefixes([]),o.updateRegexForPrefixes([]);var s=t.filter(i,(function(e){return e.startsWith("ea-")}));if(0!==s.length){var c=new n.Class;c.initialize("","package_manager_resolve_actions"),c.addArgument("ns","ea"),t.each(s,(function(e,t){0===t?c.addArgument("package",e):c.addArgument("package-"+t,e)})),a.promise(c.getRunArguments()).done((function(e){(e=e.parsedResponse)&&e.status&&e.raw&&e.raw.data?r.resolve(e.raw.data):r.resolve({install:[],uninstall:[],upgrade:[],unaffected:[]})})).fail((function(e){r.reject(e)}))}else r.resolve({install:[],uninstall:[],upgrade:[],unaffected:[]})})),r.promise},c.doProvision=function(i,o,r,s){var c=e.defer(),l=new n.Class;return l.initialize("","package_manager_submit_actions"),t.each(i,(function(e,t){l.addArgument("install-"+t,e)})),t.each(o,(function(e,t){l.addArgument("uninstall-"+t,e)})),t.each(r,(function(e,t){l.addArgument("upgrade-"+t,e)})),a.promise(l.getRunArguments()).done((function(e){e=e.parsedResponse,c.resolve(e.raw.data)})),c.promise},c.tailingLog=function(t,i){var o=e.defer(),r=new n.Class;return r.initialize("","package_manager_get_build_log"),r.addArgument("build",t),r.addArgument("offset",i),a.promise(r.getRunArguments()).done((function(e){e=e.parsedResponse,o.resolve(e.raw.data)})),o.promise},c.getPkgInfoList=function(){var i=e.defer();return c.getAdditionalPkgPrefixes().then((function(r){o.cachePrefixes(r),o.updateRegexForPrefixes(r);var s=["ea"].concat(r),c=[];t.each(s,(function(e){var t=new n.Class;t.initialize("","package_manager_get_package_info"),t.addArgument("ns",e),c.push(a.promise(t.getRunArguments()))})),e.all(c).then((function(e){var a={};t.each(e,(function(e){(e=e.parsedResponse).status&&e.raw.data&&e.raw.data.packages&&t.each(e.raw.data.packages,(function(e){a[e.package]=e}))})),i.resolve(a)})).catch((function(e){i.reject(e)}))}),(function(e){o.cachePrefixes([]),o.updateRegexForPrefixes([]);var r=new n.Class;r.initialize("","package_manager_get_package_info"),r.addArgument("ns","ea"),a.promise(r.getRunArguments()).done((function(e){e=e.parsedResponse;var a={};t.each(e.raw.data.packages,(function(e){a[e.package]=e})),i.resolve(a)})).fail((function(e){i.reject(e)}))})),i.promise},c.cancelOperation=function(){c.clearEA4LocalStorageItems(),i.path("profile")},c.clearEA4LocalStorageItems=function(){localStorage.removeItem("pkgInfoList"),localStorage.removeItem("selectedProfile"),localStorage.removeItem("selectedPkgs"),localStorage.removeItem("provisionActions"),localStorage.removeItem("customize"),localStorage.removeItem("ea4Recommendations"),localStorage.removeItem("ea4RawPkgList"),localStorage.removeItem("ea4Update"),o.hideFooter()},c.setData=function(e){t.each(t.keys(e),(function(t){try{localStorage.setItem(t,s.compress(JSON.stringify(e[t])))}catch(e){console.error("Error storing localStorage item "+t+": ",e)}}))},c.getData=function(e){try{var t=localStorage.getItem(e);if(!t)return null;var a=s.decompress(t);return a?JSON.parse(a):JSON.parse(t)}catch(e){return console.error("Error parsing localStorage data:",e),null}},c.initPkgUIProps=function(e){return e.actions=o.pkgActions,e.recommendations=[],e.multiRequirements=o.multiRequirements,e.vhostWarning=o.vhostWarning,e.mpmMissing=!1,e.mpmMissingMsg="",e.autoSelectExt=[],e};return c.buildPkgInfoList=function(e,a,n){var i={},r=o.getCachedPrefixes()||[],s=["ea"].concat(r);return a=t.filter(a,(function(e){return!/.*-debuginfo/.test(e.package)})),t.each(a,(function(e){var a=e.package;e=c.initPkgUIProps(e),t.isEmpty(n[a])||(e.recommendations=n[a]);var r="ea",l=t.find(s,(function(e){return a.startsWith(e+"-")}));l&&(r=l),e.prefix="ea"!==r?r:null,e.isOutdated=o.isOutdatedPhpVersion(a),e.selectedPackage=!1,e.displayName=o.getFormattedPackageName(a),e.filterName="ea"===r?o.getFormattedPackageName(a):a,"ea"===r?(e.reviewDisplayName=o.getFormattedPackageName(a),e.reviewDisplayName=o.appendOutdatedLabel(e.reviewDisplayName,a,o.getOutdatedLabel())):e.reviewDisplayName=a,i[a]=e})),i=function(e,a){var n=o.gatherAllRequirementsOfPkgs(e,a);return t.each(n,(function(e){void 0!==a[e]&&(a[e].selectedPackage=!0)})),a}(e,i),i},c.fixYumCache=function(){var e=new n.Class,t=new r;return e.addArgument("ns","ea"),e.initialize("","package_manager_fixcache"),t.deferred(e).promise},c.saveAsNewProfile=function(i,o,r){var s=e.defer(),c=new n.Class;return c.initialize("","ea4_save_profile"),c.addArgument("filename",o),c.addArgument("name",i.name),c.addArgument("overwrite",r),c.addArgument("desc",i.desc||""),c.addArgument("version",i.version||""),t.each(i.pkgs,(function(e,t){c.addArgument("pkg-"+t,e)})),t.each(i.tags,(function(e,t){c.addArgument("tag-"+t,e)})),a.promise(c.getRunArguments()).done((function(e){(e=e.parsedResponse).status?s.resolve(e.data):s.reject(e)})),s.promise},c.getEA4Recommendations=function(){var e=new n.Class,t=new r;return e.initialize("","ea4_recommendations"),t.deferred(e).promise},c.getUploadContentFromUrl=function(t){var i=e.defer(),o=new n.Class;return o.initialize("","cors_proxy_get"),o.addArgument("url",t),a.promise(o.getRunArguments()).done((function(e){(e=e.parsedResponse).status?i.resolve(e.data):i.reject(e.error)})),i.promise},c.dataIsAvailable=function(){return!!c.getData("pkgInfoList")},c.getPkgInfoByType=function(e,t){var a=[];return e&&(a=c.getPkgInfoSubset(e,t)),a},c.getAdditionalPkgPrefixes=function(){var t=e.defer(),i=new n.Class;return i.initialize("","ea4_get_additional_pkg_prefixes"),a.promise(i.getRunArguments()).done((function(e){(e=e.parsedResponse).status?t.resolve(e.raw.data.additional_pkg_prefixes):t.reject(e.raw.metadata.reason)})),t.promise},{provisionReady:c.provisionReady,getProfiles:c.getProfiles,ea4GetCurrentPkgList:c.ea4GetCurrentPkgList,cancelOperation:c.cancelOperation,getPkgInfoForAdditionalPackages:c.getPkgInfoForAdditionalPackages,getAdditionalPkgPrefixes:c.getAdditionalPkgPrefixes,getPkgInfoSubset:c.getPkgInfoSubset,updateRegexesForPrefixes:c.updateRegexesForPrefixes,filterByRegex:c.filterByRegex,clearEA4LocalStorageItems:c.clearEA4LocalStorageItems,resolvePackages:c.resolvePackages,doProvision:c.doProvision,tailingLog:c.tailingLog,getPkgInfoList:c.getPkgInfoList,setData:c.setData,getData:c.getData,initPkgUIProps:c.initPkgUIProps,buildPkgInfoList:c.buildPkgInfoList,getVhostsByPhpVersion:c.getVhostsByPhpVersion,fixYumCache:c.fixYumCache,saveAsNewProfile:c.saveAsNewProfile,getEA4Recommendations:c.getEA4Recommendations,getUploadContentFromUrl:c.getUploadContentFromUrl,dataIsAvailable:c.dataIsAvailable,getPkgInfoByType:c.getPkgInfoByType,getEA4MetaInfo:c.getEA4MetaInfo}}])})),define("app/directives/eaWizard",["angular","cjt/core","lodash","cjt/util/locale","cjt/filters/qaSafeIDFilter","app/services/ea4Data","app/services/ea4Util"],(function(e,t,a,n){"use strict";e.module("App").directive("eaWizard",["$timeout","ea4Data","ea4Util","wizardApi","pkgResolution",function(i,o,r,s,c){var l="directives/eaWizard.ptt",u="templates/easyapache4/"+l;return{replace:!0,restrict:"E",templateUrl:t.config.debug?t.buildFullPath(u):l,scope:{idPrefix:"@",totalPackageInfoList:"=",selectedPackages:"=",metaData:"=",stepName:"@",stepIndex:"@",stepTitle:"@",stepPath:"@",stepNext:"@",onToggleFn:"&",showSearch:"@",showPagination:"@"},link:function(t,l,u){var p=function(e){e.multiRequirements.exist=!1;var a=e.multiRequirements.chosenPackage,n=c.continueResolvingDependencies(e,t.totalPackageInfoList[a],a,t.totalPackageInfoList,t.selectedPackages);return n.orListExist?(e.multiRequirements=c.setupMultiRequirementForUserInput(t.totalPackageInfoList),!1):n.actionNeeded?(e=c.setupConDepCallout(e,t.totalPackageInfoList),!1):t.applyDependency(e)},d=function(e){var n=t.php.commonExtensions,i=!/^ea-/i.test(e);n=a.map(n,(function(a){var n=e+"-"+a;if(t.totalPackageInfoList[n])return n;if(i&&0===a.indexOf("php-")){var o=e+"-"+a.substring(4);if(t.totalPackageInfoList[o])return o}if(!i&&0!==a.indexOf("php-")){var r=e+"-php-"+a;if(t.totalPackageInfoList[r])return r}return n}));var o,s,l,u=(o=e,s=[],(l=c.getAllDepsRecursively(!0,t.totalPackageInfoList[o],o,t.totalPackageInfoList,t.selectedPackages))&&(s=r.getExtensionsForPHPVersion(o,l.requiredPkgs)),s);return n=a.filter(n,(function(e){var n=!1;return void 0===t.totalPackageInfoList[e]||a.includes(u,e)||(n=!0),n})),a.map(n,(function(e){return{package:e,displayName:r.getFormattedPackageName(e),isSelected:!0}}))},f=function(a){var i,s,c=!a.selectedPackage,l=a.package;if(c){if(t.checkDependency(a),a.selectedPackage){a.autoSelectExt=e.copy(r.autoSelectExt),a.autoSelectExt.list=d(a.package);var u=a.autoSelectExt.list.length;a.autoSelectExt.text=n.maketext("In addition to the dependencies that this version of [asis,PHP] requires, the system detected [quant,_1,extension,extensions] of all other installed PHP versions that it will install for this version.",u);var p=(i=l.match(r.phpVerRegex),s="",i&&(s="PHP "+i[1].replace(/(\d)(\d)$/,"$1.$2")),s);a.autoSelectExt.okText=n.maketext("[_1][comment,package name] and Extensions[comment,action text]",p),a.autoSelectExt.cancelText=n.maketext("[_1][comment,package name] Only[comment,action text]",p),a.autoSelectExt.show=u>0&&!a.actions.actionNeeded}}else{var f=0;o.getVhostsByPhpVersion(l).then((function(e){(void 0!==e&&(f=e.length),f>0)?a=r.setupVhostWarning(a,f):t.checkDependency(a)&&t.php.updatePHPExtensionList(a)}),(function(e){})),a.autoSelectExt=e.copy(r.autoSelectExt)}};t.php={commonExtensions:[],updatePHPExtensionList:function(e){if(!e.selectedPackage){var n=r.getExtensionsForPHPVersion(e.package,t.selectedPackages);a.each(n,(function(e){void 0!==t.totalPackageInfoList[e]&&(t.totalPackageInfoList[e].selectedPackage=!1),a.pull(t.selectedPackages,e)}))}},continueCheckDependency:function(e){r.resetVhostWarning(e);var a=t.checkDependency(e);!e.selectedPackage&&a&&t.php.updatePHPExtensionList(e)},resetVhostWarning:function(e){return r.resetVhostWarning(e)}},t.extensions={_extToConsider:[],_extensionList:{},noPHPSelected:!1,filterPHPExtensions:function(){var e=t.phpVersions,n=[];a.each(e,(function(e){if(e.selected){var i=new RegExp(e.version+".*","i"),o=a.filter(t.extensions._extToConsider,(function(e){return i.test(e)}));n=a.union(n,o)}})),t.currPkgInfoList=a.pick(t.extensions._extensionList,n),t.applyMetaData()},showPhpFilterTags:function(){return"extensions"===t.stepName&&!a.isEmpty(t.extensions._extensionList)}},t.toggleLabel=function(e){return r.getPackageLabel(e.selectedPackage,e.state)},t.packageClass=function(e){return r.getPackageClass(e.selectedPackage,e.state)},t.applyDependency=function(e){var n=e.package,i=t.selectedPackages,s=c.getResolvedData();return e.mpmMissing=!1,e.mpmMissingMsg="",(!e.actions.actionNeeded||!(e=r.checkMPMRequirement(e,s,i,e.selectedPackage)).mpmMissing)&&(a.each(s.removeList,(function(e){a.pull(i,e),void 0!==t.totalPackageInfoList[e]&&(t.totalPackageInfoList[e].selectedPackage=!1)})),a.each(s.addList,(function(e){i=a.concat(i,e),void 0!==t.totalPackageInfoList[e]&&(t.totalPackageInfoList[e].selectedPackage=!0)})),e.selectedPackage||(a.pull(i,n),void 0!==t.totalPackageInfoList[n]&&(t.totalPackageInfoList[n].selectedPackage=!1)),t.selectedPackages=i,e=c.resetPkgResolveActions(e),o.setData({pkgInfoList:t.totalPackageInfoList}),!0)},t.checkDependency=function(e){var n,i=e.package,o=t.selectedPackages;if(e.actions={removeList:[],addList:[],actionNeeded:!1},e.selectedPackage=t.totalPackageInfoList[i].selectedPackage=n=!e.selectedPackage,e.recommendations=r.decideShowHideRecommendations(e.recommendations,t.selectedPackages,n,i),e.showRecommendations=!a.every(e.recommendations,["show",!1]),n){var s=c.resolveDependenciesWhenSelected(e,o,t.totalPackageInfoList);return s.orListExist?(e.multiRequirements=c.setupMultiRequirementForUserInput(t.totalPackageInfoList),!1):s.actionNeeded?(e=c.setupConDepCallout(e,t.totalPackageInfoList),!1):e.showRecommendations?(e.actions.actionNeeded=!0,!1):t.applyDependency(e)}if(c.resolveDependenciesWhenUnSelected(e,o,t.totalPackageInfoList),e.showRecommendations)return e.actions.actionNeeded=!0,!1;e.mpmMissing=!1,e.mpmMissingMsg="";var l=c.getResolvedData();return!(e=r.checkMPMRequirement(e,l,o,n)).mpmMissing&&t.applyDependency(e)},t.applyMetaData=function(){t.metaData=r.getUpdatedMetaData(t.currPkgInfoList,t.metaData)},t.getShowingText=function(){return r.getPageShowingText(t.metaData)},t.showSearchPageSection=function(){return"extensions"!==t.stepName||"extensions"===t.stepName&&!t.extensions.noPHPSelected},t.showEmptyMessage=function(){return"extensions"===t.stepName?!t.extensions.noPHPSelected&&t.metaData.isEmptyList:t.metaData.isEmptyList},t.showToggleSwitch=function(e){return"php"===t.stepName?!(e.actions.actionNeeded||e.multiRequirements.exist||e.mpmMissing||e.vhostWarning.exist):!e.actions.actionNeeded&&!e.multiRequirements.exist&&!e.mpmMissing},t.initializeSelection=function(e){"php"===t.stepName?f(e):t.checkDependency(e)},t.php.resetAutoSelectExtensions=function(t){t.autoSelectExt=e.copy(r.autoSelectExt)},t.php.performAutoSelect=function(e){var n=a.filter(e.autoSelectExt.list,["isSelected",!0]);a.each(n,(function(a){var n=a.package,i=!0,o=t.selectedPackages,r=t.totalPackageInfoList[n];c.resetCommonVariables(),r.selectedPackage=i;var s=c.resolveDependenciesWhenSelected(r,o,t.totalPackageInfoList);if(!s.orListExist&&!s.actionNeeded)return t.applyDependency(r);r.selectedPackage=!1,e.autoSelectExt.errorList.push(n)})),e.autoSelectExt.errorList.length>0?e.autoSelectExt.showError=!0:t.php.resetAutoSelectExtensions(e)},t.continueProcess=function(e){return"php"===t.stepName?void((a=e).selectedPackage?p(a):p(a)&&t.php.updatePHPExtensionList(a)):p(e);var a},t.finalizeSelection=function(e){var a;"php"===t.stepName?(a=e).selectedPackage?(t.applyDependency(a),t.php.autoSelectExtList=d(a.package),a.autoSelectExt.show=a.autoSelectExt.list.length>0&&!a.actions.actionNeeded):t.applyDependency(a)&&t.php.updatePHPExtensionList(a):t.applyDependency(e)},t.resetSelection=function(e){e.selectedPackage=!e.selectedPackage,e=c.resetPkgResolveActions(e)},t.proceed=function(e){o.setData({pkgInfoList:t.totalPackageInfoList,selectedPkgs:t.selectedPackages}),s.next(e)};!function(){t.showSearch=!1,t.showPagination=!1;var e=s.getStepByName(t.stepName);if(void 0!==e&&(t.stepIndex=e.stepIndex||-1,t.stepPath=e.path||"",t.stepTitle=e.title||"",t.idPrefix=e.name||"eaWizard",t.stepNext=e.nextStep||""),t.currPkgInfoList=o.getPkgInfoByType(t.stepName,t.totalPackageInfoList),t.metaData=r.getDefaultMetaData(),t.applyMetaData(t.currPkgInfoList,t.metaData),i((function(){l.find("#wizard-step-title").focus()})),"extensions"===t.stepName){var n=t.currPkgInfoList,c=r.getExtensionsOfSelectedPHPVersions(t.totalPackageInfoList,n,t.selectedPackages);t.extensions.noPHPSelected=c.noPHPSelected,t.phpVersions=a.map(c.versions,(function(e){if(void 0!==t.totalPackageInfoList[e])return{version:t.totalPackageInfoList[e].package,name:t.totalPackageInfoList[e].filterName||t.totalPackageInfoList[e].displayName,selected:!0}})),t.extensions._extToConsider=c.extensions,t.extensions._extensionList=a.pick(n,t.extensions._extToConsider),t.currPkgInfoList=t.extensions._extensionList,t.applyMetaData()}else if("php"===t.stepName){var u=o.getPkgInfoByType("extensions",t.totalPackageInfoList),p=a.map(a.filter(t.currPkgInfoList,(function(e){return"not_installed"!==e.state})),"package");t.php.commonExtensions=r.getCommonlyInstalledExtensions(u,p)}}()}}}])})),define("app/directives/saveAsProfile",["angular","cjt/util/locale","cjt/core","lodash","cjt/decorators/growlDecorator","app/services/ea4Data","app/services/ea4Util","cjt/directives/validationContainerDirective","cjt/directives/validationItemDirective"],(function(e,t,a,n){e.module("App").directive("saveAsProfile",["ea4Data","ea4Util","growl","growlMessages",function(e,i,o,r){var s={name:"",filename:{name:"",valMsg:""},tags:[],description:"",version:"",overwrite:!1},c="directives/saveAsProfile.ptt",l="templates/easyapache4/"+c;return{replace:!0,restrict:"E",templateUrl:a.config.debug?a.buildFullPath(l):c,scope:{idPrefix:"@",packages:"=",actionHandler:"=",position:"@",onCancel:"&",onSaveSuccess:"&",onSaveError:"&",show:"@",saveButtonText:"@"},link:function(a,c,l){a.saveAsData=n.cloneDeep(s),a.highlightOverwrite=!1,a.actionHandler=a.actionHandler||{},a.idPrefix=a.idPrefix||"save",a.position=a.position||"top",a.saveButtonText=a.saveButtonText||t.maketext("Save");var u=function(){a.saveAsData=n.cloneDeep(s),a.form&&a.form.$dirty&&(a.form.txtFilename.$setValidity("invalidFilename",!0),a.form.$setPristine()),n.isUndefined(a.onCancel)||a.onCancel({position:a.position})};a.actionHandler.saveForm=function(){if(r.destroyAllMessages(),n.isUndefined(a.packages))throw"Packages for the profile are not provided. Wherever this directive is used, make sure to fill the packages attribute correctly.";if(a.form.$valid){var i=a.saveAsData.overwrite?1:0,s=n.split(a.saveAsData.tagsAsString,/\s*,\s*/),c=a.saveAsData.filename.name+".json",l={name:a.saveAsData.name,desc:a.saveAsData.desc,pkgs:a.packages,tags:n.compact(s)};return e.saveAsNewProfile(l,c,i).then((function(e){void 0===e||n.isEmpty(e.path)||(o.success(t.maketext("The system successfully saved the current packages to the “[_1]” profile. It is available in the EasyApache 4 profiles page.",n.escape(a.saveAsData.name))),u(),n.isUndefined(a.onSaveSuccess)||a.onSaveSuccess())}),(function(e){void 0!==e.data&&e.data.already_exists&&(a.highlightOverwrite=!0),n.isUndefined(a.onSaveSuccess)||a.onSaveError(),o.error(n.escape(e.error))}))}},a.actionHandler.cancel=function(){u()},a.validateFilenameInput=function(){var e=i.validateFilename(a.saveAsData.filename.name);a.saveAsData.filename.valMsg=e.valMsg,a.form.txtFilename.$setValidity("invalidFilename",e.valid)}}}}])})),define("app/services/pkgResolution",["angular","lodash","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(e,t){"use strict";e.module("whm.easyapache4.pkgResolution",[]).factory("pkgResolution",(function(){var e={eaRegex:/^ea-/,allConflicts:[],allRequires:[],resolvedRemoveList:[],requireStructure:{safe:[],unsafe:{}},conflictStructure:{safe:[],unsafe:{}},orListStructure:{exist:!1,orLists:[]},resolvedPackages:{addList:[],removeList:[],actionNeeded:!1},resetCommonVariables:function(){e.allConflicts=[],e.allRequires=[],e.resolvedRemoveList=[],e.requireStructure={safe:[],unsafe:{}},e.conflictStructure={safe:[],unsafe:{}},e.orListStructure={exist:!1,orLists:[]},e.resolvedPackages={addList:[],removeList:[],actionNeeded:!1}},getOrListStructure:function(){return e.orListStructure},setOrListStructure:function(t){e.orListStructure=t},getResolvedData:function(){return e.resolvedPackages},resolveDependenciesWhenSelected:function(t,a,n){var i={orListExist:!1,actionNeeded:!1};if(t)if(e.recurseWhenSelected(t,t.package,n),e.allRequires.push(t.package),e.orListStructure=e.updateMultiRequirements(e.orListStructure,a,e.allRequires,e.allConflicts,n),e.orListStructure.exist)i.orListExist=e.orListStructure.exist;else{var o=e.proceedToResolveRequirementsAndConflicts(t,a,n);i.actionNeeded=o}return i},updateMultiRequirements:function(a,n,i,o,r){if(a){var s=t.clone(a.orLists);t.each(s,(function(s){var c=!1,l=t.filter(s,(function(t){return e.eaRegex.test(t)&&void 0!==r[t]})),u=[];if(!(c=t.isEmpty(l)))if(u=t.intersection(l,n),t.isEmpty(u)&&(u=t.intersection(l,i)),t.isEmpty(u)){var p=t.intersection(l,o);1===(l=t.difference(l,p)).length&&(e.allRequires=t.union(i,l),c=!0)}else 1===l.length&&(e.allRequires=t.union(i,l)),c=!0;c?t.pull(a.orLists,s):t.isEqual(s,l)||(t.pull(a.orLists,s),t.isEmpty(l)||(a.orLists=t.concat(a.orLists,[l])))})),a.exist=a.orLists.length>0}return a},continueResolvingDependencies:function(t,a,n,i,o){var r={orListExist:!1,actionNeeded:!1};if(e.recurseWhenSelected(a,n,i),e.allRequires.push(n),e.orListStructure=e.updateMultiRequirements(e.orListStructure,o,e.allRequires,e.allConflicts,i),e.orListStructure.exist)r.orListExist=e.orListStructure.exist;else{var s=e.proceedToResolveRequirementsAndConflicts(t,o,i);r.actionNeeded=s}return r},proceedToResolveRequirementsAndConflicts:function(a,n,i){var o=t.difference(e.allRequires,n);o.length>0&&(e.requireStructure=e.buildRequireStructure(o,n,i));var r=t.intersection(e.allConflicts,n);return r.length>0&&(e.conflictStructure=e.buildConflictStructure(r,n,i)),e.requireStructure=e.resolveUnsafeRequires(n,e.requireStructure,i),e.conflictStructure=e.resolveUnsafeConflicts(n,e.conflictStructure,i),e.resolvedPackages.removeList=t.union(e.resolvedRemoveList,e.conflictStructure.safe),e.resolvedPackages.addList=e.requireStructure.safe,e.resolvedPackages.actionNeeded=e.resolvedPackages.removeList.length>0,e.resolvedPackages.actionNeeded},buildRequireStructure:function(a,n,i){var o=e.requireStructure;return i&&t.each(a,(function(e){var a=!0;t.each(n,(function(n){var r=i[n];void 0!==r&&t.includes(r.pkg_dep.conflicts,e)&&(void 0===o.unsafe[e]&&(o.unsafe[e]=[]),o.unsafe[e].push(n),a=!1)})),a&&o.safe.push(e)})),o},buildConflictStructure:function(a,n,i){var o=e.conflictStructure;return t.each(a,(function(e){var a=!0;t.each(n,(function(n){var r=i[n];void 0!==r&&t.includes(r.pkg_dep.requires,e)&&(void 0===o.unsafe[e]&&(o.unsafe[e]=[]),o.unsafe[e].push(n),a=!1)})),a&&o.safe.push(e)})),o},resolveUnsafeRequires:function(a,n,i){if(n){var o=n.unsafe,r=t.keys(o);t.each(r,(function(r){var s=o[r];s=t.difference(s,e.resolvedRemoveList),t.each(s,(function(n){if(!t.includes(e.resolvedRemoveList,n)){var o=t.difference(a,e.resolvedRemoveList);e.recurseConflictRequirements(i[n],n,o,i),e.resolvedRemoveList=t.union(e.resolvedRemoveList,[n])}})),n.safe.push(r),t.unset(n.unsafe,r)})),n.unsafe={}}return n},resolveUnsafeConflicts:function(a,n,i){if(n){var o=t.omit(n.unsafe,e.resolvedRemoveList),r=t.keys(o);t.each(r,(function(r){var s=t.difference(o[r],e.resolvedRemoveList);t.each(s,(function(n){if(!t.includes(e.resolvedRemoveList,n)){var o=t.difference(a,e.resolvedRemoveList);e.recurseConflictRequirements(i[n],n,o,i),e.resolvedRemoveList=t.union(e.resolvedRemoveList,[n])}})),n.safe.push(r),t.unset(n.unsafe,r)})),n.unsafe={}}return n},recurseConflictRequirements:function(a,n,i,o){var r=a.package;n!==r&&e.resolvedRemoveList.push(r);var s=t.pull(i,r);s=t.filter(s,(function(e){var a=o[e];return void 0!==a&&t.includes(a.pkg_dep.requires,r)})),t.each(s,(function(t){e.recurseConflictRequirements(o[t],n,i,o)}))},recurseWhenSelected:function(a,n,i){if(a){var o=a.package;if(!e.eaRegex.test(o))return;if(t.includes(e.allRequires,o))return;void 0!==n&&o!==n&&e.allRequires.push(o),e.allConflicts=t.union(e.allConflicts,t.filter(a.pkg_dep.conflicts,(function(t){return e.eaRegex.test(t)})));var r=[];if(a.pkg_dep.requires.length>0){r=t.clone(a.pkg_dep.requires);var s=t.remove(r,(function(e){return t.isArray(e)}));s.length>0&&(e.orListStructure.orLists=t.unionWith(e.orListStructure.orLists,s,t.isEqual)),r=t.filter(r,(function(t){return e.eaRegex.test(t)})),r=t.difference(r,e.allRequires)}t.forEach(r,(function(t){var a=i[t];void 0!==a&&e.recurseWhenSelected(a,n,i)}))}},getAllDepsRecursively:function(t,a,n,i,o){var r={};return t?(e.recurseWhenSelected(a,n,i),r={requiredPkgs:e.allRequires,conflictPkgs:e.allConflicts}):(e.recurseWhenUnselected(a,n,i,o),r={removedList:e.resolvedRemoveList}),r},resolveDependenciesWhenUnSelected:function(a,n,i){if(a){var o=a.package;e.resolvedRemoveList.push(o),e.recurseWhenUnselected(a,o,i,n),e.resolvedPackages.removeList=t.uniq(e.resolvedRemoveList)}},recurseWhenUnselected:function(a,n,i,o){var r=a.package;if(e.eaRegex.test(r)&&!t.includes(e.allRequires,r)){void 0!==n&&r!==n&&e.allRequires.push(r);var s=[];if(o.length>0){t.each(o,(function(a){t.includes(i&&i[a]&&i[a].pkg_dep.requires,r)&&(e.resolvedRemoveList.push(a),s.push(a))})),o=t.pullAll(o,s);var c=t.remove(s,(function(e){return t.isArray(e)}));t.each(c,(function(e){t.concat(s,t.filter(e,(function(e){return void 0!==i[e]&&i[e].selectedPackage})))})),s=t.filter(s,(function(t){return e.eaRegex.test(t)})),s=t.difference(s,e.allRequires)}t.forEach(s,(function(t){var a=i[t];void 0!==a&&e.recurseWhenUnselected(a,n,i,o)}))}},setupMultiRequirementForUserInput:function(a){var n={},i=e.getOrListStructure();if(void 0!==i){var o=i.orLists.shift();if(void 0!==o&&o.length>0){var r=t.map(o,(function(e){if(void 0!==a[e])return{package:e,displayName:a[e].displayName}}));n={exist:i.exist,orList:r,chosenPackage:""}}}return n},resetPkgResolveActions:function(t){return e.resetCommonVariables(),t&&(t.actions={removeList:[],addList:[],actionNeeded:!1},t.mpmMissing=!1,t.mpmMissingMsg="",t.multiRequirements={}),t},setupConDepCallout:function(a,n){var i=e.getResolvedData();return i.actionNeeded&&(a.actions.actionNeeded=i.actionNeeded,a.actions.removeList=t.map(i.removeList,(function(e){return n[e].displayName})),a.actions.addList=t.map(i.addList,(function(e){return n[e].displayName}))),a}};return e}))})),define("app/services/wizardApi",["angular","lodash","cjt/util/locale","cjt/io/api","cjt/io/whm-v1-request","cjt/io/whm-v1","cjt/services/APIService"],(function(e,t,a){"use strict";e.module("whm.easyapache4.wizardApi",[]).factory("wizardApi",["$location","wizardState","ea4Data","ea4Util",function(e,n,i,o){var r={defaultWizardState:{showWizard:!1,showSearchAndPage:!1,currentStepIndex:0,showFooter:!1,currentStep:"",lastStepName:"",steps:{mpm:{name:"mpm",title:a.maketext("Apache [output,acronym,MPM,Multi-Processing Modules]"),path:"mpm",stepIndex:1,nextStep:"modules"},modules:{name:"modules",title:a.maketext("Apache Modules"),path:"modules",stepIndex:2,nextStep:"php"},php:{name:"php",title:a.maketext("[output,acronym,PHP,PHP Hypertext Preprocessor] Versions"),path:"php",stepIndex:3,nextStep:"extensions"},extensions:{name:"extensions",title:a.maketext("[output,acronym,PHP,PHP Hypertext Preprocessor] Extensions"),path:"extensions",stepIndex:4,nextStep:"ruby"},ruby:{name:"ruby",title:a.maketext("[asis,Ruby] via [asis,Passenger]"),path:"ruby",stepIndex:5,nextStep:"additional"},additional:{name:"additional",title:a.maketext("Additional Packages"),path:"additional",stepIndex:6,nextStep:"review"},review:{name:"review",title:a.maketext("Review"),path:"review",stepIndex:7,nextStep:""}}},getDefaultWizardState:function(){return r.defaultWizardState},rebuildWizardSteps:function(e,a){e=e||{},a.rubyPkgsExist||delete e.ruby,a.additionalPkgsExist||delete e.additional;var n=t.orderBy(t.values(e),["stepIndex"],["asc"]);return e=t.keyBy(n,(function(e){return e.name}))},init:function(){n.steps=r.defaultWizardState.steps;var e=i.getData("pkgInfoList");if(e){var t={rubyPkgsExist:o.doRubyPkgsExist(e),additionalPkgsExist:i.getData("additionalPkgsExist")};n.steps=r.rebuildWizardSteps(r.defaultWizardState.steps,t)}n.showWizard=!1,n.showSearchAndPage=!1,n.showFooter=!1,n.currentStepIndex=1,n.lastStepName="review"},updateWizard:function(e){t.each(t.keys(e),(function(t){n[t]=e[t]}))},getStepByName:function(e){return n.steps[e]},getStepNameByIndex:function(e){var a=t.find(n.steps,["stepIndex",e]);if(void 0!==a)return a.name},reset:function(){n=r.getDefaultWizardState()},next:function(t){t?(n.currentStepIndex=r.getStepByName(t).stepIndex,n.currentStep=t):(n.currentStepIndex++,t=r.getNextStepNameByIndex(n.currentStepIndex),n.currentStep=t),e.path(t)},getNextStepNameByIndex:function(e){var a=r.getLastStep().stepIndex,i=t.find(n.steps,["stepIndex",e]);if(void 0===i)for(var o=e+1;o<=a;o++)i=t.find(n.steps,["stepIndex",o]);return i?i.name:""},getLastStep:function(){return n.steps[n.lastStepName]}};return{init:r.init,getStepByName:r.getStepByName,updateWizard:r.updateWizard,next:r.next,getDefaultWizardState:r.getDefaultWizardState,reset:r.reset,rebuildWizardSteps:r.rebuildWizardSteps,getLastStep:r.getLastStep,getNextStepNameByIndex:r.getNextStepNameByIndex}}])})),define("app/directives/fileModel",["angular"],(function(e){e.module("App").directive("fileModel",["$parse",function(e){return{restrict:"A",require:"ngModel",link:function(t,a,n,i){var o=e(n.fileModel);a.bind("change",(function(){var e=this.files[0];e&&t.$apply((function(){o.assign(t,e),i.$setViewValue(i.$modelValue),i.$setDirty()}))}))}}}])})),define("app/directives/fileType",["angular"],(function(e){e.module("App").directive("fileType",[function(){return{restrict:"A",require:"ngModel",link:function(e,t,a,n){t.bind("change",(function(){var t=this.files[0];t&&!function(e,t){var a=e.type;if(""===a){var n=e.name.match(/\.((?:.(?!\.))+)$/);"json"===(a=n.length>0?n[1]:"")&&(a="application/"+a)}return t.some((function(e){return e===a}))}(t,e.$eval(a.fileType))?n.$setValidity("filetype",!1):n.$setValidity("filetype",!0)}))}}}])})),define("app/directives/fileSize",["angular"],(function(e){e.module("App").directive("fileSize",[function(){return{restrict:"A",require:"ngModel",link:function(e,t,a,n){t.bind("change",(function(){var e=this.files[0];e&&(0===e.size?n.$setValidity("fileSize",!1):n.$setValidity("fileSize",!0))}))}}}])})),define("app/views/profile",["angular","cjt/util/locale","lodash","cjt/services/alertService","cjt/directives/alertList","cjt/decorators/growlDecorator","app/directives/fileModel","app/directives/fileType","app/directives/fileSize","app/services/ea4Data","app/services/ea4Util","app/services/pkgResolution"],(function(e,t,a){"use strict";var n=e.module("App");n.controller("profile",["$scope","$timeout","$location","$uibModal","$q","ea4Data","ea4Util","alertService","growl","growlMessages",function(n,i,o,r,s,c,l,u,p,d){n.profileList=[],n.activeProfile={},n.loadingProfiles=!1,n.errorOccurred=!1,n.noProfiles=!1,n.upload={show:!1,profile:{},content:{},disableLocalSec:!0,localSecIsOpen:!0,disableUrlSec:!1,urlSecIsOpen:!1,url:{value:"",filename:"",filenameValMsg:"",showFilenameInput:!1},overwrite:!1,highlightOverwrite:!1},n.convertProfile={show:!1};var f={};n.isLoading=function(){return n.loadingProfiles||n.loadingProfileData};var g=function(e){c.clearEA4LocalStorageItems(),c.setData({selectedPkgs:e.pkgs,customize:!0,ea4Recommendations:f}),o.path("loadPackages")};n.$on("$viewContentLoaded",(function(){n.customize.wizard.currentStep="",n.customize.wizard.showWizard=!1,u.clear(),c.clearEA4LocalStorageItems(),n.loadProfiles()})),n.checkForEA4Updates=function(){n.customize.checkUpdateInfo=e.copy(l.checkUpdateInfo),c.getPkgInfoList().then((function(e){if(void 0!==e){var t=e;c.setData({ea4RawPkgList:t});var i=a.map(a.filter(t,["state","updatable"]),(function(e){return e.package}));n.customize.checkUpdateInfo.pkgNumber=i.length,n.customize.toggleUpdateButton()}n.customize.checkUpdateInfo.isLoading=!1}),(function(e){u.add({type:"danger",message:e,id:"alertMessages",closeable:!1})}))},n.loadProfiles=function(){n.profileList=[],n.loadingProfiles=!0;var e=c.getEA4MetaInfo().then((function(e){e.data&&l.cacheMetaInfo(e.data)})).catch((function(){return l.cacheMetaInfo(null),null})),i=c.getAdditionalPkgPrefixes().then((function(e){l.cachePrefixes(e||[]),l.updateRegexForPrefixes(e||[])})).catch((function(){return l.cachePrefixes([]),l.updateRegexForPrefixes([]),null}));s.all([e,i]).finally((function(){c.getProfiles().then((function(e){void 0!==e?(n.noProfiles=!1,n.checkForEA4Updates(),n.loadingProfileData=!0,c.getEA4Recommendations().then((function(i){f=i.data,function(e,i){var o=a.sortBy(a.keys(e));a.each(o,(function(o){void 0!==e[o]&&a.each(e[o],(function(e){if(e.profileType=o,"custom"===o){var r=l.createTagsForActiveProfile(e.pkgs);e.tags=r,e.tagsAsString=t.list_and(r)}else e.tagsAsString=t.list_and(e.tags);if(e.isValid=!0,e.showValidationWarning=!1,e.active){n.activeProfile=e,n.customize.activeProfilePkgs=e.pkgs;var s=m(n.activeProfile,i);if(a.isEmpty(a.keys(s)))n.activeProfile.recommendations={};else{n.activeProfile.showRecommendations=!1;var c=a.pickBy(s,(function(e,t){return s[t].show})),u=0;a.each(a.keys(c),(function(e){u+=a.filter(c[e].recosList,["show",!0]).length})),n.activeProfile.recommendations=c,n.activeProfile.recommendationLabel=t.maketext("[quant,_1,Recommendation,Recommendations]",u),n.activeProfile.recommendationsExist=!!u}}else{e.isValid=a.isEmpty(e.validation_data.not_on_server),e.isValid||(e.validation_data.not_on_server_without_prefix=l.getFormattedPackageList(e.validation_data.not_on_server)),e.id=o+"_"+e.path.replace(/\.json/,"");var p="cpanel"!==o&&"custom"!==o?"vendor/"+o:o;e.downloadUrl="ea4_profile_download/"+p+"?filename="+e.path,n.profileList.push(e)}}))})),n.noProfiles=n.profileList.length<=0;var r=l.createTagsForActiveProfile(n.activeProfile.pkgs);n.activeProfile.tags=r,n.activeProfile.tagsAsString=t.list_and(r)}(e,f)}),(function(e){!function(e){n.errorOccurred=!0,u.add({type:"danger",message:e,id:"alertMessages",closeable:!1})}(e)})).finally((function(){n.loadingProfileData=!1}))):n.noProfiles=!0}),(function(e){e&&(n.errorOccurred=!0,c.setData({ea4ThrewError:!0}),o.path("yumUpdate"))})).finally((function(){n.loadingProfiles=!1}))}))},n.viewProfile=function(t){var a=e.copy(t);r.open({templateUrl:"profileModalContent.tmpl",controller:"ModalInstanceCtrl",resolve:{data:function(){return a}}})},n.customizeCurrentProfile=function(e){g(e)},n.proceedNext=function(e,t){n.clickedCustomize=t,e.isValid?(e.showValidationWarning=!1,n.continueAction(e)):e.showValidationWarning=!0},n.continueAction=function(e){var t=n.clickedCustomize;n.clickedCustomize=!1,-1===e.pkgs.indexOf("ea-apache24")&&e.pkgs.push("ea-apache24"),t?g(e):function(e){c.setData({selectedProfile:e}),o.path("review")}(e)},n.reset=function(e){n.clickedCustomize=!1,e.showValidationWarning=!1},n.hideRecommendations=function(t){t.showRecommendations=!1,i((function(){e.element("#toggleRecommendations").focus()}))},n.showRecommendations=function(t){t.showRecommendations=!0,i((function(){e.element("#recommendations_container").focus()}))};var m=function(e,n){var i=e.pkgs,o=a.intersection(i,a.keys(n)),r={};return a.each(o,(function(e){var o=n[e],s=l.decideShowHideRecommendations(o,i,!0,e);s=a.filter(s,["level","danger"]),a.isEmpty(s)||(r[e]={},r[e].recosList=s,r[e].show=!a.every(s,["show",!1]),r[e].footNote=t.maketext("These recommendations appear because you have “[_1]” installed on your system.",e))})),r},v=function(e){var t=e.$error;void 0!==t&&a.each(a.keys(t),(function(e){n.formUpload.profile_file.$setValidity(e,!0)}))};function h(t){if(t.profile={},n.formUpload&&n.formUpload.$dirty){v(n.formUpload.profile_file),n.formUpload.$setPristine();try{e.element("#profile_file").val(null)}catch(t){console.error("Error resetting form:",t),e.element("#form_upload_profile").reset()}}}function P(e){if(e.filename="",e.filenameValMsg="",e.value="",e.showFilenameInput=!1,n.formUpload&&n.formUpload.$dirty){var t=n.formUpload.profile_file_url.$error;void 0!==t&&a.each(a.keys(t),(function(e){n.formUpload.profile_file.$setValidity(e,!0)})),v(n.formUpload.profile_file_url),v(n.formUpload.txtUploadUrlFilename),n.formUpload.$setPristine()}}var k=function(){d.destroyAllMessages();var e=n.upload.profile;if(t=e.name,i=!0,/(?:\.\.|\\|\/)/.test(t)&&(i=!1),i){var t,i;n.$apply(n.formUpload.profile_file.$setValidity("invalidfilename",!0));var o=new FileReader;o.readAsText(e),o.onloadend=function(){if(o.readyState&&!o.error){var e=x(o.result);a.each(a.keys(e.val_results),(function(t){n.$apply(n.formUpload.profile_file.$setValidity(t,e.val_results[t]))})),n.formUpload.profile_file_url.$valid&&(n.upload.content=e.content)}}}else n.$apply(n.formUpload.profile_file.$setValidity("invalidfilename",!1))};function x(e){var t,n,i="",o={};try{i=JSON.parse(e),o.invalidformat=!0,t=i,n=!0,(a.isEmpty(t.name)||a.isEmpty(t.pkgs))&&(n=!1),o.content=!!n}catch(e){o.invalidformat=!1,console.error("Error parsing upload content:",e)}return{content:i,val_results:o}}n.cancelUpload=function(){n.upload.show=!1,function(){d.destroyAllMessages();var e=n.upload;e.content={},e.overwrite=!1,e.highlightOverwrite=!1,e.disableLocalSec=!0,e.localSecIsOpen=!0,e.disableUrlSec=!1,e.urlSecIsOpen=!1,h(n.upload),P(n.upload.url)}()},n.resetUploadUrl=function(){P(n.upload.url)},n.getAndValidateUploadDataFromURL=function(){return d.destroyAllMessages(),c.getUploadContentFromUrl(n.upload.url.value).then((function(e){if(void 0!==e&&"200"===e.status){var i=e.headers["content-type"];if(!/^(application|text)\/json/.test(i))return void n.formUpload.profile_file_url.$setValidity("filetype",!1);n.formUpload.profile_file_url.$setValidity("filetype",!0);var o=x(e.content);a.each(a.keys(o.val_results),(function(e){n.formUpload.profile_file_url.$setValidity(e,o.val_results[e])})),n.formUpload.profile_file_url.$valid?(n.upload.content=o.content,n.upload.url.showFilenameInput=!0):n.upload.url.showFilenameInput=!1}else{var r=t.maketext("Status: “[output,strong,_1]”. Reason: “[output,em,_2]”.",a.escape(e.status),a.escape(e.reason));p.error(r)}}),(function(e){p.error(a.escape(e))}))},n.validateFilenameInput=function(){var e=l.validateFilename(n.upload.url.filename);n.upload.url.filenameValMsg=e.valMsg,n.formUpload.txtUploadUrlFilename.$setValidity("valFilename",e.valid)},n.uploadProfile=function(){if(d.destroyAllMessages(),n.formUpload.$valid){var e=n.upload.overwrite?1:0,i=void 0!==n.upload.profile.name?n.upload.profile.name:n.upload.url.filename+".json";return c.saveAsNewProfile(n.upload.content,i,e).then((function(e){void 0===e||a.isEmpty(e.path)||(n.loadProfiles(),p.success(t.maketext("The system successfully uploaded your profile.")),n.cancelUpload())}),(function(e){!a.isEmpty(e.data)&&e.data.already_exists&&(n.upload.highlightOverwrite=!0),p.error(a.escape(e.error))}))}},n.handleAccordionToggle=function(){h(n.upload),P(n.upload.url),n.upload.urlSecIsOpen?(n.upload.disableLocalSec=!1,n.upload.disableUrlSec=!0):(n.upload.disableUrlSec=!1,n.upload.disableLocalSec=!0)},n.showPopover=function(e){switch(n.convertProfile.cancel(),e){case"upload":n.upload.show=!0,document.querySelector("#profile_file").onchange=k;var t=document.querySelectorAll(".panel-heading a");a.each(t,(function(e){e.onclick=n.handleAccordionToggle}));break;case"convert":n.convertProfile.show=!0}}}]),n.controller("ModalInstanceCtrl",["$scope","$uibModalInstance","data","ea4Util",function(e,t,a,n){e.modalData={};var i=a;i.pkgs=n.getProfilePackagesByCategories(i.pkgs),e.modalData=i,e.closeModal=function(){t.close()}}])})),define("app/views/yumUpdate",["angular","cjt/util/locale","lodash","cjt/services/alertService","cjt/directives/alertList","app/services/ea4Data","app/services/ea4Util","app/services/pkgResolution"],(function(e,t,a){var n=e.module("App");n.controller("yumUpdate",["$scope","$location","ea4Data","ea4Util","alertService","growl","growlMessages",function(e,t,a,i,o,r,s){e.fixFailed=!1;e.$on("$viewContentLoaded",(function(){s.destroyAllMessages(),a.getData("ea4ThrewError")&&(e.fixingYum=!0,a.fixYumCache().then((function(i){i.status&&i.data.cache_seems_ok_now?(n.firstLoad=!1,a.setData({ea4ThrewError:!1}),t.path("profile")):e.fixFailed=!0}),(function(t){e.fixFailed=!0})).finally((function(){e.fixingYum=!1})))}))}])})),define("app/views/customize",["angular","lodash","cjt/util/locale","app/services/ea4Data","app/services/pkgResolution"],(function(e,t,a){"use strict";e.module("App").controller("customize",["$scope","ea4Data","pkgResolution","wizardState","wizardApi","$location","ea4Util",function(e,n,i,o,r,s,c){e.customize={pkgInfoList:{},selectedPkgs:[],currentPkgInfoList:{},saveProfilePopup:{position:"top",showTop:!1,showBottom:!1},activeProfilePkgs:[]},e.customize.wizard=o,e.customize.wizardApi=r,e.customize.showsaveProfilePopup=function(t){e.customize.saveProfilePopup.position=t,"top"!==t?(e.customize.saveProfilePopup.showTop=!1,e.customize.saveProfilePopup.showBottom=!0):(e.customize.saveProfilePopup.showTop=!0,e.customize.saveProfilePopup.showBottom=!1)},e.customize.clearSaveProfilePopup=function(t){"top"!==t?(e.customize.saveProfilePopup.showTop=!1,e.customize.saveProfilePopup.showBottom=!1,e.customize.saveProfilePopup.position="top"):(e.customize.saveProfilePopup.showTop=!1,e.customize.saveProfilePopup.showBottom=!1)},e.customize.loadData=function(a){i.resetCommonVariables(),e.customize.pkgInfoList=n.getData("pkgInfoList");var o=n.getData("customize");t.keys(e.customize.pkgInfoList).length<=0?n.cancelOperation():(e.customize.selectedPkgs=n.getData("selectedPkgs"),r.updateWizard({showWizard:o,currentStep:a}),"review"===a?c.hideFooter():c.showFooter())},e.customize.processPkgInfoList=function(t){if(void 0!==t){var a=c.getCachedPrefixes()||[];n.updateRegexesForPrefixes(a);var i=n.getData("ea4Recommendations");e.customize.pkgInfoList=n.buildPkgInfoList(e.customize.selectedPkgs,t,i),n.setData({pkgInfoList:e.customize.pkgInfoList}),localStorage.removeItem("ea4RawPkgList")}},e.customize.loadPkgInfoList=function(){i.resetCommonVariables(),e.customize.selectedPkgs=n.getData("selectedPkgs");var t=n.getPkgInfoList();return t.then((function(t){e.customize.processPkgInfoList(t)})),t},e.customize.proceed=function(t){n.setData({pkgInfoList:e.customize.pkgInfoList,selectedPkgs:e.customize.selectedPkgs}),r.next(t)},e.customize.getStepClass=function(t){if(t===e.customize.wizard.currentStep)return"active"},e.customize.getViewWidthCss=function(e){return e?"col-xs-9":"col-xs-12"},e.customize.provisionEA4Updates=function(){n.clearEA4LocalStorageItems(),n.setData({selectedPkgs:e.customize.activeProfilePkgs,ea4Update:!0}),s.path("review")},e.customize.toggleUpdateButton=function(){e.customize.checkUpdateInfo.pkgNumber>0?(e.customize.checkUpdateInfo.btnText=a.maketext("Update [asis,EasyApache 4]"),e.customize.checkUpdateInfo.btnTitle=a.maketext("Update [asis,EasyApache 4]"),e.customize.checkUpdateInfo.btnCss="btn-primary"):(e.customize.checkUpdateInfo.btnText=a.maketext("[asis,EasyApache 4] is up to date[comment,no punctuation due to usage]"),e.customize.checkUpdateInfo.btnTitle=a.maketext("[asis,EasyApache 4] is up to date[comment,no punctuation due to usage]"),e.customize.checkUpdateInfo.btnCss="btn-primary disabled")}}])})),define("app/views/loadPackages",["angular","lodash","cjt/services/alertService"],(function(e,t){"use strict";e.module("App").controller("loadPackages",["$scope","alertService","wizardApi","wizardState","ea4Data","ea4Util","pkgResolution",function(e,t,a,n,i,o,r){e.$on("$viewContentLoaded",(function(){var s;null===(s=i.getData("ea4RawPkgList"))?e.customize.loadPkgInfoList().then((function(){i.getEA4MetaInfo().then((function(t){if(t.data){o.cacheMetaInfo(t.data),o.additionalPkgList=t.data.additional_packages;var r=o.doAdditionalPkgsExist(o.additionalPkgList,e.customize.pkgInfoList);i.setData({additionalPkgsExist:r});var s={rubyPkgsExist:o.doRubyPkgsExist(e.customize.pkgInfoList),additionalPkgsExist:r};n.steps=a.rebuildWizardSteps(n.steps,s),e.customize.proceed("mpm")}}),(function(e){t.add({type:"danger",message:e,id:"alertMessages",closeable:!1})}))}),(function(e){t.add({type:"danger",message:e,id:"alertMessages",closeable:!1})})):(r.resetCommonVariables(),e.customize.selectedPkgs=i.getData("selectedPkgs"),e.customize.processPkgInfoList(s),a.init(),e.customize.proceed("mpm"))}))}])})),define("app/views/mpm",["angular"],(function(e){e.module("App").controller("mpm",["$scope",function(e){e.$on("$viewContentLoaded",(function(){e.customize.loadData("mpm")}))}])})),define("app/views/modules",["angular"],(function(e){e.module("App").controller("modules",["$scope",function(e){e.$on("$viewContentLoaded",(function(){e.customize.loadData("modules")}))}])})),define("app/views/php",["angular","cjt/util/locale"],(function(e,t){e.module("App").controller("php",["$scope","PAGE","$sce",function(e,a,n){e.sendMixPanelEvent=function(e){var t=window&&window.mixpanel;t&&"function"==typeof t.track&&t.track(e,{})},e.$on("$viewContentLoaded",(function(){e.customize.loadData("php"),function(){var i,o,r;e.showCLBanner=!1,e.promotePhpEls=!0===a.promote_phpels,e.promoteCL=a.cl_data.cl_is_supported&&!a.cl_data.cl_is_installed,o=a.phpels_data,e.phpelsHasCustomUrl=o.purchase_phpels_data.is_url,e.phpelsIcon=a.phpels_icon,i=a.cl_data,r=!0===a.cl_licensed,e.hasCustomUrl=i.purchase_cl_data.is_url,e.clIcon=a.cl_icon,e.cl_is_supported=i.cl_is_supported,e.linkTarget="_blank",e.purchaseLink="",e.clActionText="",e.clBannerText="",e.clBannerHtml=n.trustAsHtml("");var s=i.purchase_cl_data;!i.cl_is_supported||i.cl_is_installed||s.disable_upgrade||(s.server_timeout||s.error_msg&&""!==s.error_msg?e.hideUpgradeOption=!0:(e.hideUpgradeOption=!1,r?(e.purchaseLink="scripts13/install_cloudlinux_EA4",e.clActionText=t.maketext("Install [_1]","CloudLinux"),e.linkTarget="_self"):(e.purchaseLink=i.purchase_cl_data.url,e.clActionText=t.maketext("Upgrade to [_1]","CloudLinux"))),e.purchaseClData=s);var c=o.purchase_phpels_data;e.phpelsBannerTitle=t.maketext("[output,strong,Need to keep older PHP versions secure?]"),e.phpelsBannerBody=t.maketext("cPanel provides the latest stable versions of PHP. If you require legacy versions like PHP 5.6 or 7.x, you can keep outdated websites secure with [output,strong,TuxCare Extended Lifecycle Support (ELS)] from CloudLinux. This service provides hardened PHP versions continuously patched against known vulnerabilities, making it the easiest way to maintain security for older PHP versions. [output,url,_1,Learn more.,target,_2]","https://go.cpanel.net/about-elsphp","blank"),e.phpelsBannerText=e.phpelsBannerTitle+"<br>"+e.phpelsBannerBody,e.phpelsBannerHtml=n.trustAsHtml(e.phpelsBannerText),e.clBannerTitle=t.maketext("[output,strong,Upgrade your server security and performance.]"),e.clBannerBody=t.maketext("[output,strong,CloudLinux OS] is a feature-rich platform solution that addresses multiple server challenges in a single package, including hardened PHP for legacy version, while also delivering enhanced security, performance, and resource isolation across your hosting environment. [output,url,_1,Learn more.,target,_2]","https://go.cpanel.net/about-cloudlinux","blank"),e.clBannerText=e.clBannerTitle+"<br>"+e.clBannerBody,e.clBannerHtml=n.trustAsHtml(e.clBannerText),e.phpelsPurchaseLink=o.purchase_phpels_data.url||"scripts13/purchase_phpels_init_MULTIPHP",e.phpelsActionText=t.maketext("Buy [_1]","TuxCare ELS PHP"),e.purchasePhpelsData=c,(e.promotePhpEls||e.promoteCL)&&(e.showCLBanner=!0)}()}))}])})),define("app/views/extensions",["angular"],(function(e){e.module("App").controller("extensions",["$scope",function(e){e.$on("$viewContentLoaded",(function(){e.customize.loadData("extensions")}))}])})),define("app/views/additionalPackages",["angular"],(function(e){"use strict";e.module("App").controller("additionalPackages",["$scope",function(e){e.$on("$viewContentLoaded",(function(){e.customize.loadData("additional")}))}])})),define("app/views/review",["angular","lodash","app/services/ea4Data","app/services/ea4Util"],(function(e,t){e.module("App").controller("review",["$scope","$location","ea4Data","ea4Util","growlMessages",function(e,a,n,i,o){e.readyToProvision=!1,e.gettingResults=!0;var r={},s=function(t,a){n.resolvePackages(t).then((function(t){e.installList=i.getFormattedPackageList(t.install),e.uninstallList=i.getFormattedPackageList(t.uninstall),e.upgradeList=i.getFormattedPackageList(t.upgrade),e.existingList=i.getFormattedPackageList(t.unaffected),e.installList.length||e.upgradeList.length||e.uninstallList.length?(n.setData({provisionActions:{profileId:a,install:t.install,uninstall:t.uninstall,upgrade:t.upgrade}}),e.readyToProvision=!0,n.provisionReady(!0)):e.noActionRequired=!0}),(function(t){e.apiError=!0,e.yumErrorMessage=t})).finally((function(){e.gettingResults=!1}))};e.$on("$viewContentLoaded",(function(){if(r=a.search(),t.isEmpty(r)||t.isEmpty(r.install)&&t.isEmpty(r.uninstall)){var i=n.getData("customize"),o=n.getData("ea4Update");if(i)e.customize.loadData("review"),s(n.getData("selectedPkgs"));else if(o)s(n.getData("selectedPkgs"));else{var c=n.getData("selectedProfile");c||n.cancelOperation(),s(c.pkgs,c.fullPath)}}else l=r,u=[],n.ea4GetCurrentPkgList().then((function(e){if(e.status){u=e.data;var a=t.isArray(l.install)?l.install:[l.install];u=t.union(u,a);var n=t.isArray(l.uninstall)?l.uninstall:[l.uninstall];u=t.difference(u,n),s(u)}}));var l,u})),e.cancel=function(){n.cancelOperation()}}])})),define("app/views/provision",["angular","cjt/util/locale","app/services/ea4Data","app/services/ea4Util"],(function(e,t){"use strict";var a=e.module("App");a.controller("provision",["$scope","$location","ea4Data","spinnerAPI",function(e,n,i,o){var r="";e.realTimeLogDisplay="";var s=!1,c=function(){i.tailingLog(e.buildID,e.currentTailingPosition).then((function(a){for(var n=!1,l=0,u=a.content;l<u.length;l++)if(u[l]!=="-- "+e.buildID+" --")if(u[l]!=="-- /"+e.buildID+" --")r+=u[l]+"\r\n",u[l]=u[l].replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">").replace(/'/gm,"'").replace(/"/gm,"""),u[l]!=="-- error("+e.buildID+") --"?u[l]!=="-- /error("+e.buildID+") --"?(n&&(u[l]="<span class='text-danger'>"+u[l]+"</span>"),/Error:.*/gm.test(u[l])&&(u[l]="<span class='text-danger'>"+u[l]+"</span>",s=!0),e.realTimeLogDisplay+=u[l]+"\r\n"):n=!1:(n=!0,s=!0);else{var p=t.maketext("Provision process finished.");r+=p+"\r\n",e.realTimeLogDisplay+="<span class='text-success'><strong>"+p+"</strong></span>\r\n"}else{var d=t.maketext("Provision process started.");r+=d+"\r\n",e.realTimeLogDisplay+="<span class='text-success'><strong>"+d+"</strong></span>\r\n"}window.setTimeout((function(){var e=document.getElementById("log");e&&(e.scrollTop=e.scrollHeight)}),100),e.currentTailingPosition=a.offset,a.still_running?window.setTimeout(c(),100):(o.stop("provisionSpinner"),e.finished=!0,i.provisionReady(!1))}))};e.$on("$viewContentLoaded",(function(){e.customize.wizard.currentStep="",e.customize.wizard.showWizard=!1;var t=i.getData("provisionActions");i.provisionReady()&&void 0!==t||i.cancelOperation(),"bottom"===n.hash()?function(t){o.start("provisionSpinner"),e.provisionStarted=!0,s=!1,i.doProvision(t.install,t.uninstall,t.upgrade,t.profileId).then((function(t){e.buildID=t.build,e.currentTailingPosition=0,c()})).finally((function(){e.customize.checkUpdateInfo.pkgNumber=0,e.customize.toggleUpdateButton(),i.clearEA4LocalStorageItems(),a.firstLoad=!1,i.php_set_session_save_path()}))}(t):n.hash("bottom")})),e.cancel=function(){i.cancelOperation()},e.resultReady=function(){var a=null;return s?(a="alert-danger",e.resultSummary=t.maketext("The provision process exited with errors. Please check the log for details.")):(a="alert-success",e.resultSummary=t.maketext("The provision process is complete.")),a};var l=function(e){document.body.removeChild(e.target)};e.saveLog=function(){var e=new Blob([r],{type:"text/plain"}),t=document.createElement("a");t.download="log.txt",t.innerHTML="My Hidden Link",window.URL=window.URL||window.webkitURL,t.href=window.URL.createObjectURL(e),t.onclick=l,t.style.display="none",document.body.appendChild(t),t.click()}}])})),define("app/views/ruby",["angular"],(function(e){e.module("App").controller("ruby",["$scope",function(e){e.$on("$viewContentLoaded",(function(){e.customize.loadData("ruby")}))}])})),define("app/index",["angular","cjt/core","lodash","cjt/modules"],(function(e,t,a){"use strict";return function(){return e.module("App",["cjt2.config.whm.configProvider","ngRoute","ui.bootstrap","cjt2.whm","angular-growl","whm.easyapache4.ea4Util","whm.easyapache4.ea4Data","whm.easyapache4.pkgResolution","whm.easyapache4.wizardApi"]),require(["cjt/bootstrap","cjt/util/locale","cjt/directives/toggleSwitchDirective","cjt/directives/searchDirective","app/directives/eaWizard","app/directives/saveAsProfile","app/services/ea4Data","app/services/ea4Util","app/services/pkgResolution","app/services/wizardApi","cjt/views/applicationController","app/views/profile","app/views/yumUpdate","app/views/customize","app/views/loadPackages","app/views/mpm","app/views/modules","app/views/php","app/views/extensions","app/views/additionalPackages","app/views/review","app/views/provision","app/views/ruby"],(function(n,i){var o=e.module("App");o.value("PAGE",PAGE),o.firstLoad=!0;o.value("wizardState",{}),o.config(["$routeProvider","$compileProvider",function(e,a){e.when("/profile",{controller:"profile",templateUrl:t.buildFullPath("easyapache4/views/profile.ptt")}).when("/loadPackages",{controller:"loadPackages",templateUrl:t.buildFullPath("easyapache4/views/loadPackages.ptt")}).when("/mpm",{controller:"mpm",templateUrl:t.buildFullPath("templates/easyapache4/views/mpm.phtml")}).when("/modules",{controller:"modules",templateUrl:t.buildFullPath("templates/easyapache4/views/modules.phtml")}).when("/php",{controller:"php",templateUrl:t.buildFullPath("easyapache4/views/php.ptt")}).when("/extensions",{controller:"extensions",templateUrl:t.buildFullPath("templates/easyapache4/views/extensions.phtml")}).when("/additional",{controller:"additionalPackages",templateUrl:t.buildFullPath("templates/easyapache4/views/additionalPackages.phtml")}).when("/review",{controller:"review",templateUrl:t.buildFullPath("easyapache4/views/review.ptt")}).when("/ruby",{controller:"ruby",templateUrl:t.buildFullPath("templates/easyapache4/views/ruby.phtml")}).when("/provision",{controller:"provision",templateUrl:t.buildFullPath("easyapache4/views/provision.ptt")}).when("/yumUpdate",{controller:"yumUpdate",templateUrl:t.buildFullPath("easyapache4/views/yumUpdate.ptt")}).otherwise({redirectTo:"/profile"}),a.aHrefSanitizationWhitelist(/^\s*(https?|blob):/)}]),o.run(["$rootScope","$location","ea4Util","wizardApi","wizardState","PAGE",function(e,t,n,i,o,r){e.PAGE=r,a.isEmpty(o)&&(i.init(),n.hideFooter()),e.$on("$routeChangeStart",(function(){e.currentRoute=t.path()}))}]),n(document)}))}}));
Save