castopod/modules/Admin/Controllers/BaseController.php
2024-12-17 15:11:45 +00:00

58 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace Modules\Admin\Controllers;
use App\Libraries\HtmlHead;
use CodeIgniter\Controller;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Override;
use Psr\Log\LoggerInterface;
use ViewThemes\Theme;
/**
* 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
*
* For security be sure to declare any new methods as protected or private.
*/
abstract class BaseController extends Controller
{
/**
* Instance of the main Request object.
*
* @var IncomingRequest
*/
protected $request;
#[Override]
public function initController(
RequestInterface $request,
ResponseInterface $response,
LoggerInterface $logger
): void {
$this->helpers = [...$this->helpers, 'auth', 'breadcrumb', 'svg', 'components', 'misc'];
// Do Not Edit This Line
parent::initController($request, $response, $logger);
Theme::setTheme('admin');
}
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.'
);
}
}