Files
core/app/Http/Controllers/Admin/ContentOverview.php
T

50 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Models\Content;
use App\Models\Module;
use Illuminate\Support\Facades\Input;
class ContentOverview extends Controller
{
/**
* @var Content
*/
private $content;
public function __construct(Content $content)
{
parent::__construct();
$this->content = $content;
}
/**
* Overview for all content pages.
*
* @param bool|false $moduleId
* @param null $status
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getOverview($moduleId = false, $status = null)
{
$moduleFilterHandler = false;
$perPage = Input::get('perPage') ? Input::get('perPage') : 20;
// does user want to filter results using module?
if (is_numeric($moduleId)) {
$module = Module::findOrFail($moduleId);
$moduleFilterHandler = $module->handler;
}
// get pages for overview
$pages = $this->content->getOverview($moduleFilterHandler, $status, true, true)
->paginate($perPage);
// get homepage - for checking if homepage is set and available
$homepage = $this->content->getHomepage();
return view('admin.content.overview', ['pages' => $pages, 'homepage' => $homepage]);
}
}