1
0
Fork 0

update to Slim 3

This commit is contained in:
Lukas Winkler 2017-09-18 20:24:11 +02:00
parent b133d3aa83
commit 69ffeebd1b
5 changed files with 509 additions and 240 deletions

View file

@ -1,13 +1,11 @@
{
"require": {
"slim/slim": "2.*",
"twig/twig": "1.15.*",
"slim/views": "0.1.*",
"slim/extras": "2.*",
"slim/slim": "^3.0",
"knplabs/github-api": "1.2.*",
"ezyang/htmlpurifier": "^4.9",
"phpmailer/phpmailer": "^6.0",
"erusev/parsedown": "^1.6"
"erusev/parsedown": "^1.6",
"slim/twig-view": "^2.2"
},
"autoload":{
"psr-0":{

657
src/composer.lock generated
View file

@ -4,8 +4,39 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "1b58151bebd143157092c1dc134e6bd9",
"content-hash": "253617a43d7dd72f43b6aaa018a4b6a8",
"packages": [
{
"name": "container-interop/container-interop",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/container-interop/container-interop.git",
"reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
"reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
"shasum": ""
},
"require": {
"psr/container": "^1.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Interop\\Container\\": "src/Interop/Container/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
"homepage": "https://github.com/container-interop/container-interop",
"time": "2017-02-14T19:40:03+00:00"
},
{
"name": "erusev/parsedown",
"version": "1.6.3",
@ -97,16 +128,16 @@
},
{
"name": "guzzle/guzzle",
"version": "v3.9.1",
"version": "v3.9.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle3.git",
"reference": "92d9934f2fca1da15178c91239576ae26e505e60"
"reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle3/zipball/92d9934f2fca1da15178c91239576ae26e505e60",
"reference": "92d9934f2fca1da15178c91239576ae26e505e60",
"url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9",
"reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9",
"shasum": ""
},
"require": {
@ -147,10 +178,13 @@
"zendframework/zend-cache": "2.*,<2.3",
"zendframework/zend-log": "2.*,<2.3"
},
"suggest": {
"guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.8-dev"
"dev-master": "3.9-dev"
}
},
"autoload": {
@ -174,7 +208,7 @@
"homepage": "https://github.com/guzzle/guzzle/contributors"
}
],
"description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
"description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
@ -186,7 +220,7 @@
"web service"
],
"abandoned": "guzzlehttp/guzzle",
"time": "2014-05-07T17:04:22+00:00"
"time": "2015-03-18T18:23:50+00:00"
},
{
"name": "knplabs/github-api",
@ -249,6 +283,49 @@
],
"time": "2014-07-31T23:03:14+00:00"
},
{
"name": "nikic/fast-route",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/FastRoute.git",
"reference": "b5f95749071c82a8e0f58586987627054400cdf6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/FastRoute/zipball/b5f95749071c82a8e0f58586987627054400cdf6",
"reference": "b5f95749071c82a8e0f58586987627054400cdf6",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"type": "library",
"autoload": {
"psr-4": {
"FastRoute\\": "src/"
},
"files": [
"src/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov",
"email": "nikic@php.net"
}
],
"description": "Fast request router for PHP",
"keywords": [
"router",
"routing"
],
"time": "2017-01-19T11:35:12+00:00"
},
{
"name": "phpmailer/phpmailer",
"version": "v6.0.1",
@ -315,193 +392,35 @@
"time": "2017-09-14T16:47:12+00:00"
},
{
"name": "slim/extras",
"version": "2.0.3",
"target-dir": "Slim/Extras",
"name": "pimple/pimple",
"version": "v3.2.2",
"source": {
"type": "git",
"url": "https://github.com/codeguy/Slim-Extras.git",
"reference": "a022ed23dae94e164000acd891e3394d903f9623"
"url": "https://github.com/silexphp/Pimple.git",
"reference": "4d45fb62d96418396ec58ba76e6f065bca16e10a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/codeguy/Slim-Extras/zipball/a022ed23dae94e164000acd891e3394d903f9623",
"reference": "a022ed23dae94e164000acd891e3394d903f9623",
"url": "https://api.github.com/repos/silexphp/Pimple/zipball/4d45fb62d96418396ec58ba76e6f065bca16e10a",
"reference": "4d45fb62d96418396ec58ba76e6f065bca16e10a",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"slim/slim": ">=2.0.0"
},
"type": "library",
"autoload": {
"psr-0": {
"Twig_Extensions_": "Views/Extension/",
"Slim\\Extras": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrew Smith",
"email": "a.smith@silentworks.co.uk",
"homepage": "http://thoughts.silentworks.co.uk/"
},
{
"name": "Josh Lockhart",
"email": "info@joshlockhart.com",
"homepage": "http://www.joshlockhart.com/"
}
],
"description": "Extras package for the Slim Framework",
"homepage": "http://github.com/codeguy/Slim-Extras",
"keywords": [
"extensions",
"middleware",
"templating"
],
"time": "2013-01-07T17:56:10+00:00"
},
{
"name": "slim/slim",
"version": "2.4.3",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "4906b77a07c7bd6ff1a99aea903e940a2d4fa106"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/4906b77a07c7bd6ff1a99aea903e940a2d4fa106",
"reference": "4906b77a07c7bd6ff1a99aea903e940a2d4fa106",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"suggest": {
"ext-mcrypt": "Required for HTTP cookie encryption"
},
"type": "library",
"autoload": {
"psr-0": {
"Slim": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Josh Lockhart",
"email": "info@joshlockhart.com",
"homepage": "http://www.joshlockhart.com/"
}
],
"description": "Slim Framework, a PHP micro framework",
"homepage": "http://github.com/codeguy/Slim",
"keywords": [
"microframework",
"rest",
"router"
],
"time": "2014-04-05T18:33:59+00:00"
},
{
"name": "slim/views",
"version": "0.1.2",
"target-dir": "Slim/Views",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim-Views.git",
"reference": "f0a05ea0b654218e40de692ed7cddcad1cf4b828"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim-Views/zipball/f0a05ea0b654218e40de692ed7cddcad1cf4b828",
"reference": "f0a05ea0b654218e40de692ed7cddcad1cf4b828",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"slim/slim": ">=2.4.0"
},
"suggest": {
"smarty/smarty": "Smarty templating system",
"twig/twig": "Twig templating system"
},
"type": "library",
"autoload": {
"psr-0": {
"Slim\\Views": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andrew Smith",
"email": "a.smith@silentworks.co.uk",
"homepage": "http://thoughts.silentworks.co.uk/"
},
{
"name": "Josh Lockhart",
"email": "info@joshlockhart.com",
"homepage": "http://www.joshlockhart.com/"
}
],
"description": "Smarty and Twig View Parser package for the Slim Framework",
"homepage": "http://github.com/codeguy/Slim-Views",
"keywords": [
"extensions",
"slimphp",
"templating"
],
"time": "2014-04-03T16:31:10+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.5.1",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "84533bf98da5486b9395a1d95e9184e04e14aad3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/84533bf98da5486b9395a1d95e9184e04e14aad3",
"reference": "84533bf98da5486b9395a1d95e9184e04e14aad3",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
"psr/container": "^1.0"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/config": "~2.0",
"symfony/dependency-injection": "~2.0",
"symfony/stopwatch": "~2.2"
},
"suggest": {
"symfony/dependency-injection": "",
"symfony/http-kernel": ""
"symfony/phpunit-bridge": "^3.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
"dev-master": "3.2.x-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\EventDispatcher\\": ""
"Pimple": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -511,45 +430,391 @@
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
"email": "fabien@symfony.com"
}
],
"description": "Symfony EventDispatcher Component",
"homepage": "http://symfony.com",
"time": "2014-07-08T12:21:33+00:00"
"description": "Pimple, a simple Dependency Injection Container",
"homepage": "http://pimple.sensiolabs.org",
"keywords": [
"container",
"dependency injection"
],
"time": "2017-07-23T07:32:15+00:00"
},
{
"name": "twig/twig",
"version": "v1.15.1",
"name": "psr/container",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "1fb5784662f438d7d96a541e305e28b812e2eeed"
"url": "https://github.com/php-fig/container.git",
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/1fb5784662f438d7d96a541e305e28b812e2eeed",
"reference": "1fb5784662f438d7d96a541e305e28b812e2eeed",
"url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
"shasum": ""
},
"require": {
"php": ">=5.2.4"
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.15-dev"
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common Container Interface (PHP FIG PSR-11)",
"homepage": "https://github.com/php-fig/container",
"keywords": [
"PSR-11",
"container",
"container-interface",
"container-interop",
"psr"
],
"time": "2017-02-14T16:28:37+00:00"
},
{
"name": "psr/http-message",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"time": "2016-08-06T14:39:51+00:00"
},
{
"name": "slim/slim",
"version": "3.8.1",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "5385302707530b2bccee1769613ad769859b826d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/5385302707530b2bccee1769613ad769859b826d",
"reference": "5385302707530b2bccee1769613ad769859b826d",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.2",
"nikic/fast-route": "^1.0",
"php": ">=5.5.0",
"pimple/pimple": "^3.0",
"psr/container": "^1.0",
"psr/http-message": "^1.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.0",
"squizlabs/php_codesniffer": "^2.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Slim\\": "Slim"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Rob Allen",
"email": "rob@akrabat.com",
"homepage": "http://akrabat.com"
},
{
"name": "Josh Lockhart",
"email": "hello@joshlockhart.com",
"homepage": "https://joshlockhart.com"
},
{
"name": "Gabriel Manricks",
"email": "gmanricks@me.com",
"homepage": "http://gabrielmanricks.com"
},
{
"name": "Andrew Smith",
"email": "a.smith@silentworks.co.uk",
"homepage": "http://silentworks.co.uk"
}
],
"description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs",
"homepage": "https://slimframework.com",
"keywords": [
"api",
"framework",
"micro",
"router"
],
"time": "2017-03-19T17:55:20+00:00"
},
{
"name": "slim/twig-view",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Twig-View.git",
"reference": "a743ac45e2a089942159dda499c5ef5bc5f6bfa6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Twig-View/zipball/a743ac45e2a089942159dda499c5ef5bc5f6bfa6",
"reference": "a743ac45e2a089942159dda499c5ef5bc5f6bfa6",
"shasum": ""
},
"require": {
"php": ">=5.5.0",
"psr/http-message": "^1.0",
"twig/twig": "^1.18|^2.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8|^5.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Slim\\Views\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Josh Lockhart",
"email": "hello@joshlockhart.com",
"homepage": "http://joshlockhart.com"
}
],
"description": "Slim Framework 3 view helper built on top of the Twig 2 templating component",
"homepage": "http://slimframework.com",
"keywords": [
"framework",
"slim",
"template",
"twig",
"view"
],
"time": "2017-01-25T20:38:39+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.8.27",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "1377400fd641d7d1935981546aaef780ecd5bf6d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1377400fd641d7d1935981546aaef780ecd5bf6d",
"reference": "1377400fd641d7d1935981546aaef780ecd5bf6d",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/config": "^2.0.5|~3.0.0",
"symfony/dependency-injection": "~2.6|~3.0.0",
"symfony/expression-language": "~2.6|~3.0.0",
"symfony/stopwatch": "~2.3|~3.0.0"
},
"suggest": {
"symfony/dependency-injection": "",
"symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.8-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\EventDispatcher\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
"time": "2017-06-02T07:47:27+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803",
"reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.5-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"time": "2017-06-14T15:44:48+00:00"
},
{
"name": "twig/twig",
"version": "v2.4.3",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "eab7c3288ae6603d7d6f92b531626af2b162d1f2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/eab7c3288ae6603d7d6f92b531626af2b162d1f2",
"reference": "eab7c3288ae6603d7d6f92b531626af2b162d1f2",
"shasum": ""
},
"require": {
"php": "^7.0",
"symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
"psr/container": "^1.0",
"symfony/debug": "~2.7",
"symfony/phpunit-bridge": "~3.3@dev"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
}
},
"autoload": {
"psr-0": {
"Twig_": "lib/"
},
"psr-4": {
"Twig\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -570,7 +835,7 @@
},
{
"name": "Twig Team",
"homepage": "https://github.com/fabpot/Twig/graphs/contributors",
"homepage": "http://twig.sensiolabs.org/contributors",
"role": "Contributors"
}
],
@ -579,7 +844,7 @@
"keywords": [
"templating"
],
"time": "2014-02-13T10:19:29+00:00"
"time": "2017-06-07T18:47:58+00:00"
}
],
"packages-dev": [],

