Changeset 1458

Show
Ignore:
Timestamp:
12/14/07 12:28:56 (7 months ago)
Author:
bwerdmuller
Message:

Full blog export in RSS format.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • devel/mod/export/blog.php

    r1457 r1458  
    1010        if (isloggedin()) { 
    1111         
     12                header('Content-Disposition: attachment'); 
    1213                header("Content-type: text/xml"); 
    1314                echo export_as_rss($_SESSION['userid']); 
  • devel/mod/export/lib.php

    r1457 r1458  
    1212                    $PAGE->menu_sub[]= array ( 
    1313                        'name' => 'blog:export', 
    14                         'html' => "<a href=\"{$CFG->wwwroot}mod/export/blog.php\">". __gettext("Export blog as RSS") ."</a>" 
     14                        'html' => "<a href=\"{$CFG->wwwroot}mod/export/blog.php/export.rss\">". __gettext("Download blog as RSS") ."</a>" 
    1515                    ); 
    1616                } 
     
    3131                 
    3232                $name = user_info("name", $blog_id); 
     33                $username = user_info("username", $blog_id); 
     34 
    3335                $rssweblog = __gettext("Weblog items"); 
    3436                $rssdescription = sprintf(__gettext("The weblog for %s, hosted on %s."),$name,$CFG->sitename); 
     
    3941        <title><![CDATA[$name : $rssweblog]]></title> 
    4042        <description><![CDATA[$rssdescription]]></description> 
    41         <link>{$CFG->wwwroot}</link> 
     43        <link>{$CFG->wwwroot}{$username}/weblog/</link> 
    4244END; 
    4345 
    44                 $output .= run("weblogs:rss:getitems", array($blog_id, 10000)); 
     46                $where = run("users:access_level_sql_where",$_SESSION['userid']); 
     47                if ($posts = get_records_select('weblog_posts','('.$where.') AND weblog = '.$blog_id,null,'posted DESC','*')) { 
     48                    foreach($posts as $entry) { 
     49                            $title = (stripslashes($entry->title)); 
     50                            $link = url . $username . "/weblog/" . $entry->ident . ".html"; 
     51                            $body = (run("weblogs:text:process",stripslashes($entry->body))); 
     52                            $pubdate = gmdate("D, d M Y H:i:s T", $entry->posted); 
     53                            $keywordtags = ""; 
     54                            if ($keywords = get_records_select('tags','tagtype = ? AND ref = ?',array('weblog',$entry->ident))) { 
     55                                foreach($keywords as $keyword) { 
     56                                    $keywordtags .= "\n\t\t<dc:subject><![CDATA[" . (stripslashes($keyword->tag)) . "]]></dc:subject>"; 
     57                                } 
     58                            } 
     59                            $output .= <<< END 
     60         
     61        <item> 
     62            <title><![CDATA[$title]]></title> 
     63            <link>$link</link> 
     64            <guid isPermaLink="true">$link</guid> 
     65            <pubDate>$pubdate</pubDate>$keywordtags 
     66            <description><![CDATA[$body]]></description> 
     67        </item> 
     68         
     69END; 
     70                    } 
     71                } 
     72 
     73                //$output .= run("weblogs:rss:getitems", array($blog_id, 10000,null,"complete")); 
    4574 
    4675                $output .= <<< END