Viewing File: /usr/local/cpanel/base/frontend/jupiter/multiphp_manager/index.cmb.min.js

define("app/services/configService",["angular","cjt/io/api","cjt/io/uapi-request","cjt/io/uapi","cjt/services/APIService"],(function(e,t,o,s){"use strict";e.module("cpanel.multiPhpManager.service",["cjt2.services.api"]).factory("configService",["$q","APIService",function(e,s){return{convertResponseToList:function(e){var t=[];if(e.status){for(var o=e.data,s=0,a=o.length;s<a;s++){var r=o[s];r.version&&(r.displayPhpVersion=this.transformPhpFormat(r.version)),t.push(r)}var i=e.meta;return{items:t,totalItems:i.paginate.total_records||o.length,totalPages:i.paginate.total_pages||1}}return{items:[],totalItems:0,totalPages:0}},applyDomainSetting:function(s,a){var r=e.defer(),i=new o.Class;return i.initialize("LangPHP","php_set_vhost_versions"),i.addArgument("version",s),void 0!==a&&a.length>0&&a.forEach((function(e,t){i.addArgument("vhost-"+t,e)})),t.promise(i.getRunArguments()).done((function(e){(e=e.parsedResponse).status?r.resolve(e.data):r.reject(e)})),r.promise},fetchList:function(s){var a=e.defer(),r=this,i=new o.Class;return i.initialize("LangPHP","php_get_vhost_versions"),s&&(s.sortBy&&s.sortDirection&&i.addSorting(s.sortBy,s.sortDirection,s.sortType),s.currentPage&&i.addPaging(s.currentPage,s.pageSize||10),s.filterBy&&s.filterCompare&&s.filterValue&&i.addFilter(s.filterBy,s.filterCompare,s.filterValue)),t.promise(i.getRunArguments()).done((function(e){if((e=e.parsedResponse).status){var t=r.convertResponseToList(e);a.resolve(t)}else a.reject(e.error)})),a.promise},fetchImpactedDomains:function(e,t){var a=new o.Class,r=new s;return a.initialize("LangPHP","php_get_impacted_domains"),a.addArgument(e,t),r.deferred(a).promise},friendlyPhpFormat:function(e){var t=e||"",o=/^\D+-(php)(\d{2,3})$/i;o.test(e)&&(t="PHP "+e.match(o)[2].replace(/(\d)$/,".$1"),0===e.indexOf("alt-")&&(t+=" [Secured]"));return t},transformPhpFormat:function(e){e=e||"";var t=this.friendlyPhpFormat(e);return""!==t&&t!==e?t+" ("+e+")":e},getEA4Recommendations:function(){var e=new o.Class,t=new s;return e.initialize("EA4","get_recommendations"),t.deferred(e).promise},getCustomRecommendations:function(){var e=new o.Class,t=new s;return e.initialize("EA4","get_php_recommendations"),t.deferred(e).promise}}}])})),define("app/views/impactedDomainsPopup",["angular","lodash","cjt/util/locale","uiBootstrap"],(function(e,t,o){return e.module("App").controller("impactedDomainsPopup",["$scope","$uibModalInstance","data",function(e,t,o){e.modalData={};var s=o;e.modalData=s,e.closeModal=function(){t.close()}}])})),define("app/views/config",["angular","cjt/util/locale","lodash","uiBootstrap","cjt/services/alertService","cjt/directives/alert","cjt/directives/alertList","cjt/directives/callout","app/services/configService","app/views/impactedDomainsPopup"],(function(e,t,o){"use strict";return e.module("App").controller("config",["$scope","configService","$uibModal","$timeout","alertService",function(s,a,r,i,n){s.loadingVhostList=!1,s.phpVersionsEmpty=!0,s.selectedVersion={},s.phpVhostList=[],s.restrictedPhp={domainsSelected:[],showAlert:!1,alertInfo:"",showAllDomains:!1,showMore:!0},s.vhostSelected=!1;var c=[];s.totalSelectedDomains=0,s.checkdropdownOpen=!1,s.meta={sortReverse:!1,sortBy:"vhost",sortDirection:"asc",filterBy:"*",filterCompare:"contains",filterValue:"",maxPages:0,totalItems:s.phpVhostList.length,currentPage:1,pageSize:10,pageSizes:[10,20,50,100,500,1e3],start:0,limit:10};var l={loading:!1,warn:!1,show:!1,showMore:!1,text:""},p=t.maketext("We recommend that you update to a supported version of [asis,PHP]. For more information, read our [output,url,_1,PHP,target,_2] documentation.","https://go.cpanel.net/eaphp","_blank"),d=/^ea-php\d{2,}$/;s.php={systemPhp:{isEol:!1},showEolMsg:!1,eolWarningMsg:""};var h=function(){var e=[];return s.phpVhostList.forEach((function(t){t.rowSelected&&t.isRestricted&&e.push(t.vhost)})),e},m=function(){s.restrictedPhp.domainsSelected=h(),s.restrictedPhp.showMore=6<s.restrictedPhp.domainsSelected.length;var e=s.restrictedPhp.domainsSelected;if(e.length>0){s.restrictedPhp.showAlert=!0;var a=s.phpVersions.reduce((function(e,t){return"inherit"!==t.version&&e.push(t.displayPhpVersion),e}),[]);s.restrictedPhp.alertInfo=t.maketext("The system administrator only allows this account to use the [asis,PHP] [numerate,_2,version,versions] [list_and,_1].",a.map(o.escape),a.length)+" "+t.maketext("If you change the [asis,PHP] version for the following [numerate,_1,domain,domains], you cannot use this interface to change the [numerate,_1,domain,domains] back to use [numerate,_1,its,their] original version of [asis,PHP].",e.length)}else s.restrictedPhp.showAlert=!1};s.selectAllVhosts=function(){if(s.allRowsSelected)s.phpVhostList.forEach((function(e){e.rowSelected=!0,-1===c.indexOf(e.vhost)&&c.push(e.vhost)}));else{var e=s.phpVhostList.map((function(e){return e.rowSelected=!1,e.vhost}));c=o.difference(c,e),s.restrictedPhp.showAlert=!1}s.totalSelectedDomains=c.length,s.vhostSelected=s.totalSelectedDomains>0,s.restrictedPhp.domainsSelected=h(),s.restrictedPhp.showAlert&&m()};s.toggleRestrictedDomains=function(){s.restrictedPhp.showAllDomains=!s.restrictedPhp.showAllDomains},s.selectVhost=function(e){void 0!==e&&(!function(e,s){s?(e.impactedDomains.loading=!0,a.fetchImpactedDomains("domain",e.vhost).then((function(s){var a=o.without(s.data.domains,e.vhost);s.status&&a.length>0&&(e.impactedDomains.show=e.impactedDomains.warn=e.rowSelected,e.impactedDomains.showMore=a.length>10,e.impactedDomains.text=t.maketext("A change to the “[output,strong,_1]” domain‘s PHP version affects the following domains:",o.escape(e.vhost)),e.impactedDomains.domains=o.sortBy(a))}),(function(e){n.add({type:"danger",message:e,closeable:!0,replace:!1,group:"multiphpManager"})})).finally((function(){e.impactedDomains.loading=!1}))):e.impactedDomains.show=e.impactedDomains.warn=s}(e,e.rowSelected),e.rowSelected?(c.push(e.vhost),s.allRowsSelected=s.phpVhostList.every((function(e){return e.rowSelected}))):(c=c.filter((function(t){return t!==e.vhost})),s.allRowsSelected=!1)),s.totalSelectedDomains=c.length,s.vhostSelected=s.totalSelectedDomains>0,s.restrictedPhp.domainsSelected=h(),s.restrictedPhp.showAlert&&m()},s.rowClass=function(e){return e.impactedDomains.warn?"warning":e.impactedDomains.loading?"processing":void 0},s.showAllImpactedDomains=function(e){r.open({templateUrl:"impactedDomainsPopup.ptt",controller:"impactedDomainsPopup",resolve:{data:function(){return e}}})},s.clearAllSelections=function(e){e.preventDefault(),e.stopPropagation(),c=[],s.phpVhostList.forEach((function(e){e.rowSelected=!1})),s.checkdropdownOpen=!1,s.allRowsSelected=!1,s.totalSelectedDomains=0,s.vhostSelected=!1,s.restrictedPhp.showAlert=!1},s.hidePhpAlert=function(){s.restrictedPhp.showAlert=!1};var u=function(e){void 0!==e&&(s.phpVersions=e,void 0!==s.systemPhp&&""!==s.systemPhp&&s.phpVersions.push({version:"inherit",displayPhpVersion:"inherit"})),s.phpVersions&&s.phpVersions.length>0?(a.getCustomRecommendations().then((function(e){if(e&&e.data.length>0){var o=e.data,r=[];o.forEach((function(e){s.phpVersions.forEach((function(o){o.version.includes(e)&&(r.push(a.friendlyPhpFormat(o.version)),o.displayPhpVersion=o.displayPhpVersion+" - "+t.maketext("Recommended"),s.showRecommendedVersion=!0)}))})),r.length>0&&(s.recommendedVersionMessage=t.maketext("Your hosting provider recommends [list_or,_1].",r))}})),s.selectedVersion=s.phpVersions[0],s.phpVersionsEmpty=!1):s.phpVersionsEmpty=!0};s.performApplyDomainPhp=function(){return n.clear(),s.restrictedPhp.showAlert&&(s.restrictedPhp.showAlert=!1),a.applyDomainSetting(s.selectedVersion.version,c).then((function(e){void 0!==e&&(n.add({type:"success",message:t.maketext("Successfully applied [asis,PHP] version “[_1]” to the selected [numerate,_2,domain,domains].",s.selectedVersion.displayPhpVersion,c.length),closeable:!0,replace:!1,autoClose:1e4,group:"multiphpManager"}),s.selectPage())}),(function(e){if(void 0!==e.raw){var o=e.raw.errors;if(o.length>0){var a=[];e.data&&e.data.vhosts&&(a=e.data.vhosts),o.forEach((function(e){n.add({type:"danger",message:e,closeable:!0,replace:!1,group:"multiphpManager"})})),a.length>0&&n.add({type:"success",message:t.maketext("Successfully applied [asis,PHP] version “[_1]” to [numerate,_2,a domain,some domains].",s.selectedVersion.displayPhpVersion,a.length),closeable:!0,replace:!1,autoClose:1e4,group:"multiphpManager"})}}else n.add({type:"danger",message:e.error,closeable:!0,replace:!1,group:"multiphpManager"})})).finally((function(){u(),c=[],s.phpVhostList.forEach((function(e){e.rowSelected=!1})),s.allRowsSelected=!1,s.totalSelectedDomains=0,s.vhostSelected=!1}))},s.applyDomainPhp=function(){return s.restrictedPhp.domainsSelected.length>0?m():s.performApplyDomainPhp()};var f=function(a){var r=a.items;s.meta.totalItems=a.totalItems;var i=r;if(s.meta.totalItems>o.min(s.meta.pageSizes)){var n=(s.meta.currentPage-1)*s.meta.pageSize;s.showPager=!0,s.meta.start=n+1,s.meta.limit=n+i.length}else s.showPager=!1,0===i.length?s.meta.start=0:s.meta.start=1,s.meta.limit=i.length;var p=0;i.forEach((function(s){-1!==c.indexOf(s.vhost)?s.rowSelected=!0:(s.rowSelected=!1,p++),s.impactedDomains=e.copy(l),s.inherited=!1;var a=s.phpversion_source;if(void 0!==a){var r="",i="";void 0!==a.domain?(r="domain",i=a.domain):void 0!==a.system_default&&(r="system_default",i=t.maketext("System Default")),("domain"===r&&i!==s.vhost||"system_default"===r)&&(s.inherited=!0,s.inheritedInfo=t.maketext("This domain inherits its [asis,PHP] version “[output,em,_1]” from: [output,strong,_2]",o.escape(s.displayPhpVersion),o.escape(i)))}s.isRestricted=!1,s.showInheritInfo=!1;var n=PAGE.versionListData.data.versions;o.some(n,["version",s.version])||(s.isRestricted=!0)})),s.restrictedPhp.showMore=6<s.restrictedPhp.domainsSelected.length,s.phpVhostList=i,s.allRowsSelected=i.length>0&&0===p};s.selectPage=function(t){return t&&e.isNumber(t)&&(s.meta.currentPage=t),s.loadingVhostList=!0,a.fetchList(s.meta).then((function(e){f(e)}),(function(e){n.add({type:"danger",message:e,closeable:!0,replace:!1,group:"multiphpManager"})})).then((function(){s.loadingVhostList=!1}))};var g=function(e){return a.getEA4Recommendations().then((function(r){if(r&&void 0!==r.data){var i=function(e){var t=[],s=o.sortBy(o.filter(o.keys(e),(function(e){return d.test(e)})));return o.each(s,(function(s){o.each(e[s],(function(e){o.includes(e.filter,"eol")&&t.push(s)}))})),t}(r.data);if(i.length>0){s.php.systemPhp.isEol=o.includes(i,PAGE.systemPHPData.data.version);var c=o.intersection(i,e);if(c.length>0){var l=o.map(c,(function(e){return a.friendlyPhpFormat(e)})),h=t.maketext("[output,strong,Warning]: [asis,PHP] [numerate,_2,version,versions] [list_and,_1] [numerate,_2,is,are] [output,strong,deprecated].",l.map(o.escape),c.length)+" "+p;s.php.showEolMsg=!0,s.php.eolWarningMsg=h}}}else n.add({type:"warning",message:t.maketext("The system could not retrieve data for deprecated versions of PHP."),closeable:!0,id:"recommendationsError",group:"multiphpManager"})})).catch((function(e){n.add({type:"warning",message:e,closeable:!0,id:"recommendationsError",group:"multiphpManager"})}))};s.$on("$viewContentLoaded",(function(){var e;if(n.clear(),g(PAGE.versionListData.data.versions),PAGE.versionListData.data&&(PAGE.versionListData.data.versions=PAGE.versionListData.data.versions.map((function(e){return{version:e,displayPhpVersion:a.transformPhpFormat(e)}}))),PAGE.vhostListData.status){s.loadingVhostList=!1;var t=a.convertResponseToList(PAGE.vhostListData);f(t)}else e=PAGE.vhostListData.errors[0],n.add({type:"danger",message:PAGE.vhostListData.errors[0],closeable:!0,replace:!1,group:"multiphpManager"});PAGE.systemPHPData.status?s.systemPhp={version:PAGE.systemPHPData.data.version,displayPhpVersion:a.transformPhpFormat(PAGE.systemPHPData.data.version)}:e!==PAGE.systemPHPData.errors[0]&&n.add({type:"danger",message:PAGE.systemPHPData.errors[0],closeable:!0,replace:!1,group:"multiphpManager"}),PAGE.versionListData.status?u(PAGE.versionListData.data.versions):(u(),e!==PAGE.versionListData.errors[0]&&n.add({type:"danger",message:PAGE.versionListData.errors[0],closeable:!0,replace:!1,group:"multiphpManager"}))}))}])})),define("app/index",["angular","jquery","lodash","cjt/core","cjt/modules","cjt/services/alertService","cjt/directives/alert","cjt/directives/alertList","ngRoute","uiBootstrap"],(function(e,t,o,s){"use strict";return function(){return e.module("App",["ngRoute","ui.bootstrap","cjt2.cpanel","cpanel.multiPhpManager.service"]),require(["cjt/bootstrap","cjt/views/applicationController","app/views/config"],(function(t){var o=e.module("App");o.firstLoad={phpAccountList:!0},o.config(["$routeProvider","$locationProvider","$animateProvider",function(e,t,o){o.classNameFilter(/INeverWantThisToAnimate/),e.when("/config/",{controller:"config",templateUrl:s.buildFullPath("multiphp_manager/views/config.html.tt"),reloadOnSearch:!1}),e.otherwise({redirectTo:"/config/"})}]),t("#content","App")}))}}));
Back to Directory File Manager