View file

@ -12,7 +12,7 @@ class Twig {
public static function setDateFormat(\Twig_Environment $environment)
{
$environment->getExtension('core')->setDateFormat('F jS Y');
$environment->getExtension("Twig_Extension_Core")->setDateFormat('F jS Y');
}
public static function registerFilter(\Twig_Environment $environment)

View file

@ -10,26 +10,39 @@ require '../vendor/autoload.php';
require '../config/config.php';
date_default_timezone_set('UTC');
$config = [
'settings' => [
'displayErrorDetails' => true,
],
];
$app = new \Slim\Slim(array(
'view' => new \Slim\Views\Twig(),
'debug' => DEBUG_ENABLED
));
$app = new \Slim\App($config);
/** @var \Slim\Views\Twig $view */
$view = $app->view();
$view->parserOptions = array(
'charset' => 'utf-8',
'debug' => DEBUG_ENABLED,
'cache' => realpath('../tmp/templates_cache'),
'autoescape' => true
);
$view->parserExtensions = array(
new \Slim\Views\TwigExtension()
);
$view->setTemplatesDirectory(realpath('../templates'));
helpers\Twig::setDateFormat($view->getEnvironment());
helpers\Twig::registerFilter($view->getEnvironment());
// Get container
$container = $app->getContainer();
// Register component on container
$container['view'] = function ($container) {
$view = new \Slim\Views\Twig(realpath("../templates/"), [
'cache' => realpath('../tmp/templates_cache'),
'debug' => DEBUG_ENABLED,
]);
// Instantiate and add Slim specific extension
$basePath = rtrim(str_ireplace('index.php', '', $container['request']->getUri()->getBasePath()), '/');
$view->addExtension(new Slim\Views\TwigExtension($container['router'], $basePath));
$twig = $view->getEnvironment();
helpers\Twig::setDateFormat($twig);
helpers\Twig::registerFilter($twig);
$view->getEnvironment()->addGlobal('projectName', PROJECT_NAME);
$view->getEnvironment()->addGlobal('githubOrganization', GITHUB_ORGANIZATION);
$view->getEnvironment()->addGlobal('githubRepository', GITHUB_REPOSITORY);
return $view;
};
require '../routes/page.php';

View file

@ -6,42 +6,35 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
function initView($app)
{
$app->view->setData('projectName', PROJECT_NAME);
$app->view->setData('githubOrganization', GITHUB_ORGANIZATION);
$app->view->setData('githubRepository', GITHUB_REPOSITORY);
}
initView($app);
$app->get(
'/{number:[0-9]+}', function ($request, $response, $args) {
$app->get('/:number', function ($number) use ($app) {
$number = (int) $number;
$number = (int)$args["number"];
$issue = new helpers\Issue();
if (!$issue->exists($number)) {
$app->pass();
return;
/** @var \Slim\Http\Response $response */
return $response->withStatus(404);
}
$details = $issue->getIssue($number);
return $this->view->render($response, 'issue.twig', $details);
});
$app->render('issue.twig', $details);
})->conditions(array('number' => '\d+'));
$app->get('/', function() use ($app) {
$pageNumber = (int) $app->request()->get('page', 1);
$app->get('/', function ($request, $response, $args) {
/** @var \Slim\Http\Request $request */
$pageNumber = (int)$request->getQueryParam('page', 1);
$page = new helpers\Page();
if (!$page->exists($pageNumber)) {
$app->pass();
return;
/** @var \Slim\Http\Response $response */
return $response->withStatus(404);
}
$details = $page->getPage($pageNumber);
$app->render('page.twig', $details);
return $this->view->render($response, 'page.twig', $details);
});