Files
IPB/applications/core/data/defaults/extensions/Loader.txt
T
2025-12-19 16:27:35 -08:00

74 lines
1.3 KiB
Plaintext

<?php
namespace IPS\{app}\extensions\core\Loader;
use IPS\Extensions\LoaderAbstract;
use IPS\Http\Url;
use function defined;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* @brief Loader extension: {class}
*/
class {class} extends LoaderAbstract
{
/**
* Additional CSS files to load
*
* @return array<string|Url>
*/
public function css(): array
{
return [];
}
/**
* Additional JS files to load
*
* @return array<string|Url>
*/
public function js(): array
{
return [];
}
/**
* If a redirect is needed, return the URL
* or NULL to continue
*
* @return Url|null
*/
public function checkForRedirect() : Url|null
{
return null;
}
/**
* Show a custom error message or null to use the default
*
* @param string $message
* @param mixed $code
* @param int $httpStatusCode
* @return string|null
*/
public function customError( string $message, mixed $code, int $httpStatusCode ) : string|null
{
return null;
}
/**
* Run custom code right on Dispatcher::finish()
*
* @return void
*/
public function onFinish() : void
{
}
}