@@ -421,16 +421,19 @@ private function readConditions(): void
421421 */
422422 protected function readBoxImages ()
423423 {
424- if (! empty ( $ this ->imageID )) {
425- $ mediaList = new ViewableMediaList ();
426- $ mediaList -> setObjectIDs ( $ this -> imageID ) ;
427- $ mediaList -> readObjects ();
424+ $ imageIDs = \array_filter ( $ this ->imageID );
425+ if ( $ imageIDs === []) {
426+ return ;
427+ }
428428
429- foreach ($ this ->imageID as $ languageID => $ imageID ) {
430- $ image = $ mediaList ->search ($ imageID );
431- if ($ image !== null && $ image ->isImage ) {
432- $ this ->images [$ languageID ] = $ image ;
433- }
429+ $ mediaList = new ViewableMediaList ();
430+ $ mediaList ->setObjectIDs (\array_values ($ imageIDs ));
431+ $ mediaList ->readObjects ();
432+
433+ foreach ($ imageIDs as $ languageID => $ imageID ) {
434+ $ image = $ mediaList ->search ($ imageID );
435+ if ($ image !== null && $ image ->isImage ) {
436+ $ this ->images [$ languageID ] = $ image ;
434437 }
435438 }
436439 }
@@ -503,7 +506,7 @@ public function validate()
503506 // validate images
504507 if (WCF ::getSession ()->getPermission ('admin.content.cms.canUseMedia ' )) {
505508 foreach ($ this ->imageID as $ languageID => $ imageID ) {
506- if (!isset ($ this ->images [$ languageID ])) {
509+ if ($ imageID !== 0 && !isset ($ this ->images [$ languageID ])) {
507510 throw new UserInputException ('imageID ' . $ languageID );
508511 }
509512 }
0 commit comments