summaryrefslogtreecommitdiff
path: root/modules/opml_domdoc.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-06-29 14:26:10 +0400
committerAndrew Dolgov <[email protected]>2010-06-29 14:26:10 +0400
commite955834551d3ef496bd05c76826363d40b730ea4 (patch)
tree689b523cfcad597d51d5c3c350b42683806c000a /modules/opml_domdoc.php
parent50e7dd7d01de742006ebbac9322bc775d0f564a3 (diff)
support import and export of tt-rss preferences in OPML with DOMDocument OPML path
Diffstat (limited to 'modules/opml_domdoc.php')
-rw-r--r--modules/opml_domdoc.php51
1 files changed, 38 insertions, 13 deletions
diff --git a/modules/opml_domdoc.php b/modules/opml_domdoc.php
index 51b771337..72eeeb1d6 100644
--- a/modules/opml_domdoc.php
+++ b/modules/opml_domdoc.php
@@ -1,6 +1,8 @@
<?php
function opml_import_domdoc($link, $owner_uid) {
+ $_FILES['opml_file']['tmp_name'] = '/home/fox/opml.php';
+
if (is_file($_FILES['opml_file']['tmp_name'])) {
$doc = DOMDocument::load($_FILES['opml_file']['tmp_name']);
@@ -39,27 +41,50 @@
$feed_url = db_escape_string($outline->attributes->getNamedItem('xmlUrl')->nodeValue);
$site_url = db_escape_string($outline->attributes->getNamedItem('htmlUrl')->nodeValue);
+ $pref_name = db_escape_string($outline->attributes->getNamedItem('pref-name')->nodeValue);
+
if ($cat_title && !$feed_url) {
- db_query($link, "BEGIN");
+ if ($cat_title != "tt-rss-prefs") {
+
+ 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) {
+
+ printf(__("<li>Adding category <b>%s</b>.</li>"), $cat_title);
+
+ db_query($link, "INSERT INTO ttrss_feed_categories
+ (title,owner_uid)
+ VALUES ('$cat_title', '$owner_uid')");
+ }
+
+ db_query($link, "COMMIT");
+ }
+ }
- $result = db_query($link, "SELECT id FROM
- ttrss_feed_categories WHERE title = '$cat_title' AND
- owner_uid = '$owner_uid' LIMIT 1");
+ // print "$active_category : $feed_title : $feed_url<br>";
- if (db_num_rows($result) == 0) {
+ if ($pref_name) {
+ $parent_node = $outline->parentNode;
- printf(__("<li>Adding category <b>%s</b>.</li>"), $cat_title);
+ if ($parent_node && $parent_node->nodeName == "outline") {
+ $cat_check = $parent_node->attributes->getNamedItem('title')->nodeValue;
+ if ($cat_check == "tt-rss-prefs") {
+ $pref_value = db_escape_string($outline->attributes->getNamedItem('value')->nodeValue);
- db_query($link, "INSERT INTO ttrss_feed_categories
- (title,owner_uid)
- VALUES ('$cat_title', '$owner_uid')");
- }
+ printf("<li>".
+ __("Setting preference key %s to %s")."</li>",
+ $pref_name, $pref_value);
- db_query($link, "COMMIT");
- }
+ set_pref($link, $pref_name, $pref_value);
- // print "$active_category : $feed_title : $feed_url<br>";
+ }
+ }
+ }
if (!$feed_title || !$feed_url) continue;