diff options
Diffstat (limited to 'backyard/php-api/trunk/app/Http')
11 files changed, 335 insertions, 0 deletions
diff --git a/backyard/php-api/trunk/app/Http/Controllers/Auth/AuthController.php b/backyard/php-api/trunk/app/Http/Controllers/Auth/AuthController.php new file mode 100644 index 0000000..4ad5c58 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/Auth/AuthController.php @@ -0,0 +1,38 @@ +<?php namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Contracts\Auth\Guard; +use Illuminate\Contracts\Auth\Registrar; +use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; + +class AuthController extends Controller { + + /* + |-------------------------------------------------------------------------- + | Registration & Login Controller + |-------------------------------------------------------------------------- + | + | This controller handles the registration of new users, as well as the + | authentication of existing users. By default, this controller uses + | a simple trait to add these behaviors. Why don't you explore it? + | + */ + + use AuthenticatesAndRegistersUsers; + + /** + * Create a new authentication controller instance. + * + * @param \Illuminate\Contracts\Auth\Guard $auth + * @param \Illuminate\Contracts\Auth\Registrar $registrar + * @return void + */ + public function __construct(Guard $auth, Registrar $registrar) + { + $this->auth = $auth; + $this->registrar = $registrar; + + $this->middleware('guest', ['except' => 'getLogout']); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php b/backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 0000000..3106193 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1,38 @@ +<?php namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Contracts\Auth\Guard; +use Illuminate\Contracts\Auth\PasswordBroker; +use Illuminate\Foundation\Auth\ResetsPasswords; + +class PasswordController 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; + + /** + * Create a new password controller instance. + * + * @param \Illuminate\Contracts\Auth\Guard $auth + * @param \Illuminate\Contracts\Auth\PasswordBroker $passwords + * @return void + */ + public function __construct(Guard $auth, PasswordBroker $passwords) + { + $this->auth = $auth; + $this->passwords = $passwords; + + $this->middleware('guest'); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/Controller.php b/backyard/php-api/trunk/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..27b3f45 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/Controller.php @@ -0,0 +1,11 @@ +<?php namespace App\Http\Controllers; + +use Illuminate\Foundation\Bus\DispatchesCommands; +use Illuminate\Routing\Controller as BaseController; +use Illuminate\Foundation\Validation\ValidatesRequests; + +abstract class Controller extends BaseController { + + use DispatchesCommands, ValidatesRequests; + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/HomeController.php b/backyard/php-api/trunk/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..c7ca983 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/HomeController.php @@ -0,0 +1,36 @@ +<?php namespace App\Http\Controllers; + +class HomeController extends Controller { + + /* + |-------------------------------------------------------------------------- + | Home Controller + |-------------------------------------------------------------------------- + | + | This controller renders your application's "dashboard" for users that + | are authenticated. Of course, you are free to change or remove the + | controller as you wish. It is just here to get your app started! + | + */ + + /** + * Create a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('auth'); + } + + /** + * Show the application dashboard to the user. + * + * @return Response + */ + public function index() + { + return view('home'); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php b/backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php new file mode 100644 index 0000000..8a5ac6d --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php @@ -0,0 +1,36 @@ +<?php namespace App\Http\Controllers; + +class WelcomeController extends Controller { + + /* + |-------------------------------------------------------------------------- + | Welcome Controller + |-------------------------------------------------------------------------- + | + | This controller renders the "marketing page" for the application and + | is configured to only allow guests. Like most of the other sample + | controllers, you are free to modify or remove it as you desire. + | + */ + + /** + * Create a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('guest'); + } + + /** + * Show the application welcome screen to the user. + * + * @return Response + */ + public function index() + { + return view('welcome'); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Kernel.php b/backyard/php-api/trunk/app/Http/Kernel.php new file mode 100644 index 0000000..0a2addc --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Kernel.php @@ -0,0 +1,32 @@ +<?php namespace App\Http; + +use Illuminate\Foundation\Http\Kernel as HttpKernel; + +class Kernel extends HttpKernel { + + /** + * The application's global HTTP middleware stack. + * + * @var array + */ + protected $middleware = [ + 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', + 'Illuminate\Cookie\Middleware\EncryptCookies', + 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', + 'Illuminate\Session\Middleware\StartSession', + 'Illuminate\View\Middleware\ShareErrorsFromSession', + 'App\Http\Middleware\VerifyCsrfToken', + ]; + + /** + * The application's route middleware. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => 'App\Http\Middleware\Authenticate', + 'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth', + 'guest' => 'App\Http\Middleware\RedirectIfAuthenticated', + ]; + +} diff --git a/backyard/php-api/trunk/app/Http/Middleware/Authenticate.php b/backyard/php-api/trunk/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..72a7613 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Middleware/Authenticate.php @@ -0,0 +1,50 @@ +<?php namespace App\Http\Middleware; + +use Closure; +use Illuminate\Contracts\Auth\Guard; + +class Authenticate { + + /** + * The Guard implementation. + * + * @var Guard + */ + protected $auth; + + /** + * Create a new filter instance. + * + * @param Guard $auth + * @return void + */ + public function __construct(Guard $auth) + { + $this->auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if ($this->auth->guest()) + { + if ($request->ajax()) + { + return response('Unauthorized.', 401); + } + else + { + return redirect()->guest('auth/login'); + } + } + + return $next($request); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php b/backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..dd5a867 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,44 @@ +<?php namespace App\Http\Middleware; + +use Closure; +use Illuminate\Contracts\Auth\Guard; +use Illuminate\Http\RedirectResponse; + +class RedirectIfAuthenticated { + + /** + * The Guard implementation. + * + * @var Guard + */ + protected $auth; + + /** + * Create a new filter instance. + * + * @param Guard $auth + * @return void + */ + public function __construct(Guard $auth) + { + $this->auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if ($this->auth->check()) + { + return new RedirectResponse(url('/home')); + } + + return $next($request); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php b/backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..750a39b --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,20 @@ +<?php namespace App\Http\Middleware; + +use Closure; +use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; + +class VerifyCsrfToken extends BaseVerifier { + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + return parent::handle($request, $next); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Requests/Request.php b/backyard/php-api/trunk/app/Http/Requests/Request.php new file mode 100644 index 0000000..4516ab2 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Requests/Request.php @@ -0,0 +1,9 @@ +<?php namespace App\Http\Requests; + +use Illuminate\Foundation\Http\FormRequest; + +abstract class Request extends FormRequest { + + // + +} diff --git a/backyard/php-api/trunk/app/Http/routes.php b/backyard/php-api/trunk/app/Http/routes.php new file mode 100644 index 0000000..c8a3103 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/routes.php @@ -0,0 +1,21 @@ +<?php + +/* +|-------------------------------------------------------------------------- +| Application Routes +|-------------------------------------------------------------------------- +| +| Here is where you can register all of the routes for an application. +| It's a breeze. Simply tell Laravel the URIs it should respond to +| and give it the controller to call when that URI is requested. +| +*/ + +Route::get('/', 'WelcomeController@index'); + +Route::get('home', 'HomeController@index'); + +Route::controllers([ + 'auth' => 'Auth\AuthController', + 'password' => 'Auth\PasswordController', +]); |