Merge branch 'release/0.14'
This commit is contained in:
commit
f8cb9eb4fb
181 changed files with 5816 additions and 2240 deletions
|
|
@ -1,9 +1,9 @@
|
||||||
APP_ENV=testing
|
APP_ENV=testing
|
||||||
APP_DEBUG=true
|
APP_DEBUG=true
|
||||||
APP_KEY=base64:6DJhvZLVjE6dD4Cqrteh+6Z5vZlG+v/soCKcDHLOAH0=
|
APP_KEY=base64:6DJhvZLVjE6dD4Cqrteh+6Z5vZlG+v/soCKcDHLOAH0=
|
||||||
APP_URL=http://localhost:8000
|
APP_URL=http://jonnybarnes.localhost:8000
|
||||||
APP_LONGURL=localhost
|
APP_LONGURL=jonnybarnes.localhost
|
||||||
APP_SHORTURL=local
|
APP_SHORTURL=jmb.localhost
|
||||||
|
|
||||||
DB_CONNECTION=travis
|
DB_CONNECTION=travis
|
||||||
|
|
||||||
|
|
|
||||||
20
.travis.yml
20
.travis.yml
|
|
@ -7,12 +7,13 @@ cache:
|
||||||
- apt
|
- apt
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
|
hosts:
|
||||||
|
- jmb.localhost
|
||||||
|
- jonnybarnes.localhost
|
||||||
postgresql: "9.6"
|
postgresql: "9.6"
|
||||||
apt:
|
apt:
|
||||||
sources:
|
|
||||||
- sourceline: 'deb http://ppa.launchpad.net/nginx/development/ubuntu trusty main'
|
|
||||||
packages:
|
packages:
|
||||||
- nginx
|
- nginx-full
|
||||||
- realpath
|
- realpath
|
||||||
- postgresql-9.6-postgis-2.3
|
- postgresql-9.6-postgis-2.3
|
||||||
- imagemagick
|
- imagemagick
|
||||||
|
|
@ -36,10 +37,6 @@ php:
|
||||||
- 7.1
|
- 7.1
|
||||||
- 7.2
|
- 7.2
|
||||||
|
|
||||||
matrix:
|
|
||||||
allow_failures:
|
|
||||||
- php: 7.2
|
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- printf "\n" | pecl install imagick
|
- printf "\n" | pecl install imagick
|
||||||
- cp .env.travis .env
|
- cp .env.travis .env
|
||||||
|
|
@ -47,6 +44,7 @@ before_install:
|
||||||
- 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'
|
||||||
- travis_retry composer self-update --preview
|
- travis_retry composer self-update --preview
|
||||||
|
- pear install pear/PHP_CodeSniffer && phpenv rehash
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- if [[ $setup = 'basic' ]]; then travis_retry composer install --no-interaction --prefer-dist; fi
|
- if [[ $setup = 'basic' ]]; then travis_retry composer install --no-interaction --prefer-dist; fi
|
||||||
|
|
@ -66,6 +64,10 @@ before_script:
|
||||||
#- sleep 5
|
#- sleep 5
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- php vendor/bin/phpunit --coverage-text
|
- php vendor/bin/phpunit --coverage-clover build/logs/clover.xml
|
||||||
|
- phpcs
|
||||||
#- php artisan dusk
|
#- 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 --end-point=http://security.sensiolabs.org/check_lock
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- travis_retry php vendor/bin/coveralls
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Console\Commands;
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
use App\WebMention;
|
use App\Models\WebMention;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
use Illuminate\FileSystem\FileSystem;
|
use Illuminate\FileSystem\FileSystem;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Console\Commands;
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
use App\WebMention;
|
use App\Models\WebMention;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
use App\Jobs\DownloadWebMention;
|
use App\Jobs\DownloadWebMention;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@ namespace App\Console\Commands;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
use SensioLabs\Security\SecurityChecker;
|
use SensioLabs\Security\SecurityChecker;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @codeCoverageIgnore
|
||||||
|
*/
|
||||||
class SecurityCheck extends Command
|
class SecurityCheck extends Command
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ use Illuminate\Support\Facades\Route;
|
||||||
use Illuminate\Session\TokenMismatchException;
|
use Illuminate\Session\TokenMismatchException;
|
||||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @codeCoverageIgnore
|
||||||
|
*/
|
||||||
class Handler extends ExceptionHandler
|
class Handler extends ExceptionHandler
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Exceptions;
|
|
||||||
|
|
||||||
use Exception;
|
|
||||||
|
|
||||||
class InternetArchiveErrorSavingException extends Exception
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
7
app/Exceptions/InternetArchiveException.php
Normal file
7
app/Exceptions/InternetArchiveException.php
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exceptions;
|
||||||
|
|
||||||
|
class InternetArchiveException extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
10
app/Exceptions/RemoteContentNotFoundException.php
Normal file
10
app/Exceptions/RemoteContentNotFoundException.php
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exceptions;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
class RemoteContentNotFoundException extends Exception
|
||||||
|
{
|
||||||
|
//used when guzzle can’t find the remote content
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\Article;
|
use App\Models\Article;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\MicropubClient;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\MicropubClient;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
||||||
class ClientsController extends Controller
|
class ClientsController extends Controller
|
||||||
|
|
@ -86,9 +86,9 @@ class ClientsController extends Controller
|
||||||
* @param string The client id
|
* @param string The client id
|
||||||
* @return redirect
|
* @return redirect
|
||||||
*/
|
*/
|
||||||
public function destroy($articleId)
|
public function destroy($clientId)
|
||||||
{
|
{
|
||||||
MicropubClient::where('id', $articleId)->delete();
|
MicropubClient::where('id', $clientId)->delete();
|
||||||
|
|
||||||
return redirect('/admin/clients');
|
return redirect('/admin/clients');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\Contact;
|
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
|
use App\Models\Contact;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Filesystem\Filesystem;
|
use Illuminate\Filesystem\Filesystem;
|
||||||
|
|
@ -83,9 +83,8 @@ class ContactsController extends Controller
|
||||||
$contact->facebook = $request->input('facebook');
|
$contact->facebook = $request->input('facebook');
|
||||||
$contact->save();
|
$contact->save();
|
||||||
|
|
||||||
if ($request->hasFile('avatar')) {
|
if ($request->hasFile('avatar') && ($request->input('homepage') != '')) {
|
||||||
if ($request->input('homepage') != '') {
|
$dir = parse_url($request->input('homepage'), PHP_URL_HOST);
|
||||||
$dir = parse_url($request->input('homepage'))['host'];
|
|
||||||
$destination = public_path() . '/assets/profile-images/' . $dir;
|
$destination = public_path() . '/assets/profile-images/' . $dir;
|
||||||
$filesystem = new Filesystem();
|
$filesystem = new Filesystem();
|
||||||
if ($filesystem->isDirectory($destination) === false) {
|
if ($filesystem->isDirectory($destination) === false) {
|
||||||
|
|
@ -93,7 +92,6 @@ class ContactsController extends Controller
|
||||||
}
|
}
|
||||||
$request->file('avatar')->move($destination, 'image');
|
$request->file('avatar')->move($destination, 'image');
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return redirect('/admin/contacts');
|
return redirect('/admin/contacts');
|
||||||
}
|
}
|
||||||
|
|
@ -123,37 +121,47 @@ class ContactsController extends Controller
|
||||||
*/
|
*/
|
||||||
public function getAvatar($contactId)
|
public function getAvatar($contactId)
|
||||||
{
|
{
|
||||||
|
// Initialising
|
||||||
|
$avatarURL = null;
|
||||||
|
$avatar = null;
|
||||||
$contact = Contact::findOrFail($contactId);
|
$contact = Contact::findOrFail($contactId);
|
||||||
$homepage = $contact->homepage;
|
if (mb_strlen($contact->homepage !== null) !== 0) {
|
||||||
if (($homepage !== null) && ($homepage !== '')) {
|
$client = resolve(Client::class);
|
||||||
$client = new Client();
|
|
||||||
try {
|
try {
|
||||||
$response = $client->get($homepage);
|
$response = $client->get($contact->homepage);
|
||||||
$html = (string) $response->getBody();
|
|
||||||
$mf2 = \Mf2\parse($html, $homepage);
|
|
||||||
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
|
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
|
||||||
return "Bad Response from $homepage";
|
return redirect('/admin/contacts/' . $contactId . '/edit')
|
||||||
|
->with('error', 'Bad resposne from contact’s homepage');
|
||||||
}
|
}
|
||||||
$avatarURL = null; // Initialising
|
$mf2 = \Mf2\parse((string) $response->getBody(), $contact->homepage);
|
||||||
foreach ($mf2['items'] as $microformat) {
|
foreach ($mf2['items'] as $microformat) {
|
||||||
if ($microformat['type'][0] == 'h-card') {
|
if (array_get($microformat, 'type.0') == 'h-card') {
|
||||||
$avatarURL = $microformat['properties']['photo'][0];
|
$avatarURL = array_get($microformat, 'properties.photo.0');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ($avatarURL !== null) {
|
||||||
try {
|
try {
|
||||||
$avatar = $client->get($avatarURL);
|
$avatar = $client->get($avatarURL);
|
||||||
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
|
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
|
||||||
return "Unable to get $avatarURL";
|
return redirect('/admin/contacts/' . $contactId . '/edit')
|
||||||
|
->with('error', 'Unable to download avatar');
|
||||||
}
|
}
|
||||||
$directory = public_path() . '/assets/profile-images/' . parse_url($homepage)['host'];
|
}
|
||||||
|
if ($avatar !== null) {
|
||||||
|
$directory = public_path() . '/assets/profile-images/' . parse_url($contact->homepage, PHP_URL_HOST);
|
||||||
$filesystem = new Filesystem();
|
$filesystem = new Filesystem();
|
||||||
if ($filesystem->isDirectory($directory) === false) {
|
if ($filesystem->isDirectory($directory) === false) {
|
||||||
$filesystem->makeDirectory($directory);
|
$filesystem->makeDirectory($directory);
|
||||||
}
|
}
|
||||||
$filesystem->put($directory . '/image', $avatar->getBody());
|
$filesystem->put($directory . '/image', $avatar->getBody());
|
||||||
|
|
||||||
return view('admin.contacts.getavatarsuccess', ['homepage' => parse_url($homepage)['host']]);
|
return view('admin.contacts.getavatarsuccess', [
|
||||||
|
'homepage' => parse_url($contact->homepage, PHP_URL_HOST),
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return redirect('/admin/contacts/' . $contactId . '/edit');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,22 +2,13 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\Note;
|
use App\Models\Note;
|
||||||
use Validator;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Jobs\SendWebMentions;
|
use App\Jobs\SendWebMentions;
|
||||||
use App\Services\NoteService;
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
||||||
class NotesController extends Controller
|
class NotesController extends Controller
|
||||||
{
|
{
|
||||||
protected $noteService;
|
|
||||||
|
|
||||||
public function __construct(NoteService $noteService)
|
|
||||||
{
|
|
||||||
$this->noteService = $noteService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List the notes that can be edited.
|
* List the notes that can be edited.
|
||||||
*
|
*
|
||||||
|
|
@ -51,30 +42,10 @@ class NotesController extends Controller
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$validator = Validator::make(
|
Note::create([
|
||||||
$request->all(),
|
'in-reply-to' => $request->input('in-reply-to'),
|
||||||
['photo' => 'photosize'],
|
'note' => $request->input('content'),
|
||||||
['photosize' => 'At least one uploaded file exceeds size limit of 5MB']
|
]);
|
||||||
);
|
|
||||||
if ($validator->fails()) {
|
|
||||||
return redirect('/admin/notes/create')
|
|
||||||
->withErrors($validator)
|
|
||||||
->withInput();
|
|
||||||
}
|
|
||||||
|
|
||||||
$data = [];
|
|
||||||
$data['content'] = $request->input('content');
|
|
||||||
$data['in-reply-to'] = $request->input('in-reply-to');
|
|
||||||
$data['location'] = $request->input('location');
|
|
||||||
$data['syndicate'] = [];
|
|
||||||
if ($request->input('twitter')) {
|
|
||||||
$data['syndicate'][] = 'twitter';
|
|
||||||
}
|
|
||||||
if ($request->input('facebook')) {
|
|
||||||
$data['syndicate'][] = 'facebook';
|
|
||||||
}
|
|
||||||
|
|
||||||
$note = $this->noteService->createNote($data);
|
|
||||||
|
|
||||||
return redirect('/admin/notes');
|
return redirect('/admin/notes');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\Place;
|
use App\Models\Place;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Services\PlaceService;
|
use App\Services\PlaceService;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
|
@ -47,11 +47,7 @@ class PlacesController extends Controller
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$data = [];
|
$data = $request->only(['name', 'description', 'latitude', 'longitude']);
|
||||||
$data['name'] = $request->name;
|
|
||||||
$data['description'] = $request->description;
|
|
||||||
$data['latitude'] = $request->latitude;
|
|
||||||
$data['longitude'] = $request->longitude;
|
|
||||||
$place = $this->placeService->createPlace($data);
|
$place = $this->placeService->createPlace($data);
|
||||||
|
|
||||||
return redirect('/admin/places');
|
return redirect('/admin/places');
|
||||||
|
|
@ -67,14 +63,7 @@ class PlacesController extends Controller
|
||||||
{
|
{
|
||||||
$place = Place::findOrFail($placeId);
|
$place = Place::findOrFail($placeId);
|
||||||
|
|
||||||
return view('admin.places.edit', [
|
return view('admin.places.edit', compact('place'));
|
||||||
'id' => $placeId,
|
|
||||||
'name' => $place->name,
|
|
||||||
'description' => $place->description,
|
|
||||||
'latitude' => $place->latitude,
|
|
||||||
'longitude' => $place->longitude,
|
|
||||||
'icon' => $place->icon ?? 'marker',
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Article;
|
use App\Models\Article;
|
||||||
use Jonnybarnes\IndieWeb\Numbers;
|
use Jonnybarnes\IndieWeb\Numbers;
|
||||||
|
|
||||||
class ArticlesController extends Controller
|
class ArticlesController extends Controller
|
||||||
|
|
@ -15,7 +15,7 @@ class ArticlesController extends Controller
|
||||||
public function index($year = null, $month = null)
|
public function index($year = null, $month = null)
|
||||||
{
|
{
|
||||||
$articles = Article::where('published', '1')
|
$articles = Article::where('published', '1')
|
||||||
->date($year, $month)
|
->date((int) $year, (int) $month)
|
||||||
->orderBy('updated_at', 'desc')
|
->orderBy('updated_at', 'desc')
|
||||||
->simplePaginate(5);
|
->simplePaginate(5);
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ class ArticlesController extends Controller
|
||||||
{
|
{
|
||||||
$article = Article::where('titleurl', $slug)->firstOrFail();
|
$article = Article::where('titleurl', $slug)->firstOrFail();
|
||||||
if ($article->updated_at->year != $year || $article->updated_at->month != $month) {
|
if ($article->updated_at->year != $year || $article->updated_at->month != $month) {
|
||||||
throw new \Exception;
|
return redirect('/blog/' . $article->updated_at->year . '/' . $article->updated_at->month .'/' . $slug);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('articles.show', compact('article'));
|
return view('articles.show', compact('article'));
|
||||||
|
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers\Auth;
|
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
|
||||||
|
|
||||||
class ForgotPasswordController extends Controller
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Password Reset Controller
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This controller is responsible for handling password reset emails and
|
|
||||||
| includes a trait which assists in sending these notifications from
|
|
||||||
| your application to your users. Feel free to explore this trait.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
use SendsPasswordResetEmails;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->middleware('guest');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers\Auth;
|
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
|
||||||
|
|
||||||
class LoginController extends Controller
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Login Controller
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This controller handles authenticating users for the application and
|
|
||||||
| redirecting them to your home screen. The controller uses a trait
|
|
||||||
| to conveniently provide its functionality to your applications.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
use AuthenticatesUsers;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Where to redirect users after login.
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
protected $redirectTo = '/home';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->middleware('guest')->except('logout');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers\Auth;
|
|
||||||
|
|
||||||
use App\User;
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
|
||||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
|
||||||
|
|
||||||
class RegisterController extends Controller
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Register Controller
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This controller handles the registration of new users as well as their
|
|
||||||
| validation and creation. By default this controller uses a trait to
|
|
||||||
| provide this functionality without requiring any additional code.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
use RegistersUsers;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Where to redirect users after registration.
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
protected $redirectTo = '/home';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->middleware('guest');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a validator for an incoming registration request.
|
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return \Illuminate\Contracts\Validation\Validator
|
|
||||||
*/
|
|
||||||
protected function validator(array $data)
|
|
||||||
{
|
|
||||||
return Validator::make($data, [
|
|
||||||
'name' => 'required|string|max:255',
|
|
||||||
'email' => 'required|string|email|max:255|unique:users',
|
|
||||||
'password' => 'required|string|min:6|confirmed',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new user instance after a valid registration.
|
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return \App\User
|
|
||||||
*/
|
|
||||||
protected function create(array $data)
|
|
||||||
{
|
|
||||||
return User::create([
|
|
||||||
'name' => $data['name'],
|
|
||||||
'email' => $data['email'],
|
|
||||||
'password' => bcrypt($data['password']),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Controllers\Auth;
|
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
|
||||||
|
|
||||||
class ResetPasswordController extends Controller
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| Password Reset Controller
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This controller is responsible for handling password reset requests
|
|
||||||
| and uses a simple trait to include this behavior. You're free to
|
|
||||||
| explore this trait and override any methods you wish to tweak.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
use ResetsPasswords;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Where to redirect users after resetting their password.
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
protected $redirectTo = '/home';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->middleware('guest');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Bookmark;
|
use App\Models\Bookmark;
|
||||||
|
|
||||||
class BookmarksController extends Controller
|
class BookmarksController extends Controller
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue