public function step4() { $user = $this->post("user"); $repos = $this->post("repos"); $tag = $this->post("tag"); $response = new JSONResponse(); $response->setStatus(false); $zipURL = sprintf(DashboardMootoolsImporterController::GITHUB_URL . "%s/%s/zipball/%s", $user, $repos, $tag); $fh = Loader::helper('file'); $pkg = $fh->getContents($zipURL); if (empty($pkg)) { $response->setMessage(Package::E_PACKAGE_DOWNLOAD); $response->flush(); } $file = time(); $tmpFile = $fh->getTemporaryDirectory() . '/' . $file . '.zip'; $fp = fopen($tmpFile, "wb"); if ($fp) { fwrite($fp, $pkg); fclose($fp); } else { $response->setMessage(Package::E_PACKAGE_SAVE); $response->flush(); } $response->setMessage(t("The archive was able to be downloaded.")); $response->setParameters(array("user" => $user, "repos" => $repos, "file" => $file)); $response->setStatus(true); $response->flush(); }