From dddb9944c4ab0a6800f50b7d73d4d2cad92504e0 Mon Sep 17 00:00:00 2001 From: Colin Viebrock Date: Fri, 18 Jul 2025 16:49:04 -0400 Subject: [PATCH 1/7] Convert class strings to ::class refs --- Building/Building.php | 14 +++++++------- Building/admin/components/Block/AttachmentEdit.php | 4 ++-- Building/admin/components/Block/Delete.php | 2 +- Building/admin/components/Block/Edit.php | 2 +- Building/admin/components/Block/ImageEdit.php | 4 ++-- Building/admin/components/Block/VideoEdit.php | 2 +- Building/dataobjects/BuildingBlock.php | 6 +++--- Building/dataobjects/BuildingBlockWrapper.php | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Building/Building.php b/Building/Building.php index f89bd8d..9a98fd6 100644 --- a/Building/Building.php +++ b/Building/Building.php @@ -102,31 +102,31 @@ public static function init() SiteViewFactory::addPath('Building/views'); SiteViewFactory::registerView( 'building-block-audio', - 'BuildingBlockAudioView' + BuildingBlockAudioView::class ); SiteViewFactory::registerView( 'building-block-video', - 'BuildingBlockVideoView' + BuildingBlockVideoView::class ); SiteViewFactory::registerView( 'building-block-image', - 'BuildingBlockImageView' + BuildingBlockImageView::class ); SiteViewFactory::registerView( 'building-block-xhtml', - 'BuildingBlockXHTMLView' + BuildingBlockXHTMLView::class ); SiteViewFactory::registerView( 'building-block-attachment', - 'BuildingBlockAttachmentView' + BuildingBlockAttachmentView::class ); SiteViewFactory::registerView( 'building-block', - 'BuildingBlockCompositeView' + BuildingBlockCompositeView::class ); SiteViewFactory::registerView( 'building-block-admin', - 'BuildingBlockAdminCompositeView' + BuildingBlockAdminCompositeView::class ); SwatUI::mapClassPrefixToPath('Building', 'Building'); diff --git a/Building/admin/components/Block/AttachmentEdit.php b/Building/admin/components/Block/AttachmentEdit.php index e475e80..6c403f2 100644 --- a/Building/admin/components/Block/AttachmentEdit.php +++ b/Building/admin/components/Block/AttachmentEdit.php @@ -28,7 +28,7 @@ protected function getAttachmentSet() $this->attachment_set = $this->getObject()->attachment->attachment_set; } else { - $class_name = SwatDBClassMap::get('SiteAttachmentSet'); + $class_name = SwatDBClassMap::get(SiteAttachmentSet::class); $this->attachment_set = new $class_name(); $this->attachment_set->setDatabase($this->app->db); $shortname = $this->getAttachmentSetShortname(); @@ -48,7 +48,7 @@ protected function getAttachmentSet() protected function getNewAttachmentInstance() { - $class_name = SwatDBClassMap::get('SiteAttachment'); + $class_name = SwatDBClassMap::get(SiteAttachment::class); $attachment = new $class_name(); $attachment->setDatabase($this->app->db); $attachment->attachment_set = $this->getAttachmentSet(); diff --git a/Building/admin/components/Block/Delete.php b/Building/admin/components/Block/Delete.php index 0d3e691..8bebc22 100644 --- a/Building/admin/components/Block/Delete.php +++ b/Building/admin/components/Block/Delete.php @@ -38,7 +38,7 @@ protected function buildInternal() 'select * from Block where id in (%s)', $this->getItemList('integer') ), - SwatDBClassMap::get('BuildingBlockWrapper') + SwatDBClassMap::get(BuildingBlockWrapper::class) ); $view = SiteViewFactory::get($this->app, 'building-block'); diff --git a/Building/admin/components/Block/Edit.php b/Building/admin/components/Block/Edit.php index 5f7b648..2012020 100644 --- a/Building/admin/components/Block/Edit.php +++ b/Building/admin/components/Block/Edit.php @@ -8,7 +8,7 @@ abstract class BuildingBlockEdit extends AdminObjectEdit { protected function getObjectClass() { - return 'BuildingBlock'; + return BuildingBlock::class; } // process phase diff --git a/Building/admin/components/Block/ImageEdit.php b/Building/admin/components/Block/ImageEdit.php index 49b72a5..e89ac77 100644 --- a/Building/admin/components/Block/ImageEdit.php +++ b/Building/admin/components/Block/ImageEdit.php @@ -27,7 +27,7 @@ protected function getImageSet() if ($this->getObject()->image instanceof SiteImage) { $this->image_set = $this->getObject()->image->image_set; } else { - $class_name = SwatDBClassMap::get('SiteImageSet'); + $class_name = SwatDBClassMap::get(SiteImageSet::class); $this->image_set = new $class_name(); $this->image_set->setDatabase($this->app->db); $shortname = $this->getImageSetShortname(); @@ -47,7 +47,7 @@ protected function getImageSet() protected function getNewImageInstance() { - $class_name = SwatDBClassMap::get('SiteImage'); + $class_name = SwatDBClassMap::get(SiteImage::class); $image = new $class_name(); $image->setDatabase($this->app->db); $image->image_set = $this->getImageSet(); diff --git a/Building/admin/components/Block/VideoEdit.php b/Building/admin/components/Block/VideoEdit.php index 7f124bf..52de2a3 100644 --- a/Building/admin/components/Block/VideoEdit.php +++ b/Building/admin/components/Block/VideoEdit.php @@ -28,7 +28,7 @@ protected function getMedia() $media_id = $form->getHiddenField('media'); } - $class_name = SwatDBClassMap::get('SiteVideoMedia'); + $class_name = SwatDBClassMap::get(SiteVideoMedia::class); $this->media = new $class_name(); $this->media->setDatabase($this->app->db); if (!$this->media->load($media_id)) { diff --git a/Building/dataobjects/BuildingBlock.php b/Building/dataobjects/BuildingBlock.php index bf8101a..feec4b8 100644 --- a/Building/dataobjects/BuildingBlock.php +++ b/Building/dataobjects/BuildingBlock.php @@ -44,17 +44,17 @@ protected function init() $this->registerInternalProperty( 'attachment', - SwatDBClassMap::get('SiteAttachment') + SwatDBClassMap::get(SiteAttachment::class) ); $this->registerInternalProperty( 'image', - SwatDBClassMap::get('SiteImage') + SwatDBClassMap::get(SiteImage::class) ); $this->registerInternalProperty( 'media', - SwatDBClassMap::get('SiteVideoMedia') + SwatDBClassMap::get(SiteVideoMedia::class) ); $this->id_field = 'integer:id'; diff --git a/Building/dataobjects/BuildingBlockWrapper.php b/Building/dataobjects/BuildingBlockWrapper.php index 460e4e6..852fb34 100644 --- a/Building/dataobjects/BuildingBlockWrapper.php +++ b/Building/dataobjects/BuildingBlockWrapper.php @@ -13,7 +13,7 @@ class BuildingBlockWrapper extends SwatDBRecordsetWrapper protected function init() { parent::init(); - $this->row_wrapper_class = SwatDBClassMap::get('BuildingBlock'); + $this->row_wrapper_class = SwatDBClassMap::get(BuildingBlock::class); $this->index_field = 'id'; } } From b1ca1e0871e9df65d558167247677b91ad3b71f2 Mon Sep 17 00:00:00 2001 From: Colin Viebrock Date: Fri, 18 Jul 2025 16:49:23 -0400 Subject: [PATCH 2/7] Early return --- Building/BuildingBlockViewFactory.php | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Building/BuildingBlockViewFactory.php b/Building/BuildingBlockViewFactory.php index a80f036..fbd6445 100644 --- a/Building/BuildingBlockViewFactory.php +++ b/Building/BuildingBlockViewFactory.php @@ -36,18 +36,19 @@ public static function getBlockView( */ public static function getViewType(BuildingBlock $block) { - $type = 'building-block-xhtml'; - if ($block->media instanceof SiteAudioMedia) { - $type = 'building-block-audio'; - } elseif ($block->media instanceof SiteVideoMedia) { - $type = 'building-block-video'; - } elseif ($block->image instanceof SiteImage) { - $type = 'building-block-image'; - } elseif ($block->attachment instanceof SiteAttachment) { - $type = 'building-block-attachment'; + return 'building-block-audio'; + } + if ($block->media instanceof SiteVideoMedia) { + return 'building-block-video'; + } + if ($block->image instanceof SiteImage) { + return 'building-block-image'; + } + if ($block->attachment instanceof SiteAttachment) { + return 'building-block-attachment'; } - return $type; + return 'building-block-xhtml'; } } From 1c961f14674d063daf104fb8d51913f503aa3140 Mon Sep 17 00:00:00 2001 From: Colin Viebrock Date: Fri, 18 Jul 2025 16:49:30 -0400 Subject: [PATCH 3/7] Add dataobject property docs --- Building/dataobjects/BuildingBlock.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Building/dataobjects/BuildingBlock.php b/Building/dataobjects/BuildingBlock.php index feec4b8..4c95b12 100644 --- a/Building/dataobjects/BuildingBlock.php +++ b/Building/dataobjects/BuildingBlock.php @@ -5,6 +5,15 @@ * * @copyright 2014-2016 silverorange * @license http://www.opensource.org/licenses/mit-license.html MIT License + * + * @property int $id + * @property ?string $bodytext + * @property ?int $displayorder + * @property ?SwatDate $createdate + * @property ?SwatDate $modified_date + * @property ?SiteAttachment $attachment + * @property ?SiteImage $image + * @property ?SiteVideoMedia $media */ class BuildingBlock extends SwatDBDataObject { From af23be712a0392413b9be3bfc7c5e6f0eed3bf80 Mon Sep 17 00:00:00 2001 From: Colin Viebrock Date: Fri, 18 Jul 2025 16:56:12 -0400 Subject: [PATCH 4/7] Use SwatDBClassMap::new() where possible --- Building/admin/components/Block/AttachmentEdit.php | 6 ++---- Building/admin/components/Block/ImageEdit.php | 6 ++---- Building/admin/components/Block/VideoEdit.php | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Building/admin/components/Block/AttachmentEdit.php b/Building/admin/components/Block/AttachmentEdit.php index 6c403f2..cf02e41 100644 --- a/Building/admin/components/Block/AttachmentEdit.php +++ b/Building/admin/components/Block/AttachmentEdit.php @@ -28,8 +28,7 @@ protected function getAttachmentSet() $this->attachment_set = $this->getObject()->attachment->attachment_set; } else { - $class_name = SwatDBClassMap::get(SiteAttachmentSet::class); - $this->attachment_set = new $class_name(); + $this->attachment_set = SwatDBClassMap::new(SiteAttachmentSet::class); $this->attachment_set->setDatabase($this->app->db); $shortname = $this->getAttachmentSetShortname(); if (!$this->attachment_set->loadByShortname($shortname)) { @@ -48,8 +47,7 @@ protected function getAttachmentSet() protected function getNewAttachmentInstance() { - $class_name = SwatDBClassMap::get(SiteAttachment::class); - $attachment = new $class_name(); + $attachment = SwatDBClassMap::new(SiteAttachment::class); $attachment->setDatabase($this->app->db); $attachment->attachment_set = $this->getAttachmentSet(); diff --git a/Building/admin/components/Block/ImageEdit.php b/Building/admin/components/Block/ImageEdit.php index e89ac77..62873e9 100644 --- a/Building/admin/components/Block/ImageEdit.php +++ b/Building/admin/components/Block/ImageEdit.php @@ -27,8 +27,7 @@ protected function getImageSet() if ($this->getObject()->image instanceof SiteImage) { $this->image_set = $this->getObject()->image->image_set; } else { - $class_name = SwatDBClassMap::get(SiteImageSet::class); - $this->image_set = new $class_name(); + $this->image_set = SwatDBClassMap::new(SiteImageSet::class); $this->image_set->setDatabase($this->app->db); $shortname = $this->getImageSetShortname(); if (!$this->image_set->loadByShortname($shortname)) { @@ -47,8 +46,7 @@ protected function getImageSet() protected function getNewImageInstance() { - $class_name = SwatDBClassMap::get(SiteImage::class); - $image = new $class_name(); + $image = SwatDBClassMap::new(SiteImage::class); $image->setDatabase($this->app->db); $image->image_set = $this->getImageSet(); diff --git a/Building/admin/components/Block/VideoEdit.php b/Building/admin/components/Block/VideoEdit.php index 52de2a3..2b0af50 100644 --- a/Building/admin/components/Block/VideoEdit.php +++ b/Building/admin/components/Block/VideoEdit.php @@ -28,8 +28,7 @@ protected function getMedia() $media_id = $form->getHiddenField('media'); } - $class_name = SwatDBClassMap::get(SiteVideoMedia::class); - $this->media = new $class_name(); + $this->media = SwatDBClassMap::new(SiteVideoMedia::class); $this->media->setDatabase($this->app->db); if (!$this->media->load($media_id)) { throw new AdminNotFoundException( From 1289bf1042d37017074ced473e2882e80c1f8335 Mon Sep 17 00:00:00 2001 From: Colin Viebrock Date: Fri, 18 Jul 2025 17:00:58 -0400 Subject: [PATCH 5/7] Some inline type hinting to keep phpstan happy --- Building/admin/components/Block/VideoEdit.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Building/admin/components/Block/VideoEdit.php b/Building/admin/components/Block/VideoEdit.php index 2b0af50..817c251 100644 --- a/Building/admin/components/Block/VideoEdit.php +++ b/Building/admin/components/Block/VideoEdit.php @@ -24,6 +24,7 @@ protected function getMedia() } else { $media_id = $this->app->initVar('media'); if ($media_id === null) { + /** @var SwatForm $form */ $form = $this->ui->getWidget('edit_form'); $media_id = $form->getHiddenField('media'); } @@ -92,12 +93,16 @@ protected function buildInternal() $media = $this->getMedia(); $media->setFileBase('media'); - $this->ui->getWidget('edit_form')->addHiddenField('media', $media->id); + /** @var SwatForm $form */ + $form = $this->ui->getWidget('edit_form'); + $form->addHiddenField('media', $media->id); $player = $media->getMediaPlayer($this->app); ob_start(); $player->display(); - $this->ui->getWidget('player')->content = ob_get_clean(); + /** @var SwatContentBlock $ui_player */ + $ui_player = $this->ui->getWidget('player'); + $ui_player->content = ob_get_clean(); $this->layout->addHtmlHeadEntrySet($player->getHtmlHeadEntrySet()); } From 90647ab44ad1853b95e9ebff09aefcc3576ae39f Mon Sep 17 00:00:00 2001 From: Colin Viebrock Date: Fri, 18 Jul 2025 17:06:08 -0400 Subject: [PATCH 6/7] Fix default branch for package --- .github/workflows/pull-requests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml index 2b479da..54ab047 100644 --- a/.github/workflows/pull-requests.yml +++ b/.github/workflows/pull-requests.yml @@ -3,7 +3,7 @@ name: Pull Requests on: pull_request: branches: - - main + - master jobs: runner: From 8359655e4e7b2d4757bfd1a82b2e5285fe1db0dd Mon Sep 17 00:00:00 2001 From: Michael Gauthier Date: Fri, 25 Jul 2025 15:41:42 -0300 Subject: [PATCH 7/7] Prefer var doctypes and remove redundant type declarations --- Building/dataobjects/BuildingBlock.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Building/dataobjects/BuildingBlock.php b/Building/dataobjects/BuildingBlock.php index 4c95b12..b4927bf 100644 --- a/Building/dataobjects/BuildingBlock.php +++ b/Building/dataobjects/BuildingBlock.php @@ -6,11 +6,6 @@ * @copyright 2014-2016 silverorange * @license http://www.opensource.org/licenses/mit-license.html MIT License * - * @property int $id - * @property ?string $bodytext - * @property ?int $displayorder - * @property ?SwatDate $createdate - * @property ?SwatDate $modified_date * @property ?SiteAttachment $attachment * @property ?SiteImage $image * @property ?SiteVideoMedia $media @@ -23,7 +18,7 @@ class BuildingBlock extends SwatDBDataObject public $id; /** - * @var string + * @var ?string */ public $bodytext;