Merge branch 'release/0.6'
This commit is contained in:
commit
d1b0f37f73
54 changed files with 1020 additions and 722 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -7,7 +7,7 @@
|
||||||
/.vagrant
|
/.vagrant
|
||||||
Homestead.yaml
|
Homestead.yaml
|
||||||
Homestead.json
|
Homestead.json
|
||||||
.npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
.env
|
.env
|
||||||
/public/files
|
/public/files
|
||||||
|
|
|
||||||
14
.travis.yml
14
.travis.yml
|
|
@ -7,6 +7,7 @@ cache:
|
||||||
- apt
|
- apt
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
|
chrome: stable
|
||||||
postgresql: "9.6"
|
postgresql: "9.6"
|
||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
|
|
@ -38,10 +39,6 @@ before_install:
|
||||||
- echo 'error_log = "/tmp/php.error.log"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
|
- echo 'error_log = "/tmp/php.error.log"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
|
||||||
- psql -U travis -c 'create database travis_ci_test'
|
- psql -U travis -c 'create database travis_ci_test'
|
||||||
- psql -U travis -d travis_ci_test -c 'create extension postgis'
|
- psql -U travis -d travis_ci_test -c 'create extension postgis'
|
||||||
- mkdir travis-phantomjs
|
|
||||||
- wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
|
|
||||||
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
|
|
||||||
- export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
|
|
||||||
- travis_retry composer self-update --preview
|
- travis_retry composer self-update --preview
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
|
@ -55,14 +52,9 @@ before_script:
|
||||||
- php artisan migrate
|
- php artisan migrate
|
||||||
- php artisan db:seed
|
- php artisan db:seed
|
||||||
- php artisan token:generate
|
- php artisan token:generate
|
||||||
- phantomjs --webdriver=127.0.0.1:9515 --webdriver-loglevel=DEBUG &
|
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9515 http://localhost:8000 &
|
||||||
- sleep 5 # Give artisan some time to start serving
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- php vendor/bin/phpunit --coverage-text
|
- php vendor/bin/phpunit --coverage-text
|
||||||
|
- php artisan dusk
|
||||||
- php vendor/bin/security-checker security:check ./composer.lock --end-point=http://security.sensiolabs.org/check_lock
|
- php vendor/bin/security-checker security:check ./composer.lock --end-point=http://security.sensiolabs.org/check_lock
|
||||||
|
|
||||||
after_script:
|
|
||||||
- killall -9 postgresql
|
|
||||||
- killall -9 php-fpm
|
|
||||||
- killall -9 nginx
|
|
||||||
|
|
@ -32,12 +32,14 @@ class Kernel extends ConsoleKernel
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register the Closure based commands for the application.
|
* Register the commands for the application.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function commands()
|
protected function commands()
|
||||||
{
|
{
|
||||||
|
$this->load(__DIR__.'/Commands');
|
||||||
|
|
||||||
require base_path('routes/console.php');
|
require base_path('routes/console.php');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,24 +4,28 @@ namespace App\Exceptions;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use Illuminate\Auth\AuthenticationException;
|
|
||||||
use Illuminate\Session\TokenMismatchException;
|
use Illuminate\Session\TokenMismatchException;
|
||||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||||
|
|
||||||
class Handler extends ExceptionHandler
|
class Handler extends ExceptionHandler
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* A list of the exception types that should not be reported.
|
* A list of the exception types that are not reported.
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $dontReport = [
|
protected $dontReport = [
|
||||||
\Illuminate\Auth\AuthenticationException::class,
|
//
|
||||||
\Illuminate\Auth\Access\AuthorizationException::class,
|
];
|
||||||
\Symfony\Component\HttpKernel\Exception\HttpException::class,
|
|
||||||
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
|
/**
|
||||||
\Illuminate\Session\TokenMismatchException::class,
|
* A list of the inputs that are never flashed for validation exceptions.
|
||||||
\Illuminate\Validation\ValidationException::class,
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $dontFlash = [
|
||||||
|
'password',
|
||||||
|
'password_confirmation',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -52,20 +56,4 @@ class Handler extends ExceptionHandler
|
||||||
|
|
||||||
return parent::render($request, $exception);
|
return parent::render($request, $exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert an authentication exception into an unauthenticated response.
|
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @param \Illuminate\Auth\AuthenticationException $exception
|
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*/
|
|
||||||
protected function unauthenticated($request, AuthenticationException $exception)
|
|
||||||
{
|
|
||||||
if ($request->expectsJson()) {
|
|
||||||
return response()->json(['error' => 'Unauthenticated.'], 401);
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->guest('login');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,9 @@ class NotesController extends Controller
|
||||||
{
|
{
|
||||||
protected $noteService;
|
protected $noteService;
|
||||||
|
|
||||||
public function __construct(NoteService $noteService = null)
|
public function __construct(NoteService $noteService)
|
||||||
{
|
{
|
||||||
$this->noteService = $noteService ?? new NoteService();
|
$this->noteService = $noteService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ class PlacesController extends Controller
|
||||||
{
|
{
|
||||||
protected $placeService;
|
protected $placeService;
|
||||||
|
|
||||||
public function __construct(PlaceService $placeService = null)
|
public function __construct(PlaceService $placeService)
|
||||||
{
|
{
|
||||||
$this->placeService = $placeService ?? new PlaceService();
|
$this->placeService = $placeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ class RegisterController extends Controller
|
||||||
* Create a new user instance after a valid registration.
|
* Create a new user instance after a valid registration.
|
||||||
*
|
*
|
||||||
* @param array $data
|
* @param array $data
|
||||||
* @return User
|
* @return \App\User
|
||||||
*/
|
*/
|
||||||
protected function create(array $data)
|
protected function create(array $data)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,9 @@ class IndieAuthController extends Controller
|
||||||
* @param \IndieAuth\Client $client
|
* @param \IndieAuth\Client $client
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct(Client $client = null)
|
public function __construct(Client $client)
|
||||||
{
|
{
|
||||||
$this->client = $client ?? new Client();
|
$this->client = $client;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,11 @@ class MicropubClientController extends Controller
|
||||||
* Inject the dependencies.
|
* Inject the dependencies.
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
IndieClient $indieClient = null,
|
IndieClient $indieClient,
|
||||||
GuzzleClient $guzzleClient = null
|
GuzzleClient $guzzleClient
|
||||||
) {
|
) {
|
||||||
$this->guzzleClient = $guzzleClient ?? new GuzzleClient();
|
$this->indieClient = $indieClient;
|
||||||
$this->indieClient = $indieClient ?? new IndieClient();
|
$this->guzzleClient = $guzzleClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,13 @@ class MicropubController extends Controller
|
||||||
* Inject the dependencies.
|
* Inject the dependencies.
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
TokenService $tokenService = null,
|
TokenService $tokenService,
|
||||||
NoteService $noteService = null,
|
NoteService $noteService,
|
||||||
PlaceService $placeService = null
|
PlaceService $placeService
|
||||||
) {
|
) {
|
||||||
$this->tokenService = $tokenService ?? new TokenService();
|
$this->tokenService = $tokenService;
|
||||||
$this->noteService = $noteService ?? new NoteService();
|
$this->noteService = $noteService;
|
||||||
$this->placeService = $placeService ?? new PlaceService();
|
$this->placeService = $placeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,11 @@ class TokenEndpointController extends Controller
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
Client $client = null,
|
Client $client,
|
||||||
TokenService $tokenService = null
|
TokenService $tokenService
|
||||||
) {
|
) {
|
||||||
$this->client = $client ?? new Client();
|
$this->client = $client;
|
||||||
$this->tokenService = $tokenService ?? new TokenService();
|
$this->tokenService = $tokenService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ class Kernel extends HttpKernel
|
||||||
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
||||||
\App\Http\Middleware\TrimStrings::class,
|
\App\Http\Middleware\TrimStrings::class,
|
||||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||||
|
\App\Http\Middleware\TrustProxies::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
|
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||||
|
|
||||||
class EncryptCookies extends BaseEncrypter
|
class EncryptCookies extends Middleware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The names of the cookies that should not be encrypted.
|
* The names of the cookies that should not be encrypted.
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as BaseTrimmer;
|
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||||
|
|
||||||
class TrimStrings extends BaseTrimmer
|
class TrimStrings extends Middleware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The names of the attributes that should not be trimmed.
|
* The names of the attributes that should not be trimmed.
|
||||||
|
|
|
||||||
29
app/Http/Middleware/TrustProxies.php
Normal file
29
app/Http/Middleware/TrustProxies.php
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Fideloper\Proxy\TrustProxies as Middleware;
|
||||||
|
|
||||||
|
class TrustProxies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The trusted proxies for this application.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $proxies;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The current proxy header mappings.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $headers = [
|
||||||
|
Request::HEADER_FORWARDED => 'FORWARDED',
|
||||||
|
Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
|
||||||
|
Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
|
||||||
|
Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
|
||||||
|
Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
|
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||||
|
|
||||||
class VerifyCsrfToken extends BaseVerifier
|
class VerifyCsrfToken extends Middleware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The URIs that should be excluded from CSRF verification.
|
* The URIs that should be excluded from CSRF verification.
|
||||||
|
|
|
||||||
4
artisan
4
artisan
|
|
@ -1,6 +1,8 @@
|
||||||
#!/usr/bin/env php
|
#!/usr/bin/env php
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
define('LARAVEL_START', microtime(true));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Register The Auto Loader
|
| Register The Auto Loader
|
||||||
|
|
@ -13,7 +15,7 @@
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require __DIR__.'/bootstrap/autoload.php';
|
require __DIR__.'/vendor/autoload.php';
|
||||||
|
|
||||||
$app = require_once __DIR__.'/bootstrap/app.php';
|
$app = require_once __DIR__.'/bootstrap/app.php';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
define('LARAVEL_START', microtime(true));
|
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Register The Composer Auto Loader
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Composer provides a convenient, automatically generated class loader
|
|
||||||
| for our application. We just need to utilize it! We'll require it
|
|
||||||
| into the script here so we do not have to manually load any of
|
|
||||||
| our application's PHP classes. It just feels great to relax.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
require __DIR__.'/../vendor/autoload.php';
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## Version 0.6 (2017-09-06)
|
||||||
|
- Update laravel version to 5.5
|
||||||
|
- Improve .travis.yml and add back dusk tests
|
||||||
|
|
||||||
## Version 0.5.28 (2017-08-20)
|
## Version 0.5.28 (2017-08-20)
|
||||||
- Improve Swarm checkin code to allow checkins without text
|
- Improve Swarm checkin code to allow checkins without text
|
||||||
+ this required a change in the notes table schema
|
+ this required a change in the notes table schema
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,16 @@
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1.0",
|
"php": ">=7.1.0",
|
||||||
"cviebrock/eloquent-sluggable": "^4.2",
|
"cviebrock/eloquent-sluggable": "~4.3",
|
||||||
"ezyang/htmlpurifier": "~4.6",
|
"ezyang/htmlpurifier": "~4.6",
|
||||||
|
"fideloper/proxy": "~3.3",
|
||||||
"guzzlehttp/guzzle": "~6.0",
|
"guzzlehttp/guzzle": "~6.0",
|
||||||
"indieauth/client": "~0.1",
|
"indieauth/client": "~0.1",
|
||||||
"jonnybarnes/commonmark-linkify": "^0.2",
|
"jonnybarnes/commonmark-linkify": "^0.2",
|
||||||
"jonnybarnes/emoji-a11y": "^0.3",
|
"jonnybarnes/emoji-a11y": "^0.3",
|
||||||
"jonnybarnes/indieweb": "dev-master",
|
"jonnybarnes/indieweb": "dev-master",
|
||||||
"jonnybarnes/webmentions-parser": "0.4.*",
|
"jonnybarnes/webmentions-parser": "0.4.*",
|
||||||
"laravel/framework": "5.4.*",
|
"laravel/framework": "5.5.*",
|
||||||
"laravel/scout": "^3.0",
|
"laravel/scout": "^3.0",
|
||||||
"laravel/tinker": "^1.0",
|
"laravel/tinker": "^1.0",
|
||||||
"lcobucci/jwt": "^3.1",
|
"lcobucci/jwt": "^3.1",
|
||||||
|
|
@ -22,25 +23,26 @@
|
||||||
"league/flysystem-aws-s3-v3": "^1.0",
|
"league/flysystem-aws-s3-v3": "^1.0",
|
||||||
"mf2/mf2": "~0.3",
|
"mf2/mf2": "~0.3",
|
||||||
"phaza/laravel-postgis": "~3.1",
|
"phaza/laravel-postgis": "~3.1",
|
||||||
"pmatseykanets/laravel-scout-postgres": "^0.5.0",
|
"pmatseykanets/laravel-scout-postgres": "~1.0",
|
||||||
"predis/predis": "~1.0",
|
"predis/predis": "~1.0",
|
||||||
"ramsey/uuid": "^3.5",
|
"ramsey/uuid": "^3.5",
|
||||||
"sensiolabs/security-checker": "^4.0",
|
"sensiolabs/security-checker": "^4.0",
|
||||||
"spatie/laravel-tinker-tools": "^1.0",
|
|
||||||
"thujohn/twitter": "~2.0"
|
"thujohn/twitter": "~2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"barryvdh/laravel-debugbar": "~2.0",
|
"barryvdh/laravel-debugbar": "~3.0",
|
||||||
|
"filp/whoops": "~2.0",
|
||||||
"fzaninotto/faker": "~1.4",
|
"fzaninotto/faker": "~1.4",
|
||||||
"jakub-onderka/php-parallel-lint": "^0.9.2",
|
"jakub-onderka/php-parallel-lint": "^0.9.2",
|
||||||
"laravel/dusk": "^1.0",
|
"laravel/dusk": "^2.0",
|
||||||
"mockery/mockery": "0.9.*",
|
"mockery/mockery": "0.9.*",
|
||||||
"phpunit/phpunit": "~5.7",
|
"phpunit/phpunit": "~6.0",
|
||||||
"sebastian/phpcpd": "^3.0"
|
"sebastian/phpcpd": "^3.0"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"classmap": [
|
"classmap": [
|
||||||
"database"
|
"database/seeds",
|
||||||
|
"database/factories"
|
||||||
],
|
],
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"App\\": "app/"
|
"App\\": "app/"
|
||||||
|
|
@ -54,20 +56,22 @@
|
||||||
"Tests\\": "tests"
|
"Tests\\": "tests"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"dont-discover": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"post-root-package-install": [
|
"post-root-package-install": [
|
||||||
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
|
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
|
||||||
],
|
],
|
||||||
"post-create-project-cmd": [
|
"post-create-project-cmd": [
|
||||||
"php artisan key:generate"
|
"@php artisan key:generate"
|
||||||
],
|
],
|
||||||
"post-install-cmd": [
|
"post-autoload-dump": [
|
||||||
"Illuminate\\Foundation\\ComposerScripts::postInstall",
|
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||||
"php artisan optimize"
|
"@php artisan package:discover"
|
||||||
],
|
|
||||||
"post-update-cmd": [
|
|
||||||
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
|
|
||||||
"php artisan optimize"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue