diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/opml_domdoc.php | 20 | ||||
-rw-r--r-- | modules/opml_domxml.php | 147 | ||||
-rw-r--r-- | modules/popup-dialog.php | 61 | ||||
-rw-r--r-- | modules/pref-feeds.php | 23 |
4 files changed, 160 insertions, 91 deletions
diff --git a/modules/opml_domdoc.php b/modules/opml_domdoc.php index a29a1eb69..51b771337 100644 --- a/modules/opml_domdoc.php +++ b/modules/opml_domdoc.php @@ -22,8 +22,6 @@ $outlines = $xpath->query($query); - print "<table>"; - foreach ($outlines as $outline) { $feed_title = db_escape_string($outline->attributes->getNamedItem('text')->nodeValue); @@ -51,7 +49,7 @@ if (db_num_rows($result) == 0) { - printf(__("Adding category <b>%s</b>...<br>"), $cat_title); + printf(__("<li>Adding category <b>%s</b>.</li>"), $cat_title); db_query($link, "INSERT INTO ttrss_feed_categories (title,owner_uid) @@ -96,11 +94,11 @@ feed_url = '$feed_url' AND owner_uid = '$owner_uid'"); - print "<tr><td><a target='_blank' href='$site_url'><b>$feed_title</b></a></b> - (<a target='_blank' href=\"$feed_url\">rss</a>)</td>"; + print "<li><a target='_blank' href='$site_url'><b>$feed_title</b></a></b> + (<a target='_blank' href=\"$feed_url\">rss</a>) "; if (db_num_rows($result) > 0) { - print "<td>".__('Already imported.')."</td>"; + print __('is already imported.'); } else { if ($cat_id) { @@ -120,22 +118,20 @@ //print $add_query; db_query($link, $add_query); - print "<td><b>".__('Done.')."</b></td>"; + print __('OK'); } - print "</tr>"; + print "</li>"; db_query($link, "COMMIT"); } - print "</table>"; - } else { - print "<div class=\"error\">".__('Error while parsing document.')."</div>"; + print_error(__('Error while parsing document.')); } } else { - print "<div class=\"error\">".__('Error: please upload OPML file.')."</div>"; + print_error(__('Error: please upload OPML file.')); } diff --git a/modules/opml_domxml.php b/modules/opml_domxml.php index 9364145b1..1cc1467a8 100644 --- a/modules/opml_domxml.php +++ b/modules/opml_domxml.php @@ -24,123 +24,118 @@ $outlines = $body->get_elements_by_tagname('outline'); - print "<table>"; + foreach ($outlines as $outline) { - foreach ($outlines as $outline) { + $feed_title = db_escape_string($outline->get_attribute('text')); - $feed_title = db_escape_string($outline->get_attribute('text')); - - if (!$feed_title) { - $feed_title = db_escape_string($outline->get_attribute('title')); - } + if (!$feed_title) { + $feed_title = db_escape_string($outline->get_attribute('title')); + } - $cat_title = db_escape_string($outline->get_attribute('title')); + $cat_title = db_escape_string($outline->get_attribute('title')); - if (!$cat_title) { - $cat_title = db_escape_string($outline->get_attribute('text')); - } - - $feed_url = db_escape_string($outline->get_attribute('xmlUrl')); - $site_url = db_escape_string($outline->get_attribute('htmlUrl')); + if (!$cat_title) { + $cat_title = db_escape_string($outline->get_attribute('text')); + } - if ($cat_title && !$feed_url) { + $feed_url = db_escape_string($outline->get_attribute('xmlUrl')); + $site_url = db_escape_string($outline->get_attribute('htmlUrl')); - 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 ($cat_title && !$feed_url) { - if (db_num_rows($result) == 0) { + 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"); - printf(__("Adding category <b>%s</b>."), $cat_title); - print "<br>"; + if (db_num_rows($result) == 0) { - db_query($link, "INSERT INTO ttrss_feed_categories - (title,owner_uid) - VALUES ('$cat_title', '$owner_uid')"); - } + printf(__("<li>Adding category <b>%s</b>.</li>"), $cat_title); - db_query($link, "COMMIT"); + db_query($link, "INSERT INTO ttrss_feed_categories + (title,owner_uid) + VALUES ('$cat_title', '$owner_uid')"); } -// print "$active_category : $feed_title : $feed_url<br>"; + db_query($link, "COMMIT"); + } - if (!$feed_title || !$feed_url) continue; +// print "$active_category : $feed_title : $feed_url<br>"; - db_query($link, "BEGIN"); + if (!$feed_title || !$feed_url) continue; - $cat_id = null; + db_query($link, "BEGIN"); - $parent_node = $outline->parent_node(); + $cat_id = null; - if ($parent_node && $parent_node->node_name() == "outline") { - $element_category = $parent_node->get_attribute('title'); - if (!$element_category) $element_category = $parent_node->get_attribute('text'); + $parent_node = $outline->parent_node(); - } else { - $element_category = ''; - } + if ($parent_node && $parent_node->node_name() == "outline") { + $element_category = $parent_node->get_attribute('title'); + if (!$element_category) $element_category = $parent_node->get_attribute('text'); - if ($element_category) { + } else { + $element_category = ''; + } - $element_category = db_escape_string($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"); + $element_category = db_escape_string($element_category); - if (db_num_rows($result) == 1) { - $cat_id = db_fetch_result($result, 0, "id"); - } - } + $result = db_query($link, "SELECT id FROM + ttrss_feed_categories WHERE title = '$element_category' AND + owner_uid = '$owner_uid' LIMIT 1"); - $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE - feed_url = '$feed_url' - AND owner_uid = '$owner_uid'"); + if (db_num_rows($result) == 1) { + $cat_id = db_fetch_result($result, 0, "id"); + } + } - print "<tr><td><a target='_blank' href='$site_url'><b>$feed_title</b></a></b> - (<a target='_blank' href=\"$feed_url\">rss</a>)</td>"; + $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE + feed_url = '$feed_url' + AND owner_uid = '$owner_uid'"); - if (db_num_rows($result) > 0) { - print "<td>".__("Already imported.")."</td>"; - } else { + print "<li><a target='_blank' href='$site_url'><b>$feed_title</b></a></b> + (<a target='_blank' href=\"$feed_url\">rss</a>) "; - 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')"; + if (db_num_rows($result) > 0) { + print __("is already imported."); + } else { - } else { - $add_query = "INSERT INTO ttrss_feeds - (title, feed_url, owner_uid, cat_id, site_url) VALUES - ('$feed_title', '$feed_url', '$owner_uid', '$default_cat_id', - '$site_url')"; + 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, cat_id, site_url) VALUES + ('$feed_title', '$feed_url', '$owner_uid', '$default_cat_id', + '$site_url')"; - db_query($link, $add_query); - - print "<td><b>".__('Done.')."</b></td>"; } - print "</tr>"; + db_query($link, $add_query); - db_query($link, "COMMIT"); + print __('OK'); } - print "</table>"; + print "</li>"; + + db_query($link, "COMMIT"); + } } else { - print "<div class=\"error\">".__("Error: can't find body element.")."</div>"; + print_error(__("Error: can't find body element.")); } } else { - print "<div class=\"error\">".__("Error while parsing document.")."</div>"; + print_error(__("Error while parsing document.")); } } else { - print "<div class=\"error\">".__("Error: please upload OPML file.")."</div>"; + print_error(__("Error: please upload OPML file.")); } } diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php index 7ba30a9f7..06a82ad57 100644 --- a/modules/popup-dialog.php +++ b/modules/popup-dialog.php @@ -3,6 +3,67 @@ $id = $_REQUEST["id"]; $param = db_escape_string($_REQUEST["param"]); + if ($id == "importOpml") { + print "<div id=\"infoBoxTitle\">".__('OPML Import')."</div>"; + print "<div class=\"infoBoxContents\">"; + + print "<div class=\"prefFeedCatHolder\">"; + + $owner_uid = $_SESSION["uid"]; + + db_query($link, "BEGIN"); + + /* create Imported feeds category just in case */ + + $result = db_query($link, "SELECT id FROM + ttrss_feed_categories WHERE title = 'Imported feeds' AND + owner_uid = '$owner_uid' LIMIT 1"); + + if (db_num_rows($result) == 0) { + db_query($link, "INSERT INTO ttrss_feed_categories + (title,owner_uid) + VALUES ('Imported feeds', '$owner_uid')"); + } + + db_query($link, "COMMIT"); + + /* Handle OPML import by DOMXML/DOMDocument */ + + if (function_exists('domxml_open_file')) { + print "<ul class='nomarks'>"; + print "<li>".__("Importing using DOMXML.")."</li>"; + require_once "modules/opml_domxml.php"; + opml_import_domxml($link, $owner_uid); + print "</ul>"; + } else if (PHP_VERSION >= 5) { + print "<ul class='nomarks'>"; + print "<li>".__("Importing using DOMDocument.")."</li>"; + require_once "modules/opml_domdoc.php"; + opml_import_domdoc($link, $owner_uid); + print "</ul>"; + } else { + print_error(__("DOMXML extension is not found. It is required for PHP versions below 5.")); + } + + print "</div>"; + + print "<div align='center'>"; + + print "<input class=\"button\" + type=\"submit\" onclick=\"return opmlImportDone()\" + value=\"".__('Close this window')."\">"; + + print "</div>"; + + print "<script type=\"text/javascript\">"; + print "parent.opml_import_handler(this)"; + print "</script>"; + + print "</div></div>"; + + return; + } + if ($id == "editPrefProfiles") { print "<div id=\"infoBoxTitle\">".__('Settings Profiles')."</div>"; diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index 05c796bb3..e724125ec 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -719,6 +719,8 @@ foreach ($ids as $id) { remove_feed($link, $id, $_SESSION["uid"]); } + + return; } if ($subop == "clear") { @@ -1377,9 +1379,9 @@ } - print "<h3>".__('OPML')."</h3> + print "<h3>".__('OPML')."</h3>"; - <div style='float : left'> +/* print "<div style='float : left'> <form enctype=\"multipart/form-data\" method=\"POST\" action=\"opml.php\"> ".__('File:')." <input id=\"opml_file\" name=\"opml_file\" type=\"file\"> <input type=\"hidden\" name=\"op\" value=\"Import\"> @@ -1387,7 +1389,22 @@ type=\"submit\">".__('Import')."</button> </form></div>"; - print " "; + print " "; */ + + print "<iframe name=\"upload_iframe\" onchange=\"opml_import_handler(this)\" + style=\"width: 400px; height: 100px; display: none;\"></iframe>"; + + print "<div style='float : left'>"; + print "<form style='display : block' target=\"upload_iframe\" + enctype=\"multipart/form-data\" method=\"POST\" + action=\"backend.php\"> + <input id=\"opml_file\" name=\"opml_file\" type=\"file\"> + <input type=\"hidden\" name=\"op\" value=\"dlg\"> + <input type=\"hidden\" name=\"id\" value=\"importOpml\"> + <button onclick=\"return opmlImport();\" + type=\"submit\">".__('Import')."</button> + </form>"; + print "</div> "; print "<button onclick=\"gotoExportOpml()\">". __('Export OPML')."</button>"; |