コード例 #1
0
 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;
     }
 }