param = db_escape_string($_REQUEST["param"]);
print "";
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");
/* 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')");
}
db_query($this->link, "COMMIT");
/* Handle OPML import by DOMXML/DOMDocument */
print "
";
print "]]>";
//return;
}
function explainError() {
print "".__('Notice')."";
print "";
if ($this->param == 1) {
print __("Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner.");
$stamp = (int) file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp");
print "
" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp);
}
if ($this->param == 3) {
print __("Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner.");
$stamp = (int) file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp");
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 "
";
}
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 "
";
}
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 "";
// 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);
$tags = array();
while ($line = db_fetch_assoc($result)) {
$tags[$line["tag_name"]] = $line["count"];
}
if( count($tags) == 0 ){ return; }
ksort($tags);
$max_size = 32; // max font size in pixels
$min_size = 11; // min font size in pixels
// largest and smallest array values
$max_qty = max(array_values($tags));
$min_qty = min(array_values($tags));
// find the range of values
$spread = $max_qty - $min_qty;
if ($spread == 0) { // we don't want to divide by zero
$spread = 1;
}
// set the font-size increment
$step = ($max_size - $min_size) / ($spread);
// 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));
$key_escaped = str_replace("'", "\\'", $key);
echo "' . $key . ' ';
}
print "";
print "
";
print "";
print "
";
print "]]>";
}
function printTagSelect() {
print "" . __('Select item(s) by tags') . "";
print " Any ";
print " All ";
print " tags.";
print "";
print "
";
print "";
print " ";
print "";
print "
";
print "]]>";
}
function generatedFeed() {
print "".__('View as RSS')."";
print "params = explode(":", $this->param, 3);
$feed_id = db_escape_string($this->params[0]);
$is_cat = (bool) $this->params[1];
$key = get_feed_access_key($this->link, $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 "
";
}
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 "