private function mapConfig(Ezer_Config $config) { $id = uniqid('case_'); $case = new Ezer_Case($id, $config->identifier); $case->priority = $config->priority; foreach ($config->variables as $variable) { $value = null; if (isset($variable['value'])) { $value = $variable['value']; } if (isset($variable['part'])) { $value = array(); $this->addVariablePart($value, $variable['part']); } if ($variable->type == Ezer_Config::ARRAY_TYPE) { $value = array(); $arr = $variable->getArrayCopy(); foreach ($arr as $index => $part) { if (is_numeric($index)) { $this->addVariablePart($value, $part); } } } $case->addVariable($variable->name, $value); } return $case; }