164f3205134070d8464ca6927382151f9f050594
3 namespace app\Controller
;
13 abstract class Github
implements Controller
21 * @var \app\Github\API
30 function __construct(Web
$app, API
$github, Session
$session) {
32 $this->github
= $github;
33 $this->session
= $session;
34 $this->app
->getView()->addData(compact("session") +
[
35 "location" => "github",
38 $this->app
->getView()->registerFunction("check", [$github, "checkRepoHook"]);
40 if (($header = $this->app
->getRequest()->getHeader("Cache-Control", Header
::class))) {
41 $params = $header->getParams();
42 if (!empty($params["no-cache"])) {
43 $this->github
->setMaxAge(0);
44 } elseif (!empty($params["max-age"])) {
45 $this->github
->setMaxAge($params["max-age"]["value"]);
50 protected function checkToken() {
51 if ($this->github
->hasToken()) {
54 $this->app
->redirect($this->app
->getBaseUrl()->mod([
55 "path" => "github/signin",
56 "query" => new QueryString(["returnto" => $this->session
->current
])