{
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) {
- $this->app->getView()->addData(compact("repo"));
+ 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->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) {
$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;
+ });
}
};
}