private function setValue(&$var, Ezer_AssignStepToAttribute $to, $value) { $variable = $to->getVariable(); if ($to->hasPart()) { $part = $to->getPart(); if ($part->hasVariable()) { $variable = $part->getVariable(); // echo $to->getVariable() . " has part " . $part->getVariable() . "\n"; if (!isset($var[$variable])) { // echo "couldnt find part $variable\n"; return false; } return $this->setValue($var[$variable], $part, $value); } elseif ($part->hasPart() && is_array($var)) { $all_set = true; // $part_part = $part->getPart(); // echo "array part has part " . $part->getPart()->getVariable() . "\n"; foreach ($var as &$set_var) { if (!$this->setValue($set_var, $part, $value)) { $all_set = false; } } return $all_set; } } $var = $value; return true; }
private function addValue(&$var, Ezer_AssignStepToAttribute $to, $value) { $variable = $to->getVariable(); if ($to->hasPart()) { $part = $to->getPart(); if ($part->hasVariable()) { $variable = $part->getVariable(); if (!isset($var[$variable])) { $var[$variable] = null; } return $this->addValue($var[$variable], $part, $value); } elseif ($part->hasPart() && is_array($var)) { $all_set = true; foreach ($var as &$set_var) { if (!$this->addValue($set_var, $part, $value)) { $all_set = false; } } return $all_set; } } $var = $value; return true; }