public function requestCheckin(&$error, $newVersion, $commitMessage) { $config = $this->getConfiguration(); $versioning = new DIM_Versioning(); $requestData = array("action" => "checkin", "email" => $config["client"]["user-email"], "auth-key" => $config["client"]["auth-key"], "version" => $newVersion, "old-version" => $versioning->getLatestVersion(), "commit-message" => $commitMessage); $rawResponse = Network_IO::makeServerRequest($config["client"]["server-host"], $requestData); $responseParts = explode(":", $rawResponse); if ($responseParts[0] == "1") { // successful checkin! $this->state->checkIn(); $this->logger->addLogItem("Database Checked In", "state"); $queryManager = new DIM_QueryManager(); $versionFileName = $queryManager->makeVersionFile($responseParts[1], $responseParts[2]); $this->logger->addLogItem("Version file {$versionFileName} created", "version"); $newVersion = $versioning->addNewVersion($responseParts[1], $responseParts[2]); $this->logger->addLogItem("Database now at version {$newVersion}", "version"); return true; } else { $error = $responseParts[1]; return false; } }