11<?php
22require_once ("functions.php " );
33
4- $ dimensions = array ();
4+ // get form data
5+ $ showPerformed = ($ _GET ['performed ' ] ?? false ) == "true " ? "true " : false ;
6+ $ showPlanned = ($ _GET ['planned ' ] ?? false ) == "true " ? "true " : false ;
57
6- $ files = scandir ( " data " );
8+ $ dimensions = getDimensions ( );
79
8- $ dimensions = readYaml ("data/dimensions.yaml " );
9-
10- ksort ($ dimensions );
11- foreach ($ dimensions as $ dimensionName => $ subDimension ) {
12- ksort ($ subDimension );
13- foreach ($ subDimension as $ subDimensionName => $ elements ) {
14- if (substr ($ subDimensionName , 0 , 1 ) == "_ " )
15- continue ;
16- $ newElements = $ elements ;
17- ksort ($ newElements );
18- $ dimensions [$ dimensionName ][$ subDimensionName ] = $ newElements ;
19- }
20- }
21-
22- if (array_key_exists ("performed " , $ _GET )) {
23- $ showPerformed = $ _GET ['performed ' ];
24-
25- if ($ showPerformed != "true " ) $ showPerformed = false ;
26- } else {
27- $ showPerformed = false ;
28- }
29-
30- if (array_key_exists ("planned " , $ _GET )) {
31- $ showPlanned = $ _GET ['planned ' ];
32-
33- if ($ showPlanned != "true " ) $ showPlanned = false ;
34- } else {
35- $ showPlanned = false ;
36- }
10+ // Create filteredDimensions
3711$ filteredDimensions = array ();
38- foreach ($ dimensions as $ dimensionName => $ subDimension ) {
39- ksort ($ subDimension );
40- foreach ($ subDimension as $ subDimensionName => $ elements ) {
41- if (substr ($ subDimensionName , 0 , 1 ) == "_ " )
12+ foreach (getActions ($ dimensions ) as list ($ dimension , $ subdimension , $ activities )) {
13+ foreach ($ activities as $ activityName => $ activity ) {
14+ if (elementIsSelected ($ activityName ) && !$ showPerformed ) {
4215 continue ;
43- $ newElements = $ elements ;
44- ksort ($ newElements );
45- foreach ($ newElements as $ activityName => $ activity ) {
46- if (elementIsSelected ($ activityName ) && !$ showPerformed ) {
47- continue ;
48- }
49-
50- if (!elementIsSelected ($ activityName ) && !$ showPlanned ) {
51- continue ;
52- }
53- $ filteredDimensions [$ dimensionName ][$ subDimensionName ][$ activityName ] = $ activity ;
5416 }
5517
18+ if (!elementIsSelected ($ activityName ) && !$ showPlanned ) {
19+ continue ;
20+ }
21+ $ filteredDimensions [$ dimension ][$ subdimension ][$ activityName ] = $ activity ;
5622 }
5723}
5824
@@ -72,7 +38,7 @@ function getDifficultyOfImplementationWithDependencies($dimensions, $elementImpl
7238
7339 if (array_key_exists ('dependsOn ' , $ elementImplementation ) && $ aggregated == "true " ) {
7440 foreach ($ elementImplementation ['dependsOn ' ] as $ dependency ) {
75- $ dependencyElement = getElementByName ($ dimensions , $ dependency );
41+ $ dependencyElement = getActivity ($ dimensions , $ dependency );
7642 getDifficultyOfImplementationWithDependencies ($ dimensions , $ dependencyElement , $ allElements );
7743
7844
@@ -100,7 +66,7 @@ function getDifficultyOfImplementation($dimensions, $elementImplementation)
10066
10167 if (array_key_exists ('dependsOn ' , $ elementImplementation ) && $ aggregated == "true " ) {
10268 foreach ($ elementImplementation ['dependsOn ' ] as $ dependency ) {
103- $ dependencyElement = getElementByName ($ dimensions , $ dependency );
69+ $ dependencyElement = getActivity ($ dimensions , $ dependency );
10470 $ value += getDifficultyOfImplementation ($ dimensions , $ dependencyElement );
10571 }
10672 }
@@ -140,10 +106,8 @@ function getElementContent($element)
140106 if (!is_array ($ element )){
141107 return str_replace ("\"" , "' " , $ element );
142108 }
143-
144109 if (isAssoc ($ element )) {
145110 $ contentString = "" ;
146-
147111 foreach ($ element as $ title => $ elementContent ) {
148112 $ titleWithSpace = preg_replace ('/(?<=[a-z])[A-Z]|[A-Z](?=[a-z])/ ' , ' $0 ' , $ title );
149113 $ contentString .= "<b> " . ucfirst ($ titleWithSpace ) . "</b> " ;
@@ -182,6 +146,9 @@ function render_risk($risk) {
182146 }
183147 return $ risk ;
184148}
149+ /**
150+ * Render an activity in a tooltip.
151+ */
185152function build_table_tooltip ($ array , $ headerWeight = 2 )
186153{
187154 $ mapKnowLedge = array ("Very Low (one discipline) " , "Low (one discipline) " , "Medium (two disciplines) " , "High (two disciplines) " , "Very High (three or more disciplines) " );
@@ -210,13 +177,14 @@ function build_table_tooltip($array, $headerWeight = 2)
210177 return $ html ;
211178}
212179
213- function getElementByName ($ dimensions , $ name )
180+
181+ function getActivity ($ dimensions , $ name )
214182{
215183 foreach ($ dimensions as $ dimensionName => $ subDimension ) {
216- foreach ($ subDimension as $ subDimensionName => $ elements ) {
217- foreach ($ elements as $ activityName => $ element ) {
184+ foreach ($ subDimension as $ subDimensionName => $ activities ) {
185+ foreach ($ activities as $ activityName => $ activity ) {
218186 if ($ activityName == $ name ) {
219- return $ element ;
187+ return $ activity ;
220188 }
221189 }
222190 }
0 commit comments