| <?php |
| |
| |
| |
| |
| |
| |
|
|
| if ( ! defined( 'ABSPATH' ) ) { |
| die(); |
| } |
|
|
| |
| |
| |
| global $opml; |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function startElement( $parser, $tag_name, $attrs ) { |
| global $names, $urls, $targets, $descriptions, $feeds; |
|
|
| if ( 'OUTLINE' === $tag_name ) { |
| $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']; |
| } |
|
|
| |
| $names[] = $name; |
| $urls[] = $url; |
| $targets[] = isset( $attrs['TARGET'] ) ? $attrs['TARGET'] : ''; |
| $feeds[] = isset( $attrs['XMLURL'] ) ? $attrs['XMLURL'] : ''; |
| $descriptions[] = isset( $attrs['DESCRIPTION'] ) ? $attrs['DESCRIPTION'] : ''; |
| } |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function endElement( $parser, $tag_name ) { |
| |
| } |
|
|
| |
| if ( ! function_exists( 'xml_parser_create' ) ) { |
| wp_trigger_error( '', __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) ); |
| wp_die( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) ); |
| } |
|
|
| $xml_parser = xml_parser_create(); |
|
|
| |
| xml_set_element_handler( $xml_parser, 'startElement', 'endElement' ); |
|
|
| if ( ! xml_parse( $xml_parser, $opml, true ) ) { |
| printf( |
| |
| __( 'XML Error: %1$s at line %2$s' ), |
| xml_error_string( xml_get_error_code( $xml_parser ) ), |
| xml_get_current_line_number( $xml_parser ) |
| ); |
| } |
|
|
| |
| xml_parser_free( $xml_parser ); |
| unset( $xml_parser ); |
|
|