X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f9001779751f83dc8a10e478bfecb4d8dd5f964c..3d39054f012aefe514b3f5509e32f09fc4feda44:/wp-admin/link-parse-opml.php diff --git a/wp-admin/link-parse-opml.php b/wp-admin/link-parse-opml.php index e0d9ffab..1d051b52 100644 --- a/wp-admin/link-parse-opml.php +++ b/wp-admin/link-parse-opml.php @@ -9,20 +9,10 @@ if ( ! defined('ABSPATH') ) die(); -global $opml, $map; - -// columns we wish to find are: link_url, link_name, link_target, link_description -// we need to map XML attribute names to our columns -$opml_map = array('URL' => 'link_url', - 'HTMLURL' => 'link_url', - 'TEXT' => 'link_name', - 'TITLE' => 'link_name', - 'TARGET' => 'link_target', - 'DESCRIPTION' => 'link_description', - 'XMLURL' => 'link_rss' -); - -$map = $opml_map; +/** + * @global string $opml + */ +global $opml; /** * XML callback function for the start of a new XML tag. @@ -30,9 +20,6 @@ $map = $opml_map; * @since 0.71 * @access private * - * @uses $updated_timestamp Not used inside function. - * @uses $all_links Not used inside function. - * @uses $map Stores names of attributes to use. * @global array $names * @global array $urls * @global array $targets @@ -44,25 +31,31 @@ $map = $opml_map; * @param array $attrs XML element attributes. */ function startElement($parser, $tagName, $attrs) { - global $updated_timestamp, $all_links, $map; global $names, $urls, $targets, $descriptions, $feeds; - if ($tagName == 'OUTLINE') { - foreach (array_keys($map) as $key) { - if (isset($attrs[$key])) { - $$map[$key] = $attrs[$key]; - } + 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']; } - //echo("got data: link_url = [$link_url], link_name = [$link_name], link_target = [$link_target], link_description = [$link_description]
\n"); - - // save the data away. - $names[] = $link_name; - $urls[] = $link_url; - $targets[] = $link_target; - $feeds[] = $link_rss; - $descriptions[] = $link_description; - } // end if outline + // 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. } /** @@ -70,14 +63,12 @@ function startElement($parser, $tagName, $attrs) { * * @since 0.71 * @access private - * @package WordPress - * @subpackage Dummy * * @param mixed $parser XML Parser resource. * @param string $tagName XML tag name. */ function endElement($parser, $tagName) { - // nothing to do. + // Nothing to do. } // Create an XML parser @@ -86,12 +77,14 @@ $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, $opml, true)) { - 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))); +if ( ! xml_parse( $xml_parser, $opml, true ) ) { + printf( + /* translators: 1: error message, 2: line number */ + __( '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); -?>