public function hash_to_expression_tree($hash, $do_substitutions = true) { if ($hash == "undefined") { return; } if (!isset($this->obj_expression)) { // $this->obj_expression=new stdClass(); $this->obj_expression = new strings(); $this->obj_expression->get_from_hashrange($hash); $this->obj_expression->build(); } if (isset($this->obj_hf_parameters) && isset($this->obj_expression) && isset($this->obj_expression->body)) { if ($do_substitutions) { $this->obj_expression->value = replace_hf_parameters($this->obj_expression->body, $this->obj_hf_parameters); } else { if (isset($this->obj_expression)) { if (isset($this->obj_expression->body)) { $this->obj_expression->value = $this->obj_expression->body; } } else { } //$this->obj_expression->value=$this->obj_expression->body; } } if (isset($this->obj_expression) && !is_bool($this->obj_expression) && get_class($this->obj_expression) == "strings") { $this->obj_expression->obj_match_customs = array(); $match_custom = new match_custom(); $all_customs = $match_custom->get_from_hashrange($hash); if ($all_customs) { foreach ($all_customs as $each_custom) { $a_custom = new match_custom(); $a_custom->set($each_custom); $a_custom->build(); $this->obj_expression->obj_match_customs[$a_custom->idx_key] = $a_custom; } } // end if $this->obj_expression->obj_match_entries = array(); $match_entry = new match_entry(); $all_entries = $match_entry->get_from_hashrange($hash); if ($all_entries) { foreach ($all_entries as $each_entry) { $a_entry = new match_entry(); $a_entry->set($each_entry); $a_entry->build(); $this->obj_expression->obj_match_entries[$a_entry->idx_id] = $a_entry; } usort($this->obj_expression->obj_match_entries, "mesort"); } // end if } }