X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=classes%2Fdlg.php;h=9ac5cd12fef16f8a1bcec52a7ab24edec59aa239;hb=e2b8c9273e09091c235959c25d8e4d8122aa6ca8;hp=2d1cb9cc5692c26a7d07138d7adcaacc6b9f1232;hpb=566faa14760112f81eea78fe441d5adc1b872da1;p=tt-rss.git
diff --git a/classes/dlg.php b/classes/dlg.php
index 2d1cb9cc..9ac5cd12 100644
--- a/classes/dlg.php
+++ b/classes/dlg.php
@@ -1,68 +1,29 @@
param = db_escape_string($_REQUEST["param"]);
- print "";
+ function before($method) {
+ if (parent::before($method)) {
+ header("Content-Type: text/html"); # required for iframe
+
+ $this->param = $_REQUEST["param"];
return true;
}
return false;
}
- function after() {
- print " ";
- }
-
- function exportData() {
-
- print "
You need to prepare exported data first by clicking the button below.
";
-
- print "";
- print "".
- __('Prepare data')." ";
-
- print "".
- __('Close this window')." ";
-
- print "
";
-
-
- }
-
function importOpml() {
- header("Content-Type: text/html"); # required for iframe
-
print __("If you have imported labels and/or filters, you might need to reload preferences to see your new data.") . "";
print "";
- $owner_uid = $_SESSION["uid"];
-
- db_query($this->link, "BEGIN");
-
- /* create Imported feeds category just in case */
- $result = db_query($this->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($this->link, "INSERT INTO ttrss_feed_categories
- (title,owner_uid)
- VALUES ('Imported feeds', '$owner_uid')");
- }
+ print "
";
- db_query($this->link, "COMMIT");
+ $opml = new Opml($_REQUEST);
- /* Handle OPML import by DOMXML/DOMDocument */
+ $opml->opml_import($_SESSION["uid"]);
- print "";
- require_once "opml.php";
- opml_import_domdoc($this->link, $owner_uid);
print " ";
print " ";
@@ -77,112 +38,8 @@ class Dlg extends Protected_Handler {
//return;
}
- function editPrefProfiles() {
- print "";
-
- print "
- ".
- __('Create profile')."
";
-
- $result = db_query($this->link, "SELECT title,id FROM ttrss_settings_profiles
- WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
-
- print "";
-
- print "
";
- print "
";
-
- print "";
-
- }
-
function pubOPMLUrl() {
- print "".__('Public OPML URL')." ";
- print "link);
+ $url_path = Opml::opml_publish_url();
print __("Your Public OPML URL is:");
@@ -199,15 +56,11 @@ class Dlg extends Protected_Handler {
__('Close this window')."";
print "";
- print "]]> ";
//return;
}
function explainError() {
- print "".__('Notice')." ";
- print "";
if ($this->param == 1) {
@@ -236,506 +89,27 @@ class Dlg extends Protected_Handler {
__('Close this window')."";
print "";
- print "]]> ";
-
- //return;
- }
-
- function quickAddFeed() {
- print " ";
- print " ";
-
- print "".__("Feed")."
";
- print "";
-
- print " ";
-
- print "
";
-
- if (get_pref($this->link, 'ENABLE_FEED_CATS')) {
- print __('Place in category:') . " ";
- print_feed_cat_select($this->link, "cat", false, 'dojoType="dijit.form.Select"');
- }
-
- print "";
-
- print '
-
-
' . __('Available feeds') . '
-
'.
- '
-
- '.
- '
';
-
- print "";
-
-
- print "
-
- ".
- __('This feed requires authentication.')."
";
-
- print "";
-
- print "
- ".__('Subscribe')."
- ".__('More feeds')."
- ".__('Cancel')."
-
";
//return;
}
- function feedBrowser() {
- $browser_search = db_escape_string($_REQUEST["search"]);
-
- print " ";
- print " ";
-
- print "
-
-
-
-
".__('Search')."
-
";
-
- print "
- " . __('Popular feeds') . "
- " . __('Feed archive') . "
- ";
-
- print __("limit:");
-
- print "
";
-
- foreach (array(25, 50, 100, 200) as $l) {
- $issel = ($l == $limit) ? "selected=\"1\"" : "";
- print "$l ";
- }
-
- print " ";
-
- print "
";
-
- $owner_uid = $_SESSION["uid"];
-
- print "";
- print make_feed_browser($this->link, $search, 25);
- print " ";
-
- print "
- ".__('Subscribe')."
- ".__('Remove')."
- ".__('Cancel')."
";
-
- }
-
- function search() {
- $this->params = explode(":", db_escape_string($_REQUEST["param"]), 2);
-
- $active_feed_id = sprintf("%d", $this->params[0]);
- $is_cat = $this->params[1] != "false";
-
- print "".__('Look for')."
";
-
- print "";
-
- if (!SPHINX_ENABLED) {
-
- print " ";
-
- print " " . __('match on')." ";
-
- $search_fields = array(
- "title" => __("Title"),
- "content" => __("Content"),
- "both" => __("Title or content"));
-
- print_select_hash("match_on", 3, $search_fields,
- 'dojoType="dijit.form.Select"');
- } else {
- print " ";
- }
-
-
- print "
".__('Limit search to:')." ";
-
- print "
- ".__('All feeds')." ";
-
- $feed_title = getFeedTitle($this->link, $active_feed_id);
-
- if (!$is_cat) {
- $feed_cat_title = getFeedCatTitle($this->link, $active_feed_id);
- } else {
- $feed_cat_title = getCategoryTitle($this->link, $active_feed_id);
- }
-
- if ($active_feed_id && !$is_cat) {
- print "$feed_title ";
- } else {
- print "".__('This feed')." ";
- }
-
- if ($is_cat) {
- $cat_preselected = "selected=\"1\"";
- }
-
- if (get_pref($this->link, 'ENABLE_FEED_CATS') && ($active_feed_id > 0 || $is_cat)) {
- print "$feed_cat_title ";
- } else {
- //print "".__('This category')." ";
- }
-
- print " ";
-
- print "";
-
- print "";
- }
-
- function quickAddFilter() {
- $active_feed_id = db_escape_string($_REQUEST["param"]);
-
- print " ";
- print " ";
- print " ";
- print " ";
-
- $result = db_query($this->link, "SELECT id,description
- FROM ttrss_filter_types ORDER BY description");
-
- $filter_types = array();
-
- while ($line = db_fetch_assoc($result)) {
- //array_push($filter_types, $line["description"]);
- $filter_types[$line["id"]] = __($line["description"]);
- }
-
- print "".__("Match")."
";
-
- print "";
-
- print "";
-
- $filter_params = array(
- "before" => __("before"),
- "after" => __("after"));
-
- print_select_hash("filter_date_modifier", "before",
- $filter_params, 'dojoType="dijit.form.Select"');
-
- print " ";
-
- print " ";
-
- print "";
- print " ".
- __('Check it')." ";
- print " ";
-
- print "
" . __("on field") . " ";
- print_select_hash("filter_type", 1, $filter_types,
- 'onchange="filterDlgCheckType(this)" dojoType="dijit.form.Select"');
-
- print " ";
-
- print __("in") . " ";
-
- print "";
- print_feed_select($this->link, "feed_id", $active_feed_id,
- 'dojoType="dijit.form.FilteringSelect"');
- print " ";
-
- print "";
- print_feed_cat_select($this->link, "cat_id", $active_cat_id,
- 'dojoType="dijit.form.FilteringSelect"');
- print " ";
-
- print "";
-
- print "".__("Perform Action")."
";
-
- print "";
-
- print "";
-
- $result = db_query($this->link, "SELECT id,description FROM ttrss_filter_actions
- ORDER BY name");
-
- while ($line = db_fetch_assoc($result)) {
- printf("%s ", $line["id"], __($line["description"]));
- }
-
- print " ";
-
- print "";
- print " " . __("with parameters:") . " ";
- print " ";
-
- print_label_select($this->link, "action_param_label", $action_param,
- 'id="filterDlg_actionParamLabel" dojoType="dijit.form.Select"');
-
- print " ";
-
- print " "; // tiny layout hack
-
- print "
";
-
- print "".__("Options")."
";
- print "";
-
- print "
- ".__('Enabled')."
";
-
- print "
- ".__('Inverse match')." ";
-
- print "
- ".__('Apply to category')." ";
-
-
- print "";
-
- print "";
-
- print "".
- __('Test')." ";
-
- print "".
- __('Create')." ";
-
- print "".
- __('Cancel')." ";
-
- print "
";
- }
-
- function inactiveFeeds() {
-
- if (DB_TYPE == "pgsql") {
- $interval_qpart = "NOW() - INTERVAL '3 months'";
- } else {
- $interval_qpart = "DATE_SUB(NOW(), INTERVAL 3 MONTH)";
- }
-
- $result = db_query($this->link, "SELECT ttrss_feeds.title, ttrss_feeds.site_url,
- ttrss_feeds.feed_url, ttrss_feeds.id, MAX(updated) AS last_article
- FROM ttrss_feeds, ttrss_entries, ttrss_user_entries WHERE
- (SELECT MAX(updated) FROM ttrss_entries, ttrss_user_entries WHERE
- ttrss_entries.id = ref_id AND
- ttrss_user_entries.feed_id = ttrss_feeds.id) < $interval_qpart
- AND ttrss_feeds.owner_uid = ".$_SESSION["uid"]." AND
- ttrss_user_entries.feed_id = ttrss_feeds.id AND
- ttrss_entries.id = ref_id
- GROUP BY ttrss_feeds.title, ttrss_feeds.id, ttrss_feeds.site_url, ttrss_feeds.feed_url
- ORDER BY last_article");
-
- print __("These feeds have not been updated with new content for 3 months (oldest first):");
-
- print "";
-
- print "
";
- print "
";
-
- print "";
-
- }
-
- function feedsWithErrors() {
- print __("These feeds have not been updated because of errors:");
-
- $result = db_query($this->link, "SELECT id,title,feed_url,last_error,site_url
- FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
-
- print "";
-
- print "
";
- print "
";
-
- print "";
- }
-
- function editArticleTags() {
-
- print __("Tags for this article (separated by commas):")." ";
-
- $tags = get_article_tags($this->link, $this->param);
-
- $tags_str = join(", ", $tags);
-
- print " param\">";
- print " ";
- print " ";
-
- print "";
-
- print "
-
";
-
- print "
";
-
- print "";
-
- print "".__('Save')." ";
- print "".__('Cancel')." ";
- print "
";
-
- }
-
function printTagCloud() {
- print "".__('Tag Cloud')." ";
- print "";
// from here: http://www.roscripts.com/Create_tag_cloud-71.html
- $query = "SELECT tag_name, COUNT(post_int_id) AS count
- FROM ttrss_tags WHERE owner_uid = ".$_SESSION["uid"]."
- GROUP BY tag_name ORDER BY count DESC LIMIT 50";
-
- $result = db_query($this->link, $query);
+ $sth = $this->pdo->prepare("SELECT tag_name, COUNT(post_int_id) AS count
+ FROM ttrss_tags WHERE owner_uid = ?
+ GROUP BY tag_name ORDER BY count DESC LIMIT 50");
+ $sth->execute([$_SESSION['uid']]);
$tags = array();
- while ($line = db_fetch_assoc($result)) {
+ while ($line = $sth->fetch()) {
$tags[$line["tag_name"]] = $line["count"];
}
- if( count($tags) == 0 ){ return; }
+ if(count($tags) == 0 ){ return; }
ksort($tags);
@@ -765,7 +139,7 @@ class Dlg extends Protected_Handler {
$key_escaped = str_replace("'", "\\'", $key);
- echo "' . $key . ' ';
}
@@ -780,56 +154,19 @@ class Dlg extends Protected_Handler {
__('Close this window')."";
print "";
- print "]]> ";
- }
-
- function printTagSelect() {
-
- print "" . __('Select item(s) by tags') . " ";
- print " Any ";
- print " All ";
- print " tags.";
-
- print "";
- $result = db_query($this->link, "SELECT DISTINCT tag_name FROM ttrss_tags WHERE owner_uid = ".$_SESSION['uid']."
- AND LENGTH(tag_name) <= 30 ORDER BY tag_name ASC");
-
- while ($row = db_fetch_assoc($result)) {
- $tmp = htmlspecialchars($row["tag_name"]);
- print "$tmp ";
- }
-
- print " ";
-
- print "";
- print "" . __('Display entries') . " ";
- print " ";
- print "" .
- __('Close this window') . " ";
- print "
";
-
- print "]]> ";
}
function generatedFeed() {
- print "".__('View as RSS')." ";
- print "params = explode(":", $this->param, 3);
- $feed_id = db_escape_string($this->params[0]);
+ $feed_id = $this->params[0];
$is_cat = (bool) $this->params[1];
- $key = get_feed_access_key($this->link, $feed_id, $is_cat);
+ $key = get_feed_access_key($feed_id, $is_cat);
$url_path = htmlspecialchars($this->params[2]) . "&key=" . $key;
- print __("You can view this feed as RSS using the following URL:");
+ print "".__("You can view this feed as RSS using the following URL:")." ";
print "";
print "
$url_path ";
@@ -844,115 +181,20 @@ class Dlg extends Protected_Handler {
__('Close this window')."";
print "
";
- print "]]> ";
//return;
}
- function newVersion() {
-
- $version_data = check_for_update($this->link);
- $version = $version_data['version'];
- $id = $version_data['version_id'];
-
- print "";
+ function defaultPasswordWarning() {
- print T_sprintf("New version of Tiny Tiny RSS is available (%s).",
- "$version ");
+ print_warning(__("You are using default tt-rss password. Please change it in the Preferences (Personal data / Authentication)."));
- print "
";
-
- $details = "http://tt-rss.org/redmine/versions/show/$id";
- $download = "http://tt-rss.org/#Download";
-
- print "";
- print "
".__("Details")." ";
- print "
".__("Download")." ";
+ print "
";
+ print "".
+ __('Open Preferences')." ";
print "".
+ onclick=\"return closeInfoBox()\">".
__('Close this window')." ";
print "
";
-
- }
-
- function customizeCSS() {
- $value = get_pref($this->link, "USER_STYLESHEET");
-
- $value = str_replace("
", "\n", $value);
-
- print T_sprintf("You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here.
This file can be used as a baseline.", "tt-rss.css");
-
- print "
";
- print "
";
- print "
";
-
- print "
";
-
- print "
";
- print "".__('Save')." ";
- print "".__('Cancel')." ";
- print "
";
-
- }
-
- function addInstance() {
- print "
";
- print "
";
-
- print "
".__("Instance")."
";
-
- print "
";
-
- print "
";
-
- return;
}
-
-}
-?>
+}
\ No newline at end of file