11<?php
22
3-
43function createModuleRegistry () {
54
6- // Set up registry array
7- $ registry = ['blueprints ' => [], 'templates ' => [], 'pageModels ' => []];
8-
9- // Add modules in site/modules
10- $ modulesFolder = kirby ()->root ('site ' ) . "/modules " ;
11- foreach (Dir::dirs ($ modulesFolder ) as $ folder ) {
12- $ blueprint = $ modulesFolder . "/ " . $ folder . "/ " . $ folder . ".yml " ;
13- $ template = $ modulesFolder . "/ " . $ folder . "/ " . $ folder . ".php " ;
14- if (F::exists ($ blueprint )) {
15- $ blueprintArray = Yaml::read ($ blueprint );
16- if (!array_key_exists ('status ' , $ blueprintArray )) {
17- $ blueprintArray ['status ' ] = [
18- 'draft ' => true ,
19- 'listed ' => true ,
20- ];
21- }
22- $ registry ['blueprints ' ]['pages/module. ' . $ folder ] = $ blueprintArray ;
23- $ registry ['templates ' ]['module. ' . $ folder ] = $ template ;
24- $ registry ['pageModels ' ]['module. ' . $ folder ] = option ('medienbaecker.modules.model ' , 'ModulePage ' );
25- }
26- }
27-
28- // Add legacy modules to registry
29- $ moduleBlueprints = array_filter (kirby ()->blueprints (), function ($ blueprint ) {
30- return Str::startsWith ($ blueprint , 'module. ' );
31- });
32- if (!empty ($ moduleBlueprints )) {
33- $ blueprintsFolder = kirby ()->root ('blueprints ' );
34- $ snippetsFolder = kirby ()->root ('snippets ' );
35- foreach ($ moduleBlueprints as $ moduleBlueprint ) {
36- $ blueprint = $ blueprintsFolder . "/pages/ " . $ moduleBlueprint . ".yml " ;
37- $ template = $ snippetsFolder . "/modules/ " . $ moduleBlueprint . ".php " ;
38- if (F::exists ($ blueprint )) {
39- $ blueprintArray = Yaml::read ($ blueprint );
40- if (!array_key_exists ('status ' , $ blueprintArray )) {
41- $ blueprintArray ['status ' ] = [
42- 'draft ' => true ,
43- 'listed ' => true ,
44- ];
45- }
46- if (!array_key_exists ('pages/ ' . $ moduleBlueprint , $ registry ['blueprints ' ])) {
47- $ registry ['blueprints ' ]['pages/ ' . $ moduleBlueprint ] = $ blueprintArray ;
48- }
49- if (!array_key_exists ($ moduleBlueprint , $ registry ['templates ' ])) {
50- $ registry ['templates ' ][$ moduleBlueprint ] = $ template ;
51- }
52- if (!array_key_exists ($ moduleBlueprint , $ registry ['pageModels ' ])) {
53- $ registry ['pageModels ' ][$ moduleBlueprint ] = option ('medienbaecker.modules.model ' , 'ModulePage ' );
54- }
55- }
56- }
57- }
58-
59- // Add modules container blueprint with redirect field
60- $ registry ['blueprints ' ]['pages/modules ' ] = [
61- 'title ' => 'Modules ' ,
62- 'options ' => [
63- 'changeSlug ' => false ,
64- 'changeStatus ' => false ,
65- 'changeTemplate ' => false
66- ],
67- 'fields ' => [
68- 'modules_redirect ' => true
69- ]
70- ];
71-
72- // Add modules container model
73- $ registry ['pageModels ' ]['modules ' ] = 'ModulesPage ' ;
74-
75-
76- return $ registry ;
5+ // Set up registry array
6+ $ registry = ['blueprints ' => [], 'templates ' => [], 'pageModels ' => []];
7+
8+ // Add modules in site/modules
9+ $ modulesFolder = kirby ()->root ('site ' ) . "/modules " ;
10+ foreach (Dir::dirs ($ modulesFolder ) as $ folder ) {
11+ $ blueprint = $ modulesFolder . "/ " . $ folder . "/ " . $ folder . ".yml " ;
12+ $ template = $ modulesFolder . "/ " . $ folder . "/ " . $ folder . ".php " ;
13+ if (F::exists ($ blueprint )) {
14+ $ blueprintArray = Yaml::read ($ blueprint );
15+ if (!array_key_exists ('status ' , $ blueprintArray )) {
16+ $ blueprintArray ['status ' ] = [
17+ 'draft ' => true ,
18+ 'listed ' => true ,
19+ ];
20+ }
21+ $ registry ['blueprints ' ]['pages/module. ' . $ folder ] = $ blueprintArray ;
22+ $ registry ['templates ' ]['module. ' . $ folder ] = $ template ;
23+ $ registry ['pageModels ' ]['module. ' . $ folder ] = option ('medienbaecker.modules.model ' , 'ModulePage ' );
24+ }
25+ }
26+
27+ // Add legacy modules to registry
28+ $ moduleBlueprints = array_filter (kirby ()->blueprints (), function ($ blueprint ) {
29+ return Str::startsWith ($ blueprint , 'module. ' );
30+ });
31+ if (!empty ($ moduleBlueprints )) {
32+ $ blueprintsFolder = kirby ()->root ('blueprints ' );
33+ $ snippetsFolder = kirby ()->root ('snippets ' );
34+ foreach ($ moduleBlueprints as $ moduleBlueprint ) {
35+ $ blueprint = $ blueprintsFolder . "/pages/ " . $ moduleBlueprint . ".yml " ;
36+ $ template = $ snippetsFolder . "/modules/ " . $ moduleBlueprint . ".php " ;
37+ if (F::exists ($ blueprint )) {
38+ $ blueprintArray = Yaml::read ($ blueprint );
39+ if (!array_key_exists ('status ' , $ blueprintArray )) {
40+ $ blueprintArray ['status ' ] = [
41+ 'draft ' => true ,
42+ 'listed ' => true ,
43+ ];
44+ }
45+ if (!array_key_exists ('pages/ ' . $ moduleBlueprint , $ registry ['blueprints ' ])) {
46+ $ registry ['blueprints ' ]['pages/ ' . $ moduleBlueprint ] = $ blueprintArray ;
47+ }
48+ if (!array_key_exists ($ moduleBlueprint , $ registry ['templates ' ])) {
49+ $ registry ['templates ' ][$ moduleBlueprint ] = $ template ;
50+ }
51+ if (!array_key_exists ($ moduleBlueprint , $ registry ['pageModels ' ])) {
52+ $ registry ['pageModels ' ][$ moduleBlueprint ] = option ('medienbaecker.modules.model ' , 'ModulePage ' );
53+ }
54+ }
55+ }
56+ }
57+
58+ // Add modules container blueprint with redirect field
59+ $ registry ['blueprints ' ]['pages/modules ' ] = [
60+ 'title ' => 'Modules ' ,
61+ 'options ' => [
62+ 'changeSlug ' => false ,
63+ 'changeStatus ' => false ,
64+ 'changeTemplate ' => false
65+ ],
66+ 'fields ' => [
67+ 'modules_redirect ' => true
68+ ]
69+ ];
70+
71+ // Add modules container model
72+ $ registry ['pageModels ' ]['modules ' ] = 'ModulesPage ' ;
73+
74+
75+ return $ registry ;
7776}
0 commit comments