"; } if ($op == "Export") { print ""; print " " . date("r", time()) . " Tiny Tiny RSS Feed Export "; print ""; $cat_mode = false; if (get_pref($link, 'ENABLE_FEED_CATS')) { $cat_mode = true; $result = db_query($link, "SELECT title,feed_url,site_url, (SELECT title FROM ttrss_feed_categories WHERE id = cat_id) as cat_title FROM ttrss_feeds WHERE owner_uid = '$owner_uid' ORDER BY cat_title,title"); } else { $result = db_query($link, "SELECT * FROM ttrss_feeds ORDER BY title WHERE owner_uid = '$owner_uid'"); } $old_cat_title = ""; while ($line = db_fetch_assoc($result)) { $title = htmlspecialchars($line["title"]); $url = htmlspecialchars($line["feed_url"]); $site_url = htmlspecialchars($line["site_url"]); if ($cat_mode) { $cat_title = htmlspecialchars($line["cat_title"]); if ($old_cat_title != $cat_title) { if ($old_cat_title) { print "\n"; } if ($cat_title) { print "\n"; } $old_cat_title = $cat_title; } } if ($site_url) { $html_url_qpart = "htmlUrl=\"$site_url\""; } else { $html_url_qpart = ""; } print "\n"; } if ($cat_mode && $old_cat_title) { print "\n"; } print ""; } if ($op == "Import") { print "

Importing OPML...

"; if (WEB_DEMO_MODE) { print "OPML import is disabled in demo-mode."; print "

Return to preferences

"; return; } if (is_file($_FILES['opml_file']['tmp_name'])) { $dom = domxml_open_file($_FILES['opml_file']['tmp_name']); if ($dom) { $root = $dom->document_element(); $body = $root->get_elements_by_tagname('body'); if ($body[0]) { $body = $body[0]; $outlines = $body->get_elements_by_tagname('outline'); print ""; foreach ($outlines as $outline) { $feed_title = db_escape_string($outline->get_attribute('text')); if (!$feed_title) { $feed_title = db_escape_string($outline->get_attribute('title')); } $cat_title = db_escape_string($outline->get_attribute('title')); $feed_url = db_escape_string($outline->get_attribute('xmlUrl')); $site_url = db_escape_string($outline->get_attribute('htmlUrl')); if ($cat_title && !$feed_url) { db_query($link, "BEGIN"); $result = db_query($link, "SELECT id FROM ttrss_feed_categories WHERE title = '$cat_title' AND owner_uid = '$owner_uid' LIMIT 1"); if (db_num_rows($result) == 0) { print "Adding category $cat_title...
"; db_query($link, "INSERT INTO ttrss_feed_categories (title,owner_uid) VALUES ('$cat_title', '$owner_uid')"); } db_query($link, "COMMIT"); } // print "$active_category : $feed_title : $feed_url
"; if (!$feed_title || !$feed_url) continue; db_query($link, "BEGIN"); $cat_id = null; $parent_node = $outline->parent_node(); if ($parent_node && $parent_node->node_name() == "outline") { $element_category = $parent_node->get_attribute('title'); } else { $element_category = ''; } if ($element_category) { $result = db_query($link, "SELECT id FROM ttrss_feed_categories WHERE title = '$element_category' AND owner_uid = '$owner_uid' LIMIT 1"); if (db_num_rows($result) == 1) { $cat_id = db_fetch_result($result, 0, "id"); } } $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE (title = '$feed_title' OR feed_url = '$feed_url') AND owner_uid = '$owner_uid'"); print ""; if (db_num_rows($result) > 0) { print ""; } else { if ($cat_id) { $add_query = "INSERT INTO ttrss_feeds (title, feed_url, owner_uid, cat_id, site_url) VALUES ('$feed_title', '$feed_url', '$owner_uid', '$cat_id', '$site_url')"; } else { $add_query = "INSERT INTO ttrss_feeds (title, feed_url, owner_uid, site_url) VALUES ('$feed_title', '$feed_url', '$owner_uid', '$site_url')"; } db_query($link, $add_query); print ""; } print ""; db_query($link, "COMMIT"); } print "
$feed_title (rss)Already imported.Done.
"; } else { print "
Error: can't find body element.
"; } } else { print "
Error while parsing document.
"; } } else { print "
Error: please upload OPML file.
"; } print "

Return to preferences"; print ""; } // if ($link) db_close($link); ?>