Newer
Older

Yassine Doghri
committed
<?php

Yassine Doghri
committed
declare(strict_types=1);

Yassine Doghri
committed
namespace Modules\Admin\Controllers;

Yassine Doghri
committed

Yassine Doghri
committed
use App\Libraries\HtmlHead;
use CodeIgniter\Controller;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use ViewThemes\Theme;

Yassine Doghri
committed
/**
* BaseController provides a convenient place for loading components and performing functions that are needed by all
* your controllers. Extend this class in any new controllers: class Home extends BaseController

Yassine Doghri
committed
*
* For security be sure to declare any new methods as protected or private.
*/
abstract class BaseController extends Controller

Yassine Doghri
committed
{
/**
* Instance of the main Request object.
*
* @var IncomingRequest
*/
protected $request;

Yassine Doghri
committed
public function initController(
RequestInterface $request,
ResponseInterface $response,

Yassine Doghri
committed
): void {
$this->helpers = [...$this->helpers, 'auth', 'breadcrumb', 'svg', 'components', 'misc'];

Yassine Doghri
committed
// Do Not Edit This Line
parent::initController($request, $response, $logger);
Theme::setTheme('admin');

Yassine Doghri
committed
}

Yassine Doghri
committed
protected function setHtmlHead(string $title): void
{
/** @var HtmlHead $head */
$head = service('html_head');
$head
->title($title . ' | Castopod Admin')
->description(
'Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience.',

Yassine Doghri
committed
);
}