public dash and view counting
This commit is contained in:
@@ -27,7 +27,7 @@ class LoginController extends Controller
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/';
|
||||
protected $redirectTo = '/home';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
|
||||
@@ -29,7 +29,7 @@ class RegisterController extends Controller
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/';
|
||||
protected $redirectTo = '/home';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Models\Table;
|
||||
use App\Models\User;
|
||||
|
||||
class DashController extends Controller
|
||||
{
|
||||
public function view()
|
||||
{
|
||||
$users = User::orderBy('updated_at', 'desc')
|
||||
->paginate(15, ['id', 'title', 'name'], 'pageu');
|
||||
|
||||
// TODO visit counting
|
||||
$tables = Table::forList()
|
||||
->orderBy('visits', 'desc')
|
||||
->paginate(10, ['*'], 'paget');
|
||||
|
||||
return view('welcome', compact('users', 'tables'));
|
||||
}
|
||||
}
|
||||
@@ -18,10 +18,7 @@ class ProfileController extends Controller
|
||||
*/
|
||||
public function view(User $user)
|
||||
{
|
||||
$tables = $user->tables()
|
||||
->with('revision:id,row_count')
|
||||
->orderByDesc('updated_at')
|
||||
->paginate(10);
|
||||
$tables = $user->tables()->forList()->orderByDesc('updated_at')->paginate(10);
|
||||
|
||||
return view('profile.view')->with(compact('tables', 'user'));
|
||||
}
|
||||
|
||||
@@ -20,7 +20,10 @@ class TableController extends Controller
|
||||
]);
|
||||
|
||||
/** @var Table $tableModel */
|
||||
$tableModel = $user->tables()->where('name', $table)->first();
|
||||
$tableModel = $user->tables()->withCount(['favourites', 'forks', 'revisions', 'comments'])
|
||||
->where('name', $table)->first();
|
||||
|
||||
if ($tableModel === null) abort(404, "No such table.");
|
||||
|
||||
// make it possible to show other revisions
|
||||
if ($input->has('rev')) {
|
||||
@@ -31,6 +34,14 @@ class TableController extends Controller
|
||||
$revision = $tableModel->revision;
|
||||
}
|
||||
|
||||
$cookieName = "view!$user->name!$table";
|
||||
if (!$request->cookie($cookieName, false)) {
|
||||
|
||||
$tableModel->countVisit();
|
||||
|
||||
\Cookie::queue($cookieName, true, 86400);
|
||||
}
|
||||
|
||||
return view('table.view', [
|
||||
'table' => $tableModel,
|
||||
'revision' => $revision,
|
||||
|
||||
Reference in New Issue
Block a user