X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=classes%2Fdlg.php;h=9ac5cd12fef16f8a1bcec52a7ab24edec59aa239;hb=HEAD;hp=dce583e013a230867767505b2dad6d24032986b1;hpb=d043c0069ed6e7e33e5ee019eca725fa4029ef1e;p=tt-rss.git diff --git a/classes/dlg.php b/classes/dlg.php index dce583e0..9ac5cd12 100644 --- a/classes/dlg.php +++ b/classes/dlg.php @@ -1,66 +1,35 @@ 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 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"); + print ""; print "
"; print "
"; print ""; print "
"; @@ -69,112 +38,8 @@ class Dlg extends Protected_Handler { //return; } - function editPrefProfiles() { - print "
"; - - print " -
"; - - $result = db_query($this->link, "SELECT title,id FROM ttrss_settings_profiles - WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title"); - - print "
"; - - print "
"; - - print ""; - - print ""; #odd - - print ""; - - if (!$_SESSION["profile"]) { - $is_active = __("(active)"); - } else { - $is_active = ""; - } - - print ""; - - print ""; - - $lnum = 1; - - while ($line = db_fetch_assoc($result)) { - - $class = ($lnum % 2) ? "even" : "odd"; - - $profile_id = $line["id"]; - $this_row_id = "id=\"FCATR-$profile_id\""; - - print ""; - - $edit_title = htmlspecialchars($line["title"]); - - print ""; - - if ($_SESSION["profile"] == $line["id"]) { - $is_active = __("(active)"); - } else { - $is_active = ""; - } - - print ""; - - print ""; - - ++$lnum; - } - - print "
" . - __("Default profile") . " $is_active
" . $edit_title . - " - $is_active
"; - print "
"; - print "
"; - - print "
-
- - -
"; - - print ""; - print "
"; - - } - function pubOPMLUrl() { - print "".__('Public OPML URL').""; - print "link); + $url_path = Opml::opml_publish_url(); print __("Your Public OPML URL is:"); @@ -191,15 +56,11 @@ class Dlg extends Protected_Handler { __('Close this window').""; print ""; - print "]]>"; //return; } function explainError() { - print "".__('Notice').""; - print ""; if ($this->param == 1) { @@ -228,479 +89,62 @@ 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 ''; - - print ""; - - - print "
- -
"; - - print ""; - - print "
- - - -
"; - - //return; - } - - function feedBrowser() { - $browser_search = db_escape_string($_REQUEST["search"]); - - print ""; - print ""; - - print "
-
- - - -
"; - - print " "; - - print __("limit:"); - - print " "; - - print "
"; - - $owner_uid = $_SESSION["uid"]; - - print ""; - - print "
- - -
"; - - } - - 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 ""; - - print "
"; - - print "
"; - - if (!SPHINX_ENABLED) { - print "
- Search syntax -
"; - } - - print " - -
"; - } - - function quickAddFilter() { - $active_feed_id = db_escape_string($_REQUEST["param"]); - - 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 " "; - print ""; - - print "
" . __("on field") . " "; - print_select_hash("filter_type", 1, $filter_types, - 'onchange="filterDlgCheckType(this)" dojoType="dijit.form.Select"'); - - print "
"; - - print __("in") . " "; - print_feed_select($this->link, "feed_id", $active_feed_id, - 'dojoType="dijit.form.FilteringSelect"'); - - print "
"; - - print "
".__("Perform Action")."
"; - - print "
"; - - 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 " -
"; - - print " - "; - - print "
"; - - print "
"; - - print " "; - - print " "; + function printTagCloud() { + print "
"; - print ""; + // from here: http://www.roscripts.com/Create_tag_cloud-71.html - print "
"; - } + $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']]); - function inactiveFeeds() { + $tags = array(); - if (DB_TYPE == "pgsql") { - $interval_qpart = "NOW() - INTERVAL '3 months'"; - } else { - $interval_qpart = "DATE_SUB(NOW(), INTERVAL 3 MONTH)"; + while ($line = $sth->fetch()) { + $tags[$line["tag_name"]] = $line["count"]; } - $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 ""; - - $lnum = 1; - - while ($line = db_fetch_assoc($result)) { + if(count($tags) == 0 ){ return; } - $class = ($lnum % 2) ? "even" : "odd"; - $feed_id = $line["id"]; - $this_row_id = "id=\"FUPDD-$feed_id\""; + ksort($tags); - print ""; + $max_size = 32; // max font size in pixels + $min_size = 11; // min font size in pixels - $edit_title = htmlspecialchars($line["title"]); + // largest and smallest array values + $max_qty = max(array_values($tags)); + $min_qty = min(array_values($tags)); - print ""; - print ""; - print ""; - - ++$lnum; + // find the range of values + $spread = $max_qty - $min_qty; + if ($spread == 0) { // we don't want to divide by zero + $spread = 1; } - print "
"; - - print "". - htmlspecialchars($line["title"]).""; - - print ""; - print make_local_datetime($this->link, $line['last_article'], false); - print "
"; - print "
"; - - print "
"; - print "
"; - 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 ""; - - $lnum = 1; - - while ($line = db_fetch_assoc($result)) { - - $class = ($lnum % 2) ? "even" : "odd"; - $feed_id = $line["id"]; - $this_row_id = "id=\"FUPDD-$feed_id\""; - - print ""; - - $edit_title = htmlspecialchars($line["title"]); + // set the font-size increment + $step = ($max_size - $min_size) / ($spread); - print ""; - print ""; - print ""; - - ++$lnum; + echo "' . $key . ' '; } - print "
"; + // loop through the tag array + foreach ($tags as $key => $value) { + // calculate font-size + // find the $value in excess of $min_qty + // multiply by the font-size increment ($size) + // and add the $min_size set above + $size = round($min_size + (($value - $min_qty) * $step)); - print "". - htmlspecialchars($line["title"]).": "; + $key_escaped = str_replace("'", "\\'", $key); - print ""; - print htmlspecialchars($line["last_error"]); - print ""; - - print "
"; - print "
"; - - print "
"; - print "
"; - 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 " "; - print ""; - print "
"; - - } - - function printTagCloud() { - print "".__('Tag Cloud').""; - print ""; - - printTagCloud($this->link); print "
"; @@ -710,160 +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 ""; - - print "
"; - print ""; - print " "; - print ""; - print "
"; - - print "]]>
"; - } - - function emailArticle() { - - $secretkey = sha1(uniqid(rand(), true)); - - $_SESSION['email_secretkey'] = $secretkey; - - print ""; - print ""; - print ""; - - $result = db_query($this->link, "SELECT email, full_name FROM ttrss_users WHERE - id = " . $_SESSION["uid"]); - - $user_email = htmlspecialchars(db_fetch_result($result, 0, "email")); - $user_name = htmlspecialchars(db_fetch_result($result, 0, "full_name")); - - if (!$user_name) $user_name = $_SESSION['name']; - - $_SESSION['email_replyto'] = $user_email; - $_SESSION['email_fromname'] = $user_name; - - require_once "lib/MiniTemplator.class.php"; - - $tpl = new MiniTemplator; - $tpl_t = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/email_article_template.txt"); - - $tpl->setVariable('USER_NAME', $_SESSION["name"]); - $tpl->setVariable('USER_EMAIL', $user_email); - $tpl->setVariable('TTRSS_HOST', $_SERVER["HTTP_HOST"]); - - - $result = db_query($this->link, "SELECT link, content, title - FROM ttrss_user_entries, ttrss_entries WHERE id = ref_id AND - id IN ($this->param) AND owner_uid = " . $_SESSION["uid"]); - - if (db_num_rows($result) > 1) { - $subject = __("[Forwarded]") . " " . __("Multiple articles"); - } - - while ($line = db_fetch_assoc($result)) { - - if (!$subject) - $subject = __("[Forwarded]") . " " . htmlspecialchars($line["title"]); - - $tpl->setVariable('ARTICLE_TITLE', strip_tags($line["title"])); - $tpl->setVariable('ARTICLE_URL', strip_tags($line["link"])); - - $tpl->addBlock('article'); - } - - $tpl->addBlock('email'); - - $content = ""; - $tpl->generateOutputToString($content); - - print ""; - - print "
"; - - print __('From:'); - - print ""; - - print "\">"; - - print "
"; - - print __('To:'); - - print ""; - - print ""; - - print "
"; - - print "
"; - - print __('Subject:'); - - print ""; - - print ""; - - print "
"; - - print "
"; - - print "
"; - print " "; - print ""; - print "
"; - - //return; } 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"; @@ -878,212 +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 "
"; - - print T_sprintf("New version of Tiny Tiny RSS is available (%s).", - "$version"); - - print "
"; - - $details = "http://tt-rss.org/redmine/versions/show/$id"; - $download = "http://tt-rss.org/#Download"; - - print "
"; - print ""; - print ""; - print ""; - 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"); + function defaultPasswordWarning() { - print ""; - print ""; - print ""; - - print "
"; - print ""; - print "
"; - - print "
"; - print " "; - print ""; - print "
"; - - } - - function editArticleNote() { - $result = db_query($this->link, "SELECT note FROM ttrss_user_entries WHERE - ref_id = '$this->param' AND owner_uid = " . $_SESSION['uid']); - - $note = db_fetch_result($result, 0, "note"); - - print "param\">"; - print ""; - print ""; - - print "
"; - print ""; - print "
"; - - print "
"; - print " "; - print ""; - print "
"; - - } - - function about() { - print ""; - print ""; - print "
"; - print ""; - print ""; - - print "

Tiny Riny RSS

- Version ".VERSION." -

Copyright © 2005-".date('Y')." - Andrew Dolgov - and other contributors.

-

Licensed under GNU GPL version 2.

"; - - print "

- Official site — - - Support the project.

"; - - print "
"; + print_warning(__("You are using default tt-rss password. Please change it in the Preferences (Personal data / Authentication).")); print "
"; + print " "; print ""; - print "
"; - } - - function addInstance() { - print ""; - print ""; - - print "
".__("Instance")."
"; - - print "
"; - - /* URL */ - - print __("URL:") . " "; - - print ""; - - print "
"; - - $access_key = sha1(uniqid(rand(), true)); - - /* Access key */ - - print __("Access key:") . " "; - - print ""; - - print "

" . __("Use one access key for both linked instances."); - - print "

"; - - print "
-
- -
- -
"; - - return; - } - - function shareArticle() { - $result = db_query($this->link, "SELECT uuid, ref_id FROM ttrss_user_entries WHERE int_id = '$this->param' - AND owner_uid = " . $_SESSION['uid']); - - if (db_num_rows($result) == 0) { - print "Article not found."; - } else { - - $uuid = db_fetch_result($result, 0, "uuid"); - $ref_id = db_fetch_result($result, 0, "ref_id"); - - if (!$uuid) { - $uuid = db_escape_string(sha1(uniqid(rand(), true))); - db_query($this->link, "UPDATE ttrss_user_entries SET uuid = '$uuid' WHERE int_id = '$this->param' - AND owner_uid = " . $_SESSION['uid']); - } - - print __("You can share this article by the following unique URL:"); - - $url_path = get_self_url_prefix(); - $url_path .= "/public.php?op=share&key=$uuid"; - - print "
"; - print "$url_path"; - print "
"; - - /* if (!label_find_id($this->link, __('Shared'), $_SESSION["uid"])) - label_create($this->link, __('Shared'), $_SESSION["uid"]); - - label_add_article($this->link, $ref_id, __('Shared'), $_SESSION['uid']); */ - } - - print "
"; - - print ""; - print "
"; } - -} -?> +} \ No newline at end of file