public function copy_write()
 {
     $viewData = new ViewData();
     $deployment = $this->getDeployment('timeperiod_error');
     $this->checkGroupAuth($deployment);
     $this->checkDeploymentRevStatus($deployment);
     $modrevision = RevDeploy::getDeploymentNextRev($deployment);
     $timeName = $this->getParam('tpName');
     $tpArray = $_SESSION[$deployment]['timeperiods'];
     $timeInfo = $this->fetchTimeperiodInfo($deployment, 'copy_write', $modrevision);
     if (RevDeploy::existsDeploymentTimeperiod($deployment, $timeName, $modrevision) === true) {
         $viewData->error = 'Timeperiod information exists for ' . $timeName . ' in ' . $deployment . ' Deployment';
         $viewData->timeInfo = $timeInfo;
         $viewData->action = 'copy_write';
         $this->sendResponse('timeperiod_action_stage', $viewData);
     }
     if (RevDeploy::createDeploymentTimeperiod($deployment, $timeName, $timeInfo, $tpArray, $modrevision) === false) {
         $viewData->header = $this->getErrorHeader('timeperiod_error');
         $viewData->error = 'Unable to write timeperiod information for ' . $timeName . ' into ' . $deployment . ' Deployment';
         $this->sendError('generic_error', $viewData);
     }
     unset($_SESSION[$deployment]['timeperiods']);
     $viewData->deployment = $deployment;
     $viewData->timeperiod = $timeName;
     $this->sendResponse('timeperiod_write', $viewData);
 }
Exemplo n.º 2
0
 private static function copyTimeperiods($deployment, $revision, array $tpInfo)
 {
     if (self::$init === false) {
         self::init();
     }
     foreach ($tpInfo as $tpName => $tpArray) {
         if ($tpArray['deployment'] == self::$m_commonrepo && $tpArray['deployment'] == 'common') {
             continue;
         }
         if ($tpArray['deployment'] == self::$m_commonrepo) {
             continue;
         }
         $tpTimes = $tpArray['times'];
         unset($tpArray['times']);
         unset($tpArray['deployment']);
         RevDeploy::createDeploymentTimeperiod($deployment, $tpName, $tpArray, $tpTimes, $revision);
     }
 }
Exemplo n.º 3
0
    }
    if (!isset($timeperiodInfo['use']) || empty($timeperiodInfo['use'])) {
        // use flag is undetected, need to exit if no timeperiod directives / times were provided
        $timeperiodData = timeperiodBuildTimes($app, $deployment, $timeperiodInfo);
    } else {
        // detected use flag, don't exit out if nothing is detected.
        $timeperiodData = timeperiodBuildTimes($app, $deployment, $timeperiodInfo, true);
    }
    unset($timeperiodInfo['timeperiods']);
    check_revision_status($deployment);
    $deployRev = RevDeploy::getDeploymentNextRev($deployment);
    if (RevDeploy::existsDeploymentTimeperiod($deployment, $timeperiodInfo['timeperiod_name'], $deployRev) === true) {
        RevDeploy::modifyDeploymentTimeperiod($deployment, $timeperiodInfo['timeperiod_name'], $timeperiodInfo, $timeperiodData, $deployRev);
        $apiResponse = new APIViewData(0, $deployment, "Successfully Modified Timeperiod: " . $timeperiodInfo['timeperiod_name']);
    } else {
        RevDeploy::createDeploymentTimeperiod($deployment, $timeperiodInfo['timeperiod_name'], $timeperiodInfo, $timeperiodData, $deployRev);
        $apiResponse = new APIViewData(0, $deployment, "Successfully Created Timeperiod: " . $timeperiodInfo['timeperiod_name']);
    }
    $apiResponse->printJson();
})->name('saigon-api-create-timeperiod');
$app->get('/sapi/timeperiod/:deployment/:timeperiod(/:staged)', function ($deployment, $timeperiod, $staged = false) use($app) {
    check_deployment_exists($app, $deployment);
    // Load up Current Timeperiods or Staged Timeperiods
    if ($staged == 1) {
        $revs = RevDeploy::getDeploymentRevs($deployment);
        if ($revs['currrev'] == $revs['nextrev']) {
            $apiResponse = new APIViewData(1, $deployment, "Unable to detect staged revision to reference");
            $app->halt(404, $apiResponse->returnJson());
        }
        $deployRev = $revs['nextrev'];
    } else {