Home page + template
This commit is contained in:
14
.gitignore
vendored
14
.gitignore
vendored
@@ -1,6 +1,8 @@
|
||||
app/cache/*
|
||||
!app/cache/.gitkeep
|
||||
app/config/parameters.php
|
||||
vendor/
|
||||
composer.phar
|
||||
composer.lock
|
||||
/app/cache/*
|
||||
!/app/cache/.gitkeep
|
||||
/app/config/parameters.php
|
||||
/vendor/
|
||||
/web/vendor/
|
||||
/composer.phar
|
||||
/composer.lock
|
||||
/theme/
|
||||
|
@@ -16,7 +16,8 @@ Ideas:
|
||||
|
||||
## Demo
|
||||
|
||||
$ php -S 0.0.0.0:8000 web/index.php
|
||||
$ cd web/
|
||||
$ php -S 0.0.0.0:8000 index.php
|
||||
|
||||
Visit an URL like [http://localhost:8000/img/mnapoli/php-di.svg](http://localhost:8000/img/mnapoli/php-di.svg) (badge).
|
||||
|
||||
|
@@ -29,8 +29,6 @@ return [
|
||||
|
||||
Twig_Environment::class => factory(function () {
|
||||
$loader = new Twig_Loader_Filesystem(__DIR__ . '/../../src/Maintained/Application/View');
|
||||
return new Twig_Environment($loader, [
|
||||
'cache' => __DIR__ . '/../cache/twig',
|
||||
]);
|
||||
return new Twig_Environment($loader);
|
||||
}),
|
||||
];
|
||||
|
16
bower.json
Normal file
16
bower.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "missive",
|
||||
"version": "0.0.0",
|
||||
"homepage": "https://github.com/mnapoli/Missive",
|
||||
"license": "proprietary",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"jquery": "~1.11",
|
||||
"bootstrap": "~3.2",
|
||||
"fontawesome": "*",
|
||||
"angular": "~1.2",
|
||||
"angular-ui-bootstrap-bower": "~0.11",
|
||||
"angular-ui-select2": "~0.0.5",
|
||||
"select2-bootstrap-css": "bootstrap3"
|
||||
}
|
||||
}
|
@@ -1,5 +1,135 @@
|
||||
{% extends 'layout.twig' %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Hello world!</h1>
|
||||
|
||||
<header>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<img class="img-responsive" src="/img/dude.png" alt="">
|
||||
<div class="intro-text">
|
||||
<span class="name">Maintained</span>
|
||||
<hr class="star-light">
|
||||
<span class="skills">Check the activity of open source projects</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section id="check">
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<h2>Check a project</h2>
|
||||
<hr class="star-primary">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" placeholder="user/repository">
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-default">Search</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-4 portfolio-item">
|
||||
<a href="#portfolioModal1" class="portfolio-link" data-toggle="modal">
|
||||
<div class="caption">
|
||||
<div class="caption-content">
|
||||
<i class="fa fa-search-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/cabin.png" class="img-responsive" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4 portfolio-item">
|
||||
<a href="#portfolioModal2" class="portfolio-link" data-toggle="modal">
|
||||
<div class="caption">
|
||||
<div class="caption-content">
|
||||
<i class="fa fa-search-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/cake.png" class="img-responsive" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4 portfolio-item">
|
||||
<a href="#portfolioModal3" class="portfolio-link" data-toggle="modal">
|
||||
<div class="caption">
|
||||
<div class="caption-content">
|
||||
<i class="fa fa-search-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/circus.png" class="img-responsive" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4 portfolio-item">
|
||||
<a href="#portfolioModal4" class="portfolio-link" data-toggle="modal">
|
||||
<div class="caption">
|
||||
<div class="caption-content">
|
||||
<i class="fa fa-search-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/game.png" class="img-responsive" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4 portfolio-item">
|
||||
<a href="#portfolioModal5" class="portfolio-link" data-toggle="modal">
|
||||
<div class="caption">
|
||||
<div class="caption-content">
|
||||
<i class="fa fa-search-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/safe.png" class="img-responsive" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-4 portfolio-item">
|
||||
<a href="#portfolioModal6" class="portfolio-link" data-toggle="modal">
|
||||
<div class="caption">
|
||||
<div class="caption-content">
|
||||
<i class="fa fa-search-plus fa-3x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<img src="img/portfolio/submarine.png" class="img-responsive" alt="">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="success" id="about">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<h2>About</h2>
|
||||
<hr class="star-light">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-lg-offset-2">
|
||||
<p>
|
||||
Maintained is an open source project whose goal is to monitor open source projects.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<p>
|
||||
Have you ever wondered whether or not to use a library, uncertain of how
|
||||
well it is maintained?
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-lg-8 col-lg-offset-2 text-center">
|
||||
<a href="https://github.com/mnapoli/Maintained" class="btn btn-lg btn-outline">
|
||||
<i class="fa fa-github"></i> Fork on GitHub
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
@@ -1,11 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
{% block head %}
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{% block title %}Maintained{% endblock %}</title>
|
||||
|
||||
<link href="/vendor/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<link href="/css/freelancer.css" rel="stylesheet">
|
||||
|
||||
<link href="/vendor/fontawesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<body id="page-top" class="index">
|
||||
|
||||
<nav class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header page-scroll">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="#page-top">Maintained</a>
|
||||
</div>
|
||||
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="hidden">
|
||||
<a href="#page-top"></a>
|
||||
</li>
|
||||
<li class="page-scroll">
|
||||
<a href="#check">Check a project</a>
|
||||
</li>
|
||||
<li class="page-scroll">
|
||||
<a href="#about">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
<script src="/vendor/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/vendor/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
466
web/css/freelancer.css
Executable file
466
web/css/freelancer.css
Executable file
@@ -0,0 +1,466 @@
|
||||
/*!
|
||||
* Start Bootstrap - Freelancer Bootstrap Theme (http://startbootstrap.com)
|
||||
* Code licensed under the Apache License v2.0.
|
||||
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
|
||||
*/
|
||||
|
||||
.navbar-default {
|
||||
background-color: #2c3e50;
|
||||
}
|
||||
.navbar-default .navbar-brand {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-default .navbar-nav>li>a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus {
|
||||
color: #18bc9c;
|
||||
}
|
||||
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
|
||||
color: #18bc9c;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
font-family: "Lato","Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
font-size: 15px;
|
||||
line-height: 1.42857143;
|
||||
color: #2c3e50;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
p.small {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
a,
|
||||
a:hover,
|
||||
a:focus,
|
||||
a:active,
|
||||
a.active {
|
||||
outline: 0;
|
||||
color: #18bc9c;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
text-transform: uppercase;
|
||||
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
hr.star-light,
|
||||
hr.star-primary {
|
||||
margin: 25px auto 30px;
|
||||
padding: 0;
|
||||
max-width: 250px;
|
||||
border: 0;
|
||||
border-top: solid 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
hr.star-light:after,
|
||||
hr.star-primary:after {
|
||||
content: "\f005";
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -.8em;
|
||||
padding: 0 .25em;
|
||||
font-family: FontAwesome;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
hr.star-light {
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
hr.star-light:after {
|
||||
color: #fff;
|
||||
background-color: #18bc9c;
|
||||
}
|
||||
|
||||
hr.star-primary {
|
||||
border-color: #2c3e50;
|
||||
}
|
||||
|
||||
hr.star-primary:after {
|
||||
color: #2c3e50;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.img-centered {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
header {
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: #18bc9c;
|
||||
}
|
||||
|
||||
header .container {
|
||||
padding-top: 100px;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
header img {
|
||||
display: block;
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
|
||||
header .intro-text .name {
|
||||
display: block;
|
||||
text-transform: uppercase;
|
||||
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
font-size: 2em;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
header .intro-text .skills {
|
||||
font-size: 1.25em;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
header .container {
|
||||
padding-top: 200px;
|
||||
padding-bottom: 100px;
|
||||
}
|
||||
|
||||
header .intro-text .name {
|
||||
font-size: 4.75em;
|
||||
}
|
||||
|
||||
header .intro-text .skills {
|
||||
font-size: 1.75em;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.navbar-fixed-top {
|
||||
padding: 25px 0;
|
||||
-webkit-transition: padding .3s;
|
||||
-moz-transition: padding .3s;
|
||||
transition: padding .3s;
|
||||
}
|
||||
|
||||
.navbar-fixed-top .navbar-brand {
|
||||
font-size: 2em;
|
||||
-webkit-transition: all .3s;
|
||||
-moz-transition: all .3s;
|
||||
transition: all .3s;
|
||||
}
|
||||
|
||||
.navbar-fixed-top.navbar-shrink {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.navbar-fixed-top.navbar-shrink .navbar-brand {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar {
|
||||
text-transform: uppercase;
|
||||
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.navbar a:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.navbar .navbar-nav {
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
.navbar .navbar-nav li a:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.navbar-default,
|
||||
.navbar-inverse {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 100px 0;
|
||||
}
|
||||
|
||||
section h2 {
|
||||
margin: 0;
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
section.success {
|
||||
color: #fff;
|
||||
background: #18bc9c;
|
||||
}
|
||||
|
||||
@media(max-width:767px) {
|
||||
section {
|
||||
padding: 75px 0;
|
||||
}
|
||||
|
||||
section.first {
|
||||
padding-top: 75px;
|
||||
}
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item {
|
||||
right: 0;
|
||||
margin: 0 0 15px;
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item .portfolio-link {
|
||||
display: block;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item .portfolio-link .caption {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
background: rgba(24,188,156,.9);
|
||||
-webkit-transition: all ease .5s;
|
||||
-moz-transition: all ease .5s;
|
||||
transition: all ease .5s;
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item .portfolio-link .caption:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item .portfolio-link .caption .caption-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
margin-top: -12px;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item .portfolio-link .caption .caption-content i {
|
||||
margin-top: -12px;
|
||||
}
|
||||
|
||||
#portfolio .portfolio-item .portfolio-link .caption .caption-content h3,
|
||||
#portfolio .portfolio-item .portfolio-link .caption .caption-content h4 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#portfolio * {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
@media(min-width:767px) {
|
||||
#portfolio .portfolio-item {
|
||||
margin: 0 0 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline {
|
||||
margin-top: 15px;
|
||||
border: solid 2px #fff;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
background: 0 0;
|
||||
transition: all .3s ease-in-out;
|
||||
}
|
||||
|
||||
.btn-outline:hover,
|
||||
.btn-outline:focus,
|
||||
.btn-outline:active,
|
||||
.btn-outline.active {
|
||||
border: solid 2px #fff;
|
||||
color: #18bc9c;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.floating-label-form-group {
|
||||
position: relative;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: .5em;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.floating-label-form-group input,
|
||||
.floating-label-form-group textarea {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
font-size: 1.5em;
|
||||
background: 0 0;
|
||||
box-shadow: none!important;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.floating-label-form-group label {
|
||||
display: block;
|
||||
z-index: 0;
|
||||
position: relative;
|
||||
top: 2em;
|
||||
margin: 0;
|
||||
font-size: .85em;
|
||||
line-height: 1.764705882em;
|
||||
vertical-align: middle;
|
||||
vertical-align: baseline;
|
||||
opacity: 0;
|
||||
-webkit-transition: top .3s ease,opacity .3s ease;
|
||||
-moz-transition: top .3s ease,opacity .3s ease;
|
||||
-ms-transition: top .3s ease,opacity .3s ease;
|
||||
transition: top .3s ease,opacity .3s ease;
|
||||
}
|
||||
|
||||
.floating-label-form-group::not(:first-child) {
|
||||
padding-left: 14px;
|
||||
border-left: 1px solid #eee;
|
||||
}
|
||||
|
||||
.floating-label-form-group-with-value label {
|
||||
top: 0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.floating-label-form-group-with-focus label {
|
||||
color: #18bc9c;
|
||||
}
|
||||
|
||||
form .row:first-child .floating-label-form-group {
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
footer {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
footer h3 {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
footer .footer-above {
|
||||
padding-top: 50px;
|
||||
background-color: #2c3e50;
|
||||
}
|
||||
|
||||
footer .footer-col {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
footer .footer-below {
|
||||
padding: 25px 0;
|
||||
background-color: #233140;
|
||||
}
|
||||
|
||||
.btn-social {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border: 2px solid #fff;
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
line-height: 45px;
|
||||
}
|
||||
|
||||
.btn:focus,
|
||||
.btn:active,
|
||||
.btn.active {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.scroll-top {
|
||||
z-index: 1049;
|
||||
position: fixed;
|
||||
right: 2%;
|
||||
bottom: 2%;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.scroll-top .btn {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 100%;
|
||||
font-size: 20px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
.scroll-top .btn:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.portfolio-modal .modal-content {
|
||||
padding: 100px 0;
|
||||
min-height: 100%;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
text-align: center;
|
||||
background-clip: border-box;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.portfolio-modal .modal-content h2 {
|
||||
margin: 0;
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
.portfolio-modal .modal-content img {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.portfolio-modal .modal-content .item-details {
|
||||
margin: 30px 0;
|
||||
}
|
||||
|
||||
.portfolio-modal .close-modal {
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
right: 25px;
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.portfolio-modal .close-modal:hover {
|
||||
opacity: .3;
|
||||
}
|
||||
|
||||
.portfolio-modal .close-modal .lr {
|
||||
z-index: 1051;
|
||||
width: 1px;
|
||||
height: 75px;
|
||||
margin-left: 35px;
|
||||
background-color: #2c3e50;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.portfolio-modal .close-modal .lr .rl {
|
||||
z-index: 1052;
|
||||
width: 1px;
|
||||
height: 75px;
|
||||
background-color: #2c3e50;
|
||||
-webkit-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
BIN
web/img/dude.png
Executable file
BIN
web/img/dude.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
@@ -13,7 +13,11 @@ $container = $builder->build();
|
||||
$router = $container->get(Router::class);
|
||||
|
||||
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
||||
$requestParameters = $router->match($url, $_SERVER)->params;
|
||||
$route = $router->match($url, $_SERVER);
|
||||
if (! $route) {
|
||||
return false;
|
||||
}
|
||||
$requestParameters = $route->params;
|
||||
$controller = $requestParameters['controller'];
|
||||
|
||||
// Handle the case where the controller is an invokable class
|
||||
|
Reference in New Issue
Block a user