diff --git a/modules/update/update.fetch.inc b/modules/update/update.fetch.inc index 5cf70f312db4bbec83725d74a6156f5da1ea59ee..d1e381277ac64e27524253492d72c534d8db17b8 100644 --- a/modules/update/update.fetch.inc +++ b/modules/update/update.fetch.inc @@ -221,6 +221,11 @@ function start($parser, $name, $attr) { $this->current_term = array(); $this->current_object = &$this->current_term; break; + case 'FILE': + unset($this->current_object); + $this->current_file = array(); + $this->current_object = &$this->current_file; + break; } } @@ -252,6 +257,13 @@ function end($parser, $name) { case 'TERMS': $this->current_object = &$this->current_release; break; + case 'FILE': + unset($this->current_object); + $this->current_release['files'][] = $this->current_file; + break; + case 'FILES': + $this->current_object = &$this->current_release; + break; default: $this->current_object[strtolower($this->current_tag)] = trim($this->current_object[strtolower($this->current_tag)]); $this->current_tag = ''; @@ -259,7 +271,7 @@ function end($parser, $name) { } function data($parser, $data) { - if ($this->current_tag && !in_array($this->current_tag, array('PROJECT', 'RELEASE', 'RELEASES', 'TERM', 'TERMS'))) { + if ($this->current_tag && !in_array($this->current_tag, array('PROJECT', 'RELEASE', 'RELEASES', 'TERM', 'TERMS', 'FILE', 'FILES'))) { $tag = strtolower($this->current_tag); if (isset($this->current_object[$tag])) { $this->current_object[$tag] .= $data;