public function listReleaseLog($release = '', $applicationId = '') { $releases = $this->objReleaseLogStore->listReleaseLog($release, $applicationId); if ($release) { //Application... $objApplicationManager = NCConfigFactory::getInstance()->getApplicationManager(); $applications = $objApplicationManager->listApplication(); $applicationsArr = array(); foreach ($applications as $application) { $applicationsArr[$application['applicationId']] = array('applicationName' => $application['applicationName'], 'applicationGroupName' => $application['applicationGroupName']); } foreach ($releases as $key => $release) { $deployStatus = $this->objReleaseLogStore->getReleaseDeployment($release['release'], $release['applicationId']); $releases[$key]['applicationName'] = $applicationsArr[$release['applicationId']]['applicationName']; $releases[$key]['applicationGroupName'] = $applicationsArr[$release['applicationId']]['applicationGroupName']; $releases[$key]['time_stamp'] = $deployStatus[0]['time_stamp']; $releases[$key]['status'] = $deployStatus[0]['status']; } } if (!$release && !$applicationId) { foreach ($releases as $key => $release) { $comment = $this->objReleaseLogStore->getReleaseComment($release['date'], $release['release']); if ($comment) { $comment = $comment['comment']; } else { $comment = ''; } $releases[$key]['comment'] = $comment; } } return $releases; }
public function listConfiguration() { //Application... $objApplicationManager = NCConfigFactory::getInstance()->getApplicationManager(); $applications = $objApplicationManager->listApplication(); $applicationsArr = array(); foreach ($applications as $application) { $applicationsArr[$application['applicationId']] = $application['applicationName']; } //Service... $objServiceManager = NCConfigFactory::getInstance()->getServiceManager(); $services = $objServiceManager->listService(); $servicesArr = array(); foreach ($services as $service) { $servicesArr[$service['serviceId']] = $service['serviceTypeName'] . " (" . $service['servicePort'] . ") - " . $service['serviceRefName']; } //SystemUser... $objSystemUserManager = NCConfigFactory::getInstance()->getSystemUserManager(); $systemUsers = $objSystemUserManager->listSystemUser(); $systemUsersArr = array(); foreach ($systemUsers as $systemUser) { $systemUsersArr[$systemUser['systemUserId']] = $systemUser['systemUserRefName'] . " (" . $systemUser['username'] . ")"; } $configurations = $this->objConfigurationStore->listConfiguration(); foreach ($configurations as $key => $configuration) { $configurations[$key]['applicationName'] = $applicationsArr[$configuration['applicationId']]; $configurations[$key]['service'] = $servicesArr[$configuration['serviceId']]; $configurations[$key]['systemUser'] = $systemUsersArr[$configuration['systemUserId']]; } return $configurations; }
public static function getInstance() { if (!isset(self::$instance)) { $class = __CLASS__; self::$instance = new $class(); } return self::$instance; }
public function deleteValidation($serviceId) { $ConfigurationManager = NCConfigFactory::getInstance()->getConfigurationManager(); if ($ConfigurationManager->getServiceConfiguration($serviceId)) { return $this->errorArray['error'] = 'ERROR'; } return $this->errorArray; }
private function serverList() { $objServerManager = NCConfigFactory::getInstance()->getServerManager(); $servers = $objServerManager->listServer(); $serversArr = array(); foreach ($servers as $server) { $serversArr[$server['serverId']] = $server; } return $serversArr; }
public function getApplicationOwned($email) { $app = array(); $objApplicationManager = NCConfigFactory::getInstance()->getApplicationManager(); $applications = $objApplicationManager->getUserApplication($email); foreach ($applications as $application) { $app[] = $application['applicationId']; } return $app; }
public function deleteValidation($email) { $objApplicationManager = NCConfigFactory::getInstance()->getApplicationManager(); $applications = $objApplicationManager->listApplication(); foreach ($applications as $application) { if ($email == $application['email']) { $this->errorArray['error'] = 'ERROR'; break; } } return $this->errorArray; }
public function deleteValidation($serverId) { $ApplicationServerMapManager = NCConfigFactory::getInstance()->getApplicationServerMapManager(); $ServiceManager = NCConfigFactory::getInstance()->getServiceManager(); if ($ApplicationServerMapManager->getServerApplicationMap($serverId)) { return $this->errorArray['error'] = 'ERROR'; } if ($ServiceManager->listService($serverId)) { return $this->errorArray['error'] = 'ERROR'; } return $this->errorArray; }
private function deleteService() { $serverId = $this->requestParameter['serverId']; $serviceId = $this->requestParameter['serviceId']; $objServiceValidator = NCConfigFactory::getInstance()->getServiceValidator(); $errorArray = $objServiceValidator->deleteValidation($serviceId); if ($errorArray) { $returnUrl = DOMAIN . "server/view?serverId={$serverId}&action=deleteServiceError"; } else { $this->objServiceManager->deleteService($serviceId); $returnUrl = DOMAIN . "server/view?serverId={$serverId}&action=deleteService"; } header("Location: {$returnUrl}"); }
protected function isActionAllowed($applicationId) { $role = $this->objAuthenticateManager->getRole(); if ($role == 'ADMIN') { return true; } $objRoleManager = NCConfigFactory::getInstance()->getRoleManager(); $applicationsOwned = $objRoleManager->getApplicationOwned($this->objAuthenticateManager->getEmail()); if (!in_array($applicationId, $applicationsOwned)) { $errorM = 'Action Not Allowed. <br/>Your account is not currently set up to allow this function. <br/>Please contact your ADMIN User'; $this->smarty->assign('error', $errorM); $this->smarty->display('error.html'); die; } }
public function listService($serverId) { $objServiceTypeManager = NCConfigFactory::getInstance()->getServiceTypeManager(); $serviceTypes = $objServiceTypeManager->listServiceType(); $serviceTypesArr = array(); foreach ($serviceTypes as $serviceType) { $serviceTypesArr[$serviceType['serviceTypeId']] = $serviceType['serviceTypeName']; } $services = $this->objServiceStore->listService($serverId); foreach ($services as $key => $service) { $services[$key]['serviceTypeName'] = $serviceTypesArr[$service['serviceTypeId']]; $services[$key]['serviceLabel'] = $services[$key]['serviceTypeName'] . ' (' . $service['servicePort'] . ') - ' . $service['serviceRefName']; } return $services; }
private function addConfigureApplication() { if ($this->requestParameter['submit']) { $applicationId = $this->requestParameter['applicationId']; $objConfigurationPath = new ConfigurationPath(); $objConfigurationPath->setApplicationId($applicationId); $objConfigurationPath->setConfigurationPath($this->requestParameter['configPath']); /* $objConfigurationFile = new ConfigurationFile(); $objConfigurationFile->setApplicationId($applicationId); $objConfigurationFile->setConfigurationFile($_FILES["configFile"]["name"]); */ $objApplicationServerMap = new ApplicationServerMap(); $objApplicationServerMap->setApplicationId($applicationId); $objApplicationServerMap->setServerId($this->requestParameter['serverId']); $this->objConfigurationPathManager->addConfigurationPath($objConfigurationPath); //$this->objConfigurationFileManager->addConfigurationFile($objConfigurationFile); $this->objApplicationServerMapManager->addApplicationServerMap($objApplicationServerMap); //$this->manageFile($this->requestParameter['applicationId']); $this->smarty->assign('success', 'Application Configured Successfully.'); $this->viewConfigureApplication(); } $applications = $this->objApplicationManager->listApplication(); $servers = $this->objServerManager->listServer(); $applicationGroupNames = array(); foreach ($applications as $application) { $groupName = $application['applicationGroupName']; $applicationGroupNames[$groupName] = $groupName; } $this->smarty->assign('sugg_applicationGroupNames', json_encode($applicationGroupNames)); $objUserManager = NCConfigFactory::getInstance()->getUserManager(); $users = $objUserManager->listUser(); $sugg_Emails = array(); foreach ($users as $user) { $email = $user['email']; $sugg_Emails[$email] = $email; } $this->smarty->assign('sugg_Emails', json_encode($sugg_Emails)); $this->smarty->assign('applications', $applications); $this->smarty->assign('servers', $servers); $this->smarty->assign('DEFAULT_CONFIG_PATH', DEFAULT_CONFIG_PATH); $this->smarty->display('configureApplication.html'); }
public function deleteValidation($cronId) { $CronServerMapManager = NCConfigFactory::getInstance()->getCronServerMapManager(); $ConfigurationManager = NCConfigFactory::getInstance()->getConfigurationManager(); $ConfigurationFileManager = NCConfigFactory::getInstance()->getConfigurationFileManager(); $ConfigurationPathManager = NCConfigFactory::getInstance()->getConfigurationPathManager(); if ($ConfigurationPathManager->getConfigurationPath($cronId)) { return $this->errorArray['error'] = 'ERROR'; } if ($ConfigurationFileManager->getConfigurationFile($cronId)) { return $this->errorArray['error'] = 'ERORR'; } if ($CronServerMapManager->getCronServerMap($cronId)) { return $this->errorArray['error'] = 'ERROR'; } if ($ConfigurationManager->getCronConfiguration($cronId)) { return $this->errorArray['error'] = 'ERROR'; } return $this->errorArray; }
public function addValidation($objConfiguration) { $applicationId = $objConfiguration->getApplicationId(); $serviceId = $objConfiguration->getServiceId(); $systemUserId = $objConfiguration->getSystemUserId(); $systemUserId2 = $objConfiguration->getSystemUserId2(); $configurationTag = $objConfiguration->getConfigurationTag(); if (!$this->blankCheck($configurationTag)) { $this->errorArray['configurationTag'] = 'Please provide Tag'; } elseif (!$this->maxLengthCheck($configurationTag, 50)) { $this->errorArray['configurationTag'] = 'Max length 50 characters long'; } $objConfigurationManager = NCConfigFactory::getInstance()->getConfigurationManager(); $status = $objConfigurationManager->validateConfiguration($applicationId, $serviceId, $systemUserId, $systemUserId2); if (!$status) { $this->errorArray['configurationTag'] = 'Tag already exists'; } $status = $objConfigurationManager->validateConfigurationTag($configurationTag); if (!$status) { $this->errorArray['serviceId'] = 'Configuration already exists'; } return $this->errorArray; }
private function deleteApplication() { $applicationId = $this->requestParameter['applicationId']; $objApplicationValidator = NCConfigFactory::getInstance()->getApplicationValidator(); $errorArray = $objApplicationValidator->deleteValidation($applicationId); if ($errorArray) { $this->smarty->assign('error', 'Application cannot be deleted'); } else { //Delete Application. $this->objApplicationManager->deleteApplication($applicationId); $this->smarty->assign('success', 'Application deleted successfully'); } $this->listApplication(); }
private function changePassword() { $email = $this->userEMAIL; if ($this->requestParameter['submit']) { $password = $this->requestParameter['password']; $confirmPassword = $this->requestParameter['confirmPassword']; $objUser = new User(); $objUserValidator = NCConfigFactory::getInstance()->getUserValidator(); $errorArray = $objUserValidator->changePasswordValidation($password, $confirmPassword); if ($errorArray) { $this->smarty->assign('password', $password); $this->smarty->assign('confirmPassword', $confirmPassword); $this->smarty->assign('errors', $errorArray); } else { $this->objUserManager->changePassword($email, md5($password)); $this->smarty->assign('success', 'Your password has been changed successfully'); } } $this->smarty->display('changePassword.html'); }
private function editCron() { $cronId = $this->requestParameter['cronId']; if ($this->requestParameter['submit']) { $objCron = new Cron(); $objCronValidator = NCConfigFactory::getInstance()->getCronValidator(); $objCron->setCronId($this->requestParameter['cronId']); $objCron->setApplicationId($this->requestParameter['applicationId']); $objCron->setServerId($this->requestParameter['serverId']); $objCron->setMinute($this->requestParameter['minute']); $objCron->setHour($this->requestParameter['hour']); $objCron->setDay($this->requestParameter['day']); $objCron->setMonth($this->requestParameter['month']); $objCron->setWeekday($this->requestParameter['weekday']); $objCron->setCommand($this->requestParameter['command']); $objCron->setComment($this->requestParameter['comment']); $objCron->setUser($this->requestParameter['user']); $objCron->setCompletionTime($this->requestParameter['completionTime']); $objCron->setMaxConcurrency($this->requestParameter['maxConcurrency']); $objCron->setTimeAlert($this->requestParameter['timeAlert']); $objCron->setFromEmail($this->requestParameter['fromEmail']); $objCron->setToEmail($this->requestParameter['toEmail']); $objCron->setCronAlias($this->requestParameter['cronAlias']); $objCron->setCronOutput($this->requestParameter['cronOutput']); $objCron->setUpdatedBy($this->userEMAIL); //Application Check | Start $this->isActionAllowed($this->requestParameter['applicationId']); //Application Check | End //$errorArray = $objCronValidator->addValidation($objCron); if ($errorArray) { $errorArray['error'] = 'ERROR'; echo json_encode($errorArray); } else { $this->objCronManager->editCron($objCron); $this->smarty->assign('success', 'Cron Job updated successfully'); } } $cron = $this->objCronManager->getCron($cronId); //Application Check | Start $this->isActionAllowed($cron['applicationId']); //Application Check | End $cron['command'] = htmlentities($cron['command']); $this->smarty->assign('cron', $cron); $applications = $this->objApplicationManager->listApplication(); $servers = $this->objServerManager->listServer(); $cronUsers = $this->objCronManager->listCronUser(); $this->smarty->assign('cronUsers', $cronUsers); $this->smarty->assign('servers', $servers); $this->smarty->assign('applications', $applications); $this->smarty->display('cron.html'); }
private function editConfiguration() { $configurationId = $this->requestParameter['configurationId']; $configuration = $this->objConfigurationManager->getConfiguration($configurationId); if ($this->requestParameter['submit']) { $objConfiguration = new Configuration(); $objConfigurationValidator = NCConfigFactory::getInstance()->getConfigurationValidator(); $objConfiguration->setConfigurationId($this->requestParameter['configurationId']); $objConfiguration->setApplicationId($this->requestParameter['applicationId']); $objConfiguration->setServiceId($this->requestParameter['serviceId']); $objConfiguration->setSystemUserId($this->requestParameter['systemUserId']); $objConfiguration->setSystemUserId2($this->requestParameter['systemUserId2']); $objConfiguration->setConfigurationTag($this->requestParameter['configurationTag']); $errorArray = $objConfigurationValidator->editValidation($objConfiguration); if ($errorArray) { $this->smarty->assign('errors', $errorArray); } else { $serverId = $this->objConfigurationManager->editConfiguration($objConfiguration); $this->smarty->assign('success', 'Configuration (Id : ' . $configurationId . ') updated Successfully.'); $this->listConfiguration(); die; } } $applications = $this->objApplicationManager->listApplication(); $services = $this->objServiceManager->listService(); $systemUsers = $this->objSystemUserManager->listSystemUser(); $this->smarty->assign('configuration', $configuration); $this->smarty->assign('applications', $applications); $this->smarty->assign('services', $services); $this->smarty->assign('systemUsers', $systemUsers); $this->smarty->display('configuration.html'); }
private function getPassword($email) { $objUserManager = NCConfigFactory::getInstance()->getUserManager(); return $objUserManager->getUser($email); }
private function changeConfigFile() { $date = date("Y-m-d"); $release = date("YmdHis"); shell_exec('cp -r ' . CONFIG_UPLOAD_PATH . ' ' . PROD_READY_FILES . $release . '_tmp'); //Execute | File Change | Start $objApplicationManager = NCConfigFactory::getInstance()->getApplicationManager(); $objConfigurationManager = NCConfigFactory::getInstance()->getConfigurationManager(); $objConfigurationFileManager = NCConfigFactory::getInstance()->getConfigurationFileManager(); $objServiceManager = NCConfigFactory::getInstance()->getServiceManager(); $objSystemUserManager = NCConfigFactory::getInstance()->getSystemUserManager(); $objServerManager = NCConfigFactory::getInstance()->getServerManager(); $applications = $objApplicationManager->listApplication(); $releaseLog = array(); foreach ($applications as $application) { $applicationId = $application['applicationId']; $configurations = $objConfigurationManager->getApplicationConfiguration($applicationId); $configurationFile = $objConfigurationFileManager->getConfigurationFile($applicationId); foreach ($configurations as $configuration) { $serviceId = $configuration['serviceId']; $systemUserId = $configuration['systemUserId']; $service = $objServiceManager->getService($serviceId); $systemUser = $objSystemUserManager->getSystemUser($systemUserId); $server = $objServerManager->getServer($service['serverId']); $serverIP = $server['serverIP']; $servicePort = $service['servicePort']; $serviceDNS = $service['serviceDNS']; $serviceDNS2 = $service['serviceDNS2']; $serviceDNS3 = $service['serviceDNS3']; $username = $systemUser['username']; $password = $systemUser['password']; $configurationTag = $configuration['configurationTag']; foreach ($configurationFile as $file) { $configFile = $file['configFile']; $configFilePath = PROD_READY_FILES . $release . '_tmp' . '/' . $applicationId . '/' . $configFile; file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_IP' . TAG_DELIMITER, $serverIP, file_get_contents($configFilePath))); file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_USERNAME' . TAG_DELIMITER, $username, file_get_contents($configFilePath))); file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_PASSWORD' . TAG_DELIMITER, $password, file_get_contents($configFilePath))); file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_PORT' . TAG_DELIMITER, $servicePort, file_get_contents($configFilePath))); file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_DNS' . TAG_DELIMITER, $serviceDNS, file_get_contents($configFilePath))); file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_DNS2' . TAG_DELIMITER, $serviceDNS2, file_get_contents($configFilePath))); file_put_contents($configFilePath, str_replace(TAG_DELIMITER . $configurationTag . '_DNS3' . TAG_DELIMITER, $serviceDNS3, file_get_contents($configFilePath))); $releaseLog[$applicationId][$configFile] = $configFile; } } } $this->objReleaseLogManager = NCConfigFactory::getInstance()->getReleaseLogManager(); foreach ($releaseLog as $applicationId => $files) { foreach ($files as $file) { $this->objReleaseLogManager->addReleaseLog($date, $release, $applicationId, $file, $this->userEMAIL); } } $releaseComment = $this->requestParameter['releaseComment']; $this->objReleaseLogManager->addReleaseComment($date, $release, date('Y-m-d H:i:s'), $releaseComment, $this->userEMAIL); //Execute | File Change | End rename(PROD_READY_FILES . '/' . $release . '_tmp', PROD_READY_FILES . $release); $this->smarty->assign('success', 'Config files changed successfully'); $this->listConfigFile(); }
private function deleteServer() { $serverId = $this->requestParameter['serverId']; $objServerValidator = NCConfigFactory::getInstance()->getServerValidator(); $errorArray = $objServerValidator->deleteValidation($serverId); if ($errorArray) { $this->smarty->assign('error', 'Server cannot be deleted'); } else { $this->objServerManager->deleteServer($serverId); $this->smarty->assign('success', 'Server (Id : ' . $serverId . ') deleted Successfully.'); } $this->listServer(); }
private function deleteSystemUser() { $systemUserId = $this->requestParameter['systemUserId']; $objSystemUserValidator = NCConfigFactory::getInstance()->getSystemUserValidator(); $errorArray = $objSystemUserValidator->deleteValidation($systemUserId); if ($errorArray) { $this->smarty->assign('error', 'SystemUser cannot be deleted'); } else { //Delete SystemUser. $this->objSystemUserManager->deleteSystemUser($systemUserId); $this->smarty->assign('success', 'SystemUser deleted successfully'); } $this->listSystemUser(); }
private function connectionGraph() { if ($this->requestParameter['submit']) { $applicationId = $this->requestParameter['applicationId']; $serviceTypeId = $this->requestParameter['serviceTypeId']; } $objApplicationManager = NCConfigFactory::getInstance()->getApplicationManager(); $objServiceTypeManager = NCConfigFactory::getInstance()->getServiceTypeManager(); $objReportManager = NCConfigFactory::getInstance()->getReportManager(); $applications = $objApplicationManager->listApplication(); if ($applicationId) { $apps[] = $objApplicationManager->getApplication($applicationId); } else { $apps = $applications; } $serviceTypes = $objServiceTypeManager->listServiceType(); $colors = $this->getColorCodes(); $colorCodes = array(); $i = 0; foreach ($apps as $application) { $colorCodes[$application['applicationId']] = $colors[$i]; $i++; } $connectionGraph = $objReportManager->connectionGraph($applicationId, $serviceTypeId); foreach ($connectionGraph as $key => $conn) { $conn['color'] = $colorCodes[$conn['applicationId']]; $connectionGraph[$key] = $conn; } $servers = array(); foreach ($connectionGraph as $connection) { $servers[] = array('serverId' => $connection['serverId'], 'serverName' => $connection['serverName']); } $this->smarty->assign('servers', $servers); $this->smarty->assign('applications', $applications); $this->smarty->assign('apps', $apps); $this->smarty->assign('serviceTypes', $serviceTypes); $this->smarty->assign('applicationId', $applicationId); $this->smarty->assign('serviceTypeId', $serviceTypeId); $this->smarty->assign('connectionInfo', $connectionGraph); $this->smarty->display('connectionGraph.html'); }