WXR_Parser_XML::tag_close PHP Method

tag_close() public method

public tag_close ( $parser, $tag )
    function tag_close($parser, $tag)
    {
        switch ($tag) {
            case 'wp:comment':
                unset($this->sub_data['key'], $this->sub_data['value']);
                // remove meta sub_data
                if (!empty($this->sub_data)) {
                    $this->data['comments'][] = $this->sub_data;
                }
                $this->sub_data = false;
                break;
            case 'wp:commentmeta':
                $this->sub_data['commentmeta'][] = array('key' => $this->sub_data['key'], 'value' => $this->sub_data['value']);
                break;
            case 'category':
                if (!empty($this->sub_data)) {
                    $this->sub_data['name'] = $this->cdata;
                    $this->data['terms'][] = $this->sub_data;
                }
                $this->sub_data = false;
                break;
            case 'wp:postmeta':
                if (!empty($this->sub_data)) {
                    $this->data['postmeta'][] = $this->sub_data;
                }
                $this->sub_data = false;
                break;
            case 'item':
                $this->posts[] = $this->data;
                $this->data = false;
                break;
            case 'wp:category':
            case 'wp:tag':
            case 'wp:term':
                $n = substr($tag, 3);
                array_push($this->{$n}, $this->data);
                $this->data = false;
                break;
            case 'wp:author':
                if (!empty($this->data['author_login'])) {
                    $this->authors[$this->data['author_login']] = $this->data;
                }
                $this->data = false;
                break;
            case 'wp:base_site_url':
                $this->base_url = $this->cdata;
                break;
            case 'wp:wxr_version':
                $this->wxr_version = $this->cdata;
                break;
            default:
                if ($this->in_sub_tag) {
                    $this->sub_data[$this->in_sub_tag] = !empty($this->cdata) ? $this->cdata : '';
                    $this->in_sub_tag = false;
                } else {
                    if ($this->in_tag) {
                        $this->data[$this->in_tag] = !empty($this->cdata) ? $this->cdata : '';
                        $this->in_tag = false;
                    }
                }
        }
        $this->cdata = false;
    }