web/wp-links-opml.php
branchwordpress
changeset 109 03b0d1493584
child 132 4d4862461b8d
equal deleted inserted replaced
-1:000000000000 109:03b0d1493584
       
     1 <?php
       
     2 /**
       
     3  * Outputs the OPML XML format for getting the links defined in the link
       
     4  * administration. This can be used to export links from one blog over to
       
     5  * another. Links aren't exported by the WordPress export, so this file handles
       
     6  * that.
       
     7  *
       
     8  * This file is not added by default to WordPress theme pages when outputting
       
     9  * feed links. It will have to be added manually for browsers and users to pick
       
    10  * up that this file exists.
       
    11  *
       
    12  * @package WordPress
       
    13  */
       
    14 
       
    15 if (empty($wp)) {
       
    16 	require_once('./wp-load.php');
       
    17 	wp();
       
    18 }
       
    19 
       
    20 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
       
    21 $link_cat = $_GET['link_cat'];
       
    22 if ((empty ($link_cat)) || ($link_cat == 'all') || ($link_cat == '0')) {
       
    23 	$link_cat = '';
       
    24 } else { // be safe
       
    25 	$link_cat = '' . urldecode($link_cat) . '';
       
    26 	$link_cat = intval($link_cat);
       
    27 }
       
    28 ?><?php echo '<?xml version="1.0"?'.">\n"; ?>
       
    29 <?php the_generator( 'comment' ); ?>
       
    30 <opml version="1.0">
       
    31 	<head>
       
    32 		<title>Links for <?php echo esc_attr(get_bloginfo('name', 'display').$cat_name); ?></title>
       
    33 		<dateCreated><?php echo gmdate("D, d M Y H:i:s"); ?> GMT</dateCreated>
       
    34 	</head>
       
    35 	<body>
       
    36 <?php
       
    37 
       
    38 if (empty ($link_cat))
       
    39 	$cats = get_categories("type=link&hierarchical=0");
       
    40 else
       
    41 	$cats = get_categories('type=link&hierarchical=0&include='.$link_cat);
       
    42 
       
    43 foreach ((array) $cats as $cat) {
       
    44 	$catname = apply_filters('link_category', $cat->name);
       
    45 
       
    46 ?>
       
    47 <outline type="category" title="<?php echo esc_attr($catname); ?>">
       
    48 <?php
       
    49 
       
    50 	$bookmarks = get_bookmarks("category={$cat->term_id}");
       
    51 	foreach ((array) $bookmarks as $bookmark) {
       
    52 		$title = esc_attr(apply_filters('link_title', $bookmark->link_name));
       
    53 ?>
       
    54 	<outline text="<?php echo $title; ?>" type="link" xmlUrl="<?php echo esc_attr($bookmark->link_rss); ?>" htmlUrl="<?php echo esc_attr($bookmark->link_url); ?>" updated="<?php if ('0000-00-00 00:00:00' != $bookmark->link_updated) echo $bookmark->link_updated; ?>" />
       
    55 <?php
       
    56 
       
    57 	}
       
    58 ?>
       
    59 </outline>
       
    60 <?php
       
    61 
       
    62 }
       
    63 ?>
       
    64 </body>
       
    65 </opml>