Example #1
0
 protected function new_element_value(&$signal)
 {
     $element = $signal->data_element($this->from_data_key($signal));
     $sub = get_subelement($element, $this->from_sublevels);
     unset_subelement($element, $this->from_sublevels);
     $signal->set_data_element($element, $data_key);
     return $sub;
 }
Example #2
0
function get_subelement($compound, $subspath)
{
    if (empty($subspath)) {
        return $compound;
    }
    $level = array_shift($subspath);
    if (is_array($compound)) {
        if (array_key_exists($level, $compound)) {
            return get_subelement($compound[$level], $subspath);
        } else {
            return NULL;
        }
    } elseif (is_object($compound)) {
        if (property_exists($level, $compound)) {
            return get_subelement($compound->{$level}, $subspath);
        } else {
            return NULL;
        }
    } else {
        return NULL;
    }
}
Example #3
0
 protected function new_element_value(&$signal)
 {
     $element = get_subelement($signal->data_element($this->from_data_key($signal)), $this->from_sublevels);
     return $this->check_and_modify_element($element);
 }
Example #4
0
 protected function element_property($element, $sublevels)
 {
     return get_subelement($element, $sublevels);
 }