diff --git a/library/Director/Deployment/DeploymentStatus.php b/library/Director/Deployment/DeploymentStatus.php index d4bb1c71..e649dab5 100644 --- a/library/Director/Deployment/DeploymentStatus.php +++ b/library/Director/Deployment/DeploymentStatus.php @@ -34,13 +34,21 @@ class DeploymentStatus $configChecksum = null; if ($stageName = $this->api->getActiveStageName()) { $activityLogChecksum = DirectorDeploymentLog::getRelatedToActiveStage($this->api, $this->db); - $lastActivityLogChecksum = bin2hex($activityLogChecksum->last_activity_checksum); - $configChecksum = $this->getConfigChecksumForStageName($stageName); - $activeConfiguration = [ - 'stage_name' => $stageName, - 'config' => ($configChecksum) ? : null, - 'activity' => $lastActivityLogChecksum - ]; + if ($activityLogChecksum === null) { + $activeConfiguration = [ + 'stage_name' => $stageName, + 'config' => null, + 'activity' => null + ]; + } else { + $lastActivityLogChecksum = bin2hex($activityLogChecksum->last_activity_checksum); + $configChecksum = $this->getConfigChecksumForStageName($stageName); + $activeConfiguration = [ + 'stage_name' => $stageName, + 'config' => ($configChecksum) ? : null, + 'activity' => $lastActivityLogChecksum + ]; + } } $result = [ 'active_configuration' => (object) $activeConfiguration, @@ -81,7 +89,7 @@ class DeploymentStatus }, $configChecksums)); $binaryConfigChecksums = []; foreach ($configChecksums as $singleConfigChecksum) { - $binaryConfigChecksums[$singleConfigChecksum] = hex2bin($singleConfigChecksum); + $binaryConfigChecksums[$singleConfigChecksum] = $this->db->quoteBinary(hex2bin($singleConfigChecksum)); } $deployedConfigs = $this->getDeployedConfigs(array_values($binaryConfigChecksums)); @@ -125,7 +133,7 @@ class DeploymentStatus $generatedConfigQuery = $db->select()->from( array('a' => 'director_activity_log'), array('id' => 'a.id') - )->where('a.checksum = ?', hex2bin($singleActivityLogChecksum)); + )->where('a.checksum = ?', $this->db->quoteBinary(hex2bin($singleActivityLogChecksum))); if ($singleActivityLogData = $db->fetchOne($generatedConfigQuery)) { if ($lastDeploymentActivityLogId = $db->getLastDeploymentActivityLogId()) { if ($singleActivityLogData->id > $lastDeploymentActivityLogId) {