/var/www/(Del)hsihk.com/wp-admin/link-parse-opml.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/**
 * Parse OPML XML files and store in globals.
 *
 * @package WordPress
 * @subpackage Administration
 */

if ( ! defined('ABSPATH') )
    die();

global 
$opml;

/**
 * XML callback function for the start of a new XML tag.
 *
 * @since 0.71
 * @access private
 *
 * @global array $names
 * @global array $urls
 * @global array $targets
 * @global array $descriptions
 * @global array $feeds
 *
 * @param mixed $parser XML Parser resource.
 * @param string $tagName XML element name.
 * @param array $attrs XML element attributes.
 */
function startElement($parser$tagName$attrs) {
    global 
$names$urls$targets$descriptions$feeds;

    if ( 
'OUTLINE' === $tagName ) {
        
$name '';
        if ( isset( 
$attrs['TEXT'] ) ) {
            
$name $attrs['TEXT'];
        }
        if ( isset( 
$attrs['TITLE'] ) ) {
            
$name $attrs['TITLE'];
        }
        
$url '';
        if ( isset( 
$attrs['URL'] ) ) {
            
$url $attrs['URL'];
        }
        if ( isset( 
$attrs['HTMLURL'] ) ) {
            
$url $attrs['HTMLURL'];
        }

        
// Save the data away.
        
$names[] = $name;
        
$urls[] = $url;
        
$targets[] = isset( $attrs['TARGET'] ) ? $attrs['TARGET'] :  '';
        
$feeds[] = isset( $attrs['XMLURL'] ) ? $attrs['XMLURL'] :  '';
        
$descriptions[] = isset( $attrs['DESCRIPTION'] ) ? $attrs['DESCRIPTION'] :  '';
    } 
// End if outline.
}

/**
 * XML callback function that is called at the end of a XML tag.
 *
 * @since 0.71
 * @access private
 *
 * @param mixed $parser XML Parser resource.
 * @param string $tagName XML tag name.
 */
function endElement($parser$tagName) {
    
// Nothing to do.
}

// Create an XML parser
$xml_parser xml_parser_create();

// Set the functions to handle opening and closing tags
xml_set_element_handler($xml_parser"startElement""endElement");

if (!
xml_parse($xml_parser$opmltrue)) {
    echo(
sprintf(__('XML error: %1$s at line %2$s'),
    
xml_error_string(xml_get_error_code($xml_parser)),
    
xml_get_current_line_number($xml_parser)));
}

// Free up memory used by the XML parser
xml_parser_free($xml_parser);