always have a Themelet, never null

This commit is contained in:
Shish 2023-06-27 15:56:49 +01:00
parent 304a86b554
commit 00d4f9f75c
70 changed files with 71 additions and 81 deletions

View File

@ -19,7 +19,7 @@ namespace Shimmie2;
abstract class Extension
{
public string $key;
protected ?Themelet $theme;
protected Themelet $theme;
public ExtensionInfo $info;
private static array $enabled_extensions = [];
@ -35,7 +35,7 @@ abstract class Extension
/**
* Find the theme object for a given extension.
*/
private function get_theme_object(string $base): ?Themelet
private function get_theme_object(string $base): Themelet
{
$base = str_replace("Shimmie2\\", "", $base);
$custom = "Shimmie2\Custom{$base}Theme";
@ -46,7 +46,7 @@ abstract class Extension
} elseif (class_exists($normal)) {
return new $normal();
} else {
return null;
return new Themelet();
}
}

View File

@ -33,7 +33,7 @@ class AdminActionEvent extends Event
class AdminPage extends Extension
{
/** @var AdminPageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -59,7 +59,7 @@ class AddAliasException extends SCoreException
class AliasEditor extends Extension
{
/** @var AliasEditorTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -14,7 +14,7 @@ abstract class ApprovalConfig
class Approval extends Extension
{
/** @var ApprovalTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -22,7 +22,7 @@ class AuthorSetEvent extends Event
class Artists extends Extension
{
/** @var ArtistsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onImageInfoSet(ImageInfoSetEvent $event)
{

View File

@ -65,7 +65,7 @@ class AddAutoTagException extends SCoreException
class AutoTagger extends Extension
{
/** @var AutoTaggerTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class AutoComplete extends Extension
{
/** @var AutoCompleteTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function get_priority(): int
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Biography extends Extension
{
/** @var BiographyTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onUserPageBuilding(UserPageBuildingEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Blocks extends Extension
{
/** @var BlocksTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Blotter extends Extension
{
/** @var BlotterTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -55,7 +55,7 @@ class BulkActionEvent extends Event
class BulkActions extends Extension
{
/** @var BulkActionsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPostListBuilding(PostListBuildingEvent $event)
{

View File

@ -20,7 +20,7 @@ class BulkAddEvent extends Event
class BulkAdd extends Extension
{
/** @var BulkAddTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class BulkAddCSV extends Extension
{
/** @var BulkAddCSVTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -114,7 +114,7 @@ class Comment
class CommentList extends Extension
{
/** @var CommentListTheme $theme */
public ?Themelet $theme;
public Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -9,7 +9,7 @@ require_once "config.php";
class CronUploader extends Extension
{
/** @var CronUploaderTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const NAME = "cron_uploader";

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Downtime extends Extension
{
/** @var DowntimeTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function get_priority(): int
{

View File

@ -10,7 +10,7 @@ namespace Shimmie2;
class EmoticonList extends Extension
{
/** @var EmoticonListTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class ET extends Extension
{
/** @var ETTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -37,7 +37,7 @@ class ExtensionAuthor
class ExtManager extends Extension
{
/** @var ExtManagerTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -25,7 +25,7 @@ class FavoriteSetEvent extends Event
class Favorites extends Extension
{
/** @var FavoritesTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Featured extends Extension
{
/** @var FeaturedTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -15,7 +15,7 @@ Todo:
class Forum extends Extension
{
/** @var ForumTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
{

View File

@ -11,7 +11,7 @@ class SVGFileHandler extends DataHandlerExtension
protected array $SUPPORTED_MIME = [MimeType::SVG];
/** @var SVGFileHandlerTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -37,7 +37,7 @@ class HelpPageBuildingEvent extends Event
class HelpPages extends Extension
{
/** @var HelpPagesTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const SEARCH = "search";
private ?array $pages = null;

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Holiday extends Extension
{
/** @var HolidayTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Home extends Extension
{
/** @var HomeTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -12,7 +12,7 @@ require_once "config.php";
class ImageIO extends Extension
{
/** @var ImageIOTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const COLLISION_OPTIONS = [
'Error'=>ImageConfig::COLLISION_ERROR,

View File

@ -60,7 +60,7 @@ class AddImageHashBanEvent extends Event
class ImageBan extends Extension
{
/** @var ImageBanTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class ImageViewCounter extends Extension
{
/** @var ImageViewCounterTheme */
protected ?Themelet $theme;
protected Themelet $theme;
private int $view_interval = 3600; # allows views to be added each hour
# Add Setup Block with options for view counter

View File

@ -10,7 +10,7 @@ require_once "events.php";
class Index extends Extension
{
/** @var IndexTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -81,7 +81,7 @@ class AddIPBanEvent extends Event
class IPBan extends Extension
{
/** @var IPBanTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function get_priority(): int
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class LinkImage extends Extension
{
/** @var LinkImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDisplayingImage(DisplayingImageEvent $event)
{

View File

@ -222,7 +222,7 @@ class LogTable extends Table
class LogDatabase extends Extension
{
/** @var LogDatabaseTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -19,7 +19,7 @@ class MediaException extends SCoreException
class Media extends Extension
{
/** @var MediaTheme */
protected ?Themelet $theme;
protected Themelet $theme;
private const LOSSLESS_FORMATS = [
MimeType::WEBP_LOSSLESS,

View File

@ -11,7 +11,7 @@ require_once "mime_type.php";
class MimeSystem extends Extension
{
/** @var MimeSystemTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const VERSION = "ext_mime_version";

View File

@ -33,7 +33,7 @@ class NotATagTable extends Table
class NotATag extends Extension
{
/** @var NotATagTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function get_priority(): int
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Notes extends Extension
{
/** @var NotesTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
{

View File

@ -102,7 +102,7 @@ class NumericScoreSetEvent extends Event
class NumericScore extends Extension
{
/** @var NumericScoreTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDisplayingImage(DisplayingImageEvent $event)
{

View File

@ -139,7 +139,7 @@ class PM
class PrivMsg extends Extension
{
/** @var PrivMsgTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
{

View File

@ -108,7 +108,7 @@ function _image_to_id(Image $image): int
class Pools extends Extension
{
/** @var PoolsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -10,7 +10,7 @@ require_once "events/post_title_set_event.php";
class PostTitles extends Extension
{
/** @var PostTitlesTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function get_priority(): int
{

View File

@ -14,7 +14,7 @@ abstract class PrivateImageConfig
class PrivateImage extends Extension
{
/** @var PrivateImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class QRImage extends Extension
{
/** @var QRImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDisplayingImage(DisplayingImageEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class RandomImage extends Extension
{
/** @var RandomImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class RandomList extends Extension
{
/** @var RandomListTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -73,7 +73,7 @@ abstract class RatingsConfig
class Ratings extends Extension
{
/** @var RatingsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const UNRATED_KEYWORDS = ["unknown", "unrated"];

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class RegenThumb extends Extension
{
/** @var RegenThumbTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function regenerate_thumbnail(Image $image, bool $force = true): bool
{

View File

@ -21,7 +21,7 @@ class ImageRelationshipSetEvent extends Event
class Relationships extends Extension
{
/** @var RelationshipsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const NAME = "Relationships";

View File

@ -43,7 +43,7 @@ class ImageReport
class ReportImage extends Extension
{
/** @var ReportImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -20,7 +20,7 @@ abstract class ResizeConfig
class ResizeImage extends Extension
{
/** @var ResizeImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
/**
* Needs to be after the data processing extensions

View File

@ -19,7 +19,7 @@ class ImageRotateException extends SCoreException
class RotateImage extends Extension
{
/** @var RotateImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const SUPPORTED_MIME = [MimeType::JPEG, MimeType::PNG, MimeType::GIF, MimeType::WEBP];

View File

@ -1,10 +0,0 @@
<?php
declare(strict_types=1);
namespace Shimmie2;
/* needed for access to build_thumb_html */
class RSSImagesTheme extends Themelet
{
}

View File

@ -20,7 +20,7 @@ if ( // kill these glitched requests immediately
class Rule34 extends Extension
{
/** @var Rule34Theme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onImageDeletion(ImageDeletionEvent $event)
{

View File

@ -294,7 +294,7 @@ class SetupBlock extends Block
class Setup extends Extension
{
/** @var SetupTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class SourceHistory extends Extension
{
/** @var SourceHistoryTheme */
protected ?Themelet $theme;
protected Themelet $theme;
// in before source are actually set, so that "get current source" works
public function get_priority(): int

View File

@ -9,7 +9,7 @@ require_once "config.php";
class TagCategories extends Extension
{
/** @var TagCategoriesTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -133,7 +133,7 @@ class TagTermParseEvent extends Event
class TagEdit extends Extension
{
/** @var TagEditTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class TagHistory extends Extension
{
/** @var TagHistoryTheme */
protected ?Themelet $theme;
protected Themelet $theme;
// in before tags are actually set, so that "get current tags" works
public function get_priority(): int

View File

@ -9,7 +9,7 @@ require_once "config.php";
class TagList extends Extension
{
/** @var TagListTheme */
protected ?Themelet $theme;
protected Themelet $theme;
private $tagcategories = null;

View File

@ -8,7 +8,7 @@ namespace Shimmie2;
class TagTools extends Extension
{
/** @var TagToolsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onAdminBuilding(AdminBuildingEvent $event)
{

View File

@ -32,7 +32,7 @@ class DeleteTipEvent extends Event
class Tips extends Extension
{
/** @var TipsTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
{

View File

@ -16,7 +16,7 @@ class ImageTranscodeException extends SCoreException
class TranscodeImage extends Extension
{
/** @var TranscodeImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const ACTION_BULK_TRANSCODE = "bulk_transcode";

View File

@ -16,7 +16,7 @@ class VideoTranscodeException extends SCoreException
class TranscodeVideo extends Extension
{
/** @var TranscodeVideoTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const ACTION_BULK_TRANSCODE = "bulk_transcode_video";

View File

@ -12,7 +12,7 @@ abstract class TrashConfig
class Trash extends Extension
{
/** @var TrashTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function get_priority(): int
{

View File

@ -7,7 +7,7 @@ namespace Shimmie2;
class Update extends Extension
{
/** @var UpdateTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -66,7 +66,7 @@ class UploadException extends SCoreException
class Upload extends Extension
{
/** @var UploadTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public bool $is_full;
/**

View File

@ -137,7 +137,7 @@ class LoginResult
class UserPage extends Extension
{
/** @var UserPageTheme $theme */
public ?Themelet $theme;
public Themelet $theme;
public function onInitExt(InitExtEvent $event)
{

View File

@ -42,7 +42,7 @@ class UserOptionsBuildingEvent extends Event
class UserConfig extends Extension
{
/** @var UserConfigTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public const VERSION = "ext_user_config_version";
public const ENABLE_API_KEYS = "ext_user_config_enable_api_keys";

View File

@ -16,7 +16,7 @@ use function MicroHTML\TD;
class ViewImage extends Extension
{
/** @var ViewImageTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onPageRequest(PageRequestEvent $event)
{

View File

@ -113,7 +113,7 @@ abstract class WikiConfig
class Wiki extends Extension
{
/** @var WikiTheme */
protected ?Themelet $theme;
protected Themelet $theme;
public function onInitExt(InitExtEvent $event)
{