Преглед изворни кода

:octocat: QROutputAbstract::setModuleValues() allow setting extra values from options

smiley пре 2 година
родитељ
комит
b8cebb6d1c
1 измењених фајлова са 8 додато и 4 уклоњено
  1. 8 4
      src/Output/QROutputAbstract.php

+ 8 - 4
src/Output/QROutputAbstract.php

@@ -94,12 +94,16 @@ abstract class QROutputAbstract implements QROutputInterface{
 	 */
 	 */
 	protected function setModuleValues():void{
 	protected function setModuleValues():void{
 
 
+		// first fill the map with the default values
 		foreach($this::DEFAULT_MODULE_VALUES as $M_TYPE => $defaultValue){
 		foreach($this::DEFAULT_MODULE_VALUES as $M_TYPE => $defaultValue){
-			$value = ($this->options->moduleValues[$M_TYPE] ?? null);
+			$this->moduleValues[$M_TYPE] = $this->getDefaultModuleValue($defaultValue);
+		}
 
 
-			$this->moduleValues[$M_TYPE] = $this::moduleValueIsValid($value)
-				? $this->prepareModuleValue($value)
-				: $this->getDefaultModuleValue($defaultValue);
+		// now loop over the options values to replace defaults and add extra values
+		foreach($this->options->moduleValues as $M_TYPE => $value){
+			if($this::moduleValueIsValid($value)){
+				$this->moduleValues[$M_TYPE] = $this->prepareModuleValue($value);
+			}
 		}
 		}
 
 
 	}
 	}