Merge pull request #6 from EaterOfCode/showContributors
show contributors and add GitHub and Stash service
This commit is contained in:
commit
983cff3343
12 changed files with 283 additions and 20 deletions
|
@ -17,7 +17,8 @@
|
|||
"hassankhan/config": "0.10.0",
|
||||
"monolog/monolog": "1.18.1",
|
||||
"aura/session": "2.0.1",
|
||||
"guzzlehttp/guzzle": "^6.2"
|
||||
"guzzlehttp/guzzle": "^6.2",
|
||||
"tedivm/stash": "^0.14.1"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
110
composer.lock
generated
110
composer.lock
generated
|
@ -4,8 +4,8 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "95b6dc2302dd6086dbc2b7248a1f5768",
|
||||
"content-hash": "61847eefe53610226629206b81b6f8b5",
|
||||
"hash": "7f7a5098d89b4841741255592bee1890",
|
||||
"content-hash": "045408fd26a025036d65a2e00bb8a369",
|
||||
"packages": [
|
||||
{
|
||||
"name": "aura/session",
|
||||
|
@ -558,6 +558,52 @@
|
|||
],
|
||||
"time": "2015-06-27 11:58:48"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
"version": "1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/cache.git",
|
||||
"reference": "9e66031f41fbbdda45ee11e93c45d480ccba3eb3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/cache/zipball/9e66031f41fbbdda45ee11e93c45d480ccba3eb3",
|
||||
"reference": "9e66031f41fbbdda45ee11e93c45d480ccba3eb3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Cache\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "http://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for caching libraries",
|
||||
"keywords": [
|
||||
"cache",
|
||||
"psr",
|
||||
"psr-6"
|
||||
],
|
||||
"time": "2015-12-11 02:52:07"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
"version": "1.0",
|
||||
|
@ -1167,6 +1213,66 @@
|
|||
"homepage": "https://symfony.com",
|
||||
"time": "2016-03-04 07:54:35"
|
||||
},
|
||||
{
|
||||
"name": "tedivm/stash",
|
||||
"version": "v0.14.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tedious/Stash.git",
|
||||
"reference": "bcb739b08b22571e35589ebe5403af9b89a33394"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tedious/Stash/zipball/bcb739b08b22571e35589ebe5403af9b89a33394",
|
||||
"reference": "bcb739b08b22571e35589ebe5403af9b89a33394",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.4|^7.0",
|
||||
"psr/cache": "~1.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/cache-implementation": "1.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fabpot/php-cs-fixer": "^1.9",
|
||||
"phpunit/phpunit": "4.8.*",
|
||||
"satooshi/php-coveralls": "1.0.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Stash\\": "src/Stash/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Robert Hafner",
|
||||
"email": "tedivm@tedivm.com"
|
||||
},
|
||||
{
|
||||
"name": "Josh Hall-Bachner",
|
||||
"email": "charlequin@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "The place to keep your cache.",
|
||||
"homepage": "http://github.com/tedious/Stash",
|
||||
"keywords": [
|
||||
"apc",
|
||||
"cache",
|
||||
"caching",
|
||||
"memcached",
|
||||
"psr-6",
|
||||
"psr6",
|
||||
"redis",
|
||||
"sessions"
|
||||
],
|
||||
"time": "2016-02-10 22:23:16"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v1.24.0",
|
||||
|
|
|
@ -3,9 +3,10 @@ core:
|
|||
level: debug
|
||||
debug: true
|
||||
container:
|
||||
name: "Glim"
|
||||
author: "Corné Oppelaar <hello@eaterofco.de>"
|
||||
name: "Zer.ooo"
|
||||
author: "EaterOfCode"
|
||||
sessionName: '0sess'
|
||||
github-repo: 'EaterOfCode/zer.ooo'
|
||||
services:
|
||||
slim: Eater\Glim\Service\Slim
|
||||
user: Eater\Glim\Service\User
|
||||
|
@ -13,4 +14,6 @@ core:
|
|||
twig: Eater\Glim\Service\Twig
|
||||
twig-vars: Eater\Glim\Service\TwigVars
|
||||
ca: Eater\Glim\Service\CA
|
||||
server: Eater\Glim\Service\Server
|
||||
server: Eater\Glim\Service\Server
|
||||
stash: Eater\Glim\Service\Stash
|
||||
github: Eater\Glim\Service\GitHub
|
|
@ -151,18 +151,27 @@ body {
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 20vh; }
|
||||
align-items: center; }
|
||||
|
||||
.footer-page a {
|
||||
color: black; }
|
||||
|
||||
.footer-page h1 {
|
||||
.footer-page-title, .footer-page h1, .footer-page h2 {
|
||||
font-family: 'Inconsolata';
|
||||
font-size: 1.5em;
|
||||
color: #E08E79;
|
||||
letter-spacing: 3pt;
|
||||
font-weight: lighter; }
|
||||
font-weight: lighter;
|
||||
text-transform: lowercase; }
|
||||
|
||||
.footer-page h1 {
|
||||
font-size: 1.5em; }
|
||||
|
||||
.footer-page h2 {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold; }
|
||||
|
||||
.footer-page h2 a {
|
||||
margin-right: -3pt; }
|
||||
|
||||
.login-page {
|
||||
background: linear-gradient(#070a15, #252b46);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"version": 3,
|
||||
"mappings": "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",
|
||||
"mappings": "AAAQ,0BAAe;AACf,yBAAc;AAGd,uBAAY;AAGZ,6IAAqI;AACrI,6GAAqG;ACR7G,SAAS;EACP,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,MAAM;;AAElB,YAAY;EACV,KAAK,EAAE,IAAI;;AAEb,cAAc;EACZ,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,SAAS;EAClB,eAAe,EAAE,IAAI;EACrB,SAAS,EAAE,IAAI;EACf,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,eAAe;EACvB,aAAa,EAAE,GAAG;EAClB,KAAK,EAAE,OAAO;;AAEhB,oBAAoB;EAClB,gBAAgB,EAAE,OAAO;EACzB,eAAe,EAAE,IAAI;;AAEvB,iBAAiB;EACf,OAAO,EAAE,IAAI;;AAEf,oCAAmC;EACjC,8BAA8B;IAC5B,OAAO,EAAE,IAAI;;EACf,iBAAiB;IACf,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,YAAY;AAEzB,oCAAmC;EACjC,oBAAoB;IAClB,QAAQ,EAAE,QAAQ;;EAEpB,4BAA4B;IAC1B,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;;EAER,uBAAuB;IACrB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,MAAM;;EAEjB,yBAAyB;IACvB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,IAAI;AChDpB,KAAK;EACH,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,UAAU;EACtB,MAAM,EAAE,iBAAiB;EACzB,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,YAAY;;AAE3B,WAAW;EACT,MAAM,EAAE,cAAc;;AAExB,MAAM;EACJ,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,KAAK;EACZ,OAAO,EAAE,SAAS;EAClB,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,OAAO;EACf,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,YAAY;;AFC3B,IAAK;EACH,gBAAgB,EAAE,OAAO;EACzB,WAAW,EAAE,OAAO;;AAGtB,cAAe;EACb,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;;AAIxB,WAAY;EACV,UAAU,EAAE,iCAAiC;EAAE,qBAAqB;EACpE,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,MAAM;EAAE,sBAAsB;EAC/C,WAAW,EAAE,MAAM;EAAE,oBAAoB;EACzC,MAAM,EAAE,KAAK;EACb,cAAc,EAAE,MAAM;;AAGxB,gBAAiB;EACf,WAAW,EAAE,mBAAmB;EAChC,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,KAAK;EAClB,cAAc,EAAE,SAAS;EACzB,KAAK,EAAE,OAAO;EA5Bd,WAAW,EAFC,mrBAAmD;;AAkCjE,qBAAsB;EACpB,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,IAAI;;AAGlB,wBAAyB;EACvB,WAAW,EAAE,oBAAoB;EACjC,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,KAAK;EAClB,cAAc,EAAE,SAAS;EACzB,KAAK,EAAE,IAAI;;AAIb,UAAW;EACT,UAAU,EAAE,iCAAiC;EAAE,qBAAqB;EACpE,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EACnB,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,WAAW,EAAE,OAAO;EACpB,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;EAClB,SAAS,EAAE,GAAG;EACd,cAAc,EAAE,SAAS;;AAG3B,eAAgB;EACd,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,OAAO;;AAGtB,iBAAkB;EAChB,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,KAAK;EAClB,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;;AAIpB;uDACwD;EACtD,SAAS,EAAE,IAAI;;AAGjB,oBAAqB;EACnB,KAAK,EAAE,IAAI;;AAIb,YAAa;EACX,gBAAgB,EAAE,OAAO;EACzB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;;AAGrB,cAAe;EACb,KAAK,EAAE,KAAK;;AAKd,oDAAmB;EACjB,WAAW,EAAE,aAAa;EAC1B,KAAK,EAAE,OAAO;EACd,cAAc,EAAE,GAAG;EACnB,WAAW,EAAE,OAAO;EACpB,cAAc,EAAE,SAAS;;AAG3B,eAAgB;EAEd,SAAS,EAAE,KAAK;;AAGlB,eAAgB;EAEd,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,IAAI;;AAGnB,iBAAkB;EAChB,YAAY,EAAE,IAAI;;AAIpB,WAAY;EACV,UAAU,EAAE,iCAAiC;EAAE,qBAAqB;EACpE,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,MAAM;EAAE,sBAAsB;EAC/C,WAAW,EAAE,MAAM;EAAE,oBAAoB;EACzC,cAAc,EAAE,MAAM;EACtB,OAAO,EAAE,IAAI;;AAGf,gBAAiB;EACf,WAAW,EAAE,mBAAmB;EAChC,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,KAAK;EAClB,cAAc,EAAE,SAAS;EACzB,KAAK,EAAE,OAAO;EA3Id,WAAW,EAFC,uOAAmD;;AAgJjE,gBAAiB;EACf,gBAAgB,EAAE,IAAI;EACtB,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,UAAU;EACtB,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,iBAAiB;EAChC,YAAY,EAAE,iBAAiB;EAC/B,WAAW,EAAE,CAAC;;AAGhB,WAAY;EACV,UAAU,EAAE,iCAAiC;EAAE,qBAAqB;EACpE,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM",
|
||||
"sources": ["main.scss","navigation.sass","forms.sass"],
|
||||
"names": [],
|
||||
"file": "main.css"
|
||||
|
|
|
@ -109,19 +109,35 @@ body {
|
|||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 20vh;
|
||||
}
|
||||
|
||||
.footer-page a {
|
||||
color: black
|
||||
}
|
||||
|
||||
.footer-page h1 {
|
||||
|
||||
|
||||
.footer-page-title {
|
||||
font-family: 'Inconsolata';
|
||||
font-size: 1.5em;
|
||||
color: #E08E79;
|
||||
letter-spacing: 3pt;
|
||||
font-weight: lighter;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
.footer-page h1 {
|
||||
@extend .footer-page-title;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
.footer-page h2 {
|
||||
@extend .footer-page-title;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.footer-page h2 a {
|
||||
margin-right: -3pt;
|
||||
}
|
||||
|
||||
// login page
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
if (is_file(__DIR__ . $_SERVER["REQUEST_URI"]) && preg_match('/\.(?:png|jpg|jpeg|gif|css|js|eot|svg|ttf|woff|woff2)$/', $_SERVER["REQUEST_URI"])) {
|
||||
if (is_file(__DIR__ . $_SERVER["REQUEST_URI"]) && preg_match('/\.(?:png|jpg|jpeg|gif|css|js|eot|svg|ttf|woff|woff2|map)$/', $_SERVER["REQUEST_URI"])) {
|
||||
return false; // serve the requested resource as-is.
|
||||
}
|
||||
|
||||
|
|
|
@ -362,5 +362,4 @@ class Core implements ContainerInterface
|
|||
{
|
||||
$this->getSlim()->run();
|
||||
}
|
||||
|
||||
}
|
|
@ -2,10 +2,31 @@
|
|||
|
||||
namespace Eater\Glim\Handler;
|
||||
|
||||
use Eater\Glim\Service\GitHub;
|
||||
|
||||
class Home extends Session
|
||||
{
|
||||
function handle()
|
||||
{
|
||||
return $this->render("home.html.twig");
|
||||
/** @var GitHub $github */
|
||||
$github = $this->get('github');
|
||||
|
||||
/** @var string $repo */
|
||||
$repo = $this->get('github-repo');
|
||||
|
||||
/** @var string $author */
|
||||
$author = $this->get('author');
|
||||
|
||||
$info = $github->getRepoInfo();
|
||||
|
||||
if ($info !== false) {
|
||||
$author = $info['owner']['login'];
|
||||
}
|
||||
|
||||
return $this->render("home.html.twig", [
|
||||
'author' => $author,
|
||||
'contributors' => $github->getContributors(),
|
||||
'githubRepo' => $repo
|
||||
]);
|
||||
}
|
||||
}
|
85
src/Service/GitHub.php
Normal file
85
src/Service/GitHub.php
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
namespace Eater\Glim\Service;
|
||||
|
||||
use Stash\Pool;
|
||||
|
||||
class GitHub extends Main
|
||||
{
|
||||
public function getContributors() {
|
||||
|
||||
/** @var Pool $pool */
|
||||
$pool = $this->get('stash');
|
||||
|
||||
$contributors = $pool->getItem('github/contributors');
|
||||
|
||||
if ($contributors->isMiss()) {
|
||||
$contributorsData = [];
|
||||
|
||||
try {
|
||||
$contributorsJson = @$this->fetch('/repos/' . $this->get('github-repo') . '/contributors');
|
||||
$contributorsNewData = json_decode($contributorsJson, true);
|
||||
if ($contributorsNewData !== null) {
|
||||
$contributorsData = $contributorsNewData;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
$info = $this->getRepoInfo();
|
||||
|
||||
if ($info !== false) {
|
||||
|
||||
$ownerId = $info['owner']['id'];
|
||||
|
||||
$contributorsNewData = [];
|
||||
|
||||
foreach ($contributorsData as $contributor) {
|
||||
if ($contributor['id'] !== $ownerId) {
|
||||
$contributorsNewData[] = $contributor;
|
||||
}
|
||||
}
|
||||
|
||||
$contributorsData = $contributorsNewData;
|
||||
}
|
||||
|
||||
$contributors->expiresAfter(3600);
|
||||
$contributors->set($contributorsData);
|
||||
$contributors->save();
|
||||
}
|
||||
|
||||
return $contributors->get();
|
||||
}
|
||||
|
||||
public function getRepoInfo() {
|
||||
/** @var Pool $pool */
|
||||
$pool = $this->get('stash');
|
||||
|
||||
$info = $pool->getItem('github/info');
|
||||
|
||||
if ($info->isMiss()) {
|
||||
$infoData = false;
|
||||
|
||||
try {
|
||||
$infoJson = @$this->fetch('/repos/' . $this->get('github-repo'));
|
||||
$infoNewData = json_decode($infoJson, true);
|
||||
if ($infoNewData !== null) {
|
||||
$infoData = $infoNewData;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
$info->expiresAfter(3600);
|
||||
$info->set($infoData);
|
||||
$info->save();
|
||||
}
|
||||
|
||||
return $info->get();
|
||||
}
|
||||
|
||||
private function fetch($path)
|
||||
{
|
||||
$options = array('http' => array('user_agent'=> $_SERVER['HTTP_USER_AGENT']));
|
||||
$context = stream_context_create($options);
|
||||
return file_get_contents('https://api.github.com' . $path, false, $context);
|
||||
}
|
||||
}
|
15
src/Service/Stash.php
Normal file
15
src/Service/Stash.php
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace Eater\Glim\Service;
|
||||
use Stash\Pool;
|
||||
use Stash\Driver\FileSystem;
|
||||
|
||||
class Stash
|
||||
{
|
||||
static public function init() {
|
||||
$driver = new FileSystem();
|
||||
$pool = new Pool($driver);
|
||||
|
||||
return $pool;
|
||||
}
|
||||
}
|
|
@ -36,7 +36,15 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="footer-page">
|
||||
<h1>an eaterofcode production</h1>
|
||||
<a href="/"><i class="fa fa-github fa-4x" aria-hidden="true"></i></a>
|
||||
<h1>an {{ author }} production</h1>
|
||||
<a href="https://github.com/{{ githubRepo }}"><i class="fa fa-github fa-4x" aria-hidden="true"></i></a>
|
||||
{% if contributors|length > 0 %}
|
||||
<h2>with the help of
|
||||
{% for contributor in contributors %}
|
||||
{% if loop.index0 < (loop.length - 1) and loop.index0 > 0 %}, {% elseif loop.index0 == (loop.length - 1) %} and {% endif %}
|
||||
<a href="{{ contributor.html_url }}">{{ contributor.login }}</a>
|
||||
{% endfor %}
|
||||
</h2>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in a new issue