X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FController%2FGithub%2FRepo.php;h=ac2ce37d5916cebdb2a3fc68e8cb39f4c2fa1202;hb=917c0fd609f9d91fa6b407c4a1c853f2319eb23b;hp=2ee935d3cf47035eaa8477017e6678582047bdc8;hpb=4c462ab66e6c65c15df7bd5fe6d2673884c639a0;p=pharext%2Fpharext.org diff --git a/app/Controller/Github/Repo.php b/app/Controller/Github/Repo.php index 2ee935d..ac2ce37 100644 --- a/app/Controller/Github/Repo.php +++ b/app/Controller/Github/Repo.php @@ -8,30 +8,35 @@ class Repo extends Github { function __invoke(array $args = null) { extract($args); + $this->app->getView()->addData(compact("owner", "name")); if ($this->checkToken()) { - try { - $this->github->fetchRepo( - "$owner/$name", - [$this, "repoCallback"] - )->send(); - } catch (\app\Github\Exception $exception) { - $this->app->getView()->addData(compact("exception", "owner", "name")); + $this->github->readRepo( + "$owner/$name", + [$this, "repoCallback"] + )->send(); + + if (($modal = $this->app->getRequest()->getQuery("modal"))) { + $this->app->getView()->addData(compact("modal") + [ + "action" => $this->app->getRequest()->getQuery($modal) + ]); } + $this->app->display("github/repo"); } } - function repoCallback($repo, $links) { + function repoCallback($repo) { $this->app->getView()->addData(compact("repo") + [ "title" => "Github: {$repo->name}" ]); settype($repo->tags, "object"); - $this->github->fetchHooks($repo->full_name, function($hooks) use($repo) { + $this->github->listHooks($repo->full_name, function($hooks) use($repo) { $repo->hooks = $hooks; + $this->app->getView()->addData(["hook" => $this->checkRepoHook($repo)]); }); - $this->github->fetchTags($repo->full_name, 1, $this->createTagsCallback($repo)); - $this->github->fetchReleases($repo->full_name, 1, $this->createReleasesCallback($repo)); - $this->github->fetchContents($repo->full_name, null, $this->createContentsCallback($repo)); + $this->github->listTags($repo->full_name, 1, $this->createTagsCallback($repo)); + $this->github->listReleases($repo->full_name, 1, $this->createReleasesCallback($repo)); + $this->github->readContents($repo->full_name, null, $this->createContentsCallback($repo)); } function createReleasesCallback($repo) { @@ -40,6 +45,9 @@ class Repo extends Github $tag = $release->tag_name; settype($repo->tags->$tag, "object"); $repo->tags->$tag->release = $release; + $this->github->listReleaseAssets($repo->full_name, $release->id, function($assets) use($release) { + $release->assets = $assets; + }); } }; }