Exemplo n.º 1
0
function LaunchExport()
{
    xoops_cp_header();
    adminmenu(4);
    echo "<br />";
    $story = new NewsStory();
    $topic = new NewsTopic();
    $exportedstories = array();
    $date1 = $_POST['date1'];
    $date2 = $_POST['date2'];
    $timestamp1 = mktime(0, 0, 0, intval(substr($date1, 5, 2)), intval(substr($date1, 8, 2)), intval(substr($date1, 0, 4)));
    $timestamp2 = mktime(0, 0, 0, intval(substr($date2, 5, 2)), intval(substr($date2, 8, 2)), intval(substr($date2, 0, 4)));
    $topiclist = '';
    if (isset($_POST['export_topics'])) {
        $topiclist = implode(",", $_POST['export_topics']);
    }
    $topicsexport = intval($_POST['includetopics']);
    $tbltopics = array();
    $exportedstories = $story->NewsExport($timestamp1, $timestamp2, $topiclist, $topicsexport, $tbltopics);
    if (count($exportedstories)) {
        $xmlfile = XOOPS_ROOT_PATH . '/uploads/stories.xml';
        $fp = fopen($xmlfile, 'w');
        if (!$fp) {
            redirect_header('index.php', 4, sprintf(_AM_NEWS_EXPORT_ERROR, $xmlfile));
        }
        fwrite($fp, "<?xml version=\"1.0\" ?>\n");
        fwrite($fp, "<xoops_stories>\n");
        if ($topicsexport) {
            foreach ($tbltopics as $onetopic) {
                fwrite($fp, "<xoops_topic>\n");
                $topic->NewsTopic($onetopic);
                fwrite($fp, sprintf("\t<topic_id>%u</topic_id>\n", $topic->topic_id()));
                fwrite($fp, sprintf("\t<topic_pid>%u</topic_pid>\n", $topic->topic_pid()));
                fwrite($fp, sprintf("\t<topic_imgurl>%s</topic_imgurl>\n", $topic->topic_imgurl()));
                fwrite($fp, sprintf("\t<topic_title>%s</topic_title>\n", $topic->topic_title('F')));
                fwrite($fp, sprintf("\t<menu>%d</menu>\n", $topic->menu()));
                fwrite($fp, sprintf("\t<topic_frontpage>%d</topic_frontpage>\n", $topic->topic_frontpage()));
                fwrite($fp, sprintf("\t<topic_rssurl>%s</topic_rssurl>\n", $topic->topic_rssurl('E')));
                fwrite($fp, sprintf("\t<topic_description>%s</topic_description>\n", $topic->topic_description()));
                fwrite($fp, sprintf("</xoops_topic>\n"));
            }
        }
        foreach ($exportedstories as $onestory) {
            fwrite($fp, "<xoops_story>\n");
            fwrite($fp, sprintf("\t<storyid>%u</storyid>\n", $onestory->storyid()));
            fwrite($fp, sprintf("\t<uid>%u</uid>\n", $onestory->uid()));
            fwrite($fp, sprintf("\t<uname>%s</uname>\n", $onestory->uname()));
            fwrite($fp, sprintf("\t<title>%s</title>\n", $onestory->title()));
            fwrite($fp, sprintf("\t<created>%u</created>\n", $onestory->created()));
            fwrite($fp, sprintf("\t<published>%u</published>\n", $onestory->published()));
            fwrite($fp, sprintf("\t<expired>%u</expired>\n", $onestory->expired()));
            fwrite($fp, sprintf("\t<hostname>%s</hostname>\n", $onestory->hostname()));
            fwrite($fp, sprintf("\t<nohtml>%d</nohtml>\n", $onestory->nohtml()));
            fwrite($fp, sprintf("\t<nosmiley>%d</nosmiley>\n", $onestory->nosmiley()));
            fwrite($fp, sprintf("\t<hometext>%s</hometext>\n", $onestory->hometext()));
            fwrite($fp, sprintf("\t<bodytext>%s</bodytext>\n", $onestory->bodytext()));
            fwrite($fp, sprintf("\t<description>%s</description>\n", $onestory->description()));
            fwrite($fp, sprintf("\t<keywords>%s</keywords>\n", $onestory->keywords()));
            fwrite($fp, sprintf("\t<counter>%u</counter>\n", $onestory->counter()));
            fwrite($fp, sprintf("\t<topicid>%u</topicid>\n", $onestory->topicid()));
            fwrite($fp, sprintf("\t<ihome>%d</ihome>\n", $onestory->ihome()));
            fwrite($fp, sprintf("\t<notifypub>%d</notifypub>\n", $onestory->notifypub()));
            fwrite($fp, sprintf("\t<story_type>%s</story_type>\n", $onestory->type()));
            fwrite($fp, sprintf("\t<topicdisplay>%d</topicdisplay>\n", $onestory->topicdisplay()));
            fwrite($fp, sprintf("\t<topicalign>%s</topicalign>\n", $onestory->topicalign()));
            fwrite($fp, sprintf("\t<comments>%u</comments>\n", $onestory->comments()));
            fwrite($fp, sprintf("\t<rating>%f</rating>\n", $onestory->rating()));
            fwrite($fp, sprintf("\t<votes>%u</votes>\n", $onestory->votes()));
            fwrite($fp, sprintf("</xoops_story>\n"));
        }
        fwrite($fp, "</xoops_stories>\n");
        fclose($fp);
        $xmlfile = XOOPS_URL . '/uploads/stories.xml';
        printf(_AM_NEWS_EXPORT_READY, $xmlfile, XOOPS_URL . '/modules/news/admin/index.php?op=deletefile&amp;type=xml');
    } else {
        printf(_AM_NEWS_EXPORT_NOTHING);
    }
